[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