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-jo...@kwiboo.se/ Signed-off-by: Ferass El Hafidi <fundersc...@postmarketos.org> --- Changes in v2: - Drop "mmc: meson_gx_mmc: don't bail if there is no clock driver", given SPL does not use the DM MMC driver by default anyway - Drop spurious DM_DRIVER_ALIAS from UART driver - Document in send_scp() why it is only needed for GXBB - Move GXBB/GXL-specific code to separate spl-gxbb/spl-gxl files - Add a few defines for pll init - Actually disable FIT image post-processing on GXL - Add Neil's R-b tag (subset) - Link to v1: https://lore.kernel.org/r/20250907-spl-gx-v1-0-37395d9ff...@postmarketos.org --- Ferass El Hafidi (7): mmc: meson_gx_mmc: add minimal non-DM 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 | 10 + 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 | 179 +++++++++ arch/arm/mach-meson/spl-gxbb.c | 113 ++++++ arch/arm/mach-meson/spl-gxl.c | 39 ++ 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 | 75 +++- drivers/serial/serial.c | 2 + drivers/serial/serial_meson.c | 110 +++++- include/image.h | 1 + tools/Makefile | 1 + tools/amlimage.c | 246 ++++++++++++ 33 files changed, 3316 insertions(+), 3 deletions(-) --- base-commit: e4c8b32d03d7ecffd586b7d33336603ad639d7c0 change-id: 20250830-spl-gx-1148b58dd3b1 Best regards, -- Ferass El Hafidi <fundersc...@postmarketos.org>