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

Reply via email to