高通平台LCD驱动参数说明

下面是高通平台LCD驱动参数的说明,此说明是根据经验值以及高通的寄存器说明得出的,并非高通官方说明,如有疑问,欢迎探讨。针对一些没有用过的参数,由于没有实践证明,故不做妄加的评论。

 

mipi_xxx_xxx_xxx_pt.c

static struct mipi_dsi_phy_ctrldsi_video_mode_phy_db = {

       /*DSI Bit Clock at 513 MHz, 4 lane, RGB888 */

       /*regulator */

       {0x05,0x01, 0x01, 0x00},

       /*timing   */

       {0x8f,0x34, 0x14, 0x00, 0x46, 0x4b, 0x1a, 0x37,

       0x19,0x03, 0x04},

       /*phy ctrl */

       {0x7f,0x00, 0x00, 0xef},

       /*strength */

       {0xbb,0x02, 0x06, 0x00},

       /*pll control */

       {0x00,0xfc, 0x30, 0xd2, 0x00, 0x40, 0x37, 0x62,

       0x00,0x07, 0x01,

       0x05,0x14, 0x03, 0x0, 0x0, 0x0, 0x20, 0x0, 0x02, 0x0},

};

这一段是配置D-PHY的寄存器,主要是MIPI的时序方面的,按照dsi_timing_program_msm7x2xA.xlsm   EXCEL表来配置即可,具体值的作用可以参考8X25Q的寄存器说明文件:

80_VM180_2_MSM8X25Q_MOBILE_STATION_MODEM_SOFTWARE_INTERFACE.pdf 

其中寄存器对应关系为:

Regulator ---------> 0x02CC ~ 0x02DC

Timing ------------> 0x0260 ~ 0x028C

Phy_ctrl -----------> 0x0200 ~ 0x024C

Strength -----------> 0x02A0 ~ 0x02A8

Pll_control --------> 0x0200 ~ 0x024C

 

mipi_video_xxx_xxx_pt_init函数中主要是对屏的显示区域和mipi控制器进行配置。

pinfo.xres       有效数据的宽度

pinfo.yres       有效数据的高度

pinfo.type       panel的类型

pinfo.bpp              颜色深度

pinfo.lcdc.h_back_porch              水平同步后肩

pinfo.lcdc.h_front_porch              水平同步前肩

pinfo.lcdc.h_pulse_width      水平同步脉冲宽度

pinfo.lcdc.v_back_porch              垂直同步后肩

pinfo.lcdc.v_front_porch              垂直同步前肩

pinfo.lcdc.v_pulse_width      垂直同步脉冲宽度

 

 

 

 

pinfo.clk_rate       mipi每根lane线的波特率

pinfo.bl_max         背光最大亮度,与设置菜单中最大背光亮度相对应

pinfo.bl_min          背光最小亮度,与设置菜单中最小背光亮度相对应

pinfo.mipi.mode    mipi屏的类型

 

pinfo.mipi.pulse_mode_hsa_he     表示是否在发送 VS/VE之后发送HSA0表示不发送,1表示发送

 

pinfo.mipi.hfp_power_stop

pinfo.mipi.hbp_power_stop

pinfo.mipi.hsa_power_stop

上面三个参数表示 hfphbphsa 是用mipi 的高速模式还是低速模式来传输,0表示高速,1表示低速

 

pinfo.mipi.traffic_mode       mipi传输模式,分为 non-burst with sync pulse 模式;non-burst with sync events 模式和 burst模式,它们的区别如下:

 

1. non-burst with sync pulse

 

2. non-burstwith sync events

3. Burst

这几种模式只是在传输数据波形上有所区别,具体看屏规格书要求来选择传输模式,一般使用burst模式

 

pinfo.mipi.dst_format    表示颜色的格式,RGB565 , RGB666 , RGB888

pinfo.mipi.rgb_swap      颜色格式的切换

pinfo.mipi.data_laneX   mipi lane线开关

 

pinfo.mipi.force_clk_lane_hs       mipiclock lane 设置为高速,具体看屏的规格有没有这种需求

mipi_xxx.c

 

{DTYPE_DCS_WRITE,  1, 0, 0, 120, sizeof(exit_sleep),exit_sleep},

第一个参数:表示数据包的类型,如下图:

 

一般的,我们发送0x110x290x100x28时使用 DTYPE_DCS_WRITE ,发送初始化数据时使用 DTYPE_DCS_LWRITE 。但某些屏可能会其它类型,具体需要看屏的规格书。

第二个参数:使用默认值即可。

第三个参数:用于多个MIPI外围设备,使用默认值即可。

第四个参数:应答信号,当设置为“1”时,发送命令成功后屏的IC会返回一个应答信号,如果不成功,则停止通信。通过设置这个位可以验证BB和屏是否通信成功。

第五个参数:发送完后的延时,毫秒级。

第六个参数:发送的数据大小。

第七个参数:需要发送的数据。

 

mfd->cont_splash_done

用于开机时在kernel中不初始化屏,如果需要在kernel中初始化屏的话,则需要将board-msm7627a-display中的 mdp_pdata 结构体的 .cont_splash_enabled = 0x1 修改为 0x0

 

 

以上是KERNEL中的LCD驱动参数,LK中的参数与此类似

 

printk("%s: ", __func__);

for (i = 0; i < tp->len; i++)

printk("0x%02x; ", *bp++);

printk("\n");

 

  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

suvine

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值