summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Zhu <r65037@freescale.com>2014-08-01 19:40:03 +0800
committerRichard Zhu <r65037@freescale.com>2014-08-06 10:51:56 +0800
commitc8a6b97fa238d4cd79ae90c721c9e77eec05f71c (patch)
tree9d91d3658d108ea5899695dfdbab63adc1d8d0d5
parentea837f36ea7e0074efa13244674bf71a73885124 (diff)
ENGR00325494 pcie:delay is requried after clks_en
- the async reset input need ref clock to sync internally, when the ref clock comes after reset, internal synced reset time is too short , cannot meet the requirement so, ssp_en should be asserted at least 4us after ref clock stable. - align to the community imx pcie driver, add the about 200us delay to make sure that it can allow the pcie clks stabilize, when pcie clks are enabled on imx6q/dl/solo. Signed-off-by: Richard Zhu <r65037@freescale.com> (cherry picked from commit 5d9635c8d92b21bc12753517fa3e9884417b19be)
-rw-r--r--drivers/pci/host/pci-imx6.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index ed991a22020b..1ecc542037f9 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -334,6 +334,9 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
IMX6Q_GPR1_PCIE_REF_CLK_EN, 1 << 16);
}
+ /* allow the clocks to stabilize */
+ usleep_range(200, 500);
+
if (gpio_is_valid(imx6_pcie->reset_gpio)) {
gpio_set_value(imx6_pcie->reset_gpio, 0);
mdelay(1);