2024-01-31 21:27:13

by Duje Mihanović

[permalink] [raw]
Subject: [PATCH v2 0/2] dt-bindings: mmp-dma: YAML conversion

Convert the mmp-dma binding to YAML and drop a useless property in
MMP2's ADMA node.

Signed-off-by: Duje Mihanović <[email protected]>
---
Changes in v2:
- Add patch dropping iram in MMP2 dtsi
- Properly define asram property
- Fix asram constraint
- Drop pdma0 label
- Drop redundant second example
- Link to v1: https://lore.kernel.org/r/[email protected]

---
Duje Mihanović (2):
ARM: dts: mmp2: drop iram property
dt-bindings: mmp-dma: convert to YAML

.../devicetree/bindings/dma/marvell,mmp-dma.yaml | 72 +++++++++++++++++++
Documentation/devicetree/bindings/dma/mmp-dma.txt | 81 ----------------------
arch/arm/boot/dts/marvell/mmp2.dtsi | 1 -
3 files changed, 72 insertions(+), 82 deletions(-)
---
base-commit: 41bccc98fb7931d63d03f326a746ac4d429c1dd3
change-id: 20240125-pxa-dma-yaml-0b62e10824f4

Best regards,
--
Duje Mihanović <[email protected]>




2024-01-31 21:27:38

by Duje Mihanović

[permalink] [raw]
Subject: [PATCH v2 2/2] dt-bindings: mmp-dma: convert to YAML

Convert the Marvell MMP DMA binding to YAML.

The TXT binding mentions that the controller may have one IRQ per DMA
channel. Examples of this were dropped in the YAML binding because of
dt_binding_check complaints (either too many interrupt cells or
interrupts) and the fact that this is not used in any of the in-tree
device trees.

Signed-off-by: Duje Mihanović <[email protected]>
---
.../devicetree/bindings/dma/marvell,mmp-dma.yaml | 72 +++++++++++++++++++
Documentation/devicetree/bindings/dma/mmp-dma.txt | 81 ----------------------
2 files changed, 72 insertions(+), 81 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml b/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml
new file mode 100644
index 000000000000..d447d5207be0
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/marvell,mmp-dma.yaml
@@ -0,0 +1,72 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/marvell,mmp-dma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Marvell MMP DMA controller
+
+maintainers:
+ - Duje Mihanović <[email protected]>
+
+description:
+ Marvell MMP SoCs may have two types of DMA controllers, peripheral and audio.
+
+properties:
+ compatible:
+ enum:
+ - marvell,pdma-1.0
+ - marvell,adma-1.0
+ - marvell,pxa910-squ
+
+ reg:
+ maxItems: 1
+
+ interrupts:
+ description:
+ Interrupt lines for the controller, may be shared or one per DMA channel
+ minItems: 1
+
+ asram:
+ description:
+ A phandle to the SRAM pool
+ $ref: /schemas/types.yaml#/definitions/phandle
+
+ '#dma-channels':
+ deprecated: true
+
+ '#dma-requests':
+ deprecated: true
+
+required:
+ - compatible
+ - reg
+ - interrupts
+ - '#dma-cells'
+
+allOf:
+ - $ref: dma-controller.yaml#
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - marvell,pdma-1.0
+ then:
+ properties:
+ asram: false
+ else:
+ required:
+ - asram
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ dma-controller@d4000000 {
+ compatible = "marvell,pdma-1.0";
+ reg = <0xd4000000 0x10000>;
+ interrupts = <47>;
+ #dma-cells = <2>;
+ dma-channels = <16>;
+ };
diff --git a/Documentation/devicetree/bindings/dma/mmp-dma.txt b/Documentation/devicetree/bindings/dma/mmp-dma.txt
deleted file mode 100644
index ec18bf0a802a..000000000000
--- a/Documentation/devicetree/bindings/dma/mmp-dma.txt
+++ /dev/null
@@ -1,81 +0,0 @@
-* MARVELL MMP DMA controller
-
-Marvell Peripheral DMA Controller
-Used platforms: pxa688, pxa910, pxa3xx, etc
-
-Required properties:
-- compatible: Should be "marvell,pdma-1.0"
-- reg: Should contain DMA registers location and length.
-- interrupts: Either contain all of the per-channel DMA interrupts
- or one irq for pdma device
-
-Optional properties:
-- dma-channels: Number of DMA channels supported by the controller (defaults
- to 32 when not specified)
-- #dma-channels: deprecated
-- dma-requests: Number of DMA requestor lines supported by the controller
- (defaults to 32 when not specified)
-- #dma-requests: deprecated
-
-"marvell,pdma-1.0"
-Used platforms: pxa25x, pxa27x, pxa3xx, pxa93x, pxa168, pxa910, pxa688.
-
-Examples:
-
-/*
- * Each channel has specific irq
- * ICU parse out irq channel from ICU register,
- * while DMA controller may not able to distinguish the irq channel
- * Using this method, interrupt-parent is required as demuxer
- * For example, pxa688 icu register 0x128, bit 0~15 is PDMA channel irq,
- * 18~21 is ADMA irq
- */
-pdma: dma-controller@d4000000 {
- compatible = "marvell,pdma-1.0";
- reg = <0xd4000000 0x10000>;
- interrupts = <0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15>;
- interrupt-parent = <&intcmux32>;
- dma-channels = <16>;
- };
-
-/*
- * One irq for all channels
- * Dmaengine driver (DMA controller) distinguish irq channel via
- * parsing internal register
- */
-pdma: dma-controller@d4000000 {
- compatible = "marvell,pdma-1.0";
- reg = <0xd4000000 0x10000>;
- interrupts = <47>;
- dma-channels = <16>;
- };
-
-
-Marvell Two Channel DMA Controller used specifically for audio
-Used platforms: pxa688, pxa910
-
-Required properties:
-- compatible: Should be "marvell,adma-1.0" or "marvell,pxa910-squ"
-- reg: Should contain DMA registers location and length.
-- interrupts: Either contain all of the per-channel DMA interrupts
- or one irq for dma device
-
-"marvell,adma-1.0" used on pxa688
-"marvell,pxa910-squ" used on pxa910
-
-Examples:
-
-/* each channel has specific irq */
-adma0: dma-controller@d42a0800 {
- compatible = "marvell,adma-1.0";
- reg = <0xd42a0800 0x100>;
- interrupts = <18 19>;
- interrupt-parent = <&intcmux32>;
- };
-
-/* One irq for all channels */
-squ: dma-controller@d42a0800 {
- compatible = "marvell,pxa910-squ";
- reg = <0xd42a0800 0x100>;
- interrupts = <46>;
- };

