Allwinner全志平台有个通病,就是点9365芯片的mipi屏,需要特殊处理,直接拿其他平台的初始化参数来点,是不能够正常点亮的。
处理方式就是在屏的初始化参数中添加0x37寄存器的设置。如:
{0x09, 1, {0x61}},
{0x0E, 1, {0x48}},
//add for 9365 mipi
{0x37, 1, {0x58}}, //allwinner platform//
//add for 9365 mipi
{0xE0, 1, {0x00}},
{0x11, 1, {0x00}},
{ REGFLAG_DELAY, REGFLAG_DELAY, { 120 } },
{0x29, 1, {0x00}},
{ REGFLAG_DELAY, REGFLAG_DELAY, { 20 } },
{ REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {} }
};
这可能和全志的dsi时钟频率有关。全志的dsi频率计算方式如下:
Freq_dsi_clk = (Dclk * colordepth * 3 / lane ) / 2
- Freq_dsi_clk:我们要测量的 dsi 时钟脚的频率。单位 MHz。
- Dclk:像素时钟。由 lcd_htlcd_vtfps/1e6 公式算出来。
- Colordepth:颜色深度,一般是 8 或者 6。
- 乘以 3 表示 RGB 分量 3 个。
- Lane:dsi 的 lane 数量。
- 除以 2:是因为 dsi 时钟是双沿采样。
9365芯片要求的时钟频率是240Mhz。这样Dclk按正常的计算是要达到80Mhz(即lcd_dclk_freq要为80),实际测试点不亮的时候设置lcd_dclk_freq为80也是可以点亮的。但是这样fps就超过了60帧。