移植NXP官方uboot到ALPHA开发板过程2-LCD驱动

   日期:2020-09-21     浏览:94    评论:0    
核心提示:我买的正点原子7寸1024*600的RGB屏幕,移植跟着正点原子走,很简单,但这是建立在uboot基本移植成功的基础上;uboot初始化屏幕主要在mx6ull_xxx_emmc.h 和 mx6ull_xxx_emmc.c 这两个板级文件中。后期用其他LCD的时候,有什么坑再来添。一般修改 LCD 驱动重点注意以下几点:针对NXP imx6ull-14x14-emmc的uboot LCD驱动移植过程1.初始化LCD引脚2.LCD 背光引脚 GPIO 的配置3.LCD 配置参数是否正确1.初始化LCD引

我买的正点原子7寸1024*600的RGB屏幕,移植跟着正点原子走,很简单,但这是建立在uboot基本移植成功的基础上;uboot初始化屏幕主要在mx6ull_xxx_emmc.hmx6ull_xxx_emmc.c 这两个板级文件中。后期用其他LCD的时候,有什么坑再来添。
一般修改 LCD 驱动重点注意以下几点:

针对NXP imx6ull-14x14-emmc的uboot LCD驱动移植过程

    • 1.初始化LCD引脚
    • 2.LCD 背光引脚 GPIO 的配置
    • 3.LCD 配置参数是否正确

1.初始化LCD引脚

  1. 找到自己的板级文件,在mx6ull_xxx_emmc.c中的lcd_pads结构体,因为正点原子的屏幕IO基本兼容NXP的屏幕IO,所以基本没有什么改动,但是没有复位引脚,只需要把LCD-IO结构体中的复位引脚注释掉即可,如果自己画的板子,注意修改;
    在759行左右:
MX6_PAD_SNVS_TAMPER9__GPIO5_IO09 | MUX_PAD_CTRL(NO_PAD_CTRL),

在765行do_enable_parallel_lcd函数中,注释LCD复位输出:

void do_enable_parallel_lcd(struct display_info_t const *dev)
{ 
	enable_lcdif_clock(dev->bus);

	imx_iomux_v3_setup_multiple_pads(lcd_pads, ARRAY_SIZE(lcd_pads));

	
	//gpio_direction_output(IMX_GPIO_NR(5, 9) , 0);
	//udelay(500);
	//gpio_direction_output(IMX_GPIO_NR(5, 9) , 1);

	
	gpio_direction_output(IMX_GPIO_NR(1, 8) , 1);
}

2.LCD 背光引脚 GPIO 的配置

背光IO兼容NXP的,不需要改动,如果自己画的板子,注意修改;


MX6_PAD_GPIO1_IO08__GPIO1_IO08 | MUX_PAD_CTRL(NO_PAD_CTRL),

gpio_direction_output(IMX_GPIO_NR(1, 8) , 1);

3.LCD 配置参数是否正确

mx6ull_xxx_emmc.c中,NXP通过配置LCD参数结构体,有点复杂,其中包括了 LCD 的分辨率、素格式等参数,跟单片机的初始化不一样;其中的参数去查找厂商提供的屏幕数据手册便知道了,这是正点原子的7寸屏幕数据。

struct display_info_t const displays[] = { { 
	.bus = MX6UL_LCDIF1_BASE_ADDR,
	.addr = 0,
	.pixfmt = 24,
	.detect = NULL,
	.enable	= do_enable_parallel_lcd,
	.mode	= { 
		.name			= "TFT7016",
		.xres           = 1024,
		.yres           = 600,
		.pixclock       = 19531,
		.left_margin    = 140,
		.right_margin   = 160,
		.upper_margin   = 20,
		.lower_margin   = 12,
		.hsync_len      = 20,
		.vsync_len      = 3,
		.sync           = 0,
		.vmode          = FB_VMODE_NONINTERLACED
} } };

打开 include/configs/mx6ull_xxx_emmc.h,搜索找到所有如下语句:

panel=TFT43AB

将其改为:

panel=TFT7016

这里可以自己命名。
下载验证,如果LCD上有个NXP的彩色标志和uboot版本号(编译时间),说明移植成功,下一步就是网络驱动的移植了。

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服