Hi Sir:
I had use the SN65DSI83 on Qualcomm msm8909 platform, and the SN65DSI83 i2c work normal, I had used the DSI Tuner (V2.0) which download from IT web, but when I write the CSR to the chip, the PLL lock failed, and I debug the chip on test mode, and the screen was black, the attachment was the LCD datasheet and the CSR values.
static int sn65dsi83_pll_en(int enable)
{
int retval = 0,count = 0;
char pll_en;
TI_INFO("%s,enable=%d\n",__func__,enable);
if(enable)
{
retval = sn65dsi83_i2c_write(PLL_ADDR,PLL_LOCK_DATA);
if(retval < 0)
{
TI_ERROR("set pll en failed.");
return retval;
}else
{
TI_ERROR("set pll en sccess.");
}
sn65dsi83_i2c_read(PLL_CHECK_LOCK,&pll_en,sizeof(pll_en));
TI_INFO("pll lock = 0x%02x.",pll_en);
while(!(pll_en & 1 << PLL_LOCK_MASK) && count < 50)
{
msleep(2);
count++;
sn65dsi83_i2c_read(PLL_CHECK_LOCK,&pll_en,sizeof(pll_en));
}
if(count == 50)
{
TI_ERROR("lock pll failed.");
return -1;
}
else
{
retval = sn65dsi83_i2c_write(SOFT_RESET_ADDR,SOFT_RESET_DATA);
if(retval < 0)
{
TI_ERROR(" reset ic fail\n"); return retval;
}
retval = sn65dsi83_i2c_write(PLL_ADDR,PLL_LOCK_DATA);
if(retval < 0)
{
TI_ERROR("set pll en fail\n"); r
eturn retval; }
}
}
else
{
retval = sn65dsi83_i2c_write(PLL_ADDR,PLL_UNLOCK_DATA);
if(retval < 0)
{
TI_ERROR("set pll disable fail\n");
return retval;
}
}
return retval;
}
The abnormal log:
[ 4.431122] <<-sn65dsi83->> sn65dsi83_init_chip start.
[ 4.439079] i2c-msm-v2 78b7000.i2c: msm_bus_scale_register_client(mstr-id:86):0x7 (ok)
[ 4.459515] <<-sn65dsi83->> sn65dsi83_init_config success.
[ 4.459515]
[ 4.467557] <<-sn65dsi83->> sn65dsi83_pll_en,enable=1
[ 4.467557]
[ 4.473457] <<-sn65dsi83->> set pll en sccess.
[ 4.477858] <<-sn65dsi83->> pll lock = 0x01.
[ 5.472744] <<-sn65dsi83->> lock pll failed.
[ 5.475988] <<-sn65dsi83->> ti_sn65dsi83_pll_en failed.
[ 5.475988] [ 5.482766] <<-sn65dsi83->> sn65dsi83_chip_init failed.
There still some question here:
1. How can I make sure the LCD's LVDS_HPW and LVDS_VPM;
2. How can I make sure the LCD's Additional Panel info from the LCD datasheet.
//===================================================================== // Filename : CSR-HPW10.txt // // (C) Copyright 2013 by Texas Instruments Incorporated. // All rights reserved. // //===================================================================== 0x09 0x00 0x0A 0x01 0x0B 0x00 0x0D 0x00 0x10 0x26 0x11 0x00 0x12 0x00 0x13 0x00 0x18 0x7a 0x19 0x00 0x1A 0x03 0x1B 0x00 0x20 0x00 0x21 0x05 0x22 0x00 0x23 0x00 0x24 0xd0 0x25 0x02 0x26 0x00 0x27 0x00 0x28 0x20 0x29 0x00 0x2A 0x00 0x2B 0x00 0x2C 0x0a 0x2D 0x00 0x2E 0x00 0x2F 0x00 0x30 0x0a 0x31 0x00 0x32 0x00 0x33 0x00 0x34 0x20 0x35 0x00 0x36 0x03 0x37 0x00 0x38 0x20 0x39 0x00 0x3A 0x03 0x3B 0x00 0x3C 0x10 0x3D 0x00 0x3E 0x00 The PLL_EN bit and SOFT_RESET bit are not set as they need to be set per the recommended sequence defined in the datasheet
//===================================================================== // Filename : CSR-HPW10.txt // // (C) Copyright 2013 by Texas Instruments Incorporated. // All rights reserved. // //===================================================================== 0x09 0x00 0x0A 0x01 0x0B 0x00 0x0D 0x00 0x10 0x26 0x11 0x00 0x12 0x00 0x13 0x00 0x18 0x7a 0x19 0x00 0x1A 0x03 0x1B 0x00 0x20 0x00 0x21 0x05 0x22 0x00 0x23 0x00 0x24 0xd0 0x25 0x02 0x26 0x00 0x27 0x00 0x28 0x20 0x29 0x00 0x2A 0x00 0x2B 0x00 0x2C 0x0a 0x2D 0x00 0x2E 0x00 0x2F 0x00 0x30 0x0a 0x31 0x00 0x32 0x00 0x33 0x00 0x34 0x20 0x35 0x00 0x36 0x03 0x37 0x00 0x38 0x20 0x39 0x00 0x3A 0x03 0x3B 0x00 0x3C 0x10 0x3D 0x00 0x3E 0x00 The PLL_EN bit and SOFT_RESET bit are not set as they need to be set per the recommended sequence defined in the datasheet