
On Fri, 2016-03-11 at 10:18 +0000, Qianyu Gong wrote:
Hi Scott,
-----Original Message----- From: Scott Wood [mailto:oss@buserror.net] Sent: Tuesday, February 23, 2016 8:12 AM To: Qianyu Gong qianyu.gong@nxp.com; u-boot@lists.denx.de; york sun york.sun@nxp.com Cc: Mingkai Hu mingkai.hu@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@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