--
2.43.0



2024-01-31 21:28:15

by Duje Mihanović

[permalink] [raw]
Subject: [PATCH v2 1/2] ARM: dts: mmp2: drop iram property

The iram property appears to be a duplicate of the asram property, with
the difference that it's not used by the mmp-tdma driver anyway. Drop it
from the SoC dtsi.

Signed-off-by: Duje Mihanović <[email protected]>
---
arch/arm/boot/dts/marvell/mmp2.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm/boot/dts/marvell/mmp2.dtsi b/arch/arm/boot/dts/marvell/mmp2.dtsi
index 987d792f67ea..1c0a1b58373c 100644
--- a/arch/arm/boot/dts/marvell/mmp2.dtsi
+++ b/arch/arm/boot/dts/marvell/mmp2.dtsi
@@ -212,7 +212,6 @@ adma0: dma-controller@d42a0800 {
interrupts = <48>;
#dma-cells = <1>;
asram = <&asram>;
- iram = <&asram>;
status = "disabled";
};


--
2.43.0



2024-02-02 20:07:28

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: mmp-dma: convert to YAML


On Wed, 31 Jan 2024 22:26:03 +0100, Duje Mihanović wrote:
> Convert the Marvell MMP DMA binding to YAML.
>
> The TXT binding mentions that the controller may have one IRQ per DMA
> channel. Examples of this were dropped in the YAML binding because of
> dt_binding_check complaints (either too many interrupt cells or
> interrupts) and the fact that this is not used in any of the in-tree
> device trees.
>
> Signed-off-by: Duje Mihanović <[email protected]>
> ---
> .../devicetree/bindings/dma/marvell,mmp-dma.yaml | 72 +++++++++++++++++++
> Documentation/devicetree/bindings/dma/mmp-dma.txt | 81 ----------------------
> 2 files changed, 72 insertions(+), 81 deletions(-)
>

Reviewed-by: Rob Herring <[email protected]>


2024-02-07 08:57:04

by Vinod Koul

[permalink] [raw]
Subject: Re: (subset) [PATCH v2 0/2] dt-bindings: mmp-dma: YAML conversion


On Wed, 31 Jan 2024 22:26:01 +0100, Duje Mihanović wrote:
> Convert the mmp-dma binding to YAML and drop a useless property in
> MMP2's ADMA node.
>
>

Applied, thanks!

[2/2] dt-bindings: mmp-dma: convert to YAML
commit: d2363272ef9f96709ec1a146bb66378256c92e1d

Best regards,
--
~Vinod