[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250611125723.181711-1-guodong@riscstar.com>
Date: Wed, 11 Jun 2025 20:57:15 +0800
From: Guodong Xu <guodong@...cstar.com>
To: vkoul@...nel.org,
robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
dlan@...too.org,
paul.walmsley@...ive.com,
palmer@...belt.com,
aou@...s.berkeley.edu,
alex@...ti.fr,
p.zabel@...gutronix.de,
drew@...7.com,
emil.renner.berthing@...onical.com,
inochiama@...il.com,
geert+renesas@...der.be,
tglx@...utronix.de,
hal.feng@...rfivetech.com,
joel@....id.au,
duje.mihanovic@...le.hr
Cc: guodong@...cstar.com,
elder@...cstar.com,
dmaengine@...r.kernel.org,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-riscv@...ts.infradead.org,
spacemit@...ts.linux.dev
Subject: [PATCH 0/8] dma: mmp_pdma: Add SpacemiT K1 SoC support with 64-bit addressing
This series extends the existing MMP PDMA driver to support SpacemiT PDMA
controllers with 64-bit addressing capabilities, as used in the K1 SoC.
The SpacemiT K1 SoC contains a PDMA controller that is largely compatible
with the existing Marvell MMP PDMA, but adds support for 64-bit physical
addressing through Long Physical Address Extension (LPAE) mode. This
requires programming additional high address registers (DDADRH, DSADRH,
DTADRH) and enabling the DCSR_LPAEEN control bit.
The implementation maintains full backward compatibility with existing
32-bit Marvell platforms while adding the necessary infrastructure for
64-bit address handling through a flexible configuration-based approach.
Key features added:
- 64-bit DMA address support via LPAE mode
- Platform-specific operation abstractions (mmp_pdma_ops)
- Optional clock and reset controller support for modern SoCs
- Device tree integration for SpacemiT K1 SoC and Banana Pi F3 board
Testing:
This patchset has been tested on SpacemiT K1-based Banana Pi F3 hardware
to ensure the PDMA controller operates correctly with 64-bit addressing.
Existing functionality on 32-bit platforms remains unchanged.
This patchset is based on [spacemit/for-next]
base: https://github.com/spacemit-com/linux for-next
Plus the reset controller driver, posted by Alex Elder (v10):
https://lore.kernel.org/all/20250513215345.3631593-1-elder@riscstar.com/
Guodong Xu (8):
dt-bindings: dma: marvell,mmp-dma: Add SpacemiT PDMA compatibility
dma: mmp_pdma: Add optional clock support
dma: mmp_pdma: Add optional reset controller support
dma: mmp_pdma: Add SpacemiT PDMA support with 64-bit addressing
riscv: dts: spacemit: Add dma bus and PDMA node for K1 SoC
riscv: dts: spacemit: Enable PDMA0 controller on Banana Pi F3
dma: Kconfig: MMP_PDMA: Add support for ARCH_SPACEMIT
riscv: defconfig: Enable MMP_PDMA support for SpacemiT K1 SoC
.../bindings/dma/marvell,mmp-dma.yaml | 17 ++
.../boot/dts/spacemit/k1-bananapi-f3.dts | 4 +
arch/riscv/boot/dts/spacemit/k1.dtsi | 234 ++++++++--------
arch/riscv/configs/defconfig | 3 +-
drivers/dma/Kconfig | 2 +-
drivers/dma/mmp_pdma.c | 249 +++++++++++++++---
6 files changed, 370 insertions(+), 139 deletions(-)
--
2.43.0
Powered by blists - more mailing lists