Re: [PATCH V3 4/6] dt-bindings: dma: xlnx,zynqmp-dma: Add Versal Net compatible support

"Golla, Nagendra" <[email protected]>
Newsgroups org.kernel.vger.linux-pm,org.infradead.lists.linux-arm-kernel,org.kernel.vger.dmaengine,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
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 <[email protected]>
>>
>> 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 <[email protected]>
>> Co-developed-by: Golla Nagendra <[email protected]>
>> Signed-off-by: Golla Nagendra <[email protected]>
>> ---
>> 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
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.