summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Zhu <r65037@freescale.com>2014-06-25 14:20:16 +0800
committerYe Li <ye.li@nxp.com>2016-03-25 16:03:25 +0800
commit48a4606ef575c72e16e31c167dce042fcb66191c (patch)
treef5583024540bd1211b79e70f3b36f18d4fd671d6
parent7b4aabeddffabca46d7d6e7ef2611de468a6b4f7 (diff)
downloadu-boot-imx-48a4606ef575c72e16e31c167dce042fcb66191c.zip
u-boot-imx-48a4606ef575c72e16e31c167dce042fcb66191c.tar.gz
u-boot-imx-48a4606ef575c72e16e31c167dce042fcb66191c.tar.bz2
ENGR00319965 pcie: mask the imx6sl out
imx6sl doesn't have the pcie module, mask the pcie related codes from imx6sl. Signed-off-by: Richard Zhu <r65037@freescale.com> (cherry picked from commit acaff11da33f8f0cb1521d3c48e64e7ed9a87bec) Signed-off-by: Peng Fan <Peng.Fan@freescale.com>
-rw-r--r--arch/arm/cpu/armv7/mx6/soc.c34
1 files changed, 19 insertions, 15 deletions
diff --git a/arch/arm/cpu/armv7/mx6/soc.c b/arch/arm/cpu/armv7/mx6/soc.c
index ba8853e..c8bb203 100644
--- a/arch/arm/cpu/armv7/mx6/soc.c
+++ b/arch/arm/cpu/armv7/mx6/soc.c
@@ -413,23 +413,27 @@ static void imx_set_pcie_phy_power_down(void)
int arch_cpu_init(void)
{
-#ifndef CONFIG_MX6SX
- /* this bit is not used by imx6sx anymore */
- u32 val;
+ if (!is_cpu_type(MXC_CPU_MX6SL) && !!is_cpu_type(MXC_CPU_MX6SX)
+ && !is_cpu_type(MXC_CPU_MX6UL)) {
+ /*
+ * imx6sl doesn't have pcie at all.
+ * this bit is not used by imx6sx anymore
+ */
+ u32 val;
- /*
- * There are about 0.02% percentage, random pcie link down
- * when warm-reset is used.
- * clear the ref_ssp_en bit16 of gpr1 to workaround it.
- * then warm-reset imx6q/dl/solo again.
- */
- val = readl(IOMUXC_BASE_ADDR + 0x4);
- if (val & (0x1 << 16)) {
- val &= ~(0x1 << 16);
- writel(val, IOMUXC_BASE_ADDR + 0x4);
- reset_cpu(0);
+ /*
+ * There are about 0.02% percentage, random pcie link down
+ * when warm-reset is used.
+ * clear the ref_ssp_en bit16 of gpr1 to workaround it.
+ * then warm-reset imx6q/dl/solo again.
+ */
+ val = readl(IOMUXC_BASE_ADDR + 0x4);
+ if (val & (0x1 << 16)) {
+ val &= ~(0x1 << 16);
+ writel(val, IOMUXC_BASE_ADDR + 0x4);
+ reset_cpu(0);
+ }
}
-#endif
init_aips();