i.MX6ULL终结者Linux LCD驱动实验编写LCD驱动程序

本文介绍了在i.MX6ULL平台中,如何根据使用的LCD屏幕修改设备树,重点涉及LCD GPIO配置、屏幕参数和背光节点信息的修改。通过分析NXP的设备树文件,讲解了RGB LCD数据线、控制线配置,以及屏幕参数和时序参数的调整,最后讨论了背光控制GPIO的设置和PWM背光节点的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

i.MX6ULL的eLCDIF 接口驱动程序 NXP 已经编写好了,因此 LCD 驱动部分
我们不需要去修改。我们需要做的就是按照所使用的 LCD 来修改设备树。重点要注意三个地方:
① LCD 所使用的 IO 配置。
② LCD 屏幕节点修改,修改相应的属性值,换成我们所使用的 LCD 屏幕参数。
③ LCD 背光节点信息修改,要根据实际所使用的背光 IO 来修改相应的设备节点信息。接下来我们依次来看一下上面这两个节点改如何去修改。

1 设备树中LCD屏幕GPIO配置

首先要确定LCD屏幕使用了哪些引脚,其实这些引脚在NXP的设备树文件中已经写好了,我们就来检查一下GPIO引脚是否正确。打开imx6ull-14x14-evk.dts文件,在iomuxc节点下有如下内容:

1 pinctrl_lcdif_dat: lcdifdatgrp {
   
    
2 	fsl,pins = < 
3 			MX6UL_PAD_LCD_DATA00__LCDIF_DATA00 0x79 
4 			MX6UL_PAD_LCD_DATA01__LCDIF_DATA01 0x79 
5 			MX6UL_PAD_LCD_DATA02__LCDIF_DATA02 0x79 
6 			MX6UL_PAD_LCD_DATA03__LCDIF_DATA03 0x79 
7 			MX6UL_PAD_LCD_DATA04__LCDIF_DATA04 0x79 
8 			MX6UL_PAD_LCD_DATA05__LCDIF_DATA05 0x79 
9 			MX6UL_PAD_LCD_DATA06__LCDIF_DATA06 0x79 
10 			MX6UL_PAD_LCD_DATA07__LCDIF_DATA07 0x79 
11 			MX6UL_PAD_LCD_DATA08__LCDIF_DATA08 0x79 
12 			MX6UL_PAD_LCD_DATA09__LCDIF_DATA09 0x79 
13 			MX6UL_PAD_LCD_DATA10__LCDIF_DATA10 0x79 
14 			MX6UL_PAD_LCD_DATA11__LCDIF_DATA11 0x79 
15 			MX6UL_PAD_LCD_DATA12__LCDIF_DATA12 0x79 
16 			MX6UL_PAD_LCD_DATA13__LCDIF_DATA13 0x79 
17 			MX6UL_PAD_LCD_DATA14__LCDIF_DATA14 0x79 
18 			MX6UL_PAD_LCD_DATA15__LCDIF_DATA15 0x79 
19 			MX6UL_PAD_LCD_DATA16__LCDIF_DATA16 0x79 
20 			MX6UL_PAD_LCD_DATA17__LCDIF_DATA17 0x79 
21 			MX6UL_PAD_LCD_DATA18__LCDIF_DATA18 0x79 
22 			MX6UL_PAD_LCD_DATA19__LCDIF_DATA19 0x79 
23 			MX6UL_PAD_LCD_DATA20__LCDIF_DATA20 0x79 
24 			MX6UL_PAD_LCD_DATA21__LCDIF_DATA21 0x79 
25 			MX6UL_PAD_LCD_DATA22__LCDIF_DATA22 0x79 
26 			MX6UL_PAD_LCD_DATA23__LCDIF_DATA23 0x79 
27 		>; 
28 }; 
29
30 pinctrl_lcdif_ctrl: lcdifctrlgrp {
   
    
31 		fsl,pins = < 
32 			MX6UL_PAD_LCD_CLK__LCDIF_CLK 0x79 
33 			MX6UL_PAD_LCD_ENABLE__LCDIF_ENABLE 0x79 
34 			MX6UL_PAD_LCD_HSYNC__LCDIF_HSYNC 0x79 
35 			MX6UL_PAD_LCD_VSYNC__LCDIF_VSYNC 0x79 
36 		>; 
37 pinctrl_pwm1: pwm1grp {
   
    
38 		fsl,pins = < 
39 			MX6UL_PAD_GPIO1_IO08__PWM1_OUT 0x110b0 
40 		>; 
41 }; 

第 2~27 行,子节点 pinctrl_lcdif_dat,为 RGB LCD 的 24 根数据线配置项。
第 30~36 行,子节点 pinctrl_lcdif_ctrl,RGB LCD 的 4 根控制线配置项,包括 CLK、 ENABLE、VSYNC 和 HSYNC。
第 37~40 行,子节点 pinctrl_pwm1,LCD 背光 PWM 引脚配置项。这个引脚要根据实际情况设置。

2 LCD屏幕参数节点信息

打开imx6ull-14x14-evk.dts文件,找到lcdif节点,内容如下:

1 &lcdif {
   
    
2          pinctrl-names = "default";</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值