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.

TMS320DM8148: SATA Link Down in some production module

Part Number: TMS320DM8148

Hi all and thanks in advance at who wants to help us. 

We released a module based on TMS320DM8148 processor. After some production batches without significant problems, in last lot we had some modules that not establish the link with SATA devices, even using 1.5GBps speed.

SATA is using the 20MHz clock as a source for the link. We have a 100MHz clock connected to SERDES pins, but using with this clock, the SATA interface is not working at all and ETH on EMAC1 hangs. 

Comparing 2 module (clocked with the 20MHz source), one with working SATA and one with not working interface, we can see some differences value for some PLL related registers.

PCIE_PLLSTATUS moves from 0x0000F8CD to 0x0000F84D, wich means that VTUNESTS change value from 4 to 12.

SATA_PLLSTATUS moves from 0x0000900D to 0x0000F00D, which means that some of the reserved area value of the register was different.

All *_CLKCTRL (i.e. PLL_DSP_CLKCTRL,PLL_SGX_CLKCTRL, etc)  register are different for NWELLTRIM value.

Can someone help us to better understand what those registers mean exactly? In the documentation, there are no details for this values.

We can't find any other issue or difference between 2 modules that can explain where is the problem.

  • Hi Andrea,

    I will check this and come back to you.

    Regards,
    Pavel
  • Andrea,

    From what I understand, you have DM814x custom boards, and the same software is running fine on some of these boards, while failing on others. Are these custom boards (working and failing) absolutely the same (same DM814x part number)? If yes, then most probably the issue is caused by hardware malfunction of the failing boards.

    I would suggest you to double check the failing boards schematics and PCB layouts with:

    - schematics/PCB of the working boards
    - schematics/PCB of DM814x TI EVM
    - DM814x datasheet guidelines and recommendations
    - DM814x Silicon errata, SATA related advisories (2.1.27, 2.1.28)
    - you can adjust and run the SATA HW diagnostic test, available at the mistral site (link below)

    www.mistralsolutions.com/.../tmdxevm8148.html
    Diagnostics Software

    For more info regarding NWELLTRIM value, refer to the below e2e thread:
    e2e.ti.com/.../611880

    Regards,
    Pavel
  • Hi Pavel. Thanks for your suggests.

    DM814x part number is the same for all boards and are all TMS320DM8148CCYE2.

    We've tried the diagnostic test of MIstral and result of test confirm what we've seen using the Linux SW.

    Analysing TX lanes signal during tests, we've noticed that in working modules the speed negotiation starts and the test result is a pass. In non-working modules, the speed negotiation never starts, but lanes are correctly initialized.

    This image

     shows the PLL initialization of a working module, that is a same of a non-working one, as you can see in this screenshot

    The difference in the two modules is when the test starts.

    This image shows the communication of a working module. The non-working module does nothing and never starts communication with the device.

    We're investigating further on registers and hardware, but no one of our tests resolves the issue.

    Thanks for helping us.

    Have a nice day.