How to setup i.MX6Dual/Quad and i.MX6Solo/DualLite Linux software for PCIe compliance Test?

Document created by Lily Zhang Employee on Jun 3, 2013Last modified by Lily Zhang Employee on Sep 16, 2013
Version 1Show Document
  • View in full screen mode

Overview

This document introduces how to setup i.MX6Dual/Quad and i.MX6Solo/DualLite Linux software for PCIe compliance test.

 

Software Baselines

  • i.MX6Dual/Quad: Linux BSP L2.6.35_1.0.0
  • i.MX6Solo/DualLite: Linux BSP L2.6.35_2.0.0

 

Software Changes

To enable PCIe compliance test, PCIe software driver should not turn off PCIe clock and power in the tests. So the following changes are required:

 

diff --git a/arch/arm/mach-mx6/pcie.c b/arch/arm/mach-mx6/pcie.c

index 26d26f2..ad71085 100644

--- a/arch/arm/mach-mx6/pcie.c

+++ b/arch/arm/mach-mx6/pcie.c

@@ -801,6 +801,7 @@ static void __init add_pcie_port(void __iomem *base, void __iomem *dbi_base,

     } else {

         pr_info("IMX PCIe port: link down!\n");

 

+#if 0

         /* Release the clocks, and disable the power */

         pcie_clk = clk_get(NULL, "pcie_clk");

         if (IS_ERR(pcie_clk))

@@ -820,6 +821,7 @@ static void __init add_pcie_port(void __iomem *base, void __iomem *dbi_base,

 

         imx_pcie_clrset(IOMUXC_GPR1_TEST_POWERDOWN, 1 << 18,

                 IOMUXC_GPR1);

+#endif

     }

}

 

Software Build

Integrate the patch to the baseline code and recompile the kernel by following the instructions in Linux BSP user guide.

Before recompile, please ensure the following configuration is enabled by selecting " System Type -> Freescale MXC Implementations -> PCI Express support" as "*":

# MX6 Options:

#

CONFIG_IMX_PCIE=y


 

 

Attachments

    Outcomes