
On Thu, 2015-12-24 at 16:40 +0800, Gong Qianyu wrote:
From: Gong Qianyu Qianyu.Gong@freescale.com
QSPI and IFC are pin-multiplexed on LS1043A. So we use ls1043aqds_sdcard_ifc_defconfig to support IFC in SD boot and ls1043aqds_sdcard_qspi_defconfig to support QSPI in SD boot. If QSPI is enabled, IFC should be disabled in kernel as well.
Signed-off-by: Gong Qianyu Qianyu.Gong@freescale.com Signed-off-by: Gong Qianyu Qianyu.Gong@nxp.com
arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++ arch/arm/cpu/armv8/fsl-layerscape/soc.c | 3 +++ arch/arm/dts/fsl-ls1043a-qds.dts | 14 +++++++++++++ arch/arm/dts/fsl-ls1043a.dtsi | 11 +++++++++++ board/freescale/ls1043aqds/MAINTAINERS | 1 + .../ls1043aqds/ls1043aqds_rcw_sd_qspi.cfg | 8 ++++++++ configs/ls1043aqds_sdcard_qspi_defconfig | 10 ++++++++++ include/configs/ls1043a_common.h | 13 ++++++++++++ include/configs/ls1043aqds.h | 23 ++++++++++++++++++++++ 9 files changed, 88 insertions(+)
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c index eafdd71..a247510 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c @@ -201,4 +201,9 @@ void ft_cpu_setup(void *blob, bd_t *bd) #ifdef CONFIG_FSL_LSCH3 fdt_fixup_smmu(blob); #endif
+#ifdef CONFIG_FSL_QSPI
- do_fixup_by_compat(blob, "fsl,ifc",
"status", "disabled", 8 + 1, 1);
+#endif
This needs to only happen on LS1043A (and any other chips that have the same muxing).
} diff --git a/arch/arm/cpu/armv8/fsl-layerscape/soc.c b/arch/arm/cpu/armv8/fsl-layerscape/soc.c index 23d6b73..4b1f792 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/soc.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/soc.c @@ -219,6 +219,9 @@ void fsl_lsch2_early_init_f(void) init_early_memctl_regs(); /* tighten IFC timing */ #endif
+#ifdef CONFIG_FSL_QSPI
- out_be32(&scfg->qspi_cfg, SCFG_QSPI_CLKSEL);
+#endif
Likewise.
-Scott