I use sublime text 3. And no device tree syntax is nothing like python. On Thu, Jul 28, 2016 at 3:30 AM, Jane <[email protected]> wrote:
> Can you name the editor?Is the dt is also like python where the Tabs and > special character may ruin its compiling? > Also does dtc compiler checks for the sanity of the file besides checking > these tabs,syntax,etc.I mean what if it compiles fine but there is an issue > in the dt? > Also can you please elaborate more on the example dt below.Is it a device > tree or device tree overlay?Also way to compile it. > >> >> > > On Wednesday, July 27, 2016 at 10:17:42 AM UTC+5:30, William Hermans wrote: > >> Note the structure here form this modified file( Modified from Charles S' >> Universal IO overlay 'univ-all' ) This is for a single pin instead of all >> pins. >> https://github.com/beagleboard/bb.org-overlays/blob/master/src/arm/univ-all-00A0.dts >> >> IN short here is what is required: >> >> >> - /dts-v1/; >> - /plugin/; >> - / { >> - compatible = "ti,beaglebone", "ti,beaglebone-black", >> "ti,beaglebone-green"; >> - part-number = "univ-P8_07"; >> - version = "00A0"; >> >> Passed that exclusive-use = "P8.7"; ive seen in each overlay for pins >> each uses. BUt if you examine this file closely it should become apparent >> what is required to make a like overlay function. This specific file is >> mean to offer the ability to change pin mux dynamically as the system is >> running. So there are 5 possibilities from this file, but initially the pin >> is configured as input. >> >> I will tell you what helps me a good bit while editing device tree files. >> You need a good editor that will allow you to arbitrarily set syntax >> highlighting. Then, I personally set syntax highlighting to "C". >> >> /dts-v1/; >> /plugin/; >> >> / { >> compatible = "ti,beaglebone", "ti,beaglebone-black", >> "ti,beaglebone-green"; >> >> /* identification */ >> part-number = "univ-P8_07"; >> version = "00A0"; >> >> /* state the resources this cape uses */ >> exclusive-use = "P8.7"; >> >> /* P8_07 (ZCZ ball R7 ) */ >> P8_07_default_pin: pinmux_P8_07_default_pin { >> pinctrl-single,pins = <0x090 0x37>; }; /* Mode 7, Pull-Up, >> RxActive */ >> P8_07_gpio_pin: pinmux_P8_07_gpio_pin { >> pinctrl-single,pins = <0x090 0x2F>; }; /* Mode 7, RxActive */ >> P8_07_gpio_pu_pin: pinmux_P8_07_gpio_pu_pin { >> pinctrl-single,pins = <0x090 0x37>; }; /* Mode 7, Pull-Up, >> RxActive */ >> P8_07_gpio_pd_pin: pinmux_P8_07_gpio_pd_pin { >> pinctrl-single,pins = <0x090 0x27>; }; /* Mode 7, Pull-Down, >> RxActive */ >> P8_07_timer_pin: pinmux_P8_07_timer_pin { >> pinctrl-single,pins = <0x090 0x32>; }; /* Mode 2, Pull-Up, >> RxActive */ >> >> fragment@1 { >> target = <&ocp>; >> __overlay__ { >> >> P8_07_pinmux { >> compatible = "bone-pinmux-helper"; >> status = "okay"; >> pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", >> "timer"; >> pinctrl-0 = <&P8_07_default_pin>; >> pinctrl-1 = <&P8_07_gpio_pin>; >> pinctrl-2 = <&P8_07_gpio_pu_pin>; >> pinctrl-3 = <&P8_07_gpio_pd_pin>; >> pinctrl-4 = <&P8_07_timer_pin>; >> }; >> }; >> }; >> >> fragment@2 { >> target = <&ocp>; >> __overlay__ { >> >> cape-universal { >> compatible = "gpio-of-helper"; >> status = "okay"; >> pinctrl-names = "default"; >> pinctrl-0 = <>; >> >> P8_07 { >> gpio-name = "P8_07"; >> gpio = <&gpio2 2 0>; >> input; >> dir-changeable; >> }; >> }; >> }; >> }; >> }; >> >> On Mon, Jul 25, 2016 at 10:53 AM, Raul Piper <[email protected]> wrote: >> >>> Hi Greg, >>> Thankyou for the elaborative post and the link you sent.My understanding >>> is mainly theoretical and inlined with what you wrote.. >>> >>> Yes,I have been scanning across many links on google and stack overflow >>> but not able to find single one convincing. >>> >>> I came to conclusion that i will write a hello world gpio driver with >>> lots of printk and build it along with the dts file by placing it in >>> arch/arm/boot/dts and then loading that kernel image.According to >>> R.Nelson's link i will copy the dtb files as well. >>> Init--> probe-->register platform driver(.compatible string in the >>> platform_device structure ) should throw something to go ahead with then. >>> >>> But still the loop holes in the understanding like why to copy all the >>> dtb files,how to build only that dtb file and copy it in the lib/firmware >>> and dynamically insmod the driver ....where does overlays come into the >>> picture...can the drivers without dtb implementation be accepted in >>> kernelmain line... >>> >>> Really looking for some example code here. >>> >>> On Monday 25 July 2016, Greg <[email protected]> wrote: >>> >>>> I'm not sure there is a one-stop shop for understanding the Device Tree >>>> anywhere. >>>> >>>> There are at least 4 file types involved: >>>> >>>> 1. dts- This is the source code (text file) which is a data structure >>>> to describe hardware. >>>> 2. dtsi- A sub-chunk or "include" file which is used inside dts >>>> files. It's somewhat similar to an "include" or "import" in programming >>>> languages. >>>> 3. dtb- Device tree blob. This is the compiled version of the dts. >>>> This is what gets loaded at boot time. It's the foundation of the system >>>> used by the kernel. >>>> 4. dtbo- Device tree overlay. This can be loaded after boot time. >>>> This is how the Beaglebone adjusts itself when different "capes" are >>>> plugged in. It does this by reading information stored in the EEPROM in >>>> the cape. These "overlays" can also be loaded at the command line using >>>> the "slots" in the sysfs virtual file system. Look for a substantial >>>> collection of already done overlays in the directory /lib/firmware. If you >>>> want to make your own overlay, /lib/firmware is where you want to place it. >>>> >>>> This topic is really confusing, and no doubt my notes above are full of >>>> flaws. >>>> >>>> You can work through and understand all of the above. However, >>>> depending on the complexity of what you are trying to do, this may be >>>> sufficient: >>>> >>>> https://github.com/cdsteinkuehler/beaglebone-universal-io >>>> >>>> Using the config-pin -f option and a simple text file you can use your >>>> .profile or similar start-up configuration file to set the pins to your >>>> requirements. >>>> This is a relatively straight-forward solution to tacking the problem. >>>> >>>> In my opinion the device tree is a major hurdle to making progress with >>>> the Beaglebones. If you google you will get a bunch of out-dated >>>> information, so be careful what you read on the net. Perhaps someone will >>>> suggest single source of accurate information on this topic. >>>> >>>> Regards, >>>> Greg >>>> >>>> -- >>>> For more options, visit http://beagleboard.org/discuss >>>> --- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "BeagleBoard" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/beagleboard/cLDC6Le0Z4A/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/beagleboard/2a565144-1715-4bc2-ae74-b6415a30dea1%40googlegroups.com >>>> <https://groups.google.com/d/msgid/beagleboard/2a565144-1715-4bc2-ae74-b6415a30dea1%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> For more options, visit http://beagleboard.org/discuss >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "BeagleBoard" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/beagleboard/CAEwN%2BMB16im1R%2BtCPjpSk86sQ-2Lr4207yRU9Y_OrCBZfqeOEw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/beagleboard/CAEwN%2BMB16im1R%2BtCPjpSk86sQ-2Lr4207yRU9Y_OrCBZfqeOEw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> -- > For more options, visit http://beagleboard.org/discuss > --- > You received this message because you are subscribed to the Google Groups > "BeagleBoard" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/beagleboard/483a935f-3d71-47e6-85db-dad2313dcd48%40googlegroups.com > <https://groups.google.com/d/msgid/beagleboard/483a935f-3d71-47e6-85db-dad2313dcd48%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/CALHSORp4_J4TkTxWUxOyeFuR17CegmHr_C%2BxiaS4W3MkvDubBQ%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
