From: "Benoît Monin" <benoit.monin@bootlin.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Jun Chang <jun.chang@metanoia-comm.com>,
Paul Walmsley <pjw@kernel.org>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>,
Alexandre Ghiti <alex@ghiti.fr>,
Philipp Zabel <p.zabel@pengutronix.de>,
Sebastian Reichel <sre@kernel.org>,
Vinod Koul <vkoul@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Manivannan Sadhasivam <mani@kernel.org>,
Conor Dooley <conor@kernel.org>,
Jonathan Cameron <jic23@kernel.org>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>,
Thomas Gleixner <tglx@kernel.org>, Radu Rendec <radu@rendec.net>,
Samuel Holland <samuel.holland@sifive.com>,
Ben Zong-You Xie <ben717@andestech.com>,
Daniel Lezcano <daniel.lezcano@kernel.org>,
Ulf Hansson <ulfh@kernel.org>,
Jisheng Zhang <jszhang@kernel.org>,
CL Wang <cl634@andestech.com>, Mark Brown <broonie@kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Wim Van Sebroeck <wim@linux-watchdog.org>,
Guenter Roeck <linux@roeck-us.net>,
Adrian Hunter <adrian.hunter@intel.com>,
Minas Harutyunyan <hminas@synopsys.com>
Cc: "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Randolph Sheng-Kai Lin(林聖凱)" <randolph@andestech.com>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-riscv@lists.infradead.org, linux-pm@vger.kernel.org,
linux-phy@lists.infradead.org,
"Paul Walmsley" <paul.walmsley@sifive.com>,
linux-mmc@vger.kernel.org, linux-spi@vger.kernel.org,
linux-usb@vger.kernel.org, linux-watchdog@vger.kernel.org,
"Benoît Monin" <benoit.monin@bootlin.com>
Subject: [PATCH 00/25] riscv: add support for the Metanoia MT2824 SoC and MT5824 EVB
Date: Fri, 06 Nov 2026 10:29:57 +0100 [thread overview]
Message-ID: <20261106-mt2824-v1-0-86087eaf5af4@bootlin.com> (raw)
Hi all,
This series adds initial upstream support for the Metanoia MT2824 SoC
and its MT5824 evaluation board.
The MT2824 is a dual-core RISC-V SoC built on Andes AX45MP cores. It
integrates two 8250-compatible UARTs, the Andes PLIC/PLICSW/PLMT interrupt
and timer blocks, the AX45MP L2 cache controller, a simple reset controller
and a system reboot controller, the ATCWDT200 watchdog, one QSPI and eight
ATCSPI200 SPI controllers, a Synopsys DWC MSHC 2.00a eMMC/SD controller,
and a Synopsys DWC2 USB2 host controller with a reset-only USB2 PHY.
The series is organised as:
- patches 1-14 add the device tree bindings, the Metanoia vendor prefix,
the RISC-V board schema and the SoC block compatibles
- patch 15 adds ARCH_METANOIA and selects the AX45MP errata
- patches 16-23 add the reset, SPI, watchdog, MMC, PHY and USB changes
needed to build and probe on this SoC
- patch 24 adds the MT2824 SoC and MT5824 EVB device trees
- patch 25 adds the MAINTAINERS entry
The ATCSPI200 driver gains optional interrupt support for PIO transfers:
when the controller IRQ is wired, the FIFOs and the end of transfer
are serviced from the handler, with a fallback to polling when no IRQ
is available.
The DWC MSHC controller on the evaluation board is wired to either an
SD slot or an eMMC through a board jumper that the SoC cannot read. In
the absence of a fixed card type in the device tree, the driver probes
the eMMC first at 1.8 V and falls back to the SD slot at 3.3 V. The
controller also needs custom tuning and HS400 PHY DLL handling, which
is why it has its own sdhci_ops.
The MT2824 SoC contains other controllers not yet exposed (I2C, GPIO,
pinctrl, Ethernet, DSP, ...). This first series allows accessing the
evaluation board via its serial console, and all its storage options
(SPI-NOR, eMMC, SD card). The watchdog and the USB port are also
available.
The driver changes do not depend on the DTS at build time and are gated
on the new compatible strings. For merge ordering, the DTS depends on the
ARCH_METANOIA Kconfig entry (patch 15) and on the binding compatibles
being accepted. The patches can therefore go through their respective
subsystem trees, with the Kconfig, DTS and MAINTAINERS patches going
through the RISC-V tree once the driver and binding patches have landed.
The series is based on v7.4-rc1.
Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
Benoît Monin (25):
dt-bindings: vendor-prefixes: add Metanoia Communications
dt-bindings: riscv: add Metanoia SoC-based boards
dt-bindings: reset: add Metanoia MT2824
dt-bindings: power: reset: add Metanoia MT2824 reboot
dt-bindings: phy: add Metanoia USB2 PHY
dt-bindings: cache: andestech,ax45mp-cache: add MT2824 compatible
dt-bindings: interrupt-controller: sifive,plic-1.0.0: add Metanoia MT2824
dt-bindings: interrupt-controller: andestech,plicsw: add Metanoia MT2824
dt-bindings: timer: andestech,plmt0: add Metanoia MT2824
dt-bindings: mmc: snps,dwcmshc-sdhci: add Metanoia MT2824
dt-bindings: spi: andestech,ae350-spi: make DMA and interrupts optional
dt-bindings: spi: andestech,ae350-spi: add Metanoia MT2824
dt-bindings: usb: dwc2: add Metanoia MT2824
dt-bindings: watchdog: andestech,ae350-wdt: add Metanoia MT2824
riscv: add ARCH_METANOIA Kconfig entry
reset: simple: add Metanoia MT2824 support
spi: atcspi200: add optional interrupt support
spi: atcspi200: allow building for Metanoia SoCs
watchdog: atcwdt200: allow building for Metanoia SoCs
mmc: sdhci-of-dwcmshc: add MT2824 support
mmc: sdhci-of-dwcmshc: add MT2824 tuning and HS400 support
phy: metanoia: add USB2 PHY driver
usb: dwc2: add support for Metanoia MT2824
riscv: add Metanoia MT2824 SoC and MT5824 EVB support
MAINTAINERS: add RISC-V Metanoia SoC support
.../bindings/cache/andestech,ax45mp-cache.yaml | 1 +
.../interrupt-controller/andestech,plicsw.yaml | 1 +
.../interrupt-controller/sifive,plic-1.0.0.yaml | 1 +
.../bindings/mmc/snps,dwcmshc-sdhci.yaml | 1 +
.../devicetree/bindings/phy/metanoia,usb2-phy.yaml | 43 ++
.../bindings/power/reset/metanoia,reboot.yaml | 34 +
.../devicetree/bindings/reset/metanoia,reset.yaml | 40 ++
.../devicetree/bindings/riscv/metanoia.yaml | 25 +
.../bindings/spi/andestech,ae350-spi.yaml | 9 +-
.../devicetree/bindings/timer/andestech,plmt0.yaml | 1 +
Documentation/devicetree/bindings/usb/dwc2.yaml | 1 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
.../bindings/watchdog/andestech,ae350-wdt.yaml | 1 +
MAINTAINERS | 11 +
arch/riscv/Kconfig.socs | 8 +
arch/riscv/boot/dts/Makefile | 1 +
arch/riscv/boot/dts/metanoia/Makefile | 2 +
arch/riscv/boot/dts/metanoia/mt2824.dtsi | 330 ++++++++++
arch/riscv/boot/dts/metanoia/mt5824-evb.dts | 81 +++
drivers/mmc/host/Kconfig | 1 +
drivers/mmc/host/sdhci-of-dwcmshc.c | 704 +++++++++++++++++++++
drivers/phy/Kconfig | 1 +
drivers/phy/Makefile | 1 +
drivers/phy/metanoia/Kconfig | 16 +
drivers/phy/metanoia/Makefile | 3 +
drivers/phy/metanoia/phy-usb2.c | 88 +++
drivers/reset/Kconfig | 2 +-
drivers/reset/reset-simple.c | 1 +
drivers/spi/Kconfig | 2 +-
drivers/spi/spi-atcspi200.c | 255 +++++++-
drivers/usb/dwc2/params.c | 13 +
drivers/watchdog/Kconfig | 2 +-
32 files changed, 1667 insertions(+), 15 deletions(-)
---
base-commit: 6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
change-id: 20261016-mt2824-32a77a241798
Best regards,
--
Benoît Monin, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next reply other threads:[~2026-11-06 9:30 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-06 9:29 Benoît Monin [this message]
2026-11-06 9:29 ` [PATCH 01/25] dt-bindings: vendor-prefixes: add Metanoia Communications Benoît Monin
2026-11-06 11:17 ` Krzysztof Kozlowski
2026-11-06 11:39 ` Mark Brown
2026-11-06 11:50 ` Krzysztof Kozlowski
2026-11-06 9:29 ` [PATCH 02/25] dt-bindings: riscv: add Metanoia SoC-based boards Benoît Monin
2026-11-06 9:30 ` [PATCH 03/25] dt-bindings: reset: add Metanoia MT2824 Benoît Monin
2026-11-06 11:19 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 04/25] dt-bindings: power: reset: add Metanoia MT2824 reboot Benoît Monin
2026-11-06 11:23 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 05/25] dt-bindings: phy: add Metanoia USB2 PHY Benoît Monin
2026-11-06 9:30 ` [PATCH 06/25] dt-bindings: cache: andestech,ax45mp-cache: add MT2824 compatible Benoît Monin
2026-11-06 9:30 ` [PATCH 07/25] dt-bindings: interrupt-controller: sifive,plic-1.0.0: add Metanoia MT2824 Benoît Monin
2026-11-06 9:30 ` [PATCH 08/25] dt-bindings: interrupt-controller: andestech,plicsw: " Benoît Monin
2026-11-06 9:30 ` [PATCH 09/25] dt-bindings: timer: andestech,plmt0: " Benoît Monin
2026-11-06 9:30 ` [PATCH 10/25] dt-bindings: mmc: snps,dwcmshc-sdhci: " Benoît Monin
2026-11-06 9:30 ` [PATCH 11/25] dt-bindings: spi: andestech,ae350-spi: make DMA and interrupts optional Benoît Monin
2026-11-06 11:11 ` Mark Brown
2026-11-06 11:49 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 12/25] dt-bindings: spi: andestech,ae350-spi: add Metanoia MT2824 Benoît Monin
2026-11-06 9:30 ` [PATCH 13/25] dt-bindings: usb: dwc2: " Benoît Monin
2026-11-06 11:54 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 14/25] dt-bindings: watchdog: andestech,ae350-wdt: " Benoît Monin
2026-11-06 9:30 ` [PATCH 15/25] riscv: add ARCH_METANOIA Kconfig entry Benoît Monin
2026-11-06 9:30 ` [PATCH 16/25] reset: simple: add Metanoia MT2824 support Benoît Monin
2026-11-06 9:30 ` [PATCH 17/25] spi: atcspi200: add optional interrupt support Benoît Monin
2026-11-06 9:30 ` [PATCH 18/25] spi: atcspi200: allow building for Metanoia SoCs Benoît Monin
2026-11-06 9:30 ` [PATCH 19/25] watchdog: atcwdt200: " Benoît Monin
2026-11-06 9:30 ` [PATCH 20/25] mmc: sdhci-of-dwcmshc: add MT2824 support Benoît Monin
2026-11-06 9:30 ` [PATCH 21/25] mmc: sdhci-of-dwcmshc: add MT2824 tuning and HS400 support Benoît Monin
2026-11-06 9:30 ` [PATCH 22/25] phy: metanoia: add USB2 PHY driver Benoît Monin
2026-11-06 9:56 ` Philipp Zabel
2026-11-06 9:30 ` [PATCH 23/25] usb: dwc2: add support for Metanoia MT2824 Benoît Monin
2026-11-06 11:52 ` Krzysztof Kozlowski
2026-11-06 11:52 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 24/25] riscv: add Metanoia MT2824 SoC and MT5824 EVB support Benoît Monin
2026-11-06 10:04 ` Philipp Zabel
2026-11-06 11:21 ` Krzysztof Kozlowski
2026-11-06 9:30 ` [PATCH 25/25] MAINTAINERS: add RISC-V Metanoia SoC support Benoît Monin
2026-11-06 11:22 ` Krzysztof Kozlowski
2026-11-06 11:15 ` [PATCH 00/25] riscv: add support for the Metanoia MT2824 SoC and MT5824 EVB Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261106-mt2824-v1-0-86087eaf5af4@bootlin.com \
--to=benoit.monin@bootlin.com \
--cc=adrian.hunter@intel.com \
--cc=alex@ghiti.fr \
--cc=aou@eecs.berkeley.edu \
--cc=ben717@andestech.com \
--cc=broonie@kernel.org \
--cc=cl634@andestech.com \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=daniel.lezcano@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=hminas@synopsys.com \
--cc=jic23@kernel.org \
--cc=jszhang@kernel.org \
--cc=jun.chang@metanoia-comm.com \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-phy@lists.infradead.org \
--cc=linux-pm@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=linux-spi@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=mani@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=p.zabel@pengutronix.de \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=pjw@kernel.org \
--cc=prabhakar.mahadev-lad.rj@bp.renesas.com \
--cc=radu@rendec.net \
--cc=randolph@andestech.com \
--cc=robh@kernel.org \
--cc=samuel.holland@sifive.com \
--cc=sre@kernel.org \
--cc=tglx@kernel.org \
--cc=thomas.petazzoni@bootlin.com \
--cc=ulfh@kernel.org \
--cc=vkoul@kernel.org \
--cc=wim@linux-watchdog.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®