From 4e72722bfb7dec028e11278a924bb8bef3e10897 Mon Sep 17 00:00:00 2001
From: Samuel Holland <samuel@sholland.org>
Date: Sat, 13 Nov 2021 10:48:24 -0600
Subject: [PATCH 067/117] ASoC: dt-bindings: sun4i-spdif: Add compatible for D1

D1 mostly keeps the existing register layout, but it separates the
module clock into separate clocks for the RX block and the TX block.

Signed-off-by: Samuel Holland <samuel@sholland.org>
---
 .../sound/allwinner,sun4i-a10-spdif.yaml      | 54 +++++++++++++++----
 1 file changed, 44 insertions(+), 10 deletions(-)

--- a/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml
+++ b/Documentation/devicetree/bindings/sound/allwinner,sun4i-a10-spdif.yaml
@@ -18,10 +18,12 @@ properties:
 
   compatible:
     oneOf:
-      - const: allwinner,sun4i-a10-spdif
-      - const: allwinner,sun6i-a31-spdif
-      - const: allwinner,sun8i-h3-spdif
-      - const: allwinner,sun50i-h6-spdif
+      - enum:
+          - allwinner,sun4i-a10-spdif
+          - allwinner,sun6i-a31-spdif
+          - allwinner,sun8i-h3-spdif
+          - allwinner,sun20i-d1-spdif
+          - allwinner,sun50i-h6-spdif
       - items:
           - const: allwinner,sun8i-a83t-spdif
           - const: allwinner,sun8i-h3-spdif
@@ -36,14 +38,12 @@ properties:
     maxItems: 1
 
   clocks:
-    items:
-      - description: Bus Clock
-      - description: Module Clock
+    minItems: 2
+    maxItems: 3
 
   clock-names:
-    items:
-      - const: apb
-      - const: spdif
+    minItems: 2
+    maxItems: 3
 
   # Even though it only applies to subschemas under the conditionals,
   # not listing them here will trigger a warning because of the
@@ -59,8 +59,42 @@ allOf:
         compatible:
           contains:
             enum:
+              - allwinner,sun20i-d1-spdif
+
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Bus Clock
+            - description: RX Module Clock
+            - description: TX Module Clock
+
+        clock-names:
+          items:
+            - const: apb
+            - const: rx
+            - const: tx
+
+    else:
+      properties:
+        clocks:
+          items:
+            - description: Bus Clock
+            - description: Module Clock
+
+        clock-names:
+          items:
+            - const: apb
+            - const: spdif
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
               - allwinner,sun6i-a31-spdif
               - allwinner,sun8i-h3-spdif
+              - allwinner,sun20i-d1-spdif
               - allwinner,sun50i-h6-spdif
 
     then:
