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

Reply via email to