[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