[PATCH v2 0/2] dmaengine: ma35d1-pdma: Add MA35D1 PDMA driver

From: Shan-Chun Hung

Date: Mon Nov 09 2026 - 00:29:17 EST


This series adds the PDMA controller driver and DT binding for the
Nuvoton MA35D1 SoC.

The driver supports memory-to-memory, slave scatter-gather and cyclic
transfers.

Tested on the MA35D1 SOM board with Linux v7.4-rc1:
- memory-to-memory with dmatest (2000 iterations of 1MB buffers, no failures)
- slave scatter-gather with a local (not yet submitted) QSPI patch
- cyclic slave with a local (not yet submitted) I2S patch

Changes in v2:
- Address issues identified by Sashiko AI review:
- Program registers on descriptor start instead of prep.
- Fix interrupt completion handling and return IRQ_NONE when idle.
- Set PDMA_TBINTDIS on intermediate memcpy chunks.
- Validate scatter-gather lengths and bus width alignment.
- Fix channel request assignment in of_xlate().
- Safe controller teardown order in remove().
- Drop peripheral timeout support to simplify driver.
- binding: describe the hardware in the description, and drop
dma-channels and the dt-bindings header.
- Use a fixed number of 10 channels and trim the includes.

Signed-off-by: Shan-Chun Hung <shanchun1218@xxxxxxxxx>

Shan-Chun Hung (2):
dt-bindings: dma: nuvoton,ma35d1-pdma: Document MA35D1 PDMA controller
dmaengine: ma35d1-pdma: Add MA35D1 PDMA driver

.../bindings/dma/nuvoton,ma35d1-pdma.yaml | 71 ++
drivers/dma/Kconfig | 12 +
drivers/dma/Makefile | 1 +
drivers/dma/ma35d1-pdma.c | 672 ++++++++++++++++++
4 files changed, 756 insertions(+)
create mode 100644 Documentation/devicetree/bindings/dma/nuvoton,ma35d1-pdma.yaml
create mode 100644 drivers/dma/ma35d1-pdma.c

--
2.25.1