diff options
author | Alison Wang <b18965@freescale.com> | 2014-12-26 13:14:01 +0800 |
---|---|---|
committer | York Sun <yorksun@freescale.com> | 2015-01-23 22:29:14 -0600 |
commit | 33d2e46591ef9e7805cfea8ed880d20b7bbcee7e (patch) | |
tree | 1b1a43af192020524508deaf7513b65d14ad9312 | |
parent | 7df50fd323187568aa61f84db816aa23709065bd (diff) | |
download | u-boot-imx-33d2e46591ef9e7805cfea8ed880d20b7bbcee7e.zip u-boot-imx-33d2e46591ef9e7805cfea8ed880d20b7bbcee7e.tar.gz u-boot-imx-33d2e46591ef9e7805cfea8ed880d20b7bbcee7e.tar.bz2 |
ls102xa: fdt: Disable QSPI and DSPI in NOR/NAND/SD boot
As QSPI/DSPI and IFC are pin multiplexed, QSPI and DSPI are
only enabled in QSPI boot, and disabled in other boot modes.
IFC is enabled in NOR/NAND/SD boot, and disabled in QSPI boot.
This patch will add fdt support for the above rules.
Signed-off-by: Alison Wang <alison.wang@freescale.com>
Reviewed-by: York Sun <yorksun@freescale.com>
-rw-r--r-- | arch/arm/cpu/armv7/ls102xa/fdt.c | 13 | ||||
-rw-r--r-- | arch/arm/include/asm/arch-ls102xa/config.h | 4 |
2 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/cpu/armv7/ls102xa/fdt.c b/arch/arm/cpu/armv7/ls102xa/fdt.c index 0fda694..e0288b8 100644 --- a/arch/arm/cpu/armv7/ls102xa/fdt.c +++ b/arch/arm/cpu/armv7/ls102xa/fdt.c @@ -150,4 +150,17 @@ void ft_cpu_setup(void *blob, bd_t *bd) do_fixup_by_compat_u32(blob, "fsl, ls1021a-flexcan", "clock-frequency", busclk / 2, 1); + +#ifdef CONFIG_QSPI_BOOT + off = fdt_node_offset_by_compat_reg(blob, FSL_IFC_COMPAT, + CONFIG_SYS_IFC_ADDR); + fdt_set_node_status(blob, off, FDT_STATUS_DISABLED, 0); +#else + off = fdt_node_offset_by_compat_reg(blob, FSL_QSPI_COMPAT, + QSPI0_BASE_ADDR); + fdt_set_node_status(blob, off, FDT_STATUS_DISABLED, 0); + off = fdt_node_offset_by_compat_reg(blob, FSL_DSPI_COMPAT, + DSPI1_BASE_ADDR); + fdt_set_node_status(blob, off, FDT_STATUS_DISABLED, 0); +#endif } diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index a06ef9d..7915518 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -102,4 +102,8 @@ #error SoC not defined #endif +#define FSL_IFC_COMPAT "fsl,ifc" +#define FSL_QSPI_COMPAT "fsl,ls1-qspi" +#define FSL_DSPI_COMPAT "fsl,vf610-dspi" + #endif /* _ASM_ARMV7_LS102XA_CONFIG_ */ |