• Swapnil Jakhade's avatar
    phy: cadence: Sierra: Add TI J721E specific PCIe multilink lane configuration · e72659b6
    Swapnil Jakhade authored
    This patch adds workaround for TI J721E errata i2183
    (https://www.ti.com/lit/er/sprz455a/sprz455a.pdf).
    PCIe fails to link up if SERDES lanes not used by PCIe are assigned to
    another protocol. For example, link training fails if lanes 2 and 3 are
    assigned to another protocol while lanes 0 and 1 are used for PCIe to
    form a two lane link. This failure is due to an incorrect tie-off on an
    internal status signal indicating electrical idle.
    
    Status signals going from SERDES to PCIe Controller are tied-off when a
    lane is not assigned to PCIe. Signal indicating electrical idle is
    incorrectly tied-off to a state that indicates non-idle. As a result,
    PCIe sees unused lanes to be out of electrical idle and this causes
    LTSSM to exit Detect.Quiet state without waiting for 12ms timeout to
    occur. If a receiver is not detected on the first receiver detection
    attempt in Detect.Active state, LTSSM goes back to Detect.Quiet and
    again moves forwar...
    e72659b6
phy-cadence-sierra.c 77.1 KB