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

York Sun yorksun at freescale.com
Thu Sep 26 23:07:28 CEST 2013


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>.

York





More information about the U-Boot mailing list