I’m trying to port an existing application using PRU, GPIO, HDMI, and more to the BBB Industrial Rev D.
I’m using the am33x-v6.6 branch of RCN’s kernel github, the latest v2022.04-bbb.io-am335x-am57xx branch of u-boot, and the v6.6.x branch of the beagleboard device trees git.
BBB Rev D.
The base dtb I am using is am335x-boneblack-revd.dtb, and I’m using several overlays:
uboot_overlay_addr4=BB-UART4-00A0.dtbo
uboot_overlay_addr5=BB-UART2-00A0.dtbo
uboot_overlay_addr6=BB-NHDMI-IT66122-00A0.dtbo
uboot_overlay_pru=AM335X-PRU-UIO-00A0.dtbo
I cannot figure out, however, to get the various R30/R31 registers mapped to PRU0.
In the old overlay we had on kernel 4.19 we had a .dtsi file with entries for
&am33xx_pinmux {
including
// AM335X_PIN_MCASP0_AHCLKX - pruout
vault_pru0_P9_25: vault_pru0_P9_25 {
pinctrl-single,pins = <
AM33XX_IOPAD(0x9ac, PIN_OUTPUT | MUX_MODE5) /* P9_25 gpio3.21 (A14) mcasp0_ahclkx.pr1_pru0_pru_r30[7] */
>;
};
and 6 others.
Then in the .dts file we had the #include of the .dtsi file plus
&ocp {
...
// PRU
// R30[7] - output
P9_25_pinmux {
compatible = "bone-pinmux-helper";
// pinctrl-names = "pruout";
pinctrl-names = "default";
pinctrl-0 = <&vault_pru0_P9_25>;
status = "okay";
};
I’ve tried many variations of the above in the 6.6 kernel, including changing the IOPAD to PADCONF, but I haven’t been able to get those 7 pins assigned to use by PRU.
I also cannot figure out how to get the GPIO pins that I’ve assigned to show up in the output of show-pins with the label from my overlay file unless I use gpio-leds, keys, of hog, and at the moment I don’t want to use those. I may end up having to use leds and keys eventually, but I’m not ready for that yet.
Is there a 6.6 specific guide out there somewhere to getting the overlay working that I haven’t found yet? Need help.
Thanks,
Franco