现在有这样的情况,有些GPIO在Linux启动时就需要设置好高或者低,这个能通过DTS实现吗?
用了gpio-hog这个功能,但是Linux起来后就不能通过echo 54 > /sys/class/gpio/export 这种方式来控制了
还有其他方法吗?
Steven Liu1:
这个就是通过Pinmux来设置GPIO口的初态来实现的。你可以选择默认是搞还是低的。参考control module里面的管教pinmux寄存器,把上下拉enable了后,再设置是上拉还是下拉就可以了。对应到dts里面,也就是一个管教pinmux的设置两个bit位的事儿。
顺带提一下, 这个初态的设置,和那种工作在GPIO口模式下,驱动位为高设置的驱动能力是不一样的,如果你是想用来驱动,还是做成输出态输出比较好。