1 寄存器底层配置模式
1.1 寄存器说明
1.1 设备树
1.2 驱动开发(摘录)
2 pinctrl和gpio子系统开发
2.1 pinctrl和gpio原理
- pinctrl 子系统要根据你提供的信息来配置 PIN 功能,一般会在设备树里面创建一个节点来描述PIN的配置信息。打开stm32mp151.dtsi文件,找到一个叫做 pinctrl 的节点:
“gpio-controller”表示 gpioi 节点是个 GPIO 控制器,每个 GPIO 控制器节点必须包含“gpio-controller”属性。“#gpio-cells”属性和“#address-cells”类似,#gpio-cells 应该为 2,表示一共有两个 cell,第一个 cell 为 GPIO 编号,比如“&gpioi 0”就表示 PI0。第二个 cell 表示 GPIO 极性,如果为 0(GPIO_ACTIVE_HIGH)的话表示高电平有效,如果为 1(GPIO_ACTIVE_LOW)的话表示低电平有效。
2.2 硬件电路
2.3 设备树
- 自定义LED
- 系统自带LED
- 运行测试
2.4 驱动开发(摘录)
3 蜂鸣器
3.1 硬件电路
3.2 设备树
- 启动成功以后进入“/proc/device-tree”目录中查看“beep”节点是否存在
3.3 驱动开发(摘录)
4 按键输入
4.1 硬件电路
4.2 设备树
4.3 驱动开发(摘录)
5 按键输入中断
5.1 设备树
5.2 驱动开发(摘录)