[U-Boot] [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with QSPI enabled

Scott Wood oss at buserror.net
Tue Mar 29 22:44:43 CEST 2016


On Fri, 2016-03-11 at 10:18 +0000, Qianyu Gong wrote:
> Hi Scott,
> 
> > -----Original Message-----
> > From: Scott Wood [mailto:oss at buserror.net]
> > Sent: Tuesday, February 23, 2016 8:12 AM
> > To: Qianyu Gong <qianyu.gong at nxp.com>; u-boot at lists.denx.de; york sun
> > <york.sun at nxp.com>
> > Cc: Mingkai Hu <mingkai.hu at nxp.com>
> > Subject: Re: [PATCH] armv8/fsl-layerscape: add IFC fixup for LS1043A with
> > QSPI
> > enabled
> > 
> > On Mon, 2016-02-22 at 18:05 +0800, Gong Qianyu wrote:
> > > QSPI and IFC are pin-multiplexed on LS1043A. So if QSPI is enabled,
> > > IFC should be disabled.
> > > But just disable IFC driver in LS1043A Linux is not enough because
> > > mdio-mux will access IFC address space -- actually it accesses FPGA
> > > which is connected to IFC CS3. So disable the whole IFC node in Linux
> > > device tree.
> > > 
> > > Signed-off-by: Gong Qianyu <Qianyu.Gong at nxp.com>
> > > 
> > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > > b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > > index 4e4861d..5bb3048 100644
> > > --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > > +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > > @@ -204,4 +204,11 @@ void ft_cpu_setup(void *blob, bd_t *bd)  #ifdef
> > > CONFIG_FSL_LSCH3
> > >  	fdt_fixup_smmu(blob);
> > >  #endif
> > > +
> > > +#ifdef CONFIG_LS1043A
> > > +#ifdef CONFIG_FSL_QSPI
> > > +	do_fixup_by_compat(blob, "fsl,ifc",
> > > +			   "status", "disabled", 8 + 1, 1); #endif
> > > #endif
> > >  }
> > 
> > This muxing is done at runtime, right?  It isn't a case of the board
> > hardwiring one
> > or the other?  In that case, it should be handled at runtime here as well.
> >   At a
> > minimum, allow the user to use hwconfig to choose which they want to be
> > accessible.  Ideally there would be something in the device tree to list
> > the reason(s)
> > for a device being disabled, so the OS knows it can regard the device as
> > being
> > enabled if it knows about and enables them all.
> > 
> > -Scott
> 
> Sorry for the late reply. We have been asking the silicon team for the
> details of the pin 
> muxing these days. 
> The conclusion is that all IFC interfaces(cs0/cs1/cs2) are disabled as long
> as QSPI is 
> enabled on LS1043AQDS board. 
> As I know, this muxing won't be handled in kernel. Since IFC is disabled in
> U-Boot, 
> IFC node would better be disabled in kernel as well.
> Also in such cases, users have no other choice.

Why should the user not have a choice to choose IFC over QSPI?  Where is the
muxing configured?

-Scott



More information about the U-Boot mailing list