On 07/27/2014 09:31 PM, Simon Glass wrote:
Hi Stephen,
On 13 June 2014 08:18, Masahiro Yamada <[email protected]> wrote:
Hi Stephen,
On Thu, 12 Jun 2014 09:16:14 -0600
Stephen Warren <[email protected]> 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.
I guess I'd be fine with something like:
arch/arm/mach-tegra/*.c
arch/arm/mach-tegra/spl/*.c
and if needed an SoC-specific directory under each:
arch/arm/mach-tegra/*.c
arch/arm/mach-tegra/tegra20/*.c
arch/arm/mach-tegra/tegra30/*.c
...
arch/arm/mach-tegra/spl/*.c
arch/arm/mach-tegra/spl/tegra20/*.c
arch/arm/mach-tegra/spl/tegra30/*.c
...
I don't think a completely flat directory structure would work, since
there are probably some alternative implementations of files/functions
for different SoCs and/or SPL-vs-non-SPL.
_______________________________________________
U-Boot mailing list
[email protected]
http://lists.denx.de/mailman/listinfo/u-boot