
On Thu, 2013-09-26 at 12:48 -0700, York Sun wrote:
On 09/26/2013 12:46 PM, Sharma Bhupesh-B45370 wrote:
-----Original Message----- From: u-boot-bounces@lists.denx.de [mailto:u-boot-bounces@lists.denx.de] On Behalf Of Scott Wood Sent: Friday, September 27, 2013 12:53 AM To: FengHua Cc: trini; sun york-R58495; u-boot Subject: Re: [U-Boot] When to create a SoC directory for ARM
On Thu, 2013-09-26 at 13:23 +0800, FengHua wrote:
Date: Wed, 25 Sep 2013 20:10:13 -0500 From: Scott Wood scottwood@freescale.com Subject: Re: [U-Boot] When to create a SoC directory for ARM To: sun york-R58495 R58495@freescale.com Cc: Rini trini@ti.com, Wood Scott-B07421 B07421@freescale.com, "u-boot@lists.denx.de" u-boot@lists.denx.de, Tom Message-ID: 1380157813.24959.237.camel@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.
Is the XXX arch-XXX supposed to be an SoC family or a CPU family/architectutre?
Usually in 'arch/arm/include/asm' we have both:
- arch-armv7 (Arch specific. Houses stuff common to ARMv7 CPU, e.g. Global timer, SP805 WDT..)
- arch-mx6 (SoC family specific. Houses stuff like SoC specific IOMUX pads..)
Which one does "#inculde <asm/arch/foo.h>" refer to?
-Scott