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: AV mute trigger and recover code

Part Number: DS90UB948-Q1
Other Parts Discussed in Thread: DS90UH947-Q1, DS90UB947-Q1

hi team,

To debug the 948 av mute issue, i have a recover code showing below (0x0E is the ser i2c address as a example), could you let me know how to force the 948 enter AV mute?

i asked customer to modify the 0x555555 to 0x66666 ( see the 1st 3 successive 0x67 write), but it doesn't work, i guess i am missing some thing, pls help. By the way, i ask set the serilizer gate rgb bit to default to conduct the force av mute test.

i2cset -f -y 1 0x0E 0x64 0x00
i2cset -f -y 1 0x0E 0x66 0x00
i2cset -f -y 1 0x0E 0x67 0x55
i2cset -f -y 1 0x0E 0x66 0x01
i2cset -f -y 1 0x0E 0x67 0x55
i2cset -f -y 1 0x0E 0x66 0x02
i2cset -f -y 1 0x0E 0x67 0x55
i2cset -f -y 1 0x0E 0x66 0x03
i2cset -f -y 1 0x0E 0x67 0x03
i2cset -f -y 1 0x0E 0x66 0x04
i2cset -f -y 1 0x0E 0x67 0x70
i2cset -f -y 1 0x0E 0x66 0x05
i2cset -f -y 1 0x0E 0x67 0xe6
i2cset -f -y 1 0x0E 0x66 0x06
i2cset -f -y 1 0x0E 0x67 0x2E
i2cset -f -y 1 0x0E 0x66 0x07
i2cset -f -y 1 0x0E 0x67 0x00
i2cset -f -y 1 0x0E 0x66 0x08
i2cset -f -y 1 0x0E 0x67 0x05
i2cset -f -y 1 0x0E 0x66 0x09
i2cset -f -y 1 0x0E 0x67 0x2d
i2cset -f -y 1 0x0E 0x66 0x0A
i2cset -f -y 1 0x0E 0x67 0x50
i2cset -f -y 1 0x0E 0x66 0x0B
i2cset -f -y 1 0x0E 0x67 0x05
i2cset -f -y 1 0x0E 0x66 0x0C
i2cset -f -y 1 0x0E 0x67 0xd8
i2cset -f -y 1 0x0E 0x66 0x0D
i2cset -f -y 1 0x0E 0x67 0x16
i2cset -f -y 1 0x0E 0x66 0x0E
i2cset -f -y 1 0x0E 0x67 0x00
i2cset -f -y 1 0x0E 0x66 0x0F
i2cset -f -y 1 0x0E 0x67 0x1E
i2cset -f -y 1 0x0E 0x66 0x10
i2cset -f -y 1 0x0E 0x67 0x0E
i2cset -f -y 1 0x0E 0x66 0x11
i2cset -f -y 1 0x0E 0x67 0x21
i2cset -f -y 1 0x0E 0x66 0x12
i2cset -f -y 1 0x0E 0x67 0x43
i2cset -f -y 1 0x0E 0x66 0x13
i2cset -f -y 1 0x0E 0x67 0x65
i2cset -f -y 1 0x0E 0x66 0x14
i2cset -f -y 1 0x0E 0x67 0x87
i2cset -f -y 1 0x0E 0x66 0x15
i2cset -f -y 1 0x0E 0x67 0xA9
i2cset -f -y 1 0x0E 0x66 0x16
i2cset -f -y 1 0x0E 0x67 0xCB
i2cset -f -y 1 0x0E 0x66 0x17
i2cset -f -y 1 0x0E 0x67 0xED
i2cset -f -y 1 0x0E 0x66 0x18
i2cset -f -y 1 0x0E 0x67 0x0F
i2cset -f -y 1 0x0E 0x66 0x19
i2cset -f -y 1 0x0E 0x67 0xFF
i2cset -f -y 1 0x0E 0x66 0x1A
i2cset -f -y 1 0x0E 0x67 0x01
i2cset -f -y 1 0x0E 0x64 0xE1
i2cset -f -y 1 0x0E 0x65 0x04// toggle the 0x65 bit 2 is must, if not, the display still cannot recovery.
i2cset -f -y 1 0x0E 0x65 0x00

regards,

