11_编程/_LCD驱动程序框架/_使用设备树
编程/_LCD驱动程序框架/_使用设备树
参考资料,GIT仓库里:
-
基于这个程序修改:
IMX6ULL/source/03_LCD/03_lcd_drv_qemu_okSTM32MP157/source/A7/03_LCD/03_lcd_drv_qemu_ok
-
参考:内核自带的示例驱动程序
- Linux驱动源码:
drivers/video/fbdev/simplefb.c - 设备树:
- Linux驱动源码:
-
arch/arm/boot/dts/sun4i-a10.dtsi -
本节视频编写好的代码
IMX6ULL/source/03_LCD/06_lcd_drv_framework_use_devicetreeSTM32MP157/source/A7/03_LCD/06_lcd_drv_framework_use_devicetree
1. 说明
Linux驱动程序 = 驱动程序框架 + 硬件编程。 在前面已经基于QEMU编写了LCD驱动程序,对LCD驱动程序的框架已经分析清楚。 核心就是:
- 分配fb_info
- 设置fb_info
- 注册fb_info
- 硬件相关的设置
本节课程我们基于设备树来编写驱动程序。
2. 入口函数注册platform_driver
3. 设备树有对应节点
framebuffer-mylcd {
compatible = "100ask,lcd_drv";
};
4. 编写probe函数
- 分配fb_info
- 设置fb_info
- 注册fb_info
- 硬件相关的设置
- 引脚设置
- 时钟设置
- LCD控制器设置