Hello everyone,
I’m having issues with controlling the pin modes in my custom image which is based on Debian 11 with Linux kernel 6. Specifically, I need to give some pins to PRU.
According to Reason for bone-pinmux-helper driver removal in 6.1.69-ti-r20, bone-pinmux-helper driver has been removed, and thus config-pin utility no longer works. No worries, I thought, I can edit the dts(i) files and rebuild the device tree. I copied the relevant files in the kernel sources and renamed them using my board name. Then I opened arch/arm/boot/dts/am335x-myboardname-common-univ.dtsi
, found P8_42 pin lines and changed BONE_PIN(P8_42, default, P8_42(PIN_OUTPUT | INPUT_EN | MUX_MODE7))
to BONE_PIN(P8_42, default, P8_42(PIN_INPUT | MUX_MODE6))
. I did the same for other pins that I need to switch to pruin or pruout modes.
But it seems it doesn’t work.
Is it because these pinmuxes are referenced in
P8_42_pinmux {
compatible = "bone-pinmux-helper";
status = "okay";
pinctrl-names = "default", "gpio", "gpio_pu", "gpio_pd", "eqep", "pruout", "pruin";
pinctrl-0 = <&P8_42_default_pin>;
pinctrl-1 = <&P8_42_gpio_pin>;
pinctrl-2 = <&P8_42_gpio_pu_pin>;
pinctrl-3 = <&P8_42_gpio_pd_pin>;
pinctrl-4 = <&P8_42_eqep_pin>;
pinctrl-5 = <&P8_42_pruout_pin>;
pinctrl-6 = <&P8_42_pruin_pin>;
};
which is declared compatible with bone-pinmux-helper, and that driver has been removed?
How do I make P8_42 switch to pruin mode at least on boot? I can live without being able to change runtime modes.
There are hints that there’s some work done on config-pin replacement with gpio-aggregator for BeagleY-AI board, but I saw no updates for the last 6 months…