spi: dt-bindings: marvell,mmp2-ssp: Merge PXA SSP into schema
authorRob Herring (Arm) <robh@kernel.org>
Wed, 22 May 2024 13:28:58 +0000 (08:28 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 27 May 2024 00:33:37 +0000 (01:33 +0100)
The Marvell PXA SSP block is the same or similiar to the MMP2 variant.
The only difference in the binding is the PXA version supports DMA (and
that's probably a binding difference rather than an actual h/w
difference).

The old binding didn't belong under 'serial' as it is not a UART. The
SSP block also supports audio devices, so 'spi' is not a perfect fit
either. As the existing schema for MMP2 is there, just leave things
as-is.

The examples in the old text binding were pretty out of sync with
reality. 'clock-names' and 'ssp-id' aren't documented nor used.

Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://msgid.link/r/20240522132859.3146335-1-robh@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt [deleted file]
Documentation/devicetree/bindings/spi/marvell,mmp2-ssp.yaml

diff --git a/Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt b/Documentation/devicetree/bindings/serial/mrvl,pxa-ssp.txt
deleted file mode 100644 (file)
index d10cc06..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-Device tree bindings for Marvell PXA SSP ports
-
-Required properties:
-
-       - compatible:   Must be one of
-                               mrvl,pxa25x-ssp
-                               mvrl,pxa25x-nssp
-                               mrvl,pxa27x-ssp
-                               mrvl,pxa3xx-ssp
-                               mvrl,pxa168-ssp
-                               mrvl,pxa910-ssp
-                               mrvl,ce4100-ssp
-
-       - reg:          The memory base
-       - dmas:         Two dma phandles, one for rx, one for tx
-       - dma-names:    Must be "rx", "tx"
-
-
-Example for PXA3xx:
-
-       ssp0: ssp@41000000 {
-               compatible = "mrvl,pxa3xx-ssp";
-               reg = <0x41000000 0x40>;
-               ssp-id = <1>;
-               interrupts = <24>;
-               clock-names = "pxa27x-ssp.0";
-               dmas = <&dma 13
-                       &dma 14>;
-               dma-names = "rx", "tx";
-       };
-
-       ssp1: ssp@41700000 {
-               compatible = "mrvl,pxa3xx-ssp";
-               reg = <0x41700000 0x40>;
-               ssp-id = <2>;
-               interrupts = <16>;
-               clock-names = "pxa27x-ssp.1";
-               dmas = <&dma 15
-                       &dma 16>;
-               dma-names = "rx", "tx";
-       };
-
-       ssp2: ssp@41900000 {
-               compatibl3 = "mrvl,pxa3xx-ssp";
-               reg = <0x41900000 0x40>;
-               ssp-id = <3>;
-               interrupts = <0>;
-               clock-names = "pxa27x-ssp.2";
-               dmas = <&dma 66
-                       &dma 67>;
-               dma-names = "rx", "tx";
-       };
-
-       ssp3: ssp@41a00000 {
-               compatible = "mrvl,pxa3xx-ssp";
-               reg = <0x41a00000 0x40>;
-               ssp-id = <4>;
-               interrupts = <13>;
-               clock-names = "pxa27x-ssp.3";
-               dmas = <&dma 2
-                       &dma 3>;
-               dma-names = "rx", "tx";
-       };
-
index 5f4f6b5615d0650496e5854b7181f6d155ce5f9f..0a1bada8f800e915d4be3cd3519133e087bac44e 100644 (file)
@@ -10,12 +10,17 @@ title: PXA2xx SSP SPI Controller
 maintainers:
   - Lubomir Rintel <lkundrak@v3.sk>
 
-allOf:
-  - $ref: spi-controller.yaml#
-
 properties:
   compatible:
-    const: marvell,mmp2-ssp
+    enum:
+      - marvell,mmp2-ssp
+      - mrvl,ce4100-ssp
+      - mvrl,pxa168-ssp
+      - mrvl,pxa25x-ssp
+      - mvrl,pxa25x-nssp
+      - mrvl,pxa27x-ssp
+      - mrvl,pxa3xx-ssp
+      - mrvl,pxa910-ssp
 
   interrupts:
     maxItems: 1
@@ -26,6 +31,16 @@ properties:
   clocks:
     maxItems: 1
 
+  dmas:
+    items:
+      - description: Receive DMA
+      - description: Transmit DMA
+
+  dma-names:
+    items:
+      - const: rx
+      - const: tx
+
   ready-gpios:
     description: |
       GPIO used to signal a SPI master that the FIFO is filled and we're
@@ -41,6 +56,18 @@ required:
 dependencies:
   ready-gpios: [ spi-slave ]
 
+allOf:
+  - $ref: spi-controller.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: marvell,mmp2-ssp
+    then:
+      properties:
+        dmas: false
+        dma-names: false
+
 unevaluatedProperties: false
 
 examples: