[U-Boot] [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot
Qianyu Gong
qianyu.gong at nxp.com
Tue Dec 29 10:22:39 CET 2015
> -----Original Message-----
> From: Scott Wood [mailto:scottwood at freescale.com]
> Sent: Tuesday, December 29, 2015 5:52 AM
> To: Qianyu Gong <qianyu.gong at nxp.com>; u-boot at lists.denx.de
> Cc: Mingkai Hu <mingkai.hu at nxp.com>; R58495 at freescale.com;
> B48286 at freescale.com; Shaohui.Xie at freescale.com;
> Wenbin.Song at freescale.com; B07421 at freescale.com; Gong Qianyu
> <Qianyu.Gong at freescale.com>
> Subject: Re: [PATCH 2/3] armv8/ls1043aqds: add QSPI support in SD boot
>
> 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).
>
Hi Scott,
Yes, LS1046A and LS1088A also have the same muxing and it's only different on LS2085A.
Or we can just remove this fixup in U-Boot and make kernel deal with it respectively.
Which do you prefer?
> > }
> > 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
fsl_lsch2_early_init_f() isn't called on LS2085A.
I think currently it's ok with known chips.
Regards,
Qianyu
More information about the U-Boot
mailing list