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.

DS90UB954-Q1: DS90UB954-Q1

Part Number: DS90UB954-Q1

Hi Team,

We are using DS90UB954 and DS90UB935 for SERDES, below are register we are writing to get the connection details from UB954 to UB935, our UB954 is connected to 2nd I2C bus and address is 0x38, when we read status register we are getting 0xd3 and some time 0xdf. 

i2cset -y 2 0x38 0x4c 0x01
i2cset -y 2 0x38 0x0c 0x81
i2cset -y 2 0x38 0x58 0xbe
i2cset -y 2 0x38 0x5c 0x11
i2cset -y 2 0x38 0x5d 0x10
i2cset -y 2 0x38 0x6d 0x7c
i2cset -y 2 0x38 0x6e 0x89

root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
0xdf
root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
0xdf

root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
0xd3
root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
0xd3

  • Hi,

    It means the link could have unlocked issue. you can check more registers, such as 0x4c,0x4d,0x4e,0x55,0x56. you can check these registers in d/s, and check what errors are reported in your system. 

    meanswhile, if the link is not stable, you need check the system jitter margin design issue, such as cable/connector channel parameters etc.

    regards,

    Steven

  • Hi Junquiang,

    Thank you for the information below is the result we are getting when we read those registers, we are not able to get the lock status properly.

    root@intel-corei7-64:~# i2cdetect -r -y 2
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- -- -- -- --
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4c
    0x00
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4d
    0x10
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x55
    0x00
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x56
    0x00
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cset -y 2 0x38 0x4c 0x01
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4c
    0x01
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4d
    0x10
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x55
    0x00
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x56
    0x00
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xd3
    root@intel-corei7-64:~#

  • HI,

    the reg. 0x4D is returned with 0x10, it means  the link is NOT created. pls check if you connected 953 to port0 since you just select port0.

    If you linked 953 with port0, you need check how the link is designed, such as cable/connector, clocking mode etc. and then check out why the link is broken.

     

    regarsd,

    Steven

  • Hi Steven,

    We are able to get the lock status, we are able to toggle the gpio of serializer, we are using AR0144AT camera sensor which is having 16bit register address, how we can communicate to camera from des below is the i2cdetect and 0x04 register details

    desirialzer i2c address : 0x38

    serializer slave id : 0x30

    serializer savle alias : 0x74

    camera slave id : 0x10 8 bit

    root@intel-corei7-64:~# i2cdetect -r -y 2
    0 1 2 3 4 5 6 7 8 9 a b c d e f
    00: -- -- -- -- -- -- -- -- -- -- -- -- --
    10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    30: -- -- -- -- -- -- -- -- 38 -- -- -- -- -- -- --
    40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
    70: -- -- -- -- 74 -- -- --
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4c
    0x01
    root@intel-corei7-64:~# i2cget -y 2 0x38 0x4c
    0x01
    root@intel-corei7-64:~#

  • HI TG,

    to be simple, your issue is why sometimes the reg. 0x04 is 0xd3 in 954?  

    if yes, pls read back 954's reg. 0x4c/4d/4e/55/56 to check if the link had error which make LOCK/PASS toggle, also pls check reg.0x0c setting in your case.

    regards,

    Steven

  • Hi Steven,

    Now we are getting 0xdf on 0x04 register in UB954, the issue was in POC circuit now we are powering UB935 from external source. we need to generate pattern in UB935 can we get proper register details.

  • Hi Steven

    0x04 output

    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera# i2cget -y 2 0x38 0x04
    0xdf
    root@intel-corei7-64:~/camera#

  • TG, thanks for update. so now this issue is closed? or what support is needed? 

    regarsd,

    Steven