Hi Arulpandiyan
slow rate may be caused by weak signal (caused by signal integrity/noise/
layout impedance issues). One can measure signal levels with
AN4784 AN4784: PCIe Certification Guide for i.MX
Also one can decrease PCIe speed, it is defined by Link Capabilities Register,
described in PCI EXPRESS BASE SPECIFICATION, REV. 3.0,
Table 7-15: Link Capabilities Register, sect.7.8.6. Link Capabilities
Register (Offset 0Ch) bit 0:3 -Max Link Speed. Below example:
linux-3.0.35-imx/arch/arm/mach-mx6/pcie.c
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 =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);
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------