Hi bala
I think you can check below
MX6 and PCIE implementation question?
PCIe with PCIe Switch PI7C9X2G303EL or PLX8603 with 3.10.17_1.0.0_ga
To fix the initial issue with the PLX switch not talking some customers
patched imx_pcie_pltfm_probe() function:
--- patched-linux-3.0.35-imx/arch/arm/mach-mx6/pcie.c 2013-07-30
14:58:14.000000000 -0700
+++ linux-3.0.35-imx/arch/arm/mach-mx6/pcie.c 2013-09-17
10:20:41.369546454 -0700
@@ -830,11 +862,14 @@ static int __devinit imx_pcie_pltfm_prob
usleep_range(3000, 4000);
imx_pcie_regions_setup(dbi_base);
usleep_range(3000, 4000);
+ /* force gen1 only */
+ tmp =3D readl(dbi_base + LNK_CAP) & ~0x0F;
+ writel(tmp | 0x01, dbi_base + LNK_CAP);
/* start link up */
imx_pcie_clrset(IOMUXC_GPR12_APP_LTSSM_ENABLE, 1 << 10,
IOMUXC_GPR12);
Seems this allows it to be detected at initial power-up reliably.
Best regards
igor