gpio是一种非常灵活的接口,可以简单的做输入输出控制设备或采集信号,也可以模拟各种协议。作者就是因为要用gpio模拟一种自定义的协议完成通信,所以才有了本篇文章。调试期间也是遇到了各种问题,好在成功控制。
第一步:menuconfig
老样子,不论是使用DM模型的uboot版本,还是老版本,先使能GPIO控制器驱动:
make menuconfig
如图,在设备驱动路径下找到GPIO Support,我的uboot使用了DM驱动模型,所以使能上,另外还要使能所用控制器厂商的驱动。
第二步:设备树
一般来说,半导体厂商提供的SDK会帮我们把所有控制器的设备树节点都写好,MT7621也不例外,我们一般可以在dtsi文件中找到gpio节点描述:
可以看到,gpio节点已经写好了,其实我们早在使用gpio模拟各种协议的时候已经使用过gpio了,这说明gpio驱动已经是正常工作的状态了,那我们岂不是什么都不用做了?这里可能会产生误区&