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.

DS90UB948-Q1: DS90UB948TNKDRQ1

Part Number: DS90UB948-Q1

The serializer DS90UB947 is paired with the deserializer DS90UB948, and the screen resolution is 1920*1080. When resetting to factory settings, the screen icons appear jagged. How can this be resolved?image.png

  • Hello,

    1. When you mention that this is happening when the system is reset to factory settings, does that mean that the devices are just power-cycles or PDB is toggled?

    2. Could you tell us about what you are testing? Does this happen every time the system is run, or on certain power-cycles or if the device is not programmed? Is there any case when this issue is not observed?

    I am asking whether you already have a working system and this is a sporadic issue, or if the system hasn't been configured in a valid case yet.

    3. We would need more information about this to narrow down, but on first glance this seems like a pixel-swap issue. It's possible that the output of the 948 ODD/EVEN pixels are connected to swapped ports of the OLDI receiver.

    Please check the "Dual Swap" section of the datasheet that shows how it can be swapped using either MODE_SEL0 or overwritten via registers:

    "When operated in Dual OLDI output mode, the odd and even output channels (D0-3 and D4-7 respectively) can be swapped. This is configurable through MODE_SEL0 pin strapping (see table 7-8) and can be overridden via I2C using the FPD_TX_MODE register."



    If this initial configuration does not resolve the issue, them please provide more information about the working vs non-working issue cases so we can compare.

    Best regards,
    Ikram

  • Hello:
          Previously, by adding a work queue to poll and query the registers of 948 in the 947 driver of the Linux kernel, a sawtooth issue arose. Now, after removing it, this problem has been resolved. However, during the automated loop stress test for power-on/power-off experiments, a black screen appeared, and the issue was reproduced after 241 tests. Please help analyze the cause. Below are the register values during normal screen display and abnormal black screen. Thank you for your support:


    Abnormal black screen

    console:/ # i2cdump -fy 5 0x0c

    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef

    00: 18 00 00 d2 90 00 58 60 60 00 45 00 17 23 33 00 ?..??.X``.E.?#3.

    10: 00 00 00 98 00 01 fe 9e 7f 7f 09 00 05 00 04 00 ...?.??????.?.?.

    20: 0b 00 25 00 00 00 00 00 01 20 20 a0 00 00 a5 5a ?.%.....? ?..?Z

    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    40: 14 4b 00 00 80 00 63 00 00 00 00 00 00 00 00 00 ?K..?.c.........

    50: 16 00 00 00 03 00 00 02 00 00 cd 03 02 06 44 8b ?...?..?..????D?

    60: 22 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 "?..?...........

    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    c0: 00 00 80 00 78 00 00 60 c0 00 00 00 00 00 ff 00 ..?.x..`?.....?.

    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    e0: 00 00 80 00 68 38 00 00 00 00 00 00 00 00 00 00 ..?.h8..........

    f0: 5f 55 42 39 34 37 00 00 00 00 00 00 00 00 00 00 _UB947..........

    console:/ #

    console:/ #

    console:/ # i2cdump -fy 5 0x2c

    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef

    00: 58 04 00 fa fe 1e 00 18 60 00 00 00 00 00 00 00 X?.???.?`.......

    10: 00 00 00 00 00 00 00 00 00 01 00 00 33 10 53 03 .........?..3?S?

    20: 00 00 00 20 08 00 83 84 19 00 00 00 00 00 00 00 ... ?.???.......

    30: 00 00 90 25 01 00 00 8c 00 00 00 00 20 e0 23 00 ..?%?..?.... ?#.

    40: 43 03 03 00 60 88 00 00 0f 80 00 08 00 00 63 00 C??.`?..??.?..c.

    50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00 ??.??....? ....

    60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ....?...........

    70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00 ...???......?...

    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00 ..?.............

    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 ........?.......

    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    f0: 5f 55 42 39 34 38 00 00 00 00 00 00 00 00 00 00 _UB948..........

    正常亮屏:

    console:/ # i2cdump -fy 5 0x0c

    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef

    00: 18 00 00 d2 90 00 58 60 60 00 05 00 07 23 33 00 ?..??.X``.?.?#3.

    10: 00 00 00 98 00 01 fe 9e 7f 7f 09 00 05 00 04 00 ...?.??????.?.?.

    20: 0b 00 25 00 00 00 00 00 01 20 20 a0 00 00 a5 5a ?.%.....? ?..?Z

    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    40: 14 4b 00 00 80 00 63 00 00 00 00 00 00 00 00 00 ?K..?.c.........

    50: 16 00 00 00 03 00 00 02 00 00 cd 03 02 06 44 8b ?...?..?..????D?

    60: 22 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 "?..?...........

    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    c0: 00 00 80 00 78 00 00 40 c0 00 00 00 00 00 ff 00 ..?.x..@?.....?.

    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    e0: 00 00 80 00 68 38 00 00 00 00 00 00 00 00 00 00 ..?.h8..........

    f0: 5f 55 42 39 34 37 00 00 00 00 00 00 00 00 00 00 _UB947..........

    console:/ # i2cdump -fy 5 0x2c

    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef

    00: 58 04 00 fa fe 1e 00 18 60 00 00 00 00 00 00 00 X?.???.?`.......

    10: 00 00 00 00 00 00 00 00 00 01 00 00 33 10 53 03 .........?..3?S?

    20: 00 00 00 20 08 00 83 84 19 00 00 00 00 00 00 00 ... ?.???.......

    30: 00 00 90 25 01 00 00 8c 00 00 00 01 20 e0 23 00 ..?%?..?...? ?#.

    40: 43 03 03 00 60 88 00 00 0f 80 00 08 00 00 63 00 C??.`?..??.?..c.

    50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00 ??.??....? ....

    60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ....?...........

    70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00 ...???......?...

    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00 ..?.............

    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 ........?.......

    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    f0: 5f 55 42 39 34 38 00 00 00 00 00 00 00 00 00 00 _UB948..........

  • Hello,

    Previously, by adding a work queue to poll and query the registers of 948 in the 947 driver of the Linux kernel, a sawtooth issue arose. Now, after removing it, this problem has been resolved.

    Could you please share what registers were changed between the issue and working cases? Are there specific registers on the 947 or 948 that had to be changed to correct this?

    When the black screen issue during power-up occurred, did you initialize the device with the power-up sequence? Please check the sequence from the datasheet to confirm.

    Best regards,
    Ikram

  • hello:

         According to the specification, initialization is performed in a timely manner, and the timing requirements are met, such as the time for pulling down the PDB pin。

    init 947 as follows:

        i2c_writeByte(I2C_947_ADDR, 0x4f, 0x00);//dual input
        i2c_writeByte(I2C_947_ADDR, 0x5b, 0x03);//dual output
        i2c_writeByte(I2C_947_ADDR, 0x1e, 0x04);//Use I2C ID+1 for FPD-Link III Port 1 register access
        i2c_writeByte(I2C_947_ADDR, 0x08, 0x30<<1);//I2C Pass-through Port0/Port1
        i2c_writeByte(I2C_947_ADDR, 0x17, 0x9e);//config I2C Pass All
        i2c_writeByte(I2C_947_ADDR, 0x04, 0x90);//mode select
        i2c_writeByte(I2C_947_ADDR, 0x07, 0x30<<1);//slave id
        i2c_writeByte(I2C_947_ADDR, 0x08, 0x30<<1);//slave alias id
        i2c_writeByte(I2C_947_ADDR, 0x0e, 0x33);
        i2c_writeByte(I2C_947_ADDR, 0x0d, 0x03);
    948:
        i2c_writeByte(I2C_948_ADDR, 0x03, 0xfa);//i2c pass all
        i2c_writeByte(I2C_948_ADDR, 0x08, 0x30<<1);//remote device ID
        i2c_writeByte(I2C_948_ADDR, 0x1e, 0x53);
        i2c_writeByte(I2C_948_ADDR, 0x1f, 0x03);
        value = i2c_readByte(I2C_948_ADDR, 0x1e);
        value1 = i2c_readByte(I2C_948_ADDR, 0x1f);
  • Hello,

    I will check the register dumps and get back to you by tomorrow.

    Best regards,
    Ikram

  • Hello,

    The following registers are different between the issue and working cases:

    • SER register 0xC shows IS_RX_INT shows interrupt request from DES
    • DES 0x3B shows different EQ status. This should be okay based on EQ levels varying

    It looks like LOCK is detected in both cases and video input should be transmitting.

    If you are able to recreate the issue, please check whether the LVDS data input to the 947 and output from the 948 are both transmitting. There could be a possible case that the OLDI input to the 947 has clock running but data is not yet being transmitted.

    Also, please contact local TI FAE and they can share any applicable errata documents. Please message me if you do not already have a local TI contact.

    Best regards,
    Ikram

  • Hi Ikram

    I have asked customer to capture the DSI and LVDS waveforms. But they do not have high bandwidth oscilloscope. Do you have better suggestion to confirm whether the data is transmitting? 

    Also what kind of errata do you mean? Could you please share more details?

    Thanks!

    Hanbing 

  • Hi Hanbing,

    The LVDS output should be lower frequency so using a logic analyzer or an oscilloscope just to confirm that there is video passing should be okay. Both 947 and 948 are LVDS/OLDO, so there is no DSI waveforms in this case.

    LOCK and register dumps:

    When the black screen issue occurs, please check if there is LOCK on the DES and read the SER 0xC and DES 0x1C registers. Also, if the issue is reproduced, probe the LOCK pin (with scope or logic analyzer) and check if LOCK is consistently HIGH (good) or if it is low or toggling (issue).

    Please also collect full register dump while the issue happens. 

    During startup: please clear CRC errors

    • set SER register 0x4[5] = 1 to clear CRC error count
    • set SER register 0x4[5] = 0 to return to normal operations

    Is the register comparisons show the same values, and LOCK is always high for issue and working cases, it could also be something external. Please check whether the TCON/receiver is enabled and backlight is turned on.

    947 errata:

    If you have access to the FPD-Link CDDS, please go to the "DS90Ux947-Q1" folder for the errata document. 

    Best regards,
    Ikram

  • Hello:

          When reproducing the black screen, the LVDS signal's clk on the screen measurement terminal is present, and it matches the DTS configuration. The clock frequency is 73MHz. Unfortunately, I am unable to upload an image here。

    Reproducing black screen:
    1|console:/ $ i2cdump -fy 5 0x0c
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 18 00 00 da 90 00 58 30 30 00 03 00 07 23 33 00 ?..??.X00.?.?#3.
    10: 00 00 00 98 00 01 fe 9e 7f 7f 09 00 05 00 04 00 ...?.??????.?.?.
    20: 0b 00 25 00 00 00 00 00 01 20 20 a0 00 00 a5 5a ?.%.....? ?..?Z
    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    40: 14 4b 00 00 80 00 63 00 00 00 00 00 00 00 00 00 ?K..?.c.........
    50: 16 00 00 00 03 00 00 02 00 00 cd 03 02 06 44 8b ?...?..?..????D?
    60: 22 02 00 00 10 00 00 00 00 00 00 00 00 00 00 00 "?..?...........
    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    c0: 00 00 80 00 78 00 00 40 c0 00 00 00 00 00 ff 00 ..?.x..@?.....?.
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 80 00 68 38 00 00 00 00 00 00 00 00 00 00 ..?.h8..........
    f0: 5f 55 42 39 34 37 00 00 00 00 00 00 00 00 00 00 _UB947..........
    console:/ $ i2cdump -fy 5 0x2c
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 58 04 00 fa fe 1e 00 18 60 00 00 00 00 00 00 00 X?.???.?`.......
    10: 00 00 00 00 00 00 00 00 00 01 00 00 33 10 53 03 .........?..3?S?
    20: 00 00 00 20 08 00 83 84 19 00 00 00 00 00 00 00 ... ?.???.......
    30: 00 00 90 25 01 00 00 8c 00 00 00 02 20 e0 23 00 ..?%?..?...? ?#.
    40: 43 03 03 00 60 88 00 00 0f 80 00 08 00 00 63 00 C??.`?..??.?..c.
    50: 03 10 00 01 80 00 00 00 00 7f 20 20 00 00 00 00 ??.??....? ....
    60: 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 ....?...........
    70: 00 00 00 07 07 08 00 00 00 00 00 00 02 00 00 00 ...???......?...
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    a0: 00 00 84 00 00 00 00 00 00 00 00 00 00 00 00 00 ..?.............
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    c0: 00 00 00 00 00 00 00 00 c0 00 00 00 00 00 00 00 ........?.......
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    f0: 5f 55 42 39 34 38 00 00 00 00 00 00 00 00 00 00 _UB948..........

  • Hello,

    If there is valid PCLK, then most likely LOCK is still valid. You could try setting soft reset to SER and DES by writing reigster 0x1[0] = 1.

    It would still help to check whether LOCK is high through or is it is low momentarily. We would suggest to probe LOCK with a logic analyzer.

    When the issue is reproduced, please check the CRC errors like we mentioned, and also check if the DES 948 resolution is valid. The HActive and Vactive should be valid if the 948 is receiving and transmitting LVDS data. Please use the script below to check:

    /cfs-file/__key/communityserver-discussions-components-files/138/3582.948_5F00_Res_5F00_dump.txt

    Best regards,
    Ikram

  • hello:

          Confirming that under the condition of a black screen, the image can be seen through screen mirroring using scrcpy, indicating that only the display screen is not displaying, while everything else is normal. The reported resolution is incorrect, as shown below:

    console:/ # i2cset -f -y 5 0x2c 0x68 0x09 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x80
    console:/ # i2cset -f -y 5 0x2c 0x68 0x19 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x83
    console:/ # i2cset -f -y 5 0x2c 0x68 0x29 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x88
    console:/ # i2cset -f -y 5 0x2c 0x68 0x39 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x80

    This is what it should be like normally:

    console:/ # i2cset -f -y 5 0x2c 0x68 0x09 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x80
    console:/ # i2cset -f -y 5 0x2c 0x68 0x19 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x9e
    console:/ # i2cset -f -y 5 0x2c 0x68 0x29 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0xb8
    console:/ # i2cset -f -y 5 0x2c 0x68 0x39 b
    console:/ # i2cget -f -y 5 0x2c 0x69
    0x90

  • Hello,

    The incorrect read resolution here is 192 x 8. 

    Were you also able to check in the issue cases is there is LOCK drops?

    Does soft reset to the DES clear the issue? A soft reset is asserted by writing deserializer register 0x1[0] = 1
    Please check whether this clears the issue.

    Best regards,
    Ikram