[PATCH RFC 0/9] initial U-Boot SPL support on Amlogic GX SoCs
Ferass El Hafidi
funderscore at postmarketos.org
Sun Sep 7 16:36:06 CEST 2025
This RFC/RFT patch series adds support for U-Boot SPL booting on Amlogic
GX SoCs, replacing the historical "bl2.bin" binary that runs as BL2 on
these boards.
Boards tested:
- Libre Computer LaFrite (S805X, 512 MB)
- Libre Computer LePotato (S905X, 1 GB)
- Videostrong KII Pro (S905)
- Xiaomi Mi TV Stick (S805Y) - downstream defconfig [1]
- (ODROID-C2 (S905) - at some point early in development)
Each of these boards were tested booting mainline u-boot and TF-A BL31,
either from an SD card or using Ymodem, and then booting to Linux.
More testing is, of course, very much welcome. In particular, further
testing of other boards that could not be tested, of the ODROID-C2, and
of the 2 GB LePotato would be appreciated.
Currently known issues:
- LPDDR2/LPDDR3 support not implemented
- some DRAM rank modes are not supported
- eMMC booting is broken (pwrseq?)
- SPI boot is untested
- we are quite limited in space, so e.g. the clock driver does not fit
(TPL might be considered in the future)
See doc/board/amlogic/spl.rst for building and installation instructions.
This patch series depends on Jonas Karlman's amlimage work, which was
sent in the mailing list [2]. It has been rebased for resending as part
of this patch series. Thanks Jonas!
I would like to also thank Libre Computer and MNT Research for donating
boards to me and the rest of the linux-amlogic community for the
invaluable help.
[1]: https://scm.dersco.re/amlogic/u-boot-kii-pro.git/commit/?h=wip/spl-aquaman-2025.08&id=d030951d0aaac04f1e2cc8a8eb01eb662a782f21
[2]: https://lore.kernel.org/all/20250103215904.2590769-1-jonas@kwiboo.se/
Signed-off-by: Ferass El Hafidi <funderscore at postmarketos.org>
---
Ferass El Hafidi (8):
mmc: meson_gx_mmc: add minimal non-DM driver
mmc: meson_gx_mmc: don't bail if there is no clock driver
serial: serial_meson: add minimal non-DM driver
arm: meson: initial u-boot SPL support for GX SoCs
arm: meson: spl: add support for SPL DRAM init
arm: dts: meson-gx-u-boot: add binman configuration for U-Boot SPL
board: amlogic: add kconfig fragments for SPL
doc: board: amlogic: add u-boot-spl documentation
Jonas Karlman (1):
tools: mkimage: Add Amlogic Boot Image type
MAINTAINERS | 1 +
arch/arm/dts/meson-gx-u-boot.dtsi | 142 +++++++
arch/arm/include/asm/arch-meson/clock-gx.h | 1 +
arch/arm/include/asm/arch-meson/dram-gx.h | 341 +++++++++++++++++
arch/arm/include/asm/arch-meson/dram-gxbb.h | 168 +++++++++
arch/arm/include/asm/arch-meson/dram-gxl.h | 193 ++++++++++
arch/arm/include/asm/arch-meson/dram-settings-gx.h | 296 +++++++++++++++
arch/arm/include/asm/arch-meson/dram-timings-gx.h | 117 ++++++
arch/arm/include/asm/arch-meson/gx.h | 41 ++
arch/arm/mach-meson/Kconfig | 112 +++++-
arch/arm/mach-meson/Makefile | 8 +
arch/arm/mach-meson/board-common.c | 11 +
arch/arm/mach-meson/dram-gx.c | 419 +++++++++++++++++++++
arch/arm/mach-meson/dram-gxbb.c | 174 +++++++++
arch/arm/mach-meson/dram-gxl.c | 167 ++++++++
arch/arm/mach-meson/spl-gx.c | 278 ++++++++++++++
arch/arm/mach-meson/spl.c | 123 ++++++
board/amlogic/p200/spl-odroid-c2.config | 37 ++
board/amlogic/p200/spl-videostrong-kii-pro.config | 38 ++
board/amlogic/p212/spl-libretech-cc-1gb.config | 36 ++
board/amlogic/p212/spl-libretech-cc-2gb.config | 38 ++
boot/image.c | 1 +
doc/board/amlogic/index.rst | 1 +
doc/board/amlogic/pre-generated-fip.rst | 9 +
doc/board/amlogic/spl.rst | 77 ++++
drivers/mmc/meson_gx_mmc.c | 79 +++-
drivers/serial/serial.c | 2 +
drivers/serial/serial_meson.c | 112 +++++-
include/image.h | 1 +
tools/Makefile | 1 +
tools/amlimage.c | 246 ++++++++++++
31 files changed, 3265 insertions(+), 5 deletions(-)
---
base-commit: e4c8b32d03d7ecffd586b7d33336603ad639d7c0
change-id: 20250830-spl-gx-1148b58dd3b1
Best regards,
--
Ferass El Hafidi <funderscore at postmarketos.org>
More information about the U-Boot
mailing list