Dongbao

  • Hi Dongbao, 

    The Patgen configurations look correct but can you send me the rest of the register configurations on the serializer? Also do you know the DE polarity? Is it active high or active low? 

    Best,

    Shu

  • Hi Shu,

    i don't have all the serializer configuration, there is no need to worry the DE polarity (active high) as it works well in normal operation. Black screen issue is triggered in a very low occurence rate, when i looked 948 output, pclk and hs/vs/de lanes works good but all the rgb data is missing, lock=h. Thus AV mute is highly suspected root cause.

    Dongbao

  • Hi Dongbao, 

    I am a little confused. Did you need help with forcing device into AV Mute? On the 947, setting the register 0x12 bit 6, PASS_RGB, would make DS90UH947-Q1 act as a DS90UB947-Q1 and susceptible to causing the AVMUTE issue.

    If AV Mute is causing the black screen, Setting DE_GATE_RGB register bit (0x04[4] = “1”) on the DS90UB947-Q1 will prevent video from being sent during the blanking interval. Was was tried and able to mitigate the issue?

    Please help clarify what exactly you would like to do. 

    Best,

    Shu

  • hi Shu

    I want to force 948 enter AV mute to compare the behavior vs customer's black screen case. I get supports from my colleague, here are the force AV mute code i am looking for.

    i2cset -f -y 1 0x0E 0x64  0x00

    i2cset -f -y 1 0x0E 0x66  0x00

    i2cset -f -y 1 0x0E 0x67  0x66

    i2cset -f -y 1 0x0E 0x66  0x01

    i2cset -f -y 1 0x0E 0x67  0x66

    i2cset -f -y 1 0x0E 0x66  0x02

    i2cset -f -y 1 0x0E 0x67  0x66

    i2cset -f -y 1 0x0E 0x66  0x03

    i2cset -f -y 1 0x0E 0x67  0x03

    i2cset -f -y 1 0x0E 0x66  0x04

    i2cset -f -y 1 0x0E 0x67  0x70

    i2cset -f -y 1 0x0E 0x66  0x05

    i2cset -f -y 1 0x0E 0x67  0xe6

    i2cset -f -y 1 0x0E 0x66  0x06

    i2cset -f -y 1 0x0E 0x67  0x2E

    i2cset -f -y 1 0x0E 0x66  0x07

    i2cset -f -y 1 0x0E 0x67  0x00

    i2cset -f -y 1 0x0E 0x66  0x08

    i2cset -f -y 1 0x0E 0x67  0x05

    i2cset -f -y 1 0x0E 0x66  0x09

    i2cset -f -y 1 0x0E 0x67  0x2d

    i2cset -f -y 1 0x0E 0x66  0x0A

    i2cset -f -y 1 0x0E 0x67  0x50

    i2cset -f -y 1 0x0E 0x66  0x0B

    i2cset -f -y 1 0x0E 0x67  0x05

    i2cset -f -y 1 0x0E 0x66  0x0C

    i2cset -f -y 1 0x0E 0x67  0xd8

    i2cset -f -y 1 0x0E 0x66  0x0D

    i2cset -f -y 1 0x0E 0x67  0x16

    i2cset -f -y 1 0x0E 0x66  0x0E

    i2cset -f -y 1 0x0E 0x67  0x00

    i2cset -f -y 1 0x0E 0x66  0x0F

    i2cset -f -y 1 0x0E 0x67  0x1E

    i2cset -f -y 1 0x0E 0x66  0x10

    i2cset -f -y 1 0x0E 0x67  0x0E

    i2cset -f -y 1 0x0E 0x66  0x11

    i2cset -f -y 1 0x0E 0x67  0x21

    i2cset -f -y 1 0x0E 0x66  0x12

    i2cset -f -y 1 0x0E 0x67  0x43

    i2cset -f -y 1 0x0E 0x66  0x13

    i2cset -f -y 1 0x0E 0x67  0x65

    i2cset -f -y 1 0x0E 0x66  0x14

    i2cset -f -y 1 0x0E 0x67  0x87

    i2cset -f -y 1 0x0E 0x66  0x15

    i2cset -f -y 1 0x0E 0x67  0xA9

    i2cset -f -y 1 0x0E 0x66  0x16

    i2cset -f -y 1 0x0E 0x67  0xCB

    i2cset -f -y 1 0x0E 0x66  0x17

    i2cset -f -y 1 0x0E 0x67  0xED

    i2cset -f -y 1 0x0E 0x66  0x18

    i2cset -f -y 1 0x0E 0x67  0x0F

    i2cset -f -y 1 0x0E 0x66  0x19

    i2cset -f -y 1 0x0E 0x67  0xFF

    i2cset -f -y 1 0x0E 0x66  0x1A

    i2cset -f -y 1 0x0E 0x67  0x01

    i2cset -f -y 1 0x0E 0x64  0xE1

    Regards,

    Dongbao

  • hi Shu,

    Customer tried below code but it doesn't trigger 948 enter AV mute successfully, may you verify the code in TI EVM? Thanks.

    i2cset -f -y 1 0x0E 0x12 0x40 

    i2cset -f -y 1 0x0E 0x04 0x80

    i2cset -f -y 1 0x0E 0x64 0x00

    i2cset -f -y 1 0x0E 0x66 0x00

    i2cset -f -y 1 0x0E 0x67 0x66

    i2cset -f -y 1 0x0E 0x66 0x01

    i2cset -f -y 1 0x0E 0x67 0x66

    i2cset -f -y 1 0x0E 0x66 0x02

    i2cset -f -y 1 0x0E 0x67 0x66

    i2cset -f -y 1 0x0E 0x66 0x03

    i2cset -f -y 1 0x0E 0x67 0x03

    i2cset -f -y 1 0x0E 0x66 0x04

    i2cset -f -y 1 0x0E 0x67 0x70

    i2cset -f -y 1 0x0E 0x66 0x05

    i2cset -f -y 1 0x0E 0x67 0xe6

    i2cset -f -y 1 0x0E 0x66 0x06

    i2cset -f -y 1 0x0E 0x67 0x2E

    i2cset -f -y 1 0x0E 0x66 0x07

    i2cset -f -y 1 0x0E 0x67 0x00

    i2cset -f -y 1 0x0E 0x66 0x08

    i2cset -f -y 1 0x0E 0x67 0x05

    i2cset -f -y 1 0x0E 0x66 0x09

    i2cset -f -y 1 0x0E 0x67 0x2d

    i2cset -f -y 1 0x0E 0x66 0x0A

    i2cset -f -y 1 0x0E 0x67 0x50

    i2cset -f -y 1 0x0E 0x66 0x0B

    i2cset -f -y 1 0x0E 0x67 0x05

    i2cset -f -y 1 0x0E 0x66 0x0C

    i2cset -f -y 1 0x0E 0x67 0xd8

    i2cset -f -y 1 0x0E 0x66 0x0D

    i2cset -f -y 1 0x0E 0x67 0x16

    i2cset -f -y 1 0x0E 0x66 0x0E

    i2cset -f -y 1 0x0E 0x67 0x00

    i2cset -f -y 1 0x0E 0x66 0x0F

    i2cset -f -y 1 0x0E 0x67 0x1E

    i2cset -f -y 1 0x0E 0x66 0x10

    i2cset -f -y 1 0x0E 0x67 0x0E

    i2cset -f -y 1 0x0E 0x66 0x11

    i2cset -f -y 1 0x0E 0x67 0x21

    i2cset -f -y 1 0x0E 0x66 0x12

    i2cset -f -y 1 0x0E 0x67 0x43

    i2cset -f -y 1 0x0E 0x66 0x13

    i2cset -f -y 1 0x0E 0x67 0x65

    i2cset -f -y 1 0x0E 0x66 0x14

    i2cset -f -y 1 0x0E 0x67 0x87

    i2cset -f -y 1 0x0E 0x66 0x15

    i2cset -f -y 1 0x0E 0x67 0xA9

    i2cset -f -y 1 0x0E 0x66 0x16

    i2cset -f -y 1 0x0E 0x67 0xCB

    i2cset -f -y 1 0x0E 0x66 0x17

    i2cset -f -y 1 0x0E 0x67 0xED

    i2cset -f -y 1 0x0E 0x66 0x18

    i2cset -f -y 1 0x0E 0x67 0x0F

    i2cset -f -y 1 0x0E 0x66 0x19

    i2cset -f -y 1 0x0E 0x67 0xFF

    i2cset -f -y 1 0x0E 0x66 0x1A

    i2cset -f -y 1 0x0E 0x67 0x01

    i2cset -f -y 1 0x0E 0x64 0xE1

  • Hi Dongbao, 

    i2cset -f -y 1 0x0E 0x12 0x40 

    I believe this needs to be 0x00. This was in my email, we also need to check that in register 0x12, RGB pass is also not enabled. Currently it is enabled to allow RGB data to pass independent of DE. 

    Also in the email thread you mentioned customer using a 949 but this thread mentions 947. Can you clarify the serializer and provide a register dump? I want to confirm the initializations are actually being written in the device. 

    Any updates on the patgen test results?

    Best,

    Shu

  • hi Shu,

    It's 949, above patgen code is used to force 948 enter AV mute mode but it doesn't work.

    We tried both 0x12=0x00 and 0x12=0x40, the code doesn't work.

    Have you tried the AV mute trigger code on TI EVM? It will not take too long, and it's pretty hard to replicate the failure in customer lab.

    Regards,

    Dongbao

  • 949&948 read back 0x12=0x00

    g6sh:/ # i2cdump -f -y 1 0x0e
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 1c 00 00 de 80 00 58 34 34 00 27 00 07 20 00 00 ?..??.X44.'.? ..
    10: 00 00 00 cc 00 01 fe 1e 7f 7f 01 00 0b 00 01 00 ...?.??????.?.?.
    20: 0b 00 25 80 1b 00 00 00 01 20 20 a8 00 00 a5 5a ?.%??...? ?..?Z
    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    40: 14 5c 00 00 80 00 00 00 00 00 00 00 00 00 00 01 ?\..?..........?
    50: 97 a1 1e 00 a8 0c 00 00 00 00 cd 20 02 06 44 a2 ???.??....? ??D?
    60: 22 02 00 00 e1 00 1a 01 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 a8 00 68 38 00 20 c0 00 00 00 00 00 ff 00 ..?.h8. ?.......
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 a8 00 68 38 00 00 00 00 00 00 00 00 00 00 ..?.h8..........
    f0: 5f 55 42 39 34 39 00 00 00 00 00 00 00 00 00 00 _UB949..........
    g6sh:/ # i2cdump -f -y 1 0x2c
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 58 04 00 f0 02 1e 00 1c 00 00 00 00 00 00 00 00 X?.???.?........
    10: 00 00 00 00 00 00 00 00 00 01 00 00 3b 10 00 05 .........?..;?.?
    20: 50 00 40 20 00 00 22 22 11 00 00 00 00 00 00 00 P.@ ..""?.......
    30: 00 00 90 25 01 00 00 8c 00 00 00 06 20 e0 23 00 ..?%?..?...? ?#.
    40: 43 1f 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 6d 02 00 00 00 ...???.....m?...
    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 8c 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..........
    g6sh:/ #

    949&948 read back 0x12=0x40

    g6sh:/ # i2cdump -f -y 1 0x0e
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 1c 00 00 de 80 00 58 34 34 00 27 00 07 20 00 00 ?..??.X44.'.? ..
    10: 00 00 40 cc 00 01 fe 1e 7f 7f 01 00 0b 00 01 00 ..@?.??????.?.?.
    20: 0b 00 25 80 1b 00 00 00 01 20 20 a8 00 00 a5 5a ?.%??...? ?..?Z
    30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    40: 14 5c 00 00 80 00 00 00 00 00 00 00 00 00 00 01 ?\..?..........?
    50: 97 a1 1e 00 a8 0c 00 00 00 00 cd 20 02 06 44 a2 ???.??....? ??D?
    60: 22 02 00 00 e1 00 1a 01 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 a8 00 68 38 00 20 c0 00 00 00 00 00 ff 00 ..?.h8. ?.......
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    e0: 00 00 a8 00 68 38 00 00 00 00 00 00 00 00 00 00 ..?.h8..........
    f0: 5f 55 42 39 34 39 00 00 00 00 00 00 00 00 00 00 _UB949..........
    g6sh:/ # i2cdump -f -y 1 0x2c
    No size specified (using byte-data access)
    0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
    00: 58 04 00 f0 02 1e 00 1c 00 00 00 00 00 00 00 00 X?.???.?........
    10: 00 00 00 00 00 00 00 00 00 01 00 00 3b 10 00 05 .........?..;?.?
    20: 50 00 40 20 00 00 22 22 11 00 00 00 00 00 00 00 P.@ ..""?.......
    30: 00 00 90 25 01 00 00 8c 00 00 00 06 20 e0 23 00 ..?%?..?...? ?#.
    40: 43 1f 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 6d 02 00 00 00 ...???.....m?...
    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 8c 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..........
    g6sh:/ #

  • Hi Dongbao, 

    I think we need to take a couple steps back.

    Replicating AV Mute requires RGB data to show up in the blanking period and that occurs randomly. This is why the customer may be having a hard time replicating, this test needs to be repeated multiple times so that the the forced custom data 0x666666 can be caught in the blanking during a random occurrence. This also applies to patgen on the EVMs. 

    With that being said, I just want to make sure I am on the same page of the issue. 

    1. We are suspecting the problem to be AV Mute. Was below tried on their system and did it fix the black screen? 

    If AV Mute is causing the black screen, Setting DE_GATE_RGB register bit (0x04[4] = “1”) on the DS90UB947-Q1 will prevent video from being sent during the blanking interval. Was was tried and able to mitigate the issue?

    2. We need to look at other causes if the above did not help, it may not be an AV Mute issue and trying to force an AV Mute will not be productive. 

    Best,

    Shu

  • hi Shu,

    Well noted for the challenges on triggering the av mute.

    DE_GATE_RGB is set in the initialization code, that's also why we configure 0x04=0x80 in the 949 patgen configure code. TCON has the capability of checking pclk/hs/vs/de, when issue happens, it pclk and video timing doesn't show abnormal and soc video buffer shows correct display.

    Thanks for your support, i will let you know if any further support needed, thanks.

    Dongbao

  • Hi Dongbao, 

    Sounds good. 

    Best

    Shu