大家好,请教一个问题,am4379配置GPIO修改437x-gp-evm.dts文件之后,有个别IO不起作用。这是为什么呢?同样的配置,用devmem2命令查看寄存器值,也跟我修改的配置能对应上,但是有些引脚不好使。
这些是在&am43xx_pinmux里面的增加的GPIO配置
gpio0_pins: gpio0_pins {
pinctrl-single,pins = <
0x150 (PIN_OUTPUT | MUX_MODE7) /* DO2 -> GPIO0_2 */
0x154 (PIN_OUTPUT | MUX_MODE7) /* DO3 -> GPIO0_3 */
0x278 (PIN_INPUT | MUX_MODE7) /* DI5 -> GPIO0_24 */
0x15c (PIN_INPUT | MUX_MODE7) /* DI4 -> GPIO0_5 */
/*0x274 (PIN_INPUT | MUX_MODE7)*/ /* DI1 -> GPIO0_20 */
>;
};
gpio3_pins: gpio3_pins {
pinctrl-single,pins = <
0x190 (PIN_OUTPUT | MUX_MODE7) /* DO16 -> GPIO3_14 */
0x198 (PIN_OUTPUT | MUX_MODE7) /* DO14 -> GPIO3_16 */
0x19c (PIN_OUTPUT | MUX_MODE7) /* DO6 -> GPIO3_17 */
0x1a0 (PIN_OUTPUT | MUX_MODE7) /* D011 -> GPIO3_18 */
0x1a4 (PIN_OUTPUT | MUX_MODE7) /* D012 -> GPIO3_19 */
0x1a8 (PIN_OUTPUT | MUX_MODE7) /* DO8 -> GPIO3_20 */
0x1ac (PIN_OUTPUT | MUX_MODE7) /* DO10 -> GPIO3_21 */
>;
};
gpio5_pins: gpio5_pins {
pinctrl-single,pins = <
0x230 (PIN_INPUT | MUX_MODE7) /* DI3 -> GPIO5_0 */
0x234 (PIN_INPUT | MUX_MODE7) /* DI2 -> GPIO5_1 */
0x20c (PIN_INPUT | MUX_MODE7) /* DI7 -> GPIO5_20 */
0x250 (PIN_OUTPUT | MUX_MODE7) /* DO4 -> GPIO5_4 */
0x254 (PIN_OUTPUT | MUX_MODE7) /* DO5 -> GPIO5_5 */
0x258 (PIN_OUTPUT | MUX_MODE7) /* DO1 -> GPIO5_6 */
0x274 (PIN_INPUT | MUX_MODE9) /* DI1 -> GPIO5_29 */
>;
};
gpio4_pins: gpio4_pins {
pinctrl-single,pins = <
0x1b0 (PIN_OUTPUT | MUX_MODE7) /* DO9 -> GPIO4_0 */
0x1b8 (PIN_OUTPUT | MUX_MODE7) /* DO13 -> GPIO4_2 */
0x1bc (PIN_OUTPUT | MUX_MODE7) /* DO15 -> GPIO4_3 */
0x1c4 (PIN_OUTPUT | MUX_MODE7) /* DO7 -> GPIO4_5 */
0x1b4 (PIN_INPUT | MUX_MODE7) /* DI6 -> GPIO4_1 */
0x1c0 (PIN_INPUT | MUX_MODE7) /* DI8 -> GPIO4_4 */
>;
};
下面是在各个GPIO chip里面的引用管脚配置
&gpio0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio0_pins>;
};
&gpio3 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio3_pins>;
};
&gpio4 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio4_pins>;
};
&gpio5 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&gpio5_pins>;
ti,no-reset-on-init;
};
Eggsy Pang:
个别引脚不好使和不起作用,这样描述有点含糊,可以具体描述它的情况吗?
nan wang2:
回复 Eggsy Pang:
现在DO2和DO3的输出,在/sys/class/gpio下通过echo让它输出高低电平不起作用,管脚一直是高电平。
DI2、DI3、DI4、DI5输入一直采集到的是高电平,外界给它输入低电平也不会变化。
nan wang2:
回复 Eggsy Pang:
我这样的修改方式是否正确呢?