[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <268633D49B18C3E7+aJxMHPhItPq9ioto@LT-Guozexi>
Date: Wed, 13 Aug 2025 16:26:04 +0800
From: Troy Mitchell <troy.mitchell@...ux.spacemit.com>
To: Guodong Xu <guodong@...cstar.com>, Vinod Koul <vkoul@...nel.org>,
Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>, Yixun Lan <dlan@...too.org>,
Duje Mihanović <duje.mihanovic@...le.hr>,
Philipp Zabel <p.zabel@...gutronix.de>,
Paul Walmsley <paul.walmsley@...ive.com>,
Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>, Alexandre Ghiti <alex@...ti.fr>
Cc: Alex Elder <elder@...cstar.com>, Vivian Wang <wangruikang@...as.ac.cn>,
dmaengine@...r.kernel.org, devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-riscv@...ts.infradead.org,
spacemit@...ts.linux.dev,
Troy Mitchell <troy.mitchell@...ux.spacemit.com>
Subject: Re: [PATCH v3 0/8] dmaengine: mmp_pdma: Add SpacemiT K1 SoC support
with 64-bit addressing
Hi Guodong, thanks for your patches!
I have tested it using i2s and dma-tetst.
Tested-by: Troy Mitchell <troy.mitchell@...ux.spacemit.com>
- Troy
On Mon, Jul 14, 2025 at 05:39:27PM +0800, Guodong Xu wrote:
> This patchset adds support for SpacemiT K1 PDMA controller to the existing
> mmp_pdma driver. The K1 PDMA controller is compatible with Marvell MMP PDMA
> but extends it with 64-bit addressing capabilities through LPAE (Long
> Physical Address Extension) bit and higher 32-bit address registers (DDADRH,
> DSADRH and DTADRH).
>
> In v3, the major change is creating a separate yaml binding schema for
> SpacemiT K1 PDMA, per Krzysztof's suggestion. By doing this, the binding
> schema got simplified a lot. Deprecated property (ie. #dma-channels) and
> unused values for backward compatibility (#dma-cells const 2) can be
> removed.
>
> Other changes involve placing pdma0 node in k1.dtsi and in board specific
> dts files with proper ordering.
>
> The patchset has been tested on BananaPi F3 board.
>
> This patchset is based on SpacemiT linux (for-next) [1] with Patch 8
> depending on:
> - riscv: defconfig: run savedefconfig to reorder it
> It has been merged into riscv/linux.git (for-next)
> Link: https://git.kernel.org/riscv/c/d958097bdf88
>
> [1] https://github.com/spacemit-com/linux.git (for-next)
>
> All of these patches are available here:
> https://github.com/docularxu/linux/tree/working_dma_0714_v3
>
> Changes in v3:
> - Created separated yaml binding for Spacemit K1 PDMA controller
> - Updated pdma0 node properties according to the new yaml binding
> - Put pdma0 node in k1.dtsi according to its device address
> - Put pdma0 node in board dts files according to alphabetic order
>
> Link to v2:
> https://lore.kernel.org/r/20250701-working_dma_0701_v2-v2-0-ab6ee9171d26@riscstar.com
>
> Changes in v2:
> - Tag the series as "damengine".
> - Used more specific compatible string "spacemit,k1-pdma"
> - Enhanced DT bindings with conditional constraints:
> - clocks/resets properties only required for SpacemiT K1
> - #dma-cells set to 2 for marvell,pdma-1.0 and spacemit,k1-pdma
> - #dma-cells set to 1 for other variants
> - Split mmp_pdma driver changes per maintainer feedback:
> - First patch (4/8) adds ops abstraction layer and 32-bit support
> - Second patch (5/8) adds K1-specific 64-bit support
> - Merged Kconfig changes into the dmaengine: mmp_pdma driver patch (5/8)
> - Enabled pdma0 on both BPI-F3 and Milk-V Jupiter
>
> Link to v1:
> https://lore.kernel.org/all/20250611125723.181711-1-guodong@riscstar.com/
>
> Signed-off-by: Guodong Xu <guodong@...cstar.com>
> ---
> Guodong Xu (8):
> dt-bindings: dma: Add SpacemiT K1 PDMA controller
> dmaengine: mmp_pdma: Add optional clock support
> dmaengine: mmp_pdma: Add optional reset controller support
> dmaengine: mmp_pdma: Add operations structure for controller abstraction
> dmaengine: mmp_pdma: Add SpacemiT K1 PDMA support with 64-bit addressing
> riscv: dts: spacemit: Add PDMA0 node for K1 SoC
> riscv: dts: spacemit: Enable PDMA0 on Banana Pi F3 and Milkv Jupiter
> riscv: defconfig: Enable MMP_PDMA support for SpacemiT K1 SoC
>
> .../devicetree/bindings/dma/spacemit,k1-pdma.yaml | 68 +++++
> arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts | 4 +
> arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts | 4 +
> arch/riscv/boot/dts/spacemit/k1.dtsi | 11 +
> arch/riscv/configs/defconfig | 1 +
> drivers/dma/Kconfig | 2 +-
> drivers/dma/mmp_pdma.c | 281 ++++++++++++++++++---
> 7 files changed, 339 insertions(+), 32 deletions(-)
> ---
> base-commit: 6be7a5a768aafcb07d177bd2ae36ab84e4e0acde
> change-id: 20250701-working_dma_0701_v2-7d2cf506aad7
> prerequisite-change-id: 20250611-01-riscv-defconfig-7f90f73d283d:v1
> prerequisite-patch-id: 53bda77e089023a09152a7d5403e1a738355c5d3
>
> Best regards,
> --
> Guodong Xu <guodong@...cstar.com>
>
>
> _______________________________________________
> linux-riscv mailing list
> linux-riscv@...ts.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-riscv
Powered by blists - more mailing lists