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: Sometimes the phone does not display after waking up from suspend mode.

Part Number: SN65DSI86

Tool/software:

Sometimes the phone does not display after waking up from suspend mode. And when no display, the Register F6 = 40. What might be the cause of this phenomenon?

  • Hi,

    I have verified that the settings match the EDID panel configuration, yet the issue persists. What steps can I take next to investigate the rationale behind the question?

    Following is my settings and EDID.

    This code is meant for an Aardvark USB to I2C to program the SN65DSI86								
    	Addr	Data						
    <aardvark>								
    <configure i2c="1" spi="1" gpio="0" tpower="1" pullups="0"/>								
        <i2c_bitrate khz="100"/>								
    								
    ======REFCLK Frequency  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	0A	4	</i2c_write>/>					
    								
    ======DSI Mode  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	10	26	</i2c_write>/>					
    								
    ======DSIA Clock  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	12	5C	</i2c_write>/>					
    								
    ======DSIB Clock  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	13	5C	</i2c_write>/>					
    								
    ======DP Datarate  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	94	80	</i2c_write>/>					
    								
    ======Enable PLL  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	0D	1	</i2c_write> <sleep ms="10"/>					
    								
    ======Enable ASSR in Panel  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	64	1	</i2c_write>/>					
    <i2c_write addr="0x2D" count="5" radix="16">	74	0	1	0A	1	81	</i2c_write> <sleep ms="10"/>	
    								
    ======Enable enhanced frame and ASSR in DSI86  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	5A	5	</i2c_write>/>					
    								
    ======Number of DP lanes  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	93	20	</i2c_write>/>					
    								
    ======Start Semi-Auto Link Training  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	96	0A	</i2c_write> <sleep ms="20"/>					
    								
    ======CHA Active Line Length  ======								
    <i2c_write addr="0x2D" count="2" radix="16">	20	80	07	</i2c_write>/>				
    								
    ======CHB Active Line Length  ======								
    <i2c_write addr="0x2D" count="2" radix="16">	22	0	0	</i2c_write>/>				
    								
    ======Vertical Active Size   ======								
    <i2c_write addr="0x2D" count="2" radix="16">	24	B0	04	</i2c_write>/>				
    								
    ======Horizontal Pulse Width   ======								
    <i2c_write addr="0x2D" count="2" radix="16">	2C	30	00	</i2c_write>/>				
    								
    ======Vertical Pulse Width   ======								
    <i2c_write addr="0x2D" count="2" radix="16">	30	0C	00	</i2c_write>/>				
    								
    ======HBP   ======								
    <i2c_write addr="0x2D" count="1" radix="16">	34	58	</i2c_write>/>					
    								
    ======VBP   ======								
    <i2c_write addr="0x2D" count="1" radix="16">	36	11	</i2c_write>/>					
    								
    ===== HFP  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	38	18	</i2c_write>/>					
    								
    ===== VFP  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	3A	03	</i2c_write>/>					
    								
    ===== DP-18BPP Disable  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	5B	0	</i2c_write>/>					
    								
    ===== Color Bar Enable  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	3C	00	</i2c_write>/>					
    								
    ===== Enhanced Frame, ASSR, and Vstream Enable  ======								
    <i2c_write addr="0x2D" count="1" radix="16">	5A	0D	</i2c_write>/>					
    								
    </aardvark>								
    

    //EDID.txt
    
    00	FF	FF	FF	FF	FF	FF	0	2C	83	21	11	0	0	0	0
    0B	23	1	4	A5	1E	13	78	2	56	45	93	5E	5B	93	25
    18	50	54	0	0	0	1	1	1	1	1	1	1	1	1	1
    01	1	1	1	1	1	0F	3C	80	A0	70	B0	20	40	18	30
    3C	0	2E	BD	10	0	0	19	0C	30	80	A0	70	B0	20	40
    18	30	3C	0	2E	BD	10	0	0	19	0	0	0	FE	0	4B
    44	43	0A	20	20	20	20	20	20	20	20	20	0	0	0	FE
    00	4B	44	31	34	30	4E	33	34	34	35	41	30	38	0	5D
    

  • Hi,

    Could you please check if the system is following the Suspend mode description from the datasheet. It says that there should be valid REFCLK before and after suspend is asserted.

    Also, could you test this with internal pattern generation and see if this still occurs?

    Please also share the 0xF0 - 0xF8 register reads for working and not working cases, so we can check if there are other errors also logged.

    Best regards,
    Ikram

  • Hi,

    After debugging, the issue of no display could not be reproduced. However, during normal display, register F8 is consistently set to 1.

    Is this normal? And if not, what can I do to fix it?

    Follow is F1~F8

    F0=0
    F1=1
    F2=0
    F3=0
    F4=1
    F5=0
    F6=0
    F7=0
    F8=1

    Thanks

  • Hello,

    The 0xF8 register bit 0 indicates Link training is successful, which indicates DP output is link trained and working.

    About the suspend mode issue, has this occurred repeatedly? How frequently is it seen? If it occurs again could you please share a log of these registers to check what type of error it runs into.

    Best regards,
    Ikram