[U-Boot] [RFC PATCH 0/3] sunxi: extend SPL header to propagate DRAM size

Andre Przywara andre.przywara at arm.com
Thu May 17 08:16:58 UTC 2018


This series tries to solve three issues we currently have on
Allwinner boards:
- The DRAM sizing routine can only cope with power-of-two sized DRAM.
- The DRAM sizing routine steps through all DRAM, possibly hitting secure
  memory.
- The SPL header versioning is quite strict and tends to break every time
  we need to update it.

So I thought about introducing something along the lines of semantic
versioning[1], where we can add backwards-compatible changes to the SPL
header without breaking every tool. This is introduced in the first patch.
The second patch does some refactoring, so that the third patch can use
the newly gained freedom to store the DRAM size. The SPL knows the DRAM
size very well, so we store this in the SPL header, so that U-Boot proper
can pick it up from there. This saves the call to get_ram_size() with
its deficiencies.
More information in the respective commit messages.

I understand that this versioning solution is not fully future-proof, but
we have only one byte for the version, and I just wanted to start
discussion on this.
There is a corresponding patch for sunxi-tools as well I am posting shortly.

[1] https://semver.org

Cheers,
Andre.

Andre Przywara (3):
  sunxi: Extend SPL header versioning
  sunxi: board.c: refactor SPL header checks
  sunxi: store DRAM size in SPL header

 arch/arm/include/asm/arch-sunxi/spl.h | 22 ++++++++----
 board/sunxi/board.c                   | 66 ++++++++++++++++++++++++++++-------
 2 files changed, 70 insertions(+), 18 deletions(-)

-- 
2.14.1



More information about the U-Boot mailing list