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.