[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