This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x如何设置GPIO默认的状态呢



现在有这样的情况,有些GPIO在Linux启动时就需要设置好高或者低,这个能通过DTS实现吗?

用了gpio-hog这个功能,但是Linux起来后就不能通过echo 54 > /sys/class/gpio/export 这种方式来控制了


还有其他方法吗?

  • 这个就是通过Pinmux来设置GPIO口的初态来实现的。你可以选择默认是搞还是低的。参考control module里面的管教pinmux寄存器,把上下拉enable了后,再设置是上拉还是下拉就可以了。对应到dts里面,也就是一个管教pinmux的设置两个bit位的事儿。

    顺带提一下, 这个初态的设置,和那种工作在GPIO口模式下,驱动位为高设置的驱动能力是不一样的,如果你是想用来驱动,还是做成输出态输出比较好。