嵌入式爱好者

查看: 1030|回复: 8

[Linux] 硬件改动LCD屏数据线为8,linux内核怎么修改?

[复制链接]

8

主题

32

帖子

57

积分

i.MX6Q通行证

扫一扫,手机访问本帖
发表于 2019-8-7 18:09:09 | 显示全部楼层 |阅读模式
本帖最后由 hbyiwen 于 2019-8-7 18:12 编辑

板子是OKMX6X_C_V1.3,内核是linux-3.0.35(最新版本2018.11.28)
开发板是DISP0_DAT0~DISP0_DAT23一共24根数据线,而我们改底板后只DISP0_DAT0~DISP0_DAT7输出LCD视频数据,其它引脚做其它用途了,
看过drivers/video/mxc/mxc_lcdif.c 这个LCD屏驱动源码,uboot中设置环境变量bpp=8也改过没作用,
在内核中没找到修改LCD屏输出数据线个数的设置代码,求指导啊
回复

使用道具 举报

2

主题

3661

帖子

3396

积分

发表于 2019-8-8 09:40:26 | 显示全部楼层
更改6q对应的板级文件中的.default_bpp参数试一下
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

8

主题

32

帖子

57

积分

i.MX6Q通行证

 楼主| 发表于 2019-8-10 10:52:30 | 显示全部楼层
改了只是颜色有点变化,硬件接24根数据线和只用8根数据线与这个bpp似乎没关系啊,看了一堆参数都是分辨率,多少位颜色的,没找到跟硬件数据线个数相关的参数:L

点评

你好,请问你硬件上用的是哪8根数据线?能方便截一下这块的原理图吗  详情 回复 发表于 2019-8-10 14:31
点评回复 支持 反对

使用道具 举报

0

主题

42

帖子

243

积分

LS1012A通行证LS1043A通行证AM5718通行证AM335x通行证i.MX6UL通行证i.MX RT通行证i.MX6Q通行证XX18通行证TCU通行证FCU1401通行证FCU1301通行证FCU1101通行证FCU1201通行证

发表于 2019-8-10 14:31:32 | 显示全部楼层
hbyiwen 发表于 2019-8-10 10:52
改了只是颜色有点变化,硬件接24根数据线和只用8根数据线与这个bpp似乎没关系啊,看了一堆参数都是分辨率, ...

你好,请问你硬件上用的是哪8根数据线?能方便截一下这块的原理图吗
点评回复 支持 反对

使用道具 举报

8

主题

32

帖子

57

积分

i.MX6Q通行证

 楼主| 发表于 2019-8-15 09:26:12 | 显示全部楼层
我这边没法截图给你,上面已经说了哦,是DISP0_DAT0~DISP0_DAT7 共8根数据线,电路图上引脚就是这个名称,在源码board_mx6q_**.h中定义名是MX6Q_PAD_DISP0_DATA0...MX6Q_PAD_DISP0_DATA7,
我看了输出端接的adv7391芯片手册,需要Multiformat video input support :   
     4:2:2 YCrCb(SD,ED and HD) 或者4:4:4 RGB(SD) 的8位视频数据输入
我在board_mx6q_**.c中初始化fb0时,设置inte**ce_pix_fmt = **_YUV/RGB565,default_bpp=8/16都看不出效果,因为视频画面一直是花屏闪烁状态看不清有没有变化,用示波器测量DISP0_DAT8---DISP0_DAT23引脚却一直有视频数据信号输出,而且当设置YUV格式时,在drivers/video/mxc/mxc_ipu3fb.c中会出现找不到匹配的格式,查了一下代码发现目前imx6q的IPU几个选择格式的数组列表中没有YUV这一项,请问MX6Q的IPU已经不支持YUV格式了吗?
----------------怎么设置才能使IPU将视频数据只集中在DISP0_DAT0--DISP0_DAT7这8根线上输出呢? 求助啊--------------------------
(因为我的硬件设计DISP0_DAT8----DISP0_DAT23用于其它GPIO功能,当输出视频信号时导致继电器等外设高频率跳变很容易被弄坏了)
点评回复 支持 反对

使用道具 举报

2

主题

3661

帖子

3396

积分

发表于 2019-8-16 08:52:39 | 显示全部楼层
您好,6Q是支持YUV格式的,摄像头默认的就是YUV格式的
技术支持电话:0312-3119192
技术支持邮箱:Android@forlinx.com
点评回复 支持 反对

使用道具 举报

8

主题

32

帖子

57

积分

i.MX6Q通行证

 楼主| 发表于 2019-8-16 10:22:55 | 显示全部楼层
我在板级文件board_mx6q_**.c中将inte**ce_pix_fmt设置成YUV格式后,会在后面运行出错,原因是:
drivers/video/mxc/mxc_ipuv3_fb.c:111行mxcfb_pfmts数组中没有YUV这一项,
还有在板级文件board_mx6q_**.c中设置default_bpp=8也在mxc_ipuv3_fb.c:139行 bpp_to_pixfmt函数中出错(case 项没有8)

我尝试自己修改mxc_ipuv3_fb.c文件添加YUV和bpp=8这些项,但是也许自己添加修改的参数不对,启动后看不出有什么变化,DISP0_DAT0---DISP0_DAT23这些引脚上始终都有视频数据在输出,怎么改都不能使得视频信号只输出DISP0_DAT0---DISP0_DAT7 这8根线上?
肯定是需要修改mxc_ipuv3_fb.c文件的了,有没有对IPU模块熟悉的专家帮忙看看啊
点评回复 支持 反对

使用道具 举报

0

主题

3

帖子

6

积分

i.MX RT通行证

发表于 2019-8-24 10:07:35 | 显示全部楼层
这个驱动细看驱动8位选择?
点评回复 支持 反对

使用道具 举报

8

主题

32

帖子

57

积分

i.MX6Q通行证

 楼主| 发表于 2019-8-26 10:20:18 | 显示全部楼层
是的,其实就是怎么把视频信号输出为8位
肯定不是简单的把gpio初始化改成只初始化8位就行的,已测试过,其它gpio不初始化就没有视频信号出来
点评回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|飞凌嵌入式 ( 冀ICP备12004394号-1

GMT+8, 2019-12-12 06:13

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表