Beaglebone AI - 用于 PRU 使用的 Pinmuxing vout-pin

Beaglebone AI - Pinmuxing vout-pins for PRU usage

我正在尝试在 BBAI 上配置一个 pinmux,以使用来自 PRU 的 UART。我是 运行 具有 4.14.108-ti-r131 内核的 D​​ebian 破坏者。

这是我的设备树覆盖图的一部分:

&cape_pins_default {
   pinctrl-single,pins = <
     DRA7XX_CORE_IOPAD( 0x3614, PIN_OUTPUT | MUX_MODE10 ) // P8.31a PRU1 TX
     DRA7XX_CORE_IOPAD( 0x3610, PIN_INPUT  | MUX_MODE10 ) // P8.33a PRU1 RX
     DRA7XX_CORE_IOPAD( 0x35E4, PIN_INPUT  | MUX_MODE10 ) // P8.43 PRU0 UART RX
     DRA7XX_CORE_IOPAD( 0x35E8, PIN_OUTPUT | MUX_MODE10 ) // P8.44 PRU0 UART TX
   >;
};

在 BBBlack 中,您需要为某些 PRU 引脚禁用 HDMI 或 EMMC,我在 /boot/uEnv.txt 中这样尝试过:

disable_uboot_overlay_video=1
disable_uboot_overlay_emmc=1

这在 BBAI 上也有效吗? show-pins 脚本在摆弄和重新启动一段时间后仍然显示 MUX_MODE0 和一些 vout... 功能(我假设这是一些 HDMI 的东西?)

P8.31a                   133   C8 0 slow         vout1_d14
P8.33a                   132   C6 0 slow         vout1_d1
P8.43                    121  F10 0 slow         vout1_d2
P8.44                    122  G11 0 slow         vout1_d3

还有什么我需要设置或者我遗漏的吗? 提前致谢!

我发现,在重新安装 BBAI 图像后,在干净的图像上,HDMI 被禁用了。 为了制作设备树覆盖,我使用了 am5729-beagleboneai.dts 并在 /boot/uEnv.txt 中定义了一个自定义 dtb= 作为基础,这就是问题所在,因为它启用了 HDMI。

扩展默认覆盖 - 即 am572x-bone-common-univ.dtsi - 或通过在 uEnv.txt 文件中加载 pru 覆盖对我有用。在上面链接的 beagleboards repo 中有很多关于 BBAI 的 pru 覆盖的例子,所以我选择了那个。

uname_r=4.19.94-ti-r68
#dtb=

enable_uboot_overlays=1
uboot_overlay_pru=src/arm/overlays/BBAI-PR1_UART0.dtb