File tree Expand file tree Collapse file tree 1 file changed +20
-3
lines changed
drivers/pci/controller/dwc Expand file tree Collapse file tree 1 file changed +20
-3
lines changed Original file line number Diff line number Diff line change @@ -711,9 +711,26 @@ static int imx7d_pcie_core_reset(struct imx_pcie *imx_pcie, bool assert)
711
711
return 0 ;
712
712
713
713
/*
714
- * Workaround for ERR010728, failure of PCI-e PLL VCO to
715
- * oscillate, especially when cold. This turns off "Duty-cycle
716
- * Corrector" and other mysterious undocumented things.
714
+ * Workaround for ERR010728 (IMX7DS_2N09P, Rev. 1.1, 4/2023):
715
+ *
716
+ * PCIe: PLL may fail to lock under corner conditions.
717
+ *
718
+ * Initial VCO oscillation may fail under corner conditions such as
719
+ * cold temperature which will cause the PCIe PLL fail to lock in the
720
+ * initialization phase.
721
+ *
722
+ * The Duty-cycle Corrector calibration must be disabled.
723
+ *
724
+ * 1. De-assert the G_RST signal by clearing
725
+ * SRC_PCIEPHY_RCR[PCIEPHY_G_RST].
726
+ * 2. De-assert DCC_FB_EN by writing data “0x29” to the register
727
+ * address 0x306d0014 (PCIE_PHY_CMN_REG4).
728
+ * 3. Assert RX_EQS, RX_EQ_SEL by writing data “0x48” to the register
729
+ * address 0x306d0090 (PCIE_PHY_CMN_REG24).
730
+ * 4. Assert ATT_MODE by writing data “0xbc” to the register
731
+ * address 0x306d0098 (PCIE_PHY_CMN_REG26).
732
+ * 5. De-assert the CMN_RST signal by clearing register bit
733
+ * SRC_PCIEPHY_RCR[PCIEPHY_BTN]
717
734
*/
718
735
719
736
if (likely (imx_pcie -> phy_base )) {
You can’t perform that action at this time.
0 commit comments