• Trent Piepho's avatar
    PCI: imx: Add workaround for e10728, IMX7d PCIe PLL failure · 1df82ec4
    Trent Piepho authored
    This implements the workound described in the NXP IMX7d erratum e10728.
    
    Initial VCO oscillation may fail under corner conditions such as cold
    temperature. It causes PCIe PLL to fail to lock in the initialization
    phase, which results in the PCIe link failing to come up.
    
    The workaround is to disable Duty-Cycle Corrector (DCC) calibration
    after G_RST.
    
    To do this it is necessary to gain access to the undocumented and
    currently unused PCIe PHY register bank. A new device tree node of type
    "fsl,imx7d-pcie-phy" is created for the PHY block and the existing PCIe
    device uses a phandle named "fsl,imx7d-pcie-phy" to point to it.
    Signed-off-by: default avatarTrent Piepho <tpiepho@impinj.com>
    [lorenzo.pieralisi@arm.com: updated log string, commit log]
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Reviewed-by: default avatarLucas Stach <l.stach@pengutronix.de>
    1df82ec4
pci-imx6.c 33.2 KB