This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SN65DSI86: Can't transfer MIPI to DP

Part Number: SN65DSI86
Other Parts Discussed in Thread: TEST2, , DSI-TUNER

Hello,

Our customer meets a issue that using SN65DS186 to transfer MIPI to DP and can't light the panel.

Could you please help me follow this issue?

            1、The MIPI signal is verified by MIPI analyzer, and the configuration is as following:

            H_PIXEL                      =         1920

            V_PIXEL                       =         1080
            H_SYNC                      =         44
            V_SYNC                      =         5
            H_BP                       = 148
            V_BP                        = 24
            H_FP                       = 88
            V_FP                        = 4

            PIXEL_CLK           =      148500000 Hz
            MIPI_HS_CLK      =      890(MIPI clock 445MHz)
            MIPI_LP_CLK       =      12

            MIPI single mode, 4lane

 

           2、 The schematic is as following:  

                                   REFCLK = 27MHz, R14 = 51KΩ, TEST1 and TEST2 connected to ground, TEST3 connected to a 0.1uF capacitance。

                                   GPIO1 = 1, GPIO2 = 1, GPIO3 = 0, GPIO4 = 0, ADDR = 0

                                   EN is low at the beginning, then delay 10ms, pull high,  I2C can R/W register normally.

                                   The voltage in HPD PIN is 1.65V, the voltage on the other side of R14 is 3.2V。

           3、 Configuration of register is set as following:

 

u8 error[10];
void SN65DSI86_Init(void)
{
    u8 status;
    MIPI2DP_Write(0x0A, 0x06);
    MIPI2DP_Write(0x10, 0x26);
    MIPI2DP_Write(0x12, 0x59);
    MIPI2DP_Write(0x5A, 0x05);
    MIPI2DP_Write(0x93, 0x20);
    MIPI2DP_Write(0x94, 0x80);
    MIPI2DP_Write(0x0D, 0x01);
    Delay_ms(10);
    status = MIPI2DP_Read(0x0A);
    if(status & 0x80 != 0) Delay_ms(10);
    MIPI2DP_Write(0x95, 0x00);
    MIPI2DP_Write(0x64, 0x01);
    MIPI2DP_Write(0x74, 0x00);
    MIPI2DP_Write(0x75, 0x01);
    MIPI2DP_Write(0x76, 0x0A);
    MIPI2DP_Write(0x77, 0x01);
    MIPI2DP_Write(0x78, 0x81);
    MIPI2DP_Write(0x96, 0x0A);
    Delay_ms(20);
    status = MIPI2DP_Read(0x96);
    if(status != 1) Delay_ms(10);
    MIPI2DP_Write2(0x20, 0x80, 0x07);
    MIPI2DP_Write2(0x24, 0x38, 0x04);
    MIPI2DP_Write2(0x2C, 0x2C, 0x00);
    MIPI2DP_Write2(0x30, 0x05, 0x80);
    MIPI2DP_Write(0x34, 0x94);
    MIPI2DP_Write(0x36, 0x24);
    MIPI2DP_Write(0x38, 0x58);
    MIPI2DP_Write(0x3A, 0x04);
    MIPI2DP_Write(0x5B, 0x00);
    MIPI2DP_Write(0x3C, 0x00);
    MIPI2DP_Write(0x5A, 0x0D);
    
    for(u8 i=0; i<9; i++) error[i] =  MIPI2DP_Read(0xF0 + i);
}

Register value of F0~F8 is as following: