
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?
-Scott