1. 把有关gpio设备的所有寄存器封装在同一个结构体,空缺的地方用reserve填补。
2. 初始化设备:
1》一般先在控制寄存器进行复位;
2》清空gpio触发回调函数,就是一个数组,里面装着128个驱动的回调函数和参数;
3》关闭复位,开启时钟;
note: 本人有点不解的是value_set 寄存器每次设置的值不会影响之前的设置吗,比如第一次1 <<17,第二次1 <<16。谁能证明?
发现奇怪的问题,gpio内部实现了管脚的触发连接\断开等功能,但是intctrl驱动也有对中断的连接,那当gpio执行中断连接后,后续的驱动再执行中断连接那不也会调用gpio的中断连接函数了吗
3. 芯片支持128个各种各样的奇葩中断,gpio0.x ~ gpio5.x 他们的中断被统一为bank0~bank5