[PATCH V3 5/6] dmaengine: zynqmp_dma: Add new compatible string for Versal Net
From: Golla Nagendra
Date: Mon Aug 10 2026 - 06:11:41 EST
Versal Net previously used the legacy xlnx,zynqmp-dma-1.0 compatible
string. Add amd,versal-net-dma-1.0 to the of_device_id match table
with SoC-specific match data via versal_net_dma_config.
Introduce a has_reset field in zynqmp_dma_config to indicate whether
the compatible requires a per-channel reset during probe.
Signed-off-by: Golla Nagendra <nagendra.golla@xxxxxxx>
---
Changes in V3:
- New patch: add amd,versal-net-dma-1.0 to the driver match table with
versal_net_dma_config (has_reset=true, offset=0)
---
drivers/dma/xilinx/zynqmp_dma.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/dma/xilinx/zynqmp_dma.c b/drivers/dma/xilinx/zynqmp_dma.c
index b03171e37e27..7561416b8e62 100644
--- a/drivers/dma/xilinx/zynqmp_dma.c
+++ b/drivers/dma/xilinx/zynqmp_dma.c
@@ -259,13 +259,20 @@ struct zynqmp_dma_device {
};
struct zynqmp_dma_config {
+ bool has_reset;
u32 offset;
};
static const struct zynqmp_dma_config versal2_dma_config = {
+ .has_reset = true,
.offset = IRQ_REG_OFFSET,
};
+/* offset = 0: Versal Net uses base IRQ register address */
+static const struct zynqmp_dma_config versal_net_dma_config = {
+ .has_reset = true,
+};
+
static inline void zynqmp_dma_writeq(struct zynqmp_dma_chan *chan, u32 reg,
u64 value)
{
@@ -1184,6 +1191,7 @@ static void zynqmp_dma_remove(struct platform_device *pdev)
static const struct of_device_id zynqmp_dma_of_match[] = {
{ .compatible = "amd,versal2-dma-1.0", .data = &versal2_dma_config },
+ { .compatible = "amd,versal-net-dma-1.0", .data = &versal_net_dma_config },
{ .compatible = "xlnx,zynqmp-dma-1.0", },
{}
};
--
2.43.7