Derek Molloy has an excellent step by step video. Just google his name + device tree overlay
http://www.packtpub.com/building-a-home-security-system-with-beaglebone/book From: [email protected] [mailto:[email protected]] On Behalf Of [email protected] Sent: Sunday, June 01, 2014 4:26 PM To: [email protected] Subject: [beagleboard] Device Tree Overlays Hello, I like to develop a new cape for Beaglebone Black and tried to create a Device Tree Overlay for it. I found a table for the pin definitions. A part of the table is this: Head_pin $PINS ADDR/OFFSET Name GPIO NO. Mode7 P9_11 28 0x870/070 UART4_RXD 30 gpio0[30] P9_12 30 0x878/078 GPIO1_28 60 gpio1[28] P9_13 29 0x874/074 UART4_TXD 31 gpio0[31] P9_14 18 0x848/048 EHRPWM1A 50 gpio1[18] P9_15 16 0x840/040 GPIO1_16 48 gpio1[16] With this information I created the following device tree overlay: /* * This is a template-generated file from BoneScript */ /dts-v1/; /plugin/; /{ compatible = "ti,beaglebone", "ti,beaglebone-black"; part_number = "test"; exclusive-use = "P9.11", /* gpio0.30, Pin 30 */ "P9.13", /* gpio0.31, Pin 31 */ "gpio0_30", "gpio0_31", "pru0"; fragment@0 { target = <&am33xx_pinmux>; __overlay__ { foo_pins: foo_pins { pinctrl-single,pins = < 0x078 0x3F 0x07c 0x3F >; }; }; }; fragment@1 { target = <&pruss>; __overlay__ { status = "okay"; pinctrl-names = "default"; pinctrl-0 = <&foo_pins>; }; }; }; To my surprise I had to use the GPIO Numbers 30 and 31 together with the offsets 0x078 and 0x07c to make the GPIO pins P9_11 and P9_13 work as inputs with pullups. I would have expected, that I have to use the software pins 28 and 29 for the inputs P9_11 and P9_13. But it would be ok, if it would work for all unused pins of the Beaglebone Black. The problem is, that it doesn´t work for many pins. For example when I try to use the input P9_15 with the GPIO number 48 and the corresponding offset: 48 * 4 = 192 = 0x0c0 the whole overlay does not load correctly. I think this is because $PIN 48 corresponds to P8_37 in the list which is used as a HDMI pin. Why do I have to use GPIO NO instead of $PIN as I expected? If I have to use GPIO NO instead of $PIN, then why does this work only for some pins and not for all? Any help is appreciated. I am running out of ideas! Andy -- 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]. For more options, visit https://groups.google.com/d/optout. No virus found in this message. Checked by AVG - www.avg.com Version: 2014.0.4592 / Virus Database: 3955/7603 - Release Date: 06/01/14 _____ No virus found in this message. Checked by AVG - www.avg.com Version: 2014.0.4592 / Virus Database: 3950/7548 - Release Date: 05/23/14 Internal Virus Database is out of date. -- 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]. For more options, visit https://groups.google.com/d/optout.
