[PATCH V3 4/6] dt-bindings: dma: xlnx,zynqmp-dma: Add Versal Net compatible support
Golla, Nagendra
Nagendra.Golla at amd.com
Thu Aug 20 21:30:41 PDT 2026
Hi Frank
On 8/11/2026 10:11 PM, Frank Li wrote:
> On Mon, Aug 10, 2026 at 03:34:50PM +0530, Golla Nagendra wrote:
>> From: Jay Buddhabhatti <jay.buddhabhatti at amd.com>
>>
>> Introduce a new compatible string amd,versal-net-dma-1.0 for
>> Versal Net ZDMA.The new compatible requires xlnx,zynqmp-dma-1.0 as a
>> fallback.
>>
>> Add a reset property to describe the per-channel reset line exposed
>> on Versal Gen2 and Versal Net.
>
> why only one reset if per-channel reset line?
Thanks for the review
Each ZDMA channel has its own DT node, so maxItems: 1 means one reset
per channel node — which is exactly the per-channel reset.
Thanks,
Nagendra
>
>> Mark the resets property as required
>> for both Versal Gen2 and Versal Net, and not applicable for other
>> platforms.
>>
>> Note that making resets required for Versal Gen2 results in an ABI
>> break but this is unavoidable. When DMA is used by two software components
>> back to back (e.g., firmware before Linux boot), DMA functionality fails
>> due to configuration differences or the DMA being left in a bad state by
>> the previous user. The channel can only be cleanly re-configured after
>> a DMA channel reset,making it essential.
>>
>> Signed-off-by: Jay Buddhabhatti <jay.buddhabhatti at amd.com>
>> Co-developed-by: Golla Nagendra <nagendra.golla at amd.com>
>> Signed-off-by: Golla Nagendra <nagendra.golla at amd.com>
>> ---
>> Changes in V3:
>> - Use allOf:if:then: to restrict the resets property per-compatible,
>> making it required for amd,versal2-dma-1.0 and amd,versal-net-dma-1.0
>> and explicitly setting resets: false for all other platforms
>> - Add amd,versal-net-dma-1.0 compatible string with xlnx,zynqmp-dma-1.0
>> as fallback
>> - Switch compatible from enum to oneOf to accommodate the new multi-item
>> entry for Versal Net
>> - Add ABI break justification
>> ---
>> .../dma/xilinx/xlnx,zynqmp-dma-1.0.yaml | 25 ++++++++++++++++---
>> 1 file changed, 22 insertions(+), 3 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> index 2da86037ad79..87c65aef5c7d 100644
>> --- a/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> +++ b/Documentation/devicetree/bindings/dma/xilinx/xlnx,zynqmp-dma-1.0.yaml
>> @@ -18,15 +18,31 @@ maintainers:
>>
>> allOf:
>> - $ref: ../dma-controller.yaml#
>> + - if:
>> + properties:
>> + compatible:
>> + contains:
>> + enum:
>> + - amd,versal2-dma-1.0
>> + - amd,versal-net-dma-1.0
>> + then:
>> + required:
>> + - resets
>> + else:
>> + properties:
>> + resets: false
>>
>> properties:
>> "#dma-cells":
>> const: 1
>>
>> compatible:
>> - enum:
>> - - amd,versal2-dma-1.0
>> - - xlnx,zynqmp-dma-1.0
>> + oneOf:
>> + - const: amd,versal2-dma-1.0
>> + - const: xlnx,zynqmp-dma-1.0
>
> use enum
> - enum
> - amd,versal2-dma-1.0
> - xlnx,zynqmp-dma-1.0
>
>> + - items:
>> + - const: amd,versal-net-dma-1.0
>> + - const: xlnx,zynqmp-dma-1.0
>>
>> reg:
>> description: memory map for gdma/adma module access
>> @@ -59,6 +75,9 @@ properties:
>> power-domains:
>> maxItems: 1
>>
>> + resets:
>> + maxItems: 1
>> +
>> dma-coherent: true
>>
>> required:
>> --
>> 2.43.7
>>
More information about the linux-arm-kernel
mailing list