I am pinmuxing most of the MCU pins as gpio. And once booted all of them work as gpio except for the MCU_RESETSTATz pin (B12). Can this pin be muxed as gpio?
&mcu_pmx0 { pinctrl-names = "default"; pinctrl-0 = <&som_mcu_system_pins_default &mcu_gpio0_loopback_pins_default &mcu_jtag_pins_default &mcu_system_pins_default>; mcu_gpio0_loopback_pins_default: mcu-gpio0-loopback-pins-default { pinctrl-single,pins = < AM62X_MCU_IOPAD(0x0000, PIN_INPUT, 7) /* (E8) MCU_SPI0_CS0.MCU_GPIO0_0 */ AM62X_MCU_IOPAD(0x0004, PIN_INPUT, 7) /* (B8) MCU_SPI0_CS1.MCU_GPIO0_1 */ AM62X_MCU_IOPAD(0x0008, PIN_INPUT, 7) /* (A7) MCU_SPI0_CLK.MCU_GPIO0_2 */ AM62X_MCU_IOPAD(0x000c, PIN_INPUT, 7) /* (D9) MCU_SPI0_D0.MCU_GPIO0_3 */ AM62X_MCU_IOPAD(0x0010, PIN_INPUT, 7) /* (C9) MCU_SPI0_D1.MCU_GPIO0_4 */ AM62X_MCU_IOPAD(0x0014, PIN_INPUT, 7) /* (B5) MCU_UART0_RXD.MCU_GPIO0_5 */ AM62X_MCU_IOPAD(0x0018, PIN_INPUT, 7) /* (A5) MCU_UART0_TXD.MCU_GPIO0_6 */ AM62X_MCU_IOPAD(0x001c, PIN_INPUT, 7) /* (A6) MCU_UART0_CTSn.MCU_GPIO0_7 */ AM62X_MCU_IOPAD(0x0020, PIN_INPUT, 7) /* (B6) MCU_UART0_RTSn.MCU_GPIO0_8 */ AM62X_MCU_IOPAD(0x0024, PIN_INPUT, 7) /* (B4) WKUP_UART0_RXD.MCU_GPIO0_9 */ AM62X_MCU_IOPAD(0x0028, PIN_INPUT, 7) /* (C5) WKUP_UART0_TXD.MCU_GPIO0_10 */ AM62X_MCU_IOPAD(0x002c, PIN_INPUT, 7) /* (C6) WKUP_UART0_CTSn.MCU_GPIO0_11 */ AM62X_MCU_IOPAD(0x0030, PIN_INPUT, 7) /* (A4) WKUP_UART0_RTSn.MCU_GPIO0_12 */ AM62X_MCU_IOPAD(0x0034, PIN_INPUT, 7) /* (D6) MCU_MCAN0_TX.MCU_GPIO0_13 */ AM62X_MCU_IOPAD(0x0038, PIN_INPUT, 7) /* (B3) MCU_MCAN0_RX.MCU_GPIO0_14 */ AM62X_MCU_IOPAD(0x003c, PIN_INPUT, 7) /* (E5) MCU_MCAN1_TX.MCU_GPIO0_15 */ AM62X_MCU_IOPAD(0x0040, PIN_INPUT, 7) /* (D4) MCU_MCAN1_RX.MCU_GPIO0_16 */ AM62X_MCU_IOPAD(0x0044, PIN_INPUT, 7) /* (A8) MCU_I2C0_SCL.MCU_GPIO0_17 */ AM62X_MCU_IOPAD(0x0048, PIN_INPUT, 7) /* (D10) MCU_I2C0_SDA.MCU_GPIO0_18 */ AM62X_MCU_IOPAD(0x004c, PIN_INPUT, 7) /* (B9) WKUP_I2C0_SCL.MCU_GPIO0_19 */ AM62X_MCU_IOPAD(0x0050, PIN_INPUT, 7) /* (A9) WKUP_I2C0_SDA.MCU_GPIO0_20 */ AM62X_MCU_IOPAD(0x005c, PIN_INPUT, 7) /* (B12) MCU_RESETSTATz.MCU_GPIO0_21 */ >; };
Checking the pinctrl debugfs entry, shows that the mux for that pin is still set to its default, even though all of the other pins were properly updated. I have set the mcu_m4fss node to disabled just in case a firmware might be loading and changing the pinmux but this didn't help.
root@mitysom-am62x:~/test_fixture# cat /sys/kernel/debug/pinctrl/4084000.pinctrl-pinctrl-single/pins registered pins: 34 pin 0 (PIN0) 0:? 4084000 00050007 pinctrl-single pin 1 (PIN1) 0:? 4084004 00050007 pinctrl-single pin 2 (PIN2) 0:? 4084008 00050007 pinctrl-single pin 3 (PIN3) 0:? 408400c 00050007 pinctrl-single ... pin 23 (PIN23) 0:? 408405c 00010000 pinctrl-single