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.

Reply via email to