GPIO控制器驱动与高级中断管理
1. GPIO控制器驱动基础
在处理GPIO控制器驱动时,对于不同类型的控制器,需要采用不同的实现方式:
- 仅支持简单GPIO的引脚控制器 :使用简单的 struct gpio_chip 结构体即可处理,无需设置 struct pinctrl_desc 结构,直接编写GPIO控制器驱动。
- 具备GPIO功能且能产生中断的控制器 :必须设置并注册 struct irq_chip 到IRQ子系统。
- 具有引脚复用、高级引脚驱动强度和复杂偏置的控制器 :需要设置以下三个接口:
- struct gpio_chip
- struct irq_chip
- struct pinctrl_desc
当成功调用 gpiochip_add() 时,会创建一个路径为 /sys/class/gpio/gpiochipX/ 的目录项,其中 X 是GPIO控制器的基地址。该目录项具有以下只读属性:
| 属性 | 含义 |
| ---- | ---- |
| base | 与 X 的值相同,对应 gpio_chip.base (如果静态分配),是该芯片管理的第一
超级会员免费看
订阅专栏 解锁全文
406

被折叠的 条评论
为什么被折叠?



