资料下载
无法通过浏览器直接打开coding,必须使用git工具进行下载:
代码语言:javascript 运行次数:0
运行 复制 ```javascript git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git ```观看百问网的驱动教程视频
分析内核自带的LCD驱动程序,基于IMX6ULL的参考资料,GIT仓库中包含:
-
IMX6ULL\开发板配套资料\datasheet\Core_board\CPU\IMX6ULLRM.pdf中的《Chapter 34 Enhanced LCD Interface (eLCDIF)》 - IMX6ULL的LCD裸机程序位于
IMX6ULL\source\03_LCD\05_参考的裸机源码\03_font_test - 内核自带的IMX6ULL LCD驱动程序,源码位于:
Linux-4.9.88\drivers\video\fbdev\mxsfb.c - 设备树位于:
arch/arm/boot/dts/imx6ull.dtsi和arch/arm/boot/dts/100ask_imx6ull-14x14.dts
-
驱动程序框架
Linux驱动程序由驱动程序框架和硬件编程组成。在之前基于QEMU编写的LCD驱动程序中,已经清晰分析了LCD驱动程序的框架。核心步骤包括:
- 分配fb_info
- 设置fb_info
- 注册fb_info
- 硬件相关的设置
1.1 入口函数注册platform_driver

1.2 设备树中有对应节点

1.3 probe函数分析
-
编写硬件相关的代码
远航CMS(yhcms)(分站版)2.6.5下载远航CMS(yhcms)是一套基于PHP+MYSQL为核心开发的专业营销型企业建站系统。是国内首家免费+开源自带分站系统的php内容管理系统。长期以来不断的完善、创新,远航CMS会为您带来全新的体验!产品十大优势:模板分离:模板程序分离,深度二次开发三网合一:电脑/手机/微信 多终端访问自定义广告:图片/文字/动画定时发布:SEO维护,无需人工值守多词生成:栏目关键词多方案生成SEO设置:自定义U
只需针对IMX6ULL编写硬件相关的代码,涉及三部分:
- GPIO设置
- LCD引脚
- 背光引脚
- 时钟设置
- 确定LCD控制器的时钟
- 根据LCD的DCLK计算相关时钟
- LCD控制器本身的设置
- 比如设置Framebuffer的地址
- 设置Framebuffer中数据格式、LCD数据格式
- 设置时序
- GPIO设置
2.1 GPIO设置有两种方法:
- 直接读写相关寄存器
- 使用设备树,在设备树中设置pinctrl
本课程专注于LCD,因此使用pinctrl简化程序。设备树位于arch/arm/boot/dts/100ask_imx6ull-14x14.dts中:

2.2 时钟设置
IMX6ULL的LCD控制器涉及2个时钟:

代码中直接使用时钟子系统的代码。
2.3 LCD控制器的配置
以设置分辨率为例。










