[U-Boot] Refactoring of U-Boot directory structure

Simon Glass sjg at chromium.org
Mon Jul 28 05:31:01 CEST 2014


Hi Stephen,

On 13 June 2014 08:18, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
> Hi Stephen,
>
>
> On Thu, 12 Jun 2014 09:16:14 -0600
> Stephen Warren <swarren at wwwdotorg.org> wrote:
>
>> On 06/11/2014 10:10 PM, Masahiro Yamada wrote:
>> ...
>> > Tegra uses different CPU  for SPL and Normal U-boot.
>> > That's why Tegra directories are sprinkled under arch/arm/:
>> >
>> > arch/arm/cpu/arm720t/tegra-common/
>> > arch/arm/cpu/arm720t/tegra20/
>> > arch/arm/cpu/arm720t/tegra30/
>> > arch/arm/cpu/arm720t/tegra114/
>> > arch/arm/cpu/arm720t/tegra124/
>> > arch/arm/cpu/armv7/tegra-common/
>> > arch/arm/cpu/armv7/tegra20/
>> > arch/arm/cpu/armv7/tegra30/
>> > arch/arm/cpu/armv7/tegra114/
>> > arch/arm/cpu/armv7/tegra124/
>> > arch/arm/include/asm/arch-tegra/
>> > arch/asm/include/asm/arch-tegra20/
>> > arch/asm/include/asm/arch-tegra30/
>> > arch/asm/include/asm/arch-tegra114/
>> > arch/asm/include/asm/arch-tegra124/
>>
>> This is a deliberate split so that we can control the code/data size of
>> the arm720t (SPL) parts of the code.
>>
>> > They can be refactored
>> >
>> > arch/arm/mach-tegra/                      : tegra common part
>> > arch/arm/mach-tegra/tegra20/         : tegra20-specific
>> > arch/arm/mach-tegra/tegra30/         : tegra30-specific
>> > arch/arm/mach-tegra/tegra114/       : tegra114-specific
>> > arch/arm/mach-tegra/tegra124/       : tegra124-specific
>> >
>> > or  maybe
>> >
>> > arch/arm/plat-tegra/               : tegra common part
>> > arch/arm/mach-tegra20/         : tegra20-specific
>> > arch/arm/mach-tegra30/         : tegra30-specific
>> > arch/arm/mach-tegra114/       : tegra114-specific
>> > arch/arm/mach-tegra124/       : tegra124-specific
>>
>> If we refactor into that structure, the SPL/non-SPL separation will be
>> much less clear.
>
> In that case, you can create a subdirectory under mach-tegra/
> to separate SPL code from the others.

Does Masahiro's proposed approach work for you? The second one seems
good to me - I quite like the plat-tegra idea for completely common
code, and the flatter directory structure.

Also if Tegra starts supporting an ARMv7/8 CPU for start-up, then a
spl/ subdirectory would be needed anyway, to separate out the code.

Regards,
Simon


More information about the U-Boot mailing list