上次做gpio驱动,没有记录过程,这次记录一下容易忘记的东西。
所有cpu的gpio都会被初始化,这个初始化是根据gpio number来定的,
也就是每个gpio都有自己的名字,类似gpio1_4,这个名字不代表功能,
也就是虽然这个gpio是1_4,但是功能可能是别的,可以理解为内核先根
据gpio号来初始化每个gpio的功能是啥,然后有个
#define SABRESD_SD2_CD IMX_GPIO_NR(2, 2)
这个意思就是你自己命名了一个管脚的名字叫SABRESD_SD2_CD,
这个名字对应的真实cpu上管脚的位置是gpio2_2,
而之前初始化管脚的功能是否是你想要的功能则需要再确认一下,
如果和你想要的功能有区别,则你要改管脚配置,
在board-mx6q_sabresd.h中,而每个管脚的每个功能则集成在iomux-mx6q.h。