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: 芯片的应用问题

Part Number: SN65DSI86


我们项目用到 SN65DSI86 mipi to eDP, 现在只有背光,无画面,color bar 也没有显示,需要排查哪些?帮忙指导下.

软件和原理图见下面:

VOID sn65dsi86_regInit(VOID)
{
    sn65dsi86_write(SW_RST,     0x00);
    sn65dsi86_write(CLK_REG_0A, 0x03);// REFCLK_FREQ/DPPLL_CLK_SRC
    sn65dsi86_write(CLK_REG_0D, 0x00);//songer
    sn65dsi86_write(DSI_REG_10, 0x26);//songer
    sn65dsi86_write(DSI_REG_11, 0x00);//songer
    sn65dsi86_write(DSI_REG_12, 0x4c);//songer  --------..note  CHA_DSI_CLK_RANGE  0x50 400 < 405
    sn65dsi86_write(DSI_REG_13, 0x4c); //chanel B

    sn65dsi86_write(VIDEO_REG_20, 0x80);//songer,the length in pixels of the active horizontal line for Channel A
    sn65dsi86_write(VIDEO_REG_21, 0x07);//songer,the length in pixels of the active horizontal line for Channel A
    sn65dsi86_write(VIDEO_REG_22, 0x00); //chanel B
    sn65dsi86_write(VIDEO_REG_23, 0x00); //Chanel B
    sn65dsi86_write(VIDEO_REG_24, 0x38);// the vertical display size in lines for Channel A
    sn65dsi86_write(VIDEO_REG_25, 0x04);// the vertical display size in lines for Channel A

    sn65dsi86_write(VIDEO_REG_2C, 0x13);// CHA_HSYNC_PULSE_WIDTH_LOW -------...note
    sn65dsi86_write(VIDEO_REG_2D, 0x00);// CHA_HSYNC_POLARITY/CHA_HSYNC_PULSE_WIDTH_HIGH ------...note
    sn65dsi86_write(VIDEO_REG_30, 0x08);// CHA_VSYNC_PULSE_WIDTH_LOW  -----..note
    sn65dsi86_write(VIDEO_REG_31, 0x00);//CHA_VSYNC_POLARITY/CHA_VSYNC_PULSE_WIDTH_HIGH ----...note

    sn65dsi86_write(VIDEO_REG_34, 0x14);//CHA_HORIZONTAL_BACK_PORCH
    sn65dsi86_write(VIDEO_REG_36, 0x0b);//CHA_VERTICAL_BACK_PORCH
    sn65dsi86_write(VIDEO_REG_38, 0x1e);//CHA_HORIZONTAL_FRONT_PORCH
    sn65dsi86_write(VIDEO_REG_3A, 0x0c);//CHA_VERTICAL_FRONT_PORCH

    sn65dsi86_write(VIDEO_REG_3C, 0x10); // songer COLOR_BAR_EN-->1
    sn65dsi86_write(VIDEO_REG_3D, 0x00); // songer
    sn65dsi86_write(VIDEO_REG_3E, 0x00); // songer

    sn65dsi86_write(DP_SPEC_REG_5B, 0x00); // songer
    sn65dsi86_write(LK_TRAIN_REG_93, 0x34);//songer
    sn65dsi86_write(LK_TRAIN_REG_94, 0xe0);//songer

    sn65dsi86_write(DP_SPEC_REG_5C, 0x01); // songer
    sn65dsi86_write(DP_SPEC_REG_5A, 0x05);// default 0x05, IDLE pattern enable

    sn65dsi86_write(CLK_REG_0D, 0x01);//songer pll_enable
    MDP_OSAL_DELAYMS(10);
    sn65dsi86_DebugDumpReg(CLK_REG_0D);

    sn65dsi86_write(I2C_OVER_AUX_REG_64, 0x01);
    sn65dsi86_write(I2C_OVER_AUX_REG_74, 0x00);
    sn65dsi86_write(I2C_OVER_AUX_REG_75, 0x01);
    sn65dsi86_write(I2C_OVER_AUX_REG_76, 0x0A);
    sn65dsi86_write(I2C_OVER_AUX_REG_77, 0x01);
    sn65dsi86_write(I2C_OVER_AUX_REG_78, 0x81);
    MDP_OSAL_DELAYMS(10);

    sn65dsi86_write(LK_TRAIN_REG_96, 0x0a);// 01 --> 0a
    MDP_OSAL_DELAYMS(20);

    sn65dsi86_write(DP_SPEC_REG_5A, 0x05);//songer temp
}

  • 您好,您试下下面的配置看是否能够显示color bar?

    <aardvark>
    <configure i2c="1" spi="1" gpio="0" tpower="1" pullups="1"/>
    <i2c_bitrate khz="100"/>

    <i2c_write addr="0x2D" count="1" radix="16">5C 01</i2c_write> <sleep ms="10"/>

    <i2c_write addr="0x2D" count="1" radix="16">FF 07</i2c_write> <sleep ms="10"/>

    ======DUMP CFR======
    <i2c_write addr="0x2D" count="0" radix="16">16 </i2c_write> <sleep ms="10"/>

    ======Read======
    <i2c_read addr="0x2D" count="1" radix="16">00</i2c_read> <sleep ms="10"/>


    <i2c_write addr="0x2D" count="1" radix="16">16 01</i2c_write> <sleep ms="10"/>

    <i2c_write addr="0x2D" count="0" radix="16">16 </i2c_write> <sleep ms="10"/>

    ======Read======
    <i2c_read addr="0x2D" count="2" radix="16">00</i2c_read> <sleep ms="10"/>

    <i2c_write addr="0x2D" count="1" radix="16">FF 00</i2c_write> <sleep ms="10"/>


    ======Single 4 DSI lanes======

    <i2c_write addr="0x2D" count="1" radix="16">10 26 </i2c_write> <sleep ms="10"/>

    ======DSI CLK FREQ======

    <i2c_write addr="0x2D" count="0" radix="16">12 </i2c_write> <sleep ms="10"/>
    <i2c_read addr="0x2D" count="2" radix="16">00</i2c_read> <sleep ms="10"/>

    ======enhanced framing======

    <i2c_write addr="0x2D" count="1" radix="16">5A 04 </i2c_write> <sleep ms="10"/>


    ======ADDR 0x93 CFR======

    <i2c_write addr="0x2D" count="0" radix="16">93</i2c_write> <sleep ms="10"/>

    ======Read======
    <i2c_read addr="0x2D" count="6" radix="16">00</i2c_read> <sleep ms="10"/>

    ======Pre0dB 1 lanes no SSC======
    <i2c_write addr="0x2D" count="1" radix="16">93 10</i2c_write> <sleep ms="10"/>

    ======L0mV RBR======
    <i2c_write addr="0x2D" count="1" radix="16">94 80</i2c_write> <sleep ms="10"/>

    ======POST2 0dB ======
    <i2c_write addr="0x2D" count="1" radix="16">95 00</i2c_write> <sleep ms="10"/>

    ======PLL ENABLE======
    <i2c_write addr="0x2D" count="1" radix="16">0D 01</i2c_write> <sleep ms="10"/>
    <i2c_write addr="0x2D" count="0" radix="16">0A</i2c_write> <sleep ms="10"/>
    <i2c_read addr="0x2D" count="2" radix="16">00</i2c_read> <sleep ms="10"/>

    ======Semi-Auto TRAIN ======
    <i2c_write addr="0x2D" count="1" radix="16">96 0A</i2c_write> <sleep ms="20"/>


    ======ADDR 0x0A CFR======

    <i2c_write addr="0x2D" count="0" radix="16">96</i2c_write> <sleep ms="20"/>

    ======Read======
    <i2c_read addr="0x2D" count="1" radix="16">00</i2c_read> <sleep ms="10"/>

    =====CHA_ACTIVE_LINE_LENGTH=======
    <i2c_write addr="0x2D" count="2" radix="16">20 00 04</i2c_write> <sleep ms="10"/>

    =====CHA_VERTICAL_DISPLAY_SIZE=======
    <i2c_write addr="0x2D" count="2" radix="16">24 58 02</i2c_write> <sleep ms="10"/>

    =====CHA_SYNC_DELAY=======
    <i2c_write addr="0x2D" count="2" radix="16">28 00 00</i2c_write> <sleep ms="10"/>

    =====CHA_HSYNC_PULSE_WIDTH=======
    <i2c_write addr="0x2D" count="2" radix="16">2C 80 80</i2c_write> <sleep ms="10"/>

    =====CHA_VSYNC_PULSE_WIDTH=======
    <i2c_write addr="0x2D" count="2" radix="16">30 04 80</i2c_write> <sleep ms="10"/>

    =====CHA_HORIZONTAL_BACK_PORCH=======
    <i2c_write addr="0x2D" count="1" radix="16">34 28 </i2c_write> <sleep ms="10"/>

    =====CHA_VERTICAL_BACK_PORCH=======
    <i2c_write addr="0x2D" count="1" radix="16">36 09</i2c_write> <sleep ms="10"/>

    =====CHA_HORIZONTAL_FRONT_PORCH=======
    <i2c_write addr="0x2D" count="1" radix="16">38 28</i2c_write> <sleep ms="10"/>

    =====CHA_VERTICAL_FRONT_PORCH=======
    <i2c_write addr="0x2D" count="1" radix="16">3A 01</i2c_write> <sleep ms="10"/>

    =====DP_18BPP_EN =======
    <i2c_write addr="0x2D" count="1" radix="16">5B 01 </i2c_write> <sleep ms="100"/>

    =====COLOR BAR =======
    <i2c_write addr="0x2D" count="1" radix="16">3C 10</i2c_write> <sleep ms="100"/>

    ======enhanced framing and Vstream enable======

    <i2c_write addr="0x2D" count="1" radix="16">5A 0C </i2c_write> <sleep ms="100"/>

    ======DUMP CFR======
    <i2c_write addr="0x2D" count="0" radix="16">20</i2c_write> <sleep ms="10"/>

    ======Read======
    <i2c_read addr="0x2D" count="32" radix="16">00</i2c_read> <sleep ms="10"/>

    </aardvark>