[U-Boot] When to create a SoC directory for ARM

sun york-R58495 R58495 at freescale.com
Thu Sep 26 07:31:39 CEST 2013


On Sep 25, 2013, at 10:23 PM, FengHua wrote:

> > Date: Wed, 25 Sep 2013 20:10:13 -0500
> > From: Scott Wood <scottwood at freescale.com>
> > Subject: Re: [U-Boot] When to create a SoC directory for ARM
> > To: sun york-R58495 <R58495 at freescale.com>
> > Cc: Rini <trini at ti.com>, Wood Scott-B07421 <B07421 at freescale.com>,
> > 	"u-boot at lists.denx.de" <u-boot at lists.denx.de>, Tom
> > Message-ID: <1380157813.24959.237.camel at snotra.buserror.net>
> > Content-Type: text/plain; charset="UTF-8"
> 
> > On Wed, 2013-09-25 at 20:04 -0500, sun york-R58495 wrote:
> > > On Sep 25, 2013, at 4:52 PM, Scott Wood wrote:
> > > 
> > > > On Wed, 2013-09-25 at 16:30 -0700, York Sun wrote:
> > > >> Dear Wolfgang,
> > > >> 
> > > >> I failed to find the guideline, here is my question. Pardon me if this
> > > >> is a dump question as I am still new to ARM.
> > > >> 
> > > >> As David Feng post his patch set to add ARMv8 support, I am trying to
> > > >> enable it for Freescale implementation. Let's name it as LS2 for this
> > > >> discussion. I am thinking to reuse as much as possible for existing
> > > >> codes, which include copying some header files from powerpc partially. I
> > > >> noticed the SoC field in boards.cfg file and I am wondering how to use
> > > >> it effectively. I want to put LS2 specific headers to
> > > >> arch/arm/include/asm/arch-ls2. Do I need to copy all files from
> > > >> arch/arm/include/asm/arch-armv8/? There aren't many but I see mmu.h is
> > > >> included in start.S. I have been searching case like this in ARMv7 but
> > > >> didn't see shared header file (maybe I missed it). Please advise.
> > > > 
> > > > LS2 is (or perhaps more accurately, contains) an implementation of
> > > > ARMv8, so you should be using arch-armv8 rather than copying it.
> > > 
> > > True. But I guess LS2 won't be the only "LS" Freescale is going to
> > > make. Where is the best place to put the header file for chassis
> > > related registers, like CCSR we have for mpc8xxx.
> 
> > Anything that isn't deeply tied to the ARM architecture should probably
> > just go in include/.
> > >  I am thinking the
> > > best place is arch/arm/include/asm/ls2 (or a better name). Like other
> > > ARMv7 variants, I am thinking to put ls2 under arch/arm/cpu/armv8/ as
> > > well, to host LS-specific code.
> 
> > Likewise, if it's specifically tied to armv8 it should go in
> > arch/arm/include/asm/arch-armv8, but I'm not sure what would be tied to
> > both armv8 and ls2.  Most likely anything LS-specific that needs to go
> > under arch/arm/ should go somewhere like arch/arm/include/asm/ls/
> > (similar to arch/arm/include/asm/imx-common).
> 
> > -Scott
> 
> all SOC specific include file should be in arch/arm/include/asm/arch-SOC/ or
> some common directory(like include/asm/imx-common). Currently, u-boot only link SOC specific(arch-SOC) include directory.
> You could touch a mmu.h file in arch/arm/include/asm/arch-ls2/ and include
> arch/arm/include/asm/arch-armv8/mmu.h.
> or move arch-armv8/mmu.h to arch/arm/include/asm/ to make it as a generic file.
> Maybe we should distinguish architecture specific include directory and SOC
>  specific include directory.


I was thinking to change the include in start.S to

#include <asm/arch-armv8/mmu.h>

York





More information about the U-Boot mailing list