Linux/AM3352:通过 sysfs 设置 gpio 似乎不起作用

Linux/AM3352: setting gpio via sysfs seem not working

我有一块基于比格骨黑色的板。

我有 gpio,应该对电路板进行硬件重置 (gpio117 = gpio3_21)

虽然在 u-boot 中它正在工作 - 我正在做

gpio clr 117

(设置 0 导致重置)并 获得硬件重置

我 Linux,我正在做以下事情:

echo 117 > /sys/class/gpio/export

echo high > /sys/class/gpio/gpio117/direction

echo 0 > /sys/class/gpio/gpio117/value

而我一无所获

我做错了吗?

我需要更改内核代码中的某些内容吗?在dts?在 defconfig 中?

显然,问题出在 pinmux mcasp0_ahclkx 在 boneblack dts 中配置了: AM33XX_IOPAD(0x9ac, PIN_INPUT_PULLUP | MUX_MODE0) /* mcasp0_ahcklx. */

我改成了: AM33XX_IOPAD(0x9ac, PIN_OUTPUT_PULLUP | MUX_MODE7) /* mcasp0_ahcklx.GPIO3_21 */

在 u-boot 中,它确实有效,因为默认是 mux 7 (gpio3_21)