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.

DS90UB941AS-Q1: Symmetric Splitting(Left/Right 3D Format) – Panel not display

Part Number: DS90UB941AS-Q1

// config SER ub941
0x0c 0x1E 0x03   // Select FPD-Link III Port 0 and Port1
0x0c 0x66 0x1A    
0x0c 0x67 0x03   // M = 3
0x0c 0x66 0x03
0x0c 0x67 0x19   // N = 25, set CLK= 800*3/25 = 96M

0x0c 0x01 0x08	  // Disable DSI
0x0c 0x1E 0x01    // Select FPD-Link III Port 0
0x0c 0x4F 0x8C	  // Set DSI_CONTINUOUS_CLOCK, 4 lanes, DSI Port 0
0x0c 0x5b 0x07    // Force split mode
0x0c 0x56 0x80    // port0 dsi continue clock
0x0c 0x32 0x80	  // Set the line size to 1920(LSB)
0x0c 0x33 0x07	  // Set the line size to 1920 (MSB)

0x0c 0x1E 0x01	  // Select FPD-Link III Port 0
0x0c 0x36 0x00	  // Set crop start X position to 0 (LSB)
0x0c 0x37 0x80	  // Set crop start X position to 0 (MSB) and enable cropping
0x0c 0x38 0x7F	  // Set crop stop X position to 1919 (LSB)
0x0c 0x39 0x07	  // Set crop stop X position to 1919 (MSB)
0x0c 0x3A 0x00	  // Set crop start Y position to 0 (LSB)
0x0c 0x3B 0x00	  // Set crop start Y position to 0 (MSB)
0x0c 0x3C 0xCF	  // Set crop stop Y position to 719 (LSB)
0x0c 0x3D 0x02	  // Set crop stop Y position to 719 (MSB)
0x0c 0x1E 0x02	  // Select FPD-Link III Port 1
0x0c 0x36 0x00	  // Set crop start X position to 0 (LSB)
0x0c 0x37 0x80	  // Set crop start X position to 0 (MSB) and enable cropping
0x0c 0x38 0x7F	  // Set crop stop X position to 1919 (LSB)
0x0c 0x39 0x07	  // Set crop stop X position to 1919 (MSB)
0x0c 0x3A 0x00	  // Set crop start Y position to 0 (LSB)
0x0c 0x3B 0x00	  // Set crop start Y position to 0 (MSB)
0x0c 0x3C 0xCF	  // Set crop stop Y position to 719 (LSB)
0x0c 0x3D 0x02	  // Set crop stop Y position to 719 (MSB)
0x0c 0x40 0x04	  // Select DSI Port 0 digital registers
0x0c 0x41 0x05	  // Select DPHY_SKIP_TIMING register
0x0c 0x42 0x42	  // Write TSKIP_CNT value for 577 MHz DSI clock frequency
0x0c 0x40 0x10	  // Init DSI clock settings (section 10.2 of the datasheet)
0x0c 0x41 0x86
0x0c 0x42 0x0A
0x0c 0x41 0x94
0x0c 0x42 0x0A

0x0c 0x1e 0x01   // passthrough all i2c dev to soc side
0x0c 0x17 0x9e
0x0c 0x1e 0x02   // passthrough all i2c dev to soc side
0x0c 0x17 0x9e
0x0c 0x1e 0x04
0x0c 0x17 0x9e
delay(50ms)

// config DES1 ub948
0x34 0x01 0xff
delay(5ms)
0x34 0x1d 0x13
0x34 0x26 0x15
0x34 0x27 0x15
0x34 0x41 0x1f
0x34 0x4b 0x0a

// config DES1 ub948
0x0c 0x01 0xff
delay(5ms)
0x0c 0x56 0x80
0x0c 0x01 0x00
0x0c 0x64 0x00
0x0c 0x65 0x00

// config BL1
0x15 0x03 0xff  // set brightness value
0x15 0x04 0x01  // enable backlight 1

// config BL1
0x6B 0x03 0xff  // set brightness value
0x6B 0x04 0x01  // enable backlight 2

// SER ub941
0x0c 0x01 0x00	  //enable DSI
I

Mode Info:1. Host SoC: Qcom SA8155

2. Backlight1 and Backlight 2 is on

3. DSI clock is continues

4. Host config image size is 3840x720@60fps

5. Host config timing:

