有没哪位同仁做过屏的的cmd模式转vdo模式的?
请将你的
static void lcm_get_params(LCM_PARAMS *params)
发上来给大家看看
怀疑 是这个东西配置有问题。
我在75与89上都没有做过MIPI所以不清楚
在72上做MIPI接口的,没有你说的问题。
这个是75上的,用的屏是科迪的 fwvga,IC ili9806
static void lcm_get_params(LCM_PARAMS *params)
{
memset(params, 0, sizeof(LCM_PARAMS));
params->type = LCM_TYPE_DSI;
params->width = FRAME_WIDTH;
params->height = FRAME_HEIGHT;
// enable tearing-free
params->dbi.te_mode = LCM_DBI_TE_MODE_DISABLED;
params->dbi.te_edge_polarity = LCM_POLARITY_RISING;
#if (LCM_DSI_CMD_MODE)
params->dsi.mode = CMD_MODE;
#else
params->dsi.mode = SYNC_PULSE_VDO_MODE;
#endif
// DSI
/* Command mode setting */
params->dsi.LANE_NUM = LCM_TWO_LANE;
//The following defined the fomat for data coming from LCD engine.
params->dsi.data_format.color_order = LCM_COLOR_ORDER_RGB;
params->dsi.data_format.trans_seq = LCM_DSI_TRANS_SEQ_MSB_FIRST;
params->dsi.data_format.padding = LCM_DSI_PADDING_ON_LSB;
params->dsi.data_format.format = LCM_DSI_FORMAT_RGB888;
// Highly depends on LCD driver capability.
// Not support in MT6573
params->dsi.packet_size=256;
// Video mode setting
params->dsi.intermediat_buffer_num = 2;
params->dsi.PS=LCM_PACKED_PS_24BIT_RGB888;
params->dsi.word_count=480*3;
#if 0
params->dsi.vertical_sync_active = 10;
params->dsi.vertical_backporch = 10;
params->dsi.vertical_frontporch = 10; // 2
params->dsi.vertical_active_line = FRAME_HEIGHT;
params->dsi.horizontal_sync_active = 50;
params->dsi.horizontal_backporch = 50;
params->dsi.horizontal_frontporch = 50;
params->dsi.horizontal_active_pixel = FRAME_WIDTH;
#else
params->dsi.vertical_sync_active = 4;
params->dsi.vertical_backporch = 17;
params->dsi.vertical_frontporch = 17; // 2
params->dsi.vertical_active_line = FRAME_HEIGHT;
params->dsi.horizontal_sync_active = 17;
params->dsi.horizontal_backporch = 49;
params->dsi.horizontal_frontporch = 57;
params->dsi.horizontal_active_pixel = FRAME_WIDTH;
#endif
// Bit rate calculation
params->dsi.pll_div1=28; // fref=26MHz, fvco=fref*(div1+1) (div1=0~63, fvco=500MHZ~1GHz)
params->dsi.pll_div2=1; // div2=0~15: fout=fvo/(2*div2)
/* ESD or noise interference recovery For video mode LCM only. */
// Send TE packet to LCM in a period of n frames and check the response.
params->dsi.lcm_int_te_monitor = FALSE;
params->dsi.lcm_int_te_period = 1; // Unit : frames
// Need longer FP for more opportunity to do int. TE monitor applicably.
if(params->dsi.lcm_int_te_monitor)
params->dsi.vertical_frontporch *= 2;
// Monitor external TE (or named VSYNC) from LCM once per 2 sec. (LCM VSYNC must be wired to baseband TE pin.)
params->dsi.lcm_ext_te_monitor = FALSE;
// Non-continuous clock
params->dsi.noncont_clock = TRUE;
params->dsi.noncont_clock_period = 2; // Unit : frames
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
这个是湘航的,QHD,IC otm9608a,
static void lcm_get_params(LCM_PARAMS *params)
{
memset(params, 0, sizeof(LCM_PARAMS));
params->type = LCM_TYPE_DSI;
params->width = FRAME_WIDTH;
params->height = FRAME_HEIGHT;
// enable tearing-free
params->dbi.te_mode = LCM_DBI_TE_MODE_DISABLED;
params->dbi.te_edge_polarity = LCM_POLARITY_RISING;
#if defined(LCM_DSI_CMD_MODE)
params->dsi.mode = CMD_MODE;
#else
params->dsi.mode = SYNC_PULSE_VDO_MODE;
#endif
// DSI
/* Command mode setting */
params->dsi.LANE_NUM = LCM_TWO_LANE;
//The following defined the fomat for data coming from LCD engine.
params->dsi.data_format.color_order = LCM_COLOR_ORDER_RGB;
params->dsi.data_format.trans_seq = LCM_DSI_TRANS_SEQ_MSB_FIRST;
params->dsi.data_format.padding = LCM_DSI_PADDING_ON_LSB;
params->dsi.data_format.format = LCM_DSI_FORMAT_RGB888;
params->dsi.intermediat_buffer_num = 0;//because DSI/DPI HW design change, this parameters should be 0 when video mode in MT658X; or memory leakage
params->dsi.PS=LCM_PACKED_PS_24BIT_RGB888;
// params->dsi.word_count=FRAME_WIDTH*3; //DSI CMD mode need set these two bellow params, different to 6577
//params->dsi.vertical_active_line=FRAME_HEIGHT;
// params->dsi.compatibility_for_nvk = 0; // this parameter would be set to 1 if DriverIC is NTK's and when force match DSI clock for NTK's
params->dsi.vertical_sync_active = 4;
params->dsi.vertical_backporch = 8;
params->dsi.vertical_frontporch = 8;
params->dsi.vertical_active_line = FRAME_HEIGHT;
params->dsi.horizontal_sync_active = 6;
params->dsi.horizontal_backporch = 37;
params->dsi.horizontal_frontporch = 37;
params->dsi.horizontal_active_pixel = FRAME_WIDTH;
params->dsi.pll_div1=1; // div1=0,1,2,3;div1_real=1,2,4,4
params->dsi.pll_div2=1; // div2=0,1,2,3;div2_real=1,2,4,4
params->dsi.fbk_div =33; // fref=26MHz, fvco=fref*(fbk_div+1)*2/(div1_real*div2_real)
// Need longer FP for more opportunity to do int. TE monitor applicably.
if(params->dsi.lcm_int_te_monitor)
params->dsi.vertical_frontporch *= 2;
// Monitor external TE (or named VSYNC) from LCM once per 2 sec. (LCM VSYNC must be wired to baseband TE pin.)
params->dsi.lcm_ext_te_monitor = FALSE;
// Non-continuous clock
params->dsi.noncont_clock = TRUE;
params->dsi.noncont_clock_period = 2; // Unit : frames
}
你的初始化中有没有一个0X35的寄存器?
89平台上点的那个屏没有,75点的屏上面有,这和TE有关么?
最好关掉吧。
ok
试试看
试了下 关掉也没用
发个log上来看看,开机黑屏
lcd背光亮了吗? 另外既然你唤醒可以,那你可以看看你resume干了些什么?
背光 亮了 在cmd模式下是ok的
小编:请教下,下面这两个参数是配置什么的,刚接触屏调试,不太懂;
params->dsi.vertical_sync_active = 4;
params->dsi.horizontal_sync_active = 6;
水平和垂直同步信号脉冲宽度
嗯嗯,学习了,非常感谢!
请问 params->dsi.mode = BURST_VDO_MODE;跟params->dsi.mode = SYNC_PULSE_VDO_MODE;有什么区别,怎么确定该填哪个值。
小编,请问你这个问题解决了吗,如果解决了能否告知是如何解决的?
