PCI: imx6: Wait for clocks to stabilize after ref_en
authorRichard Zhu <r65037@freescale.com>
Mon, 27 Oct 2014 05:17:32 +0000 (13:17 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 29 Oct 2014 16:11:54 +0000 (10:11 -0600)
commita2fa6f64c26aa0ea75b15116dd4a4f89bb5c869e
tree48c0faa3757189454a4fac12215794ddc8301ba2
parentc302d35eac32bbd99ed9e3dc5b03d58073c78e86
PCI: imx6: Wait for clocks to stabilize after ref_en

For boards without a reset GPIO we skip the delay between enabling the
pcie_ref_clk and touching the RC registers for configuration.  This hangs
the system if there isn't a proper delay to ensure the clocks are settled
in the DW PCIe core.

Also iMX6Q always needs an additional 10us delay to make sure the reset is
propagated through the core, as we don't have an explicitly controlled
reset input on this SoC.

This fixes a problem with 3fce0e882f61 ("PCI: imx6: Delay enabling
reference clock for SS until it stabilizes"): the kernel doesn't boot on
systems that don't pass the PCI GPIO reset in the DTB.  This regression
affects mx6 nitrogen boards.

[bhelgaas: add regression info in changelog]
Fixes: 3fce0e882f61 ("PCI: imx6: Delay enabling reference clock for SS until it stabilizes")
Reported-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Richard Zhu <richard.zhu@freescale.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
drivers/pci/host/pci-imx6.c