The MT2824 is a RISC-V SoC integrating a dual-core Andes AX45MP with 256 KB of L2 cache, Andes PLIC/PLICSW/PLMT interrupt and timer controllers, an ATCSPI200 QSPI controller, a DesignWare-derived SDHCI controller and a DDR controller that is initialized by firmware loaded by the SPL from the boot device.
The SoC is used together with two MT3812 5G transceivers to form the MT5824 reference design [1]. The evaluation board allows testing this reference design and provides a 32 MiB SPI-NOR flash as well as an SD card port for booting. This series adds support for the platform: the SoC drivers (SDHCI, DDR controller and a simple reset controller), the SPL boot flow (GPT partition lookup with A/B slot selection driven by the ROM one-shot boot registers), the environment backend selected at runtime from the boot source, and SPI-NOR support (an nvmxip memory-mapped device plus spi-mem operations for the Metanoia variant of the ATCSPI200 controller). The series is organized as follows: - patches 1-5: generic fixes and helpers (16-bit iopoll variant, simple reset controller driver, GPT parsing in SPL, NVM XIP devices in SPL, Andes erratum #35102 Kconfig option) - patches 6-8: spi-mem support for the ATCSPI200 QSPI controller and the MT2824 DDR and SDHCI drivers - patches 9-10: device trees and MT5824 EVB platform support The series was built and tested on the MT5824 EVB: - boot from SD card and from QSPI NOR - environment loaded from the boot device (MMC and SPI flash) - SPL A/B boot from the GPT partitions - sf probe/read/erase on the Macronix NOR flash [1]: https://metanoia-comm.com/products/5g/mt5824/ Base commit: a06e89ab05e ("Prepare v2026.10-rc5") Signed-off-by: Benoît Monin <[email protected]> --- Benoît Monin (9): iopoll: Add readw_poll_sleep_timeout reset: Add a driver for simple controller disk: efi: Reuse the GPT entries buffer with simple malloc nvmxip: Make NVM XIP devices available in SPL mmc: metanoia_sdhci: Add SDHCI driver for Metanoia MT2824 SoC ram: metanoia: Add driver for MT2824 DDR controller spi: atcspi200_spi: Add spi-mem support for the Metanoia ATCSPI200 variant riscv: dts: add MT2824 SoC and MT5824 EVB device trees riscv: metanoia: Add support for the MT5824 EVB platform Jun Chang (1): riscv: andes: Add Kconfig option for Andes erratum #35102 MAINTAINERS | 5 + arch/riscv/Kconfig | 4 + arch/riscv/cpu/andes/Kconfig | 3 + arch/riscv/cpu/andes/cpu.c | 7 +- arch/riscv/dts/Makefile | 1 + arch/riscv/dts/mt2824-u-boot.dtsi | 66 +++ arch/riscv/dts/mt2824.dtsi | 219 ++++++++++ arch/riscv/dts/mt5824-evb.dts | 34 ++ board/metanoia/mt5824-evb/Kconfig | 45 ++ board/metanoia/mt5824-evb/MAINTAINERS | 11 + board/metanoia/mt5824-evb/Makefile | 7 + board/metanoia/mt5824-evb/board.c | 61 +++ board/metanoia/mt5824-evb/board.h | 35 ++ board/metanoia/mt5824-evb/mt5824-evb.env | 6 + board/metanoia/mt5824-evb/spl.c | 388 +++++++++++++++++ common/spl/Kconfig | 8 + configs/metanoia-mt5824-evb_defconfig | 73 ++++ disk/part_efi.c | 25 +- doc/board/index.rst | 1 + doc/board/metanoia/index.rst | 9 + doc/board/metanoia/mt5824-evb.rst | 232 ++++++++++ drivers/mmc/Kconfig | 11 + drivers/mmc/Makefile | 1 + drivers/mmc/metanoia_sdhci.c | 494 +++++++++++++++++++++ drivers/mtd/Makefile | 1 + drivers/ram/Kconfig | 7 + drivers/ram/Makefile | 2 + drivers/ram/mt2824-ddr.c | 706 +++++++++++++++++++++++++++++++ drivers/reset/Kconfig | 8 + drivers/reset/Makefile | 1 + drivers/reset/reset-simple.c | 115 +++++ drivers/spi/atcspi200_spi.c | 176 +++++++- include/configs/metanoia-mt5824-evb.h | 28 ++ include/linux/iopoll.h | 3 + 34 files changed, 2780 insertions(+), 13 deletions(-) --- base-commit: a06e89ab05eaa2b8344d521319399333cd760ae5 change-id: 20260622-mt2824-97193f1fbe29 Best regards, -- Benoît Monin, Bootlin Embedded Linux and Kernel engineering https://bootlin.com
