[U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot

Scott Wood scottwood at freescale.com
Mon Dec 28 22:51:48 CET 2015


On Thu, 2015-12-24 at 16:40 +0800, Gong Qianyu wrote:
> From: Gong Qianyu <Qianyu.Gong at 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 at freescale.com>
> Signed-off-by: Gong Qianyu <Qianyu.Gong at 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



More information about the U-Boot mailing list