Thanks for the input.
I'm actually already using a device tree overlay (though I'm not totally sure it's correct). This is my .dts file:
Code: Select all
/dts-v1/;
/plugin/;
/ {
compatible = "ti,beaglebone", "ti,beaglebone-black";
part-number = "NRSGate";
version = "00A0";
exclusive-use =
"P9_12",
"P9_13",
"P9_14",
"P9_15",
"P9_16",
"P9_17",
"P9_18",
"P9_21",
"P9_23",
"P9_24",
"P9_26",
"P9_25",
"P9_27",
"P9_28",
"P9_29",
"P9_30",
"P9_31";
fragment@0 {
target = <&am33xx_pinmux>;
__overlay__ {
nrsgate: pinmux_nrsgate {
pinctrl-single,pins = <
0x078 0x2F /* P9_12 - GPIO1_28 Mode7, GPIO input */
0x074 0xF /* P9_13 - GPIO0_31 Mode7, GPIO output */
0x048 0x2F /* P9_14 - GPIO1_18 Mode7, GPIO input */
0x040 0xF /* P9_15 - GPIO1_16 Mode7, GPIO output */
0x04C 0xF /* P9_16 - GPIO1_19 Mode7, GPIO output */
0x15c 0xF /* P9_17 - GPIO0_5 Mode7, GPIO output */
0x158 0xF /* P9_18 - GPIO0_4 Mode7, GPIO output */
0x154 0x2F /* P9_21 - GPIO0_3 Mode7, GPIO input */
0x044 0xF /* P9_23 - GPIO1_17 Mode7, GPIO output */
0x184 0x2F /* P9_24 - GPIO0_15 Mode7, GPIO input */
0x180 0x2F /* P9_26 - GPIO0_14 Mode7, GPIO input */
0x1Ac 0x2F /* P9_25 - GPIO3_21 Mode7, GPIO input */
0x1A4 0xF /* P9_27 - GPIO3_19 Mode7, GPIO output */
0x19C 0x2F /* P9_28 - GPIO3_17 Mode7, GPIO input */
0x194 0xF /* P9_29 - GPIO3_15 Mode7, GPIO output */
0x198 0xF /* P9_30 - GPIO3_16 Mode7, GPIO output */
0x190 0xF /* P9_31 - GPIO3_14 Mode7, GPIO output */
>;
};
};
};
fragment@1 {
target = <&ocp>;
__overlay__ {
NRSGate_helper {
compatible = "bone-pinmux-helper";
pinctrl-names = "default";
pinctrl-0 = <&nrsgate>;
status = "okay";
};
};
};
};
I've compiled this and loaded it into slots using:
Code: Select all
root@beaglebone:~# dtc -O dtb -o NRS-00A0.dtbo -b 0 -@ NRS-00A0.dts
root@beaglebone:~# cp NRS-00A0.dtbo /lib/firmware
root@beaglebone:~# echo NRS > /sys/devices/bone_capemgr.*/slots
I can then see that my dts file has been loaded:
Code: Select all
root@beaglebone:~# cat /sys/devices/bone_capemgr.9/slots
0: 54:PF---
1: 55:PF---
2: 56:PF---
3: 57:PF---
4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
5: ff:P-O-L Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
7: ff:P-O-L Override Board Name,00A0,Override Manuf,NRSGate
Do you see anything in my .dts file that looks fishy? Any other ideas?