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)
我有一块基于比格骨黑色的板。
我有 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)