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

Scott Wood scottwood at freescale.com
Thu Sep 26 23:26:08 CEST 2013


On Thu, 2013-09-26 at 14:07 -0700, York Sun wrote:
> On 09/26/2013 02:03 PM, Tom Rini wrote:
> > On 09/26/2013 04:59 PM, Scott Wood wrote:
> >> On Thu, 2013-09-26 at 16:49 -0400, Tom Rini wrote:
> >>> On 09/26/2013 04:44 PM, Scott Wood wrote:
> >>>> On Thu, 2013-09-26 at 12:57 -0700, York Sun wrote:
> >>>>> 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:
> >>>>>>>>>> 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?
> >>>>>>
> >>>>>
> >>>>> 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.
> >>>>
> >>>> How is that supposed to work when both arch-$(soc) and
> >>>> arch-$(arch) are present?  Why are SoC and CPU arch confused in
> >>>> this way?
> >>>
> >>> Primarily because it hasn't been an issue until now really.
> >>> What's wrong with just saying <asm/arch-armv[78]/foo.h> as needed
> >>> ?
> > 
> >> Hmm, the only relevant <asm/arch/mmu.h> are in armv8-specific
> >> files, so I suppose we could do that.  Why not just rename it
> >> asm/armv[78], though?  There are only a handful of files in both
> >> armv7 and armv8, so it shouldn't be too much of a problem.  Then
> >> there's no question of where the symlink points.
> > 
> > That should also be fine, after a quick git grep around..
> > 
> How about arch/arm/include/asm/gpio.h? it includes <asm/arch/gpio.h>.

gpio.h doesn't belong in the armv8 directory.

-Scott





More information about the U-Boot mailing list