Tool/software:
Hi,Ti experts,
We are using TDA4VM-Q1, the sdk version is "ti-processor-sdk-linux-j7-evm-08_06_01_02", we have encountered a problem,when we configure the AC23 BALL to GPIO1_32 pinmux mode, it cannot be set to high or low output.
The DTS configuration is as follows,i had disabled other cores in /lib/firmware filesystem, so i think this is not cause by it.
Thanks.
nvidia-ctl-gpios {
// status = "disabled";
compatible = "upai-box,nvidia-ctl-gpios";
pinctrl-names = "default";
pinctrl-0 = <&nvctl_main_pins_default>;
nvidia_power_on = <&main_gpio0 113 GPIO_ACTIVE_HIGH>;
sw00 {
/* gpio = <&main_gpio1>; */
gpio = <&main_gpio1 32 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio1 32 GPIO_ACTIVE_HIGH>; /* (AC3) GPIO1_32 */ /* PEB_SYS_RST */
value = <0>;
};
sw01 {
/* gpio = <&main_gpio0>; */
gpio = <&main_gpio0 114 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio0 114 GPIO_ACTIVE_HIGH>; /* (AB5) GPIO0_114 */ /* MODULE_PWR_ON */
value = <0>;
};
sw1 {
gpio = <&main_gpio0 120 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio0 120 GPIO_ACTIVE_HIGH>; /* (Y2) GPIO0_120 */ /* POWER_BTN_N */
value = <1>;
};
sw2 {
/* gpio = <&main_gpio1>; */
gpio = <&main_gpio1 35 GPIO_ACTIVE_LOW>;
gpios = <&main_gpio1 35 GPIO_ACTIVE_LOW>; /* (AE2)GPIO1_35 */ /* PEB_PCIE_RST */
value = <0>;
};
sw3 {
/* gpio = <&main_gpio0>; */
gpio = <&main_gpio0 115 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio0 115 GPIO_ACTIVE_HIGH>; /* (AA3) GPIO0_115 */ /* VIN_PWR_ON */
value = <1>;
};
sw4 {
/* gpio = <&main_gpio0>; */
gpio = <&main_gpio0 114 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio0 114 GPIO_ACTIVE_HIGH>; /* (AB5) GPIO0_114 */ /* MODULE_PWR_ON */
value = <1>;
};
sw5 {
/* gpio = <&main_gpio1>; */
gpio = <&main_gpio1 32 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio1 32 GPIO_ACTIVE_HIGH>; /* (AB5) GPIO1_32 */ /* PEB_SYS_RST */
value = <1>;
};
sw6 {
/* gpio = <&main_gpio0>; */
gpio = <&main_gpio0 113 GPIO_ACTIVE_HIGH>;
gpios = <&main_gpio0 113 GPIO_ACTIVE_HIGH>; /* (AA1) GPIO0_113 */ /* CARRIER_PWR_ON */
value = <1>;
};
};
nvctl_main_pins_default: nvctl-main-pins-default {
pinctrl-single,pins = <
J721E_IOPAD(0x1c8, PIN_INPUT, 7) /* (AA1) SPI0_CLK.GPIO0_113 */
J721E_IOPAD(0x1cc, PIN_OUTPUT, 7) /* (AB5) SPI0_D0.GPIO0_114 */
J721E_IOPAD(0x1d0, PIN_OUTPUT, 7) /* (AA3) SPI0_D1.GPIO0_115 */
J721E_IOPAD(0x1e4, PIN_OUTPUT, 7) /* (Y2) SPI1_D1.GPIO0_120 */
J721E_IOPAD(0x29c, PIN_OUTPUT, 7) /* (AC3) MLB0_MLBDP.GPIO1_32 */
J721E_IOPAD(0x2a8, PIN_OUTPUT, 7) /* (AE2) MLB0_MLBCN.GPIO1_35 */
>;
};
The pinmux is already configured to GPIO1_32
root@j7-evm:~# cat /sys/kernel/debug/pinctrl/11c000.pinctrl-pinctrl-single/pins | grep 11c29c pin 167 (PIN167) 0:? 11c29c 00000007 pinctrl-single root@j7-evm:~# cat /sys/kernel/debug/pinctrl/11c000.pinctrl-pinctrl-single/pinmux-pins | grep 167 pin 167 (PIN167): nvidia-ctl-gpios (GPIO UNCLAIMED) function nvctl-main-pins-default group nvctl-main-pins-default
The GPIO1_32 cannot be set to high or low by write reg,we measured the voltage and it remained around 0.6v
root@j7-evm:~# devmem2 0x00601044 w 0x03 /dev/mem opened. Memory mapped at address 0xffffa2283000. Read at address 0x00601044 (0xffffa2283044): 0x00000001 Write at address 0x00601044 (0xffffa2283044): 0x00000003, readback 0x00000003 root@j7-evm:~# devmem2 0x00601040 w 0x01 /dev/mem opened. Memory mapped at address 0xffff8be7e000. Read at address 0x00601040 (0xffff8be7e040): 0x00000000 Write at address 0x00601040 (0xffff8be7e040): 0x00000001, readback 0x00000001



