安卓8.0-MT6763平台 st7701s-MIPI转RGB屏调试

正确调试流程:

1.在kernel路径: kernel-4.14/drivers/misc/mediatek/lcm/和bootable路径: vendor/mediatek/proprietary/bootable/bootloader/lk/dev/lcm创建对应屏幕的驱动文件,两边文件一致,可以直接拷贝同类屏幕的驱动文件进行修改,命名参考命名规则,便于开发人员快速读取屏幕信息;
    以lv971屏 ili9882h_panda652_hlt_hdplus1600 为例:
        ili9882h对应 lcm ic
        panda 对应 lcm 玻璃
        652 对应 lcm 6.52 英寸屏
        hlt对应 lcm 模组厂何力泰简称
        hdplus1600 对应 1600*720 分辨率的屏
        所以, 命名规则为: 屏IC_玻璃型号尺寸大小_模组厂_屏分辨率
2.修改新驱动文件中的屏的基本参数,以及device_name的命名,在屏的list文件配置此屏驱动接口ili9882h_panda652_hlt_hdplus1600_lcm_drv ,mt65xx_lcm_list.c, mt65xx_lcm_list.h 两个文件配置;
3.lcm_spi_init函数中的寄存器配置按照FAE提供的参数进行配置;
4.使用ICN6211转换工具,填入相应的配置数据,生成的寄存器配置填入lcm_i2c_init中,注意该函数中有两套数据分别对应开机logo和正常画面使用,数据保持一致;(详细配置见icn6211配置说明)
5.编译lcm的彩条模式进行测试,看彩条颜色、数量、宽度和顺序是否符合厂家提供的彩条状态,如果不符合则联系FAE或自行优化屏幕初始化配置和转换芯片配置,彩条正常才能进行画面测试;

调试过程中遇到的问题:

1.tp不亮,只有背光,彩条模式也没有;

        通过在网上查找资料以及合FAE给的初始化代码和自己使用的驱动代码进行比较,主板硬件配置为spi4,而驱动程序配置为spi3,lcm的spi3线和4线配置没有切换过来,切换后可以点亮

        4线:CLK,MISO,MOSI,D/C,CS。
        确切的说这其实是5条线。在标准的spi接口上多了一个用来区分命令和数据的D/C信号线。比如当D/C为低时表示MOSI上正在传输的是Command,当D/C为高时表示MOSI上正在传输的是Data。

        3线:CLK,MISO,MOSI,CS。
        确切的说这用到了4根线!和上面的模式相比,仅仅是少了D/C信号。那怎么区别命令和数据呢?很简单,用spi协议的9bit模式。在该模式下,每一帧数据就不是8bit了!而是需要被配置为9bit。然后用这个9bit的最高位标识命令和数据。

2.彩条模式没有红色,正常画面整体暗色系;

        屏幕初始化寄存器没有配置RGB像素接口格式,默认配置为RGB888,本次主板硬件配置为RGB666,修改寄存器后颜色恢复(联系FAE或自行查手册修改)。

3.屏幕画面颠倒,需要旋转180°;

正常来说在屏幕的初始化寄存器配置中可以修改(自行查看芯片寄存器手册或与FAE沟通),与FAE沟通发现屏幕并不支持画面旋转,需要修改驱动;

查看当前项目的配置,如果为yes,则取消配置,反之则进行配置
lk:
vendor/mediatek/proprietary/bootable/bootloader/lk/project/$project.mk
#DEFINES+= MTK_LCM_PHYSICAL_ROTATION_HW//屏蔽硬件旋转配置
devices:
device/mediatek/$project/projectconfig.mk
MTK_LCM_PHYSICAL_ROTATION_HW=no//取消硬件旋转
kernel:
kernel/arch/arm64/configs/$project_defconfig
CONFIG_MTK_LCM_PHYSICAL_ROTATION_HW=no

4.屏幕错位;

①屏幕错位,错位位置不变

        修改屏幕porch值对错位现象没有一点变化,由于画面横向错位,尝试修改分辨率,发现屏幕错位会移动,但并不会消失,最后通过FAE的帮助发现icn6211转接芯片寄存器配置的分辨率写反,horizontal_active_pixel代表每行480个像素点,vertical_active_line 总共854行,(在配置icn6211时将horizontal_active_pixel=854,vertical_active_line=480),修改后发现屏幕出现锯齿状的错位,调节合适的pll时钟后恢复(闪屏未解决);

②屏幕错位,修改poach值位置可变

        改项目二供屏(芯片相同)调试发现屏幕错位,转换芯片彩条模式下测量转换芯片的HSYNC为51khz,取消彩条后测量转换芯片的HSYNC值约为37khz,彩条模式下HSYNC芯片内部标准输出,而正常画面信号是mipi经过转换芯片转换输出,怀疑mipi输出的信号异常,经过计算推出如果转换后的信号要达到51KHZ,mipi端需要需要更高的pcl,按照RGB888计算出相应的pcl,mipi和转换芯片端pcl同时修改,重新烧录后屏幕恢复;

5.屏幕偶发性闪烁

使用示波器监控pclk发现在闪屏时外部时钟消失,但是芯片供电没有波动,参考其他平台lcm配置参数,尝试修改RGB接口,由RGB666改为RGB888,转换芯片端RGB配置不变,修改后更新pclk值,下载程序闪屏现象消失;(硬件接线为RGB666)

    params->dsi.data_format.format      = LCM_DSI_FORMAT_RGB888;

    params->dsi.PS=LCM_PACKED_PS_24BIT_RGB888;

------------------------------------------------------------------------------------------------------------------------

相关硬件参数配置:

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值