<Group id="Active Timing">
 <HorizontalActive units="Dot Clocks">3840</HorizontalActive>
 <HorizontalFrontPorch units="Dot Clocks">64</HorizontalFrontPorch>
 <HorizontalBackPorch units="Dot Clocks">128</HorizontalBackPorch>
 <HorizontalSyncPulse units="Dot Clocks">64</HorizontalSyncPulse>
 <HorizontalSyncSkew units="Dot Clocks">0</HorizontalSyncSkew>
 <HorizontalLeftBorder units="Dot Clocks">0</HorizontalLeftBorder>
 <HorizontalRightBorder units="Dot Clocks">0</HorizontalRightBorder>
 <VerticalActive units="Dot Clocks">720</VerticalActive>
 <VerticalFrontPorch units="Lines">36</VerticalFrontPorch>
 <VerticalBackPorch units="Lines">18</VerticalBackPorch>
 <VerticalSyncPulse units="Lines">8</VerticalSyncPulse>
 <VerticalSyncSkew units="Lines">0</VerticalSyncSkew>
 <VerticalTopBorder units="Lines">0</VerticalTopBorder>
 <VerticalBottomBorder units="Lines">0</VerticalBottomBorder>
 <InvertDataPolarity>False</InvertDataPolarity>
 <InvertVsyncPolairty>False</InvertVsyncPolairty>
 <InvertHsyncPolarity>False</InvertHsyncPolarity>
 <BorderColor>0x0</BorderColor>
