Tool/software: Linux
Hi,
We are trying to enable "Test Pattern" function of SN65DSI83 IC in our device and seems no data output from SN65DSI83 (LCD panel is still white screen).
Here are questions:
1. Could anyone tell us what kind of pattern will output from SN65DSI83 if "Test Pattern" function enabled successfully?
2. Below is our setting for configuring SN65DSI83, could anyone help to check if any step we miss or did wrong? Thanks.
//Soft reset and disable PLL
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_SOFT_RESET, 0x01);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_PLL_EN, 0x00);
//select LVDS piexl clock form REFCLK and Range 62.5MHz - 87.5MHz
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CORE_PLL, 0x04);
//multiply REFCLK by 3.
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_PLL_DIV, 0x02);
//four DSI lanes with single channel
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_DSI_CFG, 0x20);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_DSI_EQ, 0x00);
//set DSI clock range 450MHz - 455MHz
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_DSI_CLK_RNG, 0x5A);
//set LVDS for single channel, 24 bit mode, HS/VS low, DE high
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_LVDS_MODE, 0x78);
//set LVDS 100 Ohm termination and max differential swing voltage
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_LVDS_SIGN, 0x00);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_LVDS_TERM, 0x02);
//x resolution high/low for channel A 1366
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_LINE_LEN_LO, 0x56);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_LINE_LEN_HI, 0x05);
//y resolution high/low for channel A 768
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VERT_LINES_LO, 0x00);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VERT_LINES_HI, 0x03);
//SYNC delay high/low for channel A
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_SYNC_DELAY_LO, 0x00);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_SYNC_DELAY_HI, 0x02);
//HSYNC width high/low for channel A 14
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_HSYNC_WIDTH_LO, 0x0E);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_HSYNC_WIDTH_HI, 0x00);
//VSYNC width high/low for channel A 3
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VSYNC_WIDTH_LO, 0x03);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VSYNC_WIDTH_HI, 0x00);
//Horizontal BackPorch for channel A 30
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_HORZ_BACKPORCH, 0x1E);
//Vertical BackPorch for channel A 15
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VERT_BACKPORCH, 0x0F);
//Horizontal FrontPorch for channel A 150
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_HORZ_FRONTPORCH, 0x96);
//Vertical FrontPorch for channel A 20
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_CHA_VERT_FRONTPORCH, 0x14);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_TEST_PATTERN, 0x11);
//Soft reset and enable PL
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_SOFT_RESET, 0x00);
i2c_smbus_write_byte_data(dsi65_i2c_dev->client, SN65DSI83_PLL_EN, 0x01);