From mboxrd@z Thu Jan 1 00:00:00 1970 From: York Sun Date: Thu, 26 Sep 2013 12:57:54 -0700 Subject: [U-Boot] When to create a SoC directory for ARM In-Reply-To: <1380225311.24959.295.camel@snotra.buserror.net> References: <1380223392.24959.275.camel@snotra.buserror.net> <52448F8F.9080604@freescale.com> <1380225311.24959.295.camel@snotra.buserror.net> Message-ID: <524491C2.4040807@freescale.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 09/26/2013 12:55 PM, Scott Wood wrote: > 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 at lists.denx.de [mailto:u-boot-bounces at 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 >>>>>> Subject: Re: [U-Boot] When to create a SoC directory for ARM >>>>>> To: sun york-R58495 >>>>>> Cc: Rini , Wood Scott-B07421 , >>>>>> "u-boot at 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 " refer to? > arm/arch is a symbolic link created at compiling time. It points to arm/arch-$(soc), if $(soc) is not defined, then it points to asm/arch-$(arch). That's my understanding. York