提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
RK3568的引脚资源还是相当多的,一共有5组GPIO,每组有A0~A7, B0~B7, C0~C7, D0~D7 作为编号区分,当然这里面也有一些引脚是专用的,比如mipi的引脚,就不能作为普通的引脚使用,本小节就来学习如何在设备树的支持下使用引脚
一、设备树中是如何描述引脚的?
一个引脚的使用无非就是使能该引脚的时钟,复用功能,电特性,中断等操作,这些如果实在裸机中是要自己去查看芯片手册的寄存器,但是这里使用设备树就相对简单了。
1.pinctrl子系统
pinctrl子系统就是专门来初始化引脚的状态的,比如该引脚是否使用复用功能,电特性(上拉、下拉等),对于我们使用者来说,只需要在设备树里面设置好某个 pin 的相关属性即可,其他的初始化工作均由pinctrl 子系统来完成,pinctrl 子系统源码目录 drivers/pinctrl
。
不同 soc 厂家的 pin controller 的节点是不一样的,但是这些节点里都是把某些引脚复用成某些功能。如
NXP 的 pinctrl 子系统如下所示: