资料下载
coding无法使用浏览器打开,必须用git工具下载:
代码语言:javascript复制git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
视频观看
百问网驱动大全
资料下载
coding无法使用浏览器打开,必须用git工具下载:
代码语言:javascript复制git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git
视频观看
百问网驱动大全
编程_配置时钟_基于IMX6ULL
参考资料,GIT仓库里:
- 芯片资料
IMX6ULL开发板配套资料datasheetCore_boardCPUIMX6ULLRM.pdf
《Chapter 34 Enhanced LCD Interface (eLCDIF)》
- IMX6ULL的LCD裸机程序
IMX6ULLsource 3_LCD 5_参考的裸机源码 3_font_test
- 内核自带的IMX6ULL LCD驱动程序
- 驱动源码:
Linux-4.9.88driversvideofbdevmxsfb.c
- 设备树:
arch/arm/boot/dts/imx6ull.dtsi
arch/arm/boot/dts/100ask_imx6ull-14x14.dts
- 驱动源码:
- 本节视频编写好的代码
IMX6ULLsource 3_LCD 8_lcd_drv_clk_config_use_devicetree
- 引脚配置工具/设备树生成工具
- 打开:http://download.100ask.net/
- 找到开发板:“100ASK_IMX6ULL_PRO开发板”
- 下载开发板配套资料
- 下载完后,工具在如下目录里:
1. 硬件相关的操作
LCD驱动程序的核心就是:
- 分配fb_info
- 设置fb_info
- 注册fb_info
- 硬件相关的设置
硬件相关的设置又可以分为3部分:
- 引脚设置
- 时钟设置
- LCD控制器设置
2. 分析内核自带的驱动程序
2.1 芯片手册
2.2 设备树
参考:arch/arm/boot/dts/imx6ull.dtsi
lcdif: lcdif@021c8000 {
compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
reg = <0x021c8000 0x4000>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
<&clks IMX6UL_CLK_LCDIF_APB>,
<&clks IMX6UL_CLK_DUMMY>;
clock-names = "pix", "axi", "disp_axi";
status = "disabled";
};
定义了3个时钟:
- pix:Pixel clock,用于LCD接口,设置为LCD手册上的参数
- axi:AXI clock,用于传输数据、读写寄存器,使能即可
- disp_axi:一个虚拟的时钟,可以不用设置