public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
@ 2016-04-28  6:04 Gong Qianyu
  2016-04-30 12:27 ` Mingkai Hu
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Gong Qianyu @ 2016-04-28  6:04 UTC (permalink / raw)
  To: u-boot

IFC is considered as a required component in Layerscape platforms' Linux.
But if IFC is not enabled in U-Boot on some boards, accessing IFC memory
space would cause kernel call trace. So disable IFC node in such cases.

Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
---
V2:
 - Revised the title and message.
 - Used #ifndef CONFIG_FSL_IFC rather than #ifdef CONFIG_FSL_QSPI.

 arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
index 1e875c4..96dab56 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
+++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
@@ -98,4 +98,9 @@ void ft_cpu_setup(void *blob, bd_t *bd)
 #ifdef CONFIG_SYS_DPAA_FMAN
 	fdt_fixup_fman_firmware(blob);
 #endif
+
+#ifndef CONFIG_FSL_IFC
+	do_fixup_by_compat(blob, "fsl,ifc",
+			   "status", "disabled", 8 + 1, 1);
+#endif
 }
-- 
2.1.0.27.g96db324

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
  2016-04-28  6:04 [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot Gong Qianyu
@ 2016-04-30 12:27 ` Mingkai Hu
  2016-05-03  4:32 ` Scott Wood
  2016-05-16 16:47 ` York Sun
  2 siblings, 0 replies; 6+ messages in thread
From: Mingkai Hu @ 2016-04-30 12:27 UTC (permalink / raw)
  To: u-boot



> -----Original Message-----
> From: Gong Qianyu [mailto:Qianyu.Gong at nxp.com]
> Sent: Thursday, April 28, 2016 2:05 PM
> To: u-boot at lists.denx.de; york sun; oss at buserror.net
> Cc: Mingkai Hu; Qianyu Gong
> Subject: [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in
> U-Boot
> 
> IFC is considered as a required component in Layerscape platforms' Linux.
> But if IFC is not enabled in U-Boot on some boards, accessing IFC memory space
> would cause kernel call trace. So disable IFC node in such cases.
> 
> Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> ---
> V2:
>  - Revised the title and message.
>  - Used #ifndef CONFIG_FSL_IFC rather than #ifdef CONFIG_FSL_QSPI.
> 
>  arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-
> layerscape/fdt.c
> index 1e875c4..96dab56 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> @@ -98,4 +98,9 @@ void ft_cpu_setup(void *blob, bd_t *bd)  #ifdef
> CONFIG_SYS_DPAA_FMAN
>  	fdt_fixup_fman_firmware(blob);
>  #endif
> +
> +#ifndef CONFIG_FSL_IFC
> +	do_fixup_by_compat(blob, "fsl,ifc",
> +			   "status", "disabled", 8 + 1, 1);
> +#endif
>  }

Reviewed-by: Mingkai Hu <mingkai.hu@nxp.com>