</Group>
Hi TI team:
Could you please help me check the setting of ub941 is right? and how to debug this case?

  • Hello,

    I will look over this script to make sure it is correct. In the meantime can you confirm a few things:

    • Are you trying to use patgen, or end to end?
    • What is the full timing being used?

    Regards,

    Ben

  • /*
    Panel Timing:
    H-width :1920, HFP:32  HBP:64  HVsync:32 
    V-height:720,  VFP:36  VBP:18  VSync :8
    */
    
    
    0x0c  0x1E  0x03    // Select FPD-Link III Port 0 and Port1
    
    0x0c  0x66  0x04    // Set H-Total 0x800, 2048(1920+32+64+32); V-Total 0x30E, 782(720+36+18+8);
    0x0c  0x67  0x00
    0x0c  0x66  0x05
    0x0c  0x67  0xE8 
    0x0c  0x66  0x06
    0x0c  0x67  0x30
    
    0x0c  0x66  0x07    // Set H-Width 0x780, 1920; V-Height 0x2d0, 720;
    0x0c  0x67  0x80
    0x0c  0x66  0x08
    0x0c  0x67  0x07
    0x0c  0x66  0x09
    0x0c  0x67  0x2D
    
    0x0c  0x66  0x0A   // Set HSync 32, VSync 8
    0x0c  0x67  0x20
    0x0c  0x66  0x0B
    0x0c  0x67  0x08
    
    0x0c  0x66  0x0C   // Set HBP 64, VBP 18
    0x0c  0x67  0x40
    0x0c  0x66  0x0D
    0x0c  0x67  0x12
    
    0x0c  0x66  0x0E
    0x0c  0x67  0x03
    	  
    0x0c  0x65  0x0C   // set external clock and internal PATGEN timing
    0x0c  0x64  0x05   // enable PG, corlor bar

    Hi Ben:

    use above patgen code, panel1 and panel2  can display color bars; 
    Pattern Generator Timing as above,  Horizonta timing is 1/2 of host.

    SA8155 config full Timing:  
     3840x720@60fps, 

    H-width :3840, HFP:64 HBP:128 HVsync:64 

    V-height:720, VFP:36 VBP:18 VSync :8

  • Hello,

    I regenerated a script for you. Please try this script to see if there is any improvement:

    # 941AS Superframe config                  
    # Python script :           Superframe_Crop_3840x720    
                                 
    import time                 
                                
    UH941AS = 4                 
                                
                                
    board.WriteI2C(UH941AS,0x01,0x08)                       #Disable DSI
                                
    # set split mode, left/right 3D image, non-continuous clock mode                    
    board.WriteI2C(UH941AS,0x1E,0x01)                       #Select Port0
    board.WriteI2C(UH941AS,0x5B,0x07)                       #Force Splitter Mode
    board.WriteI2C(UH941AS,0x56,0x80)                       #Enable conversion of L/R image into alternating pixel image
    board.WriteI2C(UH941AS, 0x4F, 0x8C)                     #Set 4 lane DSI
    ##### Register 4F code configuration limited to use case of single DSI mode (RX Port 0) and no Altnerate line mode. If you would like to change the mode, please see register 0x4F [6:4]  in D/S                  
    board.WriteI2C(UH941AS,0x1E,0x02)                       #Select Port1
    board.WriteI2C(UH941AS,0x5B,0x07)                       #Force Splitter Mode
    board.WriteI2C(UH941AS,0x56,0x80)                       #Enable conversion of L/R image into alternating pixel image
    board.WriteI2C(UH941AS, 0x4F, 0x8C)                     #Set 4 lane DSI
    ##### Register 4F code configuration limited to use case of single DSI mode (RX Port 0) and no Altnerate line mode. If you would like to change the mode, please see register 0x4F [6:4] in D/S                   
                                
    board.WriteI2C(UH941AS, 0x1E, 0x01)                     # Select Port0
                                
    board.WriteI2C(UH941AS, 0x32, 0x80)                     #Set IMG_LINE_SIZE
    board.WriteI2C(UH941AS, 0x33, 0x07)                     #Set IMG_LINE_SIZE
    board.WriteI2C(UH941AS, 0x36, 0x00)                     #Set crop start X position (LSB)
    board.WriteI2C(UH941AS, 0x37, 0x80)                     #Set crop start X position (MSB)
    board.WriteI2C(UH941AS, 0x38, 0x7F)                     #Set crop stop X position (LSB)
    board.WriteI2C(UH941AS, 0x39, 0x07)                     #Set crop stop X position (MSB)
    board.WriteI2C(UH941AS, 0x3A, 0x00)                     #Set crop start Y position (LSB)
    board.WriteI2C(UH941AS, 0x3B, 0x00)                     #Set crop start Y position (MSB)
    board.WriteI2C(UH941AS, 0x3C, 0xCF)                     #Set crop stop Y position (MSB)
    board.WriteI2C(UH941AS, 0x3D, 0x02)                     #Set crop start Y position (LSB)
                                
    board.WriteI2C(UH941AS, 0x1E, 0x02)                     # Select Port1
                                
    board.WriteI2C(UH941AS, 0x36, 0x00)                     #Set crop start X position (LSB)
    board.WriteI2C(UH941AS, 0x37, 0x80)                     #Set crop start X position (MSB)
    board.WriteI2C(UH941AS, 0x38, 0x7F)                     #Set crop stop X position (LSB)
    board.WriteI2C(UH941AS, 0x39, 0x07)                     #Set crop stop X position (MSB)
    board.WriteI2C(UH941AS, 0x3A, 0x00)                     #Set crop start Y position (LSB)
    board.WriteI2C(UH941AS, 0x3B, 0x00)                     #Set crop start Y position (MSB)
    board.WriteI2C(UH941AS, 0x3C, 0xCF)                     #Set crop stop Y position (MSB)
    board.WriteI2C(UH941AS, 0x3D, 0x02)                     #Set crop start Y position (LSB)
                                
                                
    board.WriteI2C(UH941AS,0x1E,0x01)                       # Select Port0
    board.WriteI2C(UH941AS, 0x40, 0x04)                     # Select DSI digital page
    
    board.WriteI2C(UH941AS, 0x41, 0x05)                     # To reg 0x05 (TSKIP CNT)
    
    board.WriteI2C(UH941AS, 0x42, 0x1C)                     # Set value for DSI+CLK
    board.WriteI2C(UH941AS,0x40,0x08)                       # Select DSI digital page
    
    board.WriteI2C(UH941AS,0x41,0x05)                       # To reg 0x05 (TSKIP CNT)
    
    board.WriteI2C(UH941AS, 0x42, 0x1C)                     # Set value for DSI+CLK
                                
                                
    board.WriteI2C(UH941AS,0x01,0x00)                       #Enable DSI
    

    Regards,

    Ben

  • // config patgen
    0c 1E  03
    0c 66  04
    0c 67  00
    0c 66  05
    0c 67  E8
    0c 66  06
    0c 67  30
    0c 66  07
    0c 67  80
    0c 66  08
    0c 67  07
    0c 66  09
    0c 67  2D
    0c 66  0A
    0c 67  20
    0c 66  0B
    0c 67  08
    0c 66  0C
    0c 67  40
    0c 66  0D
    0c 67  12
    0c 66  0E
    0c 67  03
    
    0c 65  0C
    0c 64  05
    
    // copy form Superframe_Crop_3840x720.py
    0C 01 08
    0C 1E 01
    0C 5B 07
    0C 56 80
    0C 4F 8C
    
    0C 1E 02
    0C 5B 07
    0C 56 80
    0C 4F 8C
    
    0C 1E 01
    0C 32 80
    0C 33 07
    0C 36 00
    0C 37 80
    0C 38 7F
    0C 39 07
    0C 3A 00
    0C 3B 00
    0C 3C CF
    0C 3D 02
    
    0C 1E 02
    0C 36 00
    0C 37 80
    0C 38 7F
    0C 39 07
    0C 3A 00
    0C 3B 00
    0C 3C CF
    0C 3D 02
    
    
    0C 1E 01
    0C 40 04
    0C 41 05
    0C 42 1C
    0C 40 08
    0C 41 05
    0C 42 1C
    
    // config i2c
    0c 1e  01
    0c 17  9e
    0c 1e  02
    0c 17  9e
    0c 1e  04
    0c 17  9e
    
    // set remote slave
    FF 50          // delay(50ms)
    34 01  ff
    FF 5
    34 1d  13
    34 26  15
    34 27  15
    34 41  1f
    34 4b  0a
    2c 01  ff
    FF 5
    2c 1d  13
    2c 26  15
    2c 27  15
    2c 41  1f
    2c 4b  0a
    FF 2
    6B 04  01
    15 04  01
    FF 2
    6B 03  FF
    15 03  FF
    
    // disable patgen
    0c 1e  03
    0c 65  00
    0c 64  00
    0c 1e  04
    
    // enable dsi
    0c 01  00

    Hi ben;

    I try the setting of  Superframe_Crop_3840x720.py, The phenomenon is the same as before(backlight is on, but panel not display image);

    setting as above.

  • I try config SA8155 output 1920x720 size image ,and config ub941 work in single-link-mode, Panel1 can display image;

    I have a question, what is the difference between split-mode and sing-link mode input formats? I understand it's just the size is different. so, I configure the host side output just to increase the image size and h-porch for split-mode;is or right?

  • Hi,

    The PCLK and the horizontal timing needs to be twice the size of a single image, yes.

    Can you confirm a couple more things?

    • Is there lock established with the 948s?
    • Patgen with internal timing and external clock works, can you try patgen with external timing and external clock? This will help us to determine where the issue is. It seems to me right now that it may be an issue with the DSI input.

    Regards,

    Ben

  • Hi Ben:

       How to confirm lock established with 948s? measure  lock pin level of 948s? or read which register of 948s?  what's the meaning of lock status ?

       I try patgen with external timing and external clock(change reg 0x64=0x08), panel is not display.

  • Hi Ben:

    There is a few info, please help check:

    1. DSI clock frequency is 576.6 Mhz, whether register(0x3E, 0x3F )configuration is required?use the default register vaule is or right?
    2. DSI HS-mode is non-burst vsync event, is surport in 941s?

  • Hi Ben:

    There are new phenomena:

    I  try config non_burst_sync_pulse for dsi hs-mode, 

    • patgen with external timing and external clock, panel1 and panel2 can display color bar; 
    • Close patgen, Panel1 and Panel2 also display image, but Panel2 display image conents is same as Panel1(left image  of superframe).
  • Hi,

    Thank you for the updates, this narrows down the issue significantly. Can you ensure that the DSI source follows the MIPI DSI standard closely, and enables LP-11 during at least one of the BLLP periods of the video frame?

    Can you also check the indirect register 0x2A to confirm the DSI_DTYPE is reported correctly?

    If the DSI source is correctly implementing LP-11 transitions, and the DSI_DTYPE is correct, you may need to check the DSI source with a protocol analyzer. Instructions on how to check these things are described in the DS90UB941AS-Q1 DSI Bringup Guide.

    Regards,

    Ben

  • Hi Ben:

    1. readback register 0x2A (DSI_DTYPE ), value is 0x3E;

    2. indirect register 0x05(TSKIP_CNT) config value is 0x42, (Other values have also been tried).

    3. Measured by oscilloscope, LP11 per frame, continuous clock, fps 60HZ

    4. Check items as described in the documentation DS90UB941AS-Q1 DSI Bringup Guide,No obvious abnormality found .

    Which reasons may cause the following phenomena?

    Phenomena:

    Using the line interleaved source image to test, Panel1 displays odd lines of content,Panel2 shows even lines;but the right half of the source image is not displayed.

     

    sourceimage:sourceImage

    Panel1Panel2

  • Hi,

    It seems that Alternate line splitting is occurring while Left/Right (Side by Side) Splitting is what is needed. Can you provide a register dump? I would like to check to make sure the device programming reflects the script, as well as check register 0x58 VIDEO_3D_STS to see if video processing errors have been detected.

    Regards,

    Ben

  • UB941S main registers dump:
    reg_addr 0x0 = 0x18
    reg_addr 0x1 = 0x0
    reg_addr 0x2 = 0x0
    reg_addr 0x3 = 0x92
    reg_addr 0x4 = 0x0
    reg_addr 0x5 = 0x0
    reg_addr 0x6 = 0x68
    reg_addr 0x7 = 0x0
    reg_addr 0x8 = 0x0
    reg_addr 0x9 = 0x1
    reg_addr 0xA = 0xAE
    reg_addr 0xB = 0x0
    reg_addr 0xC = 0x57
    reg_addr 0xD = 0x30
    reg_addr 0xE = 0x0
    reg_addr 0xF = 0x0
    reg_addr 0x10 = 0x0
    reg_addr 0x11 = 0x0
    reg_addr 0x12 = 0x0
    reg_addr 0x13 = 0x8F
    reg_addr 0x14 = 0x0
    reg_addr 0x15 = 0x0
    reg_addr 0x16 = 0xFE
    reg_addr 0x17 = 0x9E
    reg_addr 0x18 = 0x7F
    reg_addr 0x19 = 0x7F
    reg_addr 0x1A = 0x1
    reg_addr 0x1B = 0x0
    reg_addr 0x1C = 0x0
    reg_addr 0x1D = 0x0
    reg_addr 0x1E = 0x4
    reg_addr 0x1F = 0x0
    reg_addr 0x20 = 0xB
    reg_addr 0x21 = 0x0
    reg_addr 0x22 = 0x25
    reg_addr 0x23 = 0x0
    reg_addr 0x24 = 0x0
    reg_addr 0x25 = 0x0
    reg_addr 0x26 = 0x0
    reg_addr 0x27 = 0x0
    reg_addr 0x28 = 0x1
    reg_addr 0x29 = 0x20
    reg_addr 0x2A = 0x20
    reg_addr 0x2B = 0xA0
    reg_addr 0x2C = 0x0
    reg_addr 0x2D = 0x0
    reg_addr 0x2E = 0xA5
    reg_addr 0x2F = 0x5A
    reg_addr 0x30 = 0x0
    reg_addr 0x31 = 0x9
    reg_addr 0x32 = 0x80
    reg_addr 0x33 = 0x7
    reg_addr 0x34 = 0xC
    reg_addr 0x35 = 0x0
    reg_addr 0x36 = 0x0
    reg_addr 0x37 = 0x80
    reg_addr 0x38 = 0x7F
    reg_addr 0x39 = 0x7
    reg_addr 0x3A = 0x0
    reg_addr 0x3B = 0x0
    reg_addr 0x3C = 0xCF
    reg_addr 0x3D = 0x2
    reg_addr 0x3E = 0x81
    reg_addr 0x3F = 0x2
    reg_addr 0x40 = 0x8
    reg_addr 0x41 = 0x20
    reg_addr 0x42 = 0xF
    reg_addr 0x43 = 0x0
    reg_addr 0x44 = 0x0
    reg_addr 0x45 = 0x0
    reg_addr 0x46 = 0x0
    reg_addr 0x47 = 0x0
    reg_addr 0x48 = 0x0
    reg_addr 0x49 = 0x0
    reg_addr 0x4A = 0x0
    reg_addr 0x4B = 0x0
    reg_addr 0x4C = 0x0
    reg_addr 0x4D = 0x0
    reg_addr 0x4E = 0x0
    reg_addr 0x4F = 0x8C
    reg_addr 0x50 = 0x16
    reg_addr 0x51 = 0x0
    reg_addr 0x52 = 0x0
    reg_addr 0x53 = 0x0
    reg_addr 0x54 = 0x2
    reg_addr 0x55 = 0x10
    reg_addr 0x56 = 0x80
    reg_addr 0x57 = 0x2
    reg_addr 0x58 = 0x3
    reg_addr 0x59 = 0x0
    reg_addr 0x5A = 0xF9
    reg_addr 0x5B = 0x7
    reg_addr 0x5C = 0x7
    reg_addr 0x5D = 0x6
    reg_addr 0x5E = 0x44
    reg_addr 0x5F = 0x61
    reg_addr 0x60 = 0x22
    reg_addr 0x61 = 0x2
    reg_addr 0x62 = 0x0
    reg_addr 0x63 = 0x0
    reg_addr 0x64 = 0x0
    reg_addr 0x65 = 0x0
    reg_addr 0x66 = 0xE
    reg_addr 0x67 = 0x3
    reg_addr 0x68 = 0x0
    reg_addr 0x69 = 0x0
    reg_addr 0x6A = 0x0
    reg_addr 0x6B = 0x0
    reg_addr 0x6C = 0x0
    reg_addr 0x6D = 0x2
    reg_addr 0x6E = 0x20
    reg_addr 0x6F = 0x0
    reg_addr 0x70 = 0x0
    reg_addr 0x71 = 0x0
    reg_addr 0x72 = 0x0
    reg_addr 0x73 = 0x0
    reg_addr 0x74 = 0x0
    reg_addr 0x75 = 0x0
    reg_addr 0x76 = 0x0
    reg_addr 0x77 = 0x0
    reg_addr 0x78 = 0x0
    reg_addr 0x79 = 0x0
    reg_addr 0x7A = 0x0
    reg_addr 0x7B = 0x0
    reg_addr 0x7C = 0x0
    reg_addr 0x7D = 0x0
    reg_addr 0x7E = 0x7F
    reg_addr 0x7F = 0x0
    reg_addr 0x80 = 0x0
    reg_addr 0x81 = 0x0
    reg_addr 0x82 = 0x0
    reg_addr 0x83 = 0x0
    reg_addr 0x84 = 0x0
    reg_addr 0x85 = 0x0
    reg_addr 0x86 = 0x0
    reg_addr 0x87 = 0x0
    reg_addr 0x88 = 0x0
    reg_addr 0x89 = 0x0
    reg_addr 0x8A = 0x0
    reg_addr 0x8B = 0x0
    reg_addr 0x8C = 0x0
    reg_addr 0x8D = 0x0
    reg_addr 0x8E = 0x0
    reg_addr 0x8F = 0x0
    reg_addr 0x90 = 0x0
    reg_addr 0x91 = 0x0
    reg_addr 0x92 = 0x0
    reg_addr 0x93 = 0x0
    reg_addr 0x94 = 0x0
    reg_addr 0x95 = 0x0
    reg_addr 0x96 = 0x0
    reg_addr 0x97 = 0x0
    reg_addr 0x98 = 0x0
    reg_addr 0x99 = 0x0
    reg_addr 0x9A = 0x0
    reg_addr 0x9B = 0x0
    reg_addr 0x9C = 0x0
    reg_addr 0x9D = 0x0
    reg_addr 0x9E = 0x0
    reg_addr 0x9F = 0x0
    reg_addr 0xA0 = 0x0
    reg_addr 0xA1 = 0x0
    reg_addr 0xA2 = 0x0
    reg_addr 0xA3 = 0x0
    reg_addr 0xA4 = 0x0
    reg_addr 0xA5 = 0x0
    reg_addr 0xA6 = 0x0
    reg_addr 0xA7 = 0x0
    reg_addr 0xA8 = 0x0
    reg_addr 0xA9 = 0x0
    reg_addr 0xAA = 0x0
    reg_addr 0xAB = 0x0
    reg_addr 0xAC = 0x0
    reg_addr 0xAD = 0x0
    reg_addr 0xAE = 0x0
    reg_addr 0xAF = 0x0
    reg_addr 0xB0 = 0x0
    reg_addr 0xB1 = 0x0
    reg_addr 0xB2 = 0x0
    reg_addr 0xB3 = 0x0
    reg_addr 0xB4 = 0x0
    reg_addr 0xB5 = 0x0
    reg_addr 0xB6 = 0x0
    reg_addr 0xB7 = 0x0
    reg_addr 0xB8 = 0x0
    reg_addr 0xB9 = 0x0
    reg_addr 0xBA = 0x0
    reg_addr 0xBB = 0x0
    reg_addr 0xBC = 0x0
    reg_addr 0xBD = 0x0
    reg_addr 0xBE = 0x0
    reg_addr 0xBF = 0x0
    reg_addr 0xC0 = 0x0
    reg_addr 0xC1 = 0x0
    reg_addr 0xC2 = 0x82
    reg_addr 0xC3 = 0x0
    reg_addr 0xC4 = 0x38
    reg_addr 0xC5 = 0x0
    reg_addr 0xC6 = 0x0
    reg_addr 0xC7 = 0x64
    reg_addr 0xC8 = 0x40
    reg_addr 0xC9 = 0x0
    reg_addr 0xCA = 0x0
    reg_addr 0xCB = 0x0
    reg_addr 0xCC = 0x0
    reg_addr 0xCD = 0x2
    reg_addr 0xCE = 0xFF
    reg_addr 0xCF = 0x0
    reg_addr 0xD0 = 0x0
    reg_addr 0xD1 = 0x0
    reg_addr 0xD2 = 0x0
    reg_addr 0xD3 = 0x0
    reg_addr 0xD4 = 0x0
    reg_addr 0xD5 = 0x0
    reg_addr 0xD6 = 0x0
    reg_addr 0xD7 = 0x0
    reg_addr 0xD8 = 0x0
    reg_addr 0xD9 = 0x0
    reg_addr 0xDA = 0x0
    reg_addr 0xDB = 0x0
    reg_addr 0xDC = 0x0
    reg_addr 0xDD = 0x0
    reg_addr 0xDE = 0x0
    reg_addr 0xDF = 0x0
    reg_addr 0xE0 = 0x0
    reg_addr 0xE1 = 0x0
    reg_addr 0xE2 = 0x82
    reg_addr 0xE3 = 0x0
    reg_addr 0xE4 = 0x28
    reg_addr 0xE5 = 0x8
    reg_addr 0xE6 = 0x0
    reg_addr 0xE7 = 0x0
    reg_addr 0xE8 = 0x0
    reg_addr 0xE9 = 0x0
    reg_addr 0xEA = 0x0
    reg_addr 0xEB = 0x0
    reg_addr 0xEC = 0x0
    reg_addr 0xED = 0x2
    reg_addr 0xEE = 0x0
    reg_addr 0xEF = 0x0
    reg_addr 0xF0 = 0x5F
    reg_addr 0xF1 = 0x55
    reg_addr 0xF2 = 0x42
    reg_addr 0xF3 = 0x39
    reg_addr 0xF4 = 0x34
    reg_addr 0xF5 = 0x31
    reg_addr 0xF6 = 0x0
    reg_addr 0xF7 = 0x0
    reg_addr 0xF8 = 0x0
    reg_addr 0xF9 = 0x0
    reg_addr 0xFA = 0x0
    reg_addr 0xFB = 0x0
    reg_addr 0xFC = 0x0
    reg_addr 0xFD = 0x0
    reg_addr 0xFE = 0x0
    UB941S DSI Port 0  indirect registers dump:
    offset_addr 0x0 = 0x0
    offset_addr 0x1 = 0x0
    offset_addr 0x2 = 0x0
    offset_addr 0x3 = 0x1D
    offset_addr 0x4 = 0x14
    offset_addr 0x5 = 0x40
    offset_addr 0x6 = 0x0
    offset_addr 0x7 = 0x0
    offset_addr 0x8 = 0x0
    offset_addr 0x9 = 0x0
    offset_addr 0xA = 0x0
    offset_addr 0xB = 0x0
    offset_addr 0xC = 0x0
    offset_addr 0xD = 0x0
    offset_addr 0xE = 0x0
    offset_addr 0xF = 0x1F
    offset_addr 0x10 = 0x0
    offset_addr 0x11 = 0x0
    offset_addr 0x12 = 0x0
    offset_addr 0x13 = 0x0
    offset_addr 0x14 = 0x0
    offset_addr 0x15 = 0x0
    offset_addr 0x16 = 0x0
    offset_addr 0x17 = 0x0
    offset_addr 0x18 = 0x0
    offset_addr 0x19 = 0x0
    offset_addr 0x1A = 0x0
    offset_addr 0x1B = 0x0
    offset_addr 0x1C = 0x0
    offset_addr 0x1D = 0x0
    offset_addr 0x1E = 0x0
    offset_addr 0x1F = 0x0
    offset_addr 0x20 = 0x0
    offset_addr 0x21 = 0x0
    offset_addr 0x22 = 0xFF
    offset_addr 0x23 = 0x7F
    offset_addr 0x24 = 0x0
    offset_addr 0x25 = 0x0
    offset_addr 0x26 = 0x0
    offset_addr 0x27 = 0x0
    offset_addr 0x28 = 0x1
    offset_addr 0x29 = 0xFF
    offset_addr 0x2A = 0x3E
    offset_addr 0x2B = 0x18
    offset_addr 0x2C = 0x0
    offset_addr 0x2D = 0x0
    offset_addr 0x2E = 0x0
    offset_addr 0x2F = 0x0
    offset_addr 0x30 = 0x0
    offset_addr 0x31 = 0x40
    offset_addr 0x32 = 0x0
    offset_addr 0x33 = 0x8
    offset_addr 0x34 = 0x0
    offset_addr 0x35 = 0x20
    offset_addr 0x36 = 0x0
    offset_addr 0x37 = 0x0
    offset_addr 0x38 = 0x0
    offset_addr 0x39 = 0x0
    offset_addr 0x3A = 0x2
    offset_addr 0x3B = 0x3
    0c 1E  03
    0c 66  04
    0c 67  00
    0c 66  05
    0c 67  E8
    0c 66  06
    0c 67  30
    0c 66  07
    0c 67  80
    0c 66  08
    0c 67  07
    0c 66  09
    0c 67  2D
    0c 66  0A
    0c 67  20
    0c 66  0B
    0c 67  08
    0c 66  0C
    0c 67  40
    0c 66  0D
    0c 67  12
    0c 66  0E
    0c 67  03
    
    0c 65  0C
    0c 64  05
    
    0C 01 08
    0C 1E 01
    0C 5B 07
    0C 56 80
    0C 4F 8C
    
    0C 1E 02
    0C 5B 07
    0C 56 80
    0C 4F 8C
    
    0C 1E 01
    0C 32 80
    0C 33 07
    0C 36 00
    0C 37 80
    0C 38 7F
    0C 39 07
    0C 3A 00
    0C 3B 00
    0C 3C CF
    0C 3D 02
    
    0C 1E 02
    0C 36 00
    0C 37 80
    0C 38 7F
    0C 39 07
    0C 3A 00
    0C 3B 00
    0C 3C CF
    0C 3D 02
    
    
    0C 1E 01
    0C 40 04
    0C 41 05
    0C 42 40
    
    0C 41 20
    0C 42 00
    0C 41 30
    0C 42 00
    0C 41 31
    0C 42 40
    0C 41 32
    0C 42 00
    0C 41 33
    0C 42 08
    
    0C 40 08
    0C 41 05
    0C 42 40
    0C 41 20
    0C 42 0F
    
    0c 1e  01
    0c 17  9e
    0c 1e  02
    0c 17  9e
    0c 1e  04
    0c 17  9e
    
    FF 64
    34 01  ff
    FF 5
    34 1d  13
    34 26  15
    34 27  15
    34 41  1f
    34 4b  0a
    2c 01  ff
    FF 5
    2c 1d  13
    2c 26  15
    2c 27  15
    2c 41  1f
    2c 4b  0a
    FF 2
    6B 04  01
    15 04  01
    FF 2
    6B 03  FF
    15 03  FF
    
    0c 1e  03
    0c 65  00
    0c 64  00
    0c 1e  04
    
    0c 01  00

    Hi Ben:

    Please check the above dump file and setting file; Restart the machine, the value of register 0x58(VIDEO_3D_STS ) is different, there are one of the following values: 0x03, 0x02, 0x01, 0x00;

    Found a new problem,  when the machine is completely powered off and restarted, i2c write backlight2 will fail probabilistically and backlight2 not on, what is the possible reason?

  • Hello,

    Based on the VIDEO_3D_STS errors, it seems that the DSI source is not transmitting the correct timing to the 941AS. Do you have the capability to check the DSI source with protocol analyzer?

    Regards,

    Ben

  • Yes, this is difficult for us,and we have no analyzer available to analyze high speed timing。

  • Hi,

    Okay, I believe I can assist in giving instructions on how to extract the timing parameters, but I will need to give these instructions over private message since this is a public thread.

    Regards,

    Ben

  • Hello,

    I am closing this thread for now as we have taken this discussion to private message. Please post here again if additional support is needed.

    Please be noted that the E2E support forums will undergo maintenance from Sept. 28 to Oct. 2, hence it will not be available during this time. If you need design support during this time, please contact your TI representative

    Normal E2E support should be back by Monday, Oct. 3.

    Regards,

    Ben

  • Hi Ben:

    Thank you very much for your support;Now, Split-Mode display can display correctly;

    Because the dsi source  is abnormal; when the configuration width is greater than 2560, the SA8155 display module will separate the image buffer and use two LMs to process the image buffer, which will eventually cause the dsi output to be non-surperframe source.