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

Scott Wood oss at buserror.net
Tue Feb 23 01:11:46 CET 2016


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



More information about the U-Boot mailing list