* [PATCH v3 0/2] dt-bindings: dma: nvidia,tegra20-apbdma: Add json schema for text binding @ 2025-05-06 11:02 Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 1/2] arm: dts: nvidia: tegra20,30: Rename the apbdma nodename to match with common dma-controller binding Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema Charan Pedumuru 0 siblings, 2 replies; 6+ messages in thread From: Charan Pedumuru @ 2025-05-06 11:02 UTC (permalink / raw) To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel, Charan Pedumuru, Krzysztof Kozlowski Create a YAML binding for nvidia,tegra20-apbdma and modify the apbdma nodename in dts to match with the common dma-controller binding. Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com> --- Changes in v3: - Dropped arch from subject line for dts patch. - Removed include statement for interrupt-controller under examples. - Link to v2: https://lore.kernel.org/r/20250506-nvidea-dma-v2-0-2427159c4c4b@gmail.com Changes in v2: - Modified the subject to add subject prefix to the binding patch. - Changed the alignment of properties and required in the binding. - Removed description for "dma-cells" and included allOf to dma-controller. - Changed the include statement to use irq.h instead of arm-gic.h. - Created a new patch to rename apbdma node to match with common dma-controller binding. - Link to v1: https://lore.kernel.org/r/20250501-nvidea-dma-v1-1-a29187f574ba@gmail.com --- Charan Pedumuru (2): arm: dts: nvidia: tegra20,30: Rename the apbdma nodename to match with common dma-controller binding dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema .../bindings/dma/nvidia,tegra20-apbdma.txt | 44 ----------- .../bindings/dma/nvidia,tegra20-apbdma.yaml | 89 ++++++++++++++++++++++ arch/arm/boot/dts/nvidia/tegra20.dtsi | 2 +- arch/arm/boot/dts/nvidia/tegra30.dtsi | 2 +- 4 files changed, 91 insertions(+), 46 deletions(-) --- base-commit: 9d9096722447b77662d4237a09909bde7774f22e change-id: 20250430-nvidea-dma-dc874a2f65f7 Best regards, -- Charan Pedumuru <charan.pedumuru@gmail.com> ^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/2] arm: dts: nvidia: tegra20,30: Rename the apbdma nodename to match with common dma-controller binding 2025-05-06 11:02 [PATCH v3 0/2] dt-bindings: dma: nvidia,tegra20-apbdma: Add json schema for text binding Charan Pedumuru @ 2025-05-06 11:02 ` Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema Charan Pedumuru 1 sibling, 0 replies; 6+ messages in thread From: Charan Pedumuru @ 2025-05-06 11:02 UTC (permalink / raw) To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel, Charan Pedumuru, Krzysztof Kozlowski Rename the apbdma nodename from "dma@" to "dma-controller@" to align with linux common dma-controller binding. Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> --- arch/arm/boot/dts/nvidia/tegra20.dtsi | 2 +- arch/arm/boot/dts/nvidia/tegra30.dtsi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/arm/boot/dts/nvidia/tegra20.dtsi b/arch/arm/boot/dts/nvidia/tegra20.dtsi index 8da75ccc44025bf2978141082332b78bf94c38a9..882adb7f2f26392db2be386b0a936453fc839049 100644 --- a/arch/arm/boot/dts/nvidia/tegra20.dtsi +++ b/arch/arm/boot/dts/nvidia/tegra20.dtsi @@ -284,7 +284,7 @@ flow-controller@60007000 { reg = <0x60007000 0x1000>; }; - apbdma: dma@6000a000 { + apbdma: dma-controller@6000a000 { compatible = "nvidia,tegra20-apbdma"; reg = <0x6000a000 0x1200>; interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, diff --git a/arch/arm/boot/dts/nvidia/tegra30.dtsi b/arch/arm/boot/dts/nvidia/tegra30.dtsi index f866fa7b55a509a0f66d3e49456565df0d74a678..2a4d93db81347e3e1dd942e6c10a1ff5683402e7 100644 --- a/arch/arm/boot/dts/nvidia/tegra30.dtsi +++ b/arch/arm/boot/dts/nvidia/tegra30.dtsi @@ -431,7 +431,7 @@ flow-controller@60007000 { reg = <0x60007000 0x1000>; }; - apbdma: dma@6000a000 { + apbdma: dma-controller@6000a000 { compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; reg = <0x6000a000 0x1400>; interrupts = <GIC_SPI 104 IRQ_TYPE_LEVEL_HIGH>, -- 2.43.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema 2025-05-06 11:02 [PATCH v3 0/2] dt-bindings: dma: nvidia,tegra20-apbdma: Add json schema for text binding Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 1/2] arm: dts: nvidia: tegra20,30: Rename the apbdma nodename to match with common dma-controller binding Charan Pedumuru @ 2025-05-06 11:02 ` Charan Pedumuru 2025-05-06 11:12 ` Krzysztof Kozlowski 1 sibling, 1 reply; 6+ messages in thread From: Charan Pedumuru @ 2025-05-06 11:02 UTC (permalink / raw) To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel, Charan Pedumuru Update text binding to YAML. Changes during conversion: - Add a fallback for "nvidia,tegra30-apbdma" as it is compatible with the IP core on "nvidia,tegra20-apbdma". - Update examples and include appropriate file directives to resolve errors identified by `dt_binding_check` and `dtbs_check`. Signed-off-by: Charan Pedumuru <charan.pedumuru@gmail.com> --- .../bindings/dma/nvidia,tegra20-apbdma.txt | 44 ----------- .../bindings/dma/nvidia,tegra20-apbdma.yaml | 89 ++++++++++++++++++++++ 2 files changed, 89 insertions(+), 44 deletions(-) diff --git a/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.txt b/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.txt deleted file mode 100644 index 447fb44e7abeaa7ca3010b9518533e786cce56a8..0000000000000000000000000000000000000000 --- a/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.txt +++ /dev/null @@ -1,44 +0,0 @@ -* NVIDIA Tegra APB DMA controller - -Required properties: -- compatible: Should be "nvidia,<chip>-apbdma" -- reg: Should contain DMA registers location and length. This should include - all of the per-channel registers. -- interrupts: Should contain all of the per-channel DMA interrupts. -- clocks: Must contain one entry, for the module clock. - See ../clocks/clock-bindings.txt for details. -- resets : Must contain an entry for each entry in reset-names. - See ../reset/reset.txt for details. -- reset-names : Must include the following entries: - - dma -- #dma-cells : Must be <1>. This dictates the length of DMA specifiers in - client nodes' dmas properties. The specifier represents the DMA request - select value for the peripheral. For more details, consult the Tegra TRM's - documentation of the APB DMA channel control register REQ_SEL field. - -Examples: - -apbdma: dma@6000a000 { - compatible = "nvidia,tegra20-apbdma"; - reg = <0x6000a000 0x1200>; - interrupts = < 0 136 0x04 - 0 137 0x04 - 0 138 0x04 - 0 139 0x04 - 0 140 0x04 - 0 141 0x04 - 0 142 0x04 - 0 143 0x04 - 0 144 0x04 - 0 145 0x04 - 0 146 0x04 - 0 147 0x04 - 0 148 0x04 - 0 149 0x04 - 0 150 0x04 - 0 151 0x04 >; - clocks = <&tegra_car 34>; - resets = <&tegra_car 34>; - reset-names = "dma"; - #dma-cells = <1>; -}; diff --git a/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.yaml b/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.yaml new file mode 100644 index 0000000000000000000000000000000000000000..9ff2bc279f839658e707552856ab5f559093ff33 --- /dev/null +++ b/Documentation/devicetree/bindings/dma/nvidia,tegra20-apbdma.yaml @@ -0,0 +1,89 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/dma/nvidia,tegra20-apbdma.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: NVIDIA Tegra APB DMA Controller + +description: + The NVIDIA Tegra APB DMA controller is a hardware component that + enables direct memory access (DMA) on Tegra systems. It facilitates + data transfer between I/O devices and main memory without constant + CPU intervention. + +maintainers: + - Jonathan Hunter <jonathanh@nvidia.com> + +properties: + compatible: + oneOf: + - const: nvidia,tegra20-apbdma + - items: + - const: nvidia,tegra30-apbdma + - const: nvidia,tegra20-apbdma + + reg: + maxItems: 1 + + "#dma-cells": + const: 1 + + clocks: + maxItems: 1 + + interrupts: + description: + Should contain all of the per-channel DMA interrupts in + ascending order with respect to the DMA channel index. + minItems: 1 + maxItems: 32 + + resets: + maxItems: 1 + + reset-names: + const: dma + +required: + - compatible + - reg + - "#dma-cells" + - clocks + - interrupts + - resets + - reset-names + +allOf: + - $ref: dma-controller.yaml# + +unevaluatedProperties: false + +examples: + - | + #include <dt-bindings/reset/tegra186-reset.h> + dma-controller@6000a000 { + compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; + reg = <0x6000a000 0x1200>; + interrupts = <0 136 0x04>, + <0 137 0x04>, + <0 138 0x04>, + <0 139 0x04>, + <0 140 0x04>, + <0 141 0x04>, + <0 142 0x04>, + <0 143 0x04>, + <0 144 0x04>, + <0 145 0x04>, + <0 146 0x04>, + <0 147 0x04>, + <0 148 0x04>, + <0 149 0x04>, + <0 150 0x04>, + <0 151 0x04>; + clocks = <&tegra_car 34>; + resets = <&tegra_car 34>; + reset-names = "dma"; + #dma-cells = <1>; + }; +... -- 2.43.0 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema 2025-05-06 11:02 ` [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema Charan Pedumuru @ 2025-05-06 11:12 ` Krzysztof Kozlowski 2025-05-06 11:36 ` Charan Pedumuru 0 siblings, 1 reply; 6+ messages in thread From: Krzysztof Kozlowski @ 2025-05-06 11:12 UTC (permalink / raw) To: Charan Pedumuru, Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel On 06/05/2025 13:02, Charan Pedumuru wrote: > + > +allOf: > + - $ref: dma-controller.yaml# > + > +unevaluatedProperties: false > + > +examples: > + - | > + #include <dt-bindings/reset/tegra186-reset.h> > + dma-controller@6000a000 { > + compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; > + reg = <0x6000a000 0x1200>; > + interrupts = <0 136 0x04>, You gave me little time to respond - 15 minutes - and then you sent v3. Use the header and its defines instead of hard-coding it. Wasn't this the entire point why you included the header in the first place in v1? Otherwise why was it included? > Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema 2025-05-06 11:12 ` Krzysztof Kozlowski @ 2025-05-06 11:36 ` Charan Pedumuru 2025-05-06 13:29 ` Krzysztof Kozlowski 0 siblings, 1 reply; 6+ messages in thread From: Charan Pedumuru @ 2025-05-06 11:36 UTC (permalink / raw) To: Krzysztof Kozlowski, Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel On 06-05-2025 16:42, Krzysztof Kozlowski wrote: > On 06/05/2025 13:02, Charan Pedumuru wrote: >> + >> +allOf: >> + - $ref: dma-controller.yaml# >> + >> +unevaluatedProperties: false >> + >> +examples: >> + - | >> + #include <dt-bindings/reset/tegra186-reset.h> >> + dma-controller@6000a000 { >> + compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; >> + reg = <0x6000a000 0x1200>; >> + interrupts = <0 136 0x04>, > > You gave me little time to respond - 15 minutes - and then you sent v3. > > Use the header and its defines instead of hard-coding it. Wasn't this > the entire point why you included the header in the first place in v1? > Otherwise why was it included? Oh my bad, now I got it, I will use #include <dt-bindings/interrupt-controller/arm-gic.h> header and redefine the interrupts with interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH> format instead of hard coding. Thanks for your patience and clarification. > >> > > > Best regards, > Krzysztof -- Best Regards, Charan. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema 2025-05-06 11:36 ` Charan Pedumuru @ 2025-05-06 13:29 ` Krzysztof Kozlowski 0 siblings, 0 replies; 6+ messages in thread From: Krzysztof Kozlowski @ 2025-05-06 13:29 UTC (permalink / raw) To: Charan Pedumuru, Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Thierry Reding, Jonathan Hunter Cc: dmaengine, devicetree, linux-tegra, linux-kernel On 06/05/2025 13:36, Charan Pedumuru wrote: > > > On 06-05-2025 16:42, Krzysztof Kozlowski wrote: >> On 06/05/2025 13:02, Charan Pedumuru wrote: >>> + >>> +allOf: >>> + - $ref: dma-controller.yaml# >>> + >>> +unevaluatedProperties: false >>> + >>> +examples: >>> + - | >>> + #include <dt-bindings/reset/tegra186-reset.h> >>> + dma-controller@6000a000 { >>> + compatible = "nvidia,tegra30-apbdma", "nvidia,tegra20-apbdma"; >>> + reg = <0x6000a000 0x1200>; >>> + interrupts = <0 136 0x04>, >> >> You gave me little time to respond - 15 minutes - and then you sent v3. >> >> Use the header and its defines instead of hard-coding it. Wasn't this >> the entire point why you included the header in the first place in v1? >> Otherwise why was it included? > > > Oh my bad, now I got it, I will use #include <dt-bindings/interrupt-controller/arm-gic.h> header and redefine the interrupts with > interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH> format instead of hard coding. Thanks for your patience and clarification. Thanks Best regards, Krzysztof ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-05-06 13:29 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-05-06 11:02 [PATCH v3 0/2] dt-bindings: dma: nvidia,tegra20-apbdma: Add json schema for text binding Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 1/2] arm: dts: nvidia: tegra20,30: Rename the apbdma nodename to match with common dma-controller binding Charan Pedumuru 2025-05-06 11:02 ` [PATCH v3 2/2] dt-bindings: dma: nvidia,tegra20-apbdma: convert text based binding to json schema Charan Pedumuru 2025-05-06 11:12 ` Krzysztof Kozlowski 2025-05-06 11:36 ` Charan Pedumuru 2025-05-06 13:29 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).