• TI Thinks Resolved

Linux/ADS58J64: How to switch JESD204 lane

Part Number: ADS58J64

Tool/software: Linux


How can I switch JESD204 lanes by software. For example, switch JESD204 lane A to ADCB and JESD204 lane B to ADCA by configuring register 41h.

I tried to write register 0x41 on SERDES_XX page by 0xa0 or 0x0a or 0xaa; however I did not see any change.

Please help me to switch JESD204 lanes.


  • Quan,
    we will look into this
  • Quan,

    You should first address the write SERDES pages by writing to 0x12 to select either SERDES CD or SERDES AB

    0x12 = 0x20 for SERDES AB
    0x12 = 0x40 for SERDES CD

    then you can write 0x41 to be 0x22 to swap the channels accordingly.

    Be sure to close the page by writing 0x12 = 0x00 at the end to avoid writing to other pages.
  • In reply to Kang Hsia:


    I have followed your instruction, but after I write 0x41 to be 0x22, the JESD204B link is out of synchronization and sometimes it reports Disparity errors. If I write 0x41 to be 0x00, the JESD204B link is sync again.
    I use Xilinx JESD204B IPcore to work with ADS58J64.
    Please check that again.

    Thank you.
  • In reply to Quan Dang43:

    Hi Quan,

    when you are testing it, are you changing the register on the fly or did you change it before booting up and initializing the FPGA + ADC? I recommend you try this by changing your boot-up script so the ADC is initialized with the changed lane setting (instead of you changing on the fly).

    If your FPGA is registering the ILAS sequence, could you try to ignore the ILAS sequence error? The ILAS sequence will check the LANE ID, which may follow the specific lane, and may flag error if the LANE ID mismatch.

    Please note the keyword is ignore, not skip. Skipping ILAS means subclass 0 operation, which is not what we want.