Regards,
Mingkai

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
  2016-04-28  6:04 [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot Gong Qianyu
  2016-04-30 12:27 ` Mingkai Hu
@ 2016-05-03  4:32 ` Scott Wood
  2016-05-03  6:23   ` Calvin Johnson
  2016-05-16 16:47 ` York Sun
  2 siblings, 1 reply; 6+ messages in thread
From: Scott Wood @ 2016-05-03  4:32 UTC (permalink / raw)
  To: u-boot

On Thu, 2016-04-28 at 14:04 +0800, Gong Qianyu wrote:
> IFC is considered as a required component in Layerscape platforms' Linux.

What does this mean?

> But if IFC is not enabled in U-Boot on some boards, accessing IFC memory
> space would cause kernel call trace. So disable IFC node in such cases.

That's the symptom, not the problem.  The problem is that the kernel is
assuming that U-Boot has done certain initialization, such as the chipselect
registers, and clearing SRAM (though Linux really should be doing the latter).
 Why is U-Boot being configured without this?

-Scott

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
  2016-05-03  4:32 ` Scott Wood
@ 2016-05-03  6:23   ` Calvin Johnson
  0 siblings, 0 replies; 6+ messages in thread
From: Calvin Johnson @ 2016-05-03  6:23 UTC (permalink / raw)
  To: u-boot

> -----Original Message-----
> From: U-Boot [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Scott Wood
> Sent: Tuesday, May 03, 2016 10:02 AM
> To: Qianyu Gong <qianyu.gong@nxp.com>; u-boot at lists.denx.de; york sun
> <york.sun@nxp.com>
> Cc: Mingkai Hu <mingkai.hu@nxp.com>
> Subject: Re: [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is
> avaliable in U-Boot
> 
> On Thu, 2016-04-28 at 14:04 +0800, Gong Qianyu wrote:
> > IFC is considered as a required component in Layerscape platforms' Linux.
> 

I don't think IFC is considered as a required component on all SoCs. The LS1012A does not have IFC.

> What does this mean?
> 
> > But if IFC is not enabled in U-Boot on some boards, accessing IFC
> > memory space would cause kernel call trace. So disable IFC node in such
> cases.
> 
> That's the symptom, not the problem.  The problem is that the kernel is
> assuming that U-Boot has done certain initialization, such as the chipselect
> registers, and clearing SRAM (though Linux really should be doing the latter).
>  Why is U-Boot being configured without this?
> 
> -Scott
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
Calvin

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
  2016-04-28  6:04 [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot Gong Qianyu
  2016-04-30 12:27 ` Mingkai Hu
  2016-05-03  4:32 ` Scott Wood
@ 2016-05-16 16:47 ` York Sun
  2016-05-17  3:47   ` Qianyu Gong
  2 siblings, 1 reply; 6+ messages in thread
From: York Sun @ 2016-05-16 16:47 UTC (permalink / raw)
  To: u-boot

On 04/27/2016 11:19 PM, Gong Qianyu wrote:
> IFC is considered as a required component in Layerscape platforms' Linux.
> But if IFC is not enabled in U-Boot on some boards, accessing IFC memory
> space would cause kernel call trace. So disable IFC node in such cases.
> 
> Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> ---
> V2:
>  - Revised the title and message.
>  - Used #ifndef CONFIG_FSL_IFC rather than #ifdef CONFIG_FSL_QSPI.
> 
>  arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> index 1e875c4..96dab56 100644
> --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> @@ -98,4 +98,9 @@ void ft_cpu_setup(void *blob, bd_t *bd)
>  #ifdef CONFIG_SYS_DPAA_FMAN
>  	fdt_fixup_fman_firmware(blob);
>  #endif
> +
> +#ifndef CONFIG_FSL_IFC
> +	do_fixup_by_compat(blob, "fsl,ifc",
> +			   "status", "disabled", 8 + 1, 1);
> +#endif
>  }
> 

Qianyu,

For the platforms you are testing, is IFC disabled/enabled at SoC level (eg.
RCW) or board level (eg. FPGA)? Can you detect if IFC is enabled by checking
registers?

York

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot
  2016-05-16 16:47 ` York Sun
@ 2016-05-17  3:47   ` Qianyu Gong
  0 siblings, 0 replies; 6+ messages in thread
From: Qianyu Gong @ 2016-05-17  3:47 UTC (permalink / raw)
  To: u-boot

Hi York,

> -----Original Message-----
> From: York Sun [mailto:york.sun at nxp.com]
> Sent: Tuesday, May 17, 2016 12:47 AM
> To: Qianyu Gong <qianyu.gong@nxp.com>; u-boot at lists.denx.de;
> oss at buserror.net
> Cc: Mingkai Hu <mingkai.hu@nxp.com>
> Subject: Re: [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-
> Boot
> 
> On 04/27/2016 11:19 PM, Gong Qianyu wrote:
> > IFC is considered as a required component in Layerscape platforms' Linux.
> > But if IFC is not enabled in U-Boot on some boards, accessing IFC
> > memory space would cause kernel call trace. So disable IFC node in such cases.
> >
> > Signed-off-by: Gong Qianyu <Qianyu.Gong@nxp.com>
> > ---
> > V2:
> >  - Revised the title and message.
> >  - Used #ifndef CONFIG_FSL_IFC rather than #ifdef CONFIG_FSL_QSPI.
> >
> >  arch/arm/cpu/armv8/fsl-layerscape/fdt.c | 5 +++++
> >  1 file changed, 5 insertions(+)
> >
> > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > index 1e875c4..96dab56 100644
> > --- a/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > +++ b/arch/arm/cpu/armv8/fsl-layerscape/fdt.c
> > @@ -98,4 +98,9 @@ void ft_cpu_setup(void *blob, bd_t *bd)  #ifdef
> > CONFIG_SYS_DPAA_FMAN
> >  	fdt_fixup_fman_firmware(blob);
> >  #endif
> > +
> > +#ifndef CONFIG_FSL_IFC
> > +	do_fixup_by_compat(blob, "fsl,ifc",
> > +			   "status", "disabled", 8 + 1, 1); #endif
> >  }
> >
> 
> Qianyu,
> 
> For the platforms you are testing, is IFC disabled/enabled at SoC level (eg.
> RCW) or board level (eg. FPGA)? Can you detect if IFC is enabled by checking
> registers?
> 
> York

For LS1043AQDS, IFC is disabled at board level(at SoC level, only IFC NOR is disabled).
Yes, I can detect if IFC is enabled by checking QIXIS registers.

Regards,
Qianyu

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2016-05-17  3:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-28  6:04 [U-Boot] [Patch v2] fsl-layerscape: fdt: add IFC fixup if no IFC is avaliable in U-Boot Gong Qianyu
2016-04-30 12:27 ` Mingkai Hu
2016-05-03  4:32 ` Scott Wood
2016-05-03  6:23   ` Calvin Johnson
2016-05-16 16:47 ` York Sun
2016-05-17  3:47   ` Qianyu Gong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox