gpio子系统就是管理gpio功能的一个系统,其作用是初始化gpio,并提供对外的API接口。使用gpio子系统后,就无需自己操作寄存器,通过调用相关API函数即可实现对gpio的控制。 以热插拔节点为例,pinctrl子系统已经将UART1_RTS_B复用为GPIO1_IO19,并设置好了电气属性。驱动程序通过读取其高低电平来判断SD卡有没有插入。 那...
pins=<MX6UL_PAD_GPIO1_IO01__GPIO1_IO010xb0MX6UL_PAD_GPIO1_IO02__GPIO1_IO020xb0//GPIO_IO03被pinctrl_tsc节点占用,因此需要屏蔽掉/* MX6UL_PAD_GPIO1_IO03__GPIO1_IO03 0xb0 */MX6UL_PAD_GPIO1_IO04__GPIO1_IO040xb0>;};//检查"gpio1 3"有没有被其他设备节点占用&tsc{pinctrl-names...
设置好设备树后就可使用gpio子系统提供的API函数来操作指定的GPIO,gpio子系统向开发人员屏蔽了具体的读写寄存器过程。下图中有常用的API函数介,此外还有pinctrl和gpio子系统的使用模板: **2. **pinctrl与gpio子系统字符设备驱动框架 下图为pinctrl与gpio子系统下的字符设备驱动框架: 接下来根据上面的框架图,以驱动LED(...