[Freedreno] [PATCH v2 08/18] dt-bindings: msm: dsi-controller-main: Document clocks on a per compatible basis

Bryan O'Donoghue bryan.odonoghue at linaro.org
Mon Nov 7 23:56:44 UTC 2022


Each compatible has a different set of clocks which are associated with it.
Add in the list of clocks for each compatible.

Cc: Rob Clark <robdclark at gmail.com>
Cc: Abhinav Kumar <quic_abhinavk at quicinc.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
Cc: Sean Paul <sean at poorly.run>
Cc: David Airlie <airlied at gmail.com>
Cc: Daniel Vetter <daniel at ffwll.ch>
Cc: Rob Herring <robh+dt at kernel.org>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt at linaro.org>
Cc: linux-arm-msm at vger.kernel.org
Cc: dri-devel at lists.freedesktop.org
Cc: freedreno at lists.freedesktop.org
Cc: devicetree at vger.kernel.org
Cc: linux-kernel at vger.kernel.org
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
---
 .../display/msm/dsi-controller-main.yaml      | 177 +++++++++++++++---
 1 file changed, 150 insertions(+), 27 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index 9db3e63acda3d..c975df0ca22fc 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -9,24 +9,22 @@ title: Qualcomm Display DSI controller
 maintainers:
   - Krishna Manikandan <quic_mkrishn at quicinc.com>
 
-allOf:
-  - $ref: "../dsi-controller.yaml#"
-
 properties:
   compatible:
-    enum:
-      - qcom,dsi-ctrl-6g-qcm2290
-      - qcom,mdss-dsi-ctrl
-      - qcom,mdss-dsi-ctrl-apq8064
-      - qcom,mdss-dsi-ctrl-msm8916
-      - qcom,mdss-dsi-ctrl-msm8974
-      - qcom,mdss-dsi-ctrl-msm8996
-      - qcom,mdss-dsi-ctrl-sc7180
-      - qcom,mdss-dsi-ctrl-sc7280
-      - qcom,mdss-dsi-ctrl-sdm630
-      - qcom,mdss-dsi-ctrl-sdm660
-      - qcom,mdss-dsi-ctrl-sdm845
-      - qcom,mdss-dsi-ctrl-sm8250
+    items:
+      - enum:
+          - qcom,dsi-ctrl-6g-qcm2290
+          - qcom,mdss-dsi-ctrl-apq8064
+          - qcom,mdss-dsi-ctrl-msm8916
+          - qcom,mdss-dsi-ctrl-msm8974
+          - qcom,mdss-dsi-ctrl-msm8996
+          - qcom,mdss-dsi-ctrl-sc7180
+          - qcom,mdss-dsi-ctrl-sc7280
+          - qcom,mdss-dsi-ctrl-sdm630
+          - qcom,mdss-dsi-ctrl-sdm660
+          - qcom,mdss-dsi-ctrl-sdm845
+          - qcom,mdss-dsi-ctrl-sm8250
+      - const: qcom,mdss-dsi-ctrl
 
   reg:
     maxItems: 1
@@ -51,17 +49,8 @@ properties:
     minItems: 6
 
   clock-names:
-    items:
-      - const: byte
-      - const: byte_intf
-      - const: pixel
-      - const: core
-      - const: iface
-      - const: bus
-      - const: core_mmss
-      - const: mdp_core
-      - const: mnoc
     minItems: 6
+    maxItems: 9
 
   phys:
     maxItems: 1
@@ -169,6 +158,140 @@ required:
   - vddio-supply
   - vdda-supply
 
+allOf:
+  - $ref: "../dsi-controller.yaml#"
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-apq8064
+    then:
+      properties:
+        clocks:
+          maxItems: 7
+        clock-names:
+          items:
+            - const: iface
+            - const: bus
+            - const: core_mmss
+            - const: src
+            - const: byte
+            - const: pixel
+            - const: core
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-msm8916
+    then:
+      properties:
+        clocks:
+          maxItems: 6
+        clock-names:
+          items:
+            - const: mdp_core
+            - const: iface
+            - const: bus
+            - const: byte
+            - const: pixel
+            - const: core
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-msm8974
+    then:
+      properties:
+        clocks:
+          maxItems: 3
+        clock-names:
+          items:
+            - const: iface
+            - const: bus
+            - const: vsync
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-msm8996
+    then:
+      properties:
+        clocks:
+          maxItems: 7
+        clock-names:
+          items:
+            - const: mdp_core
+            - const: byte
+            - const: iface
+            - const: bus
+            - const: core_mmss
+            - const: pixel
+            - const: core
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-sc7180
+              - qcom,mdss-dsi-ctrl-sc7280
+              - qcom,mdss-dsi-ctrl-sm8250
+    then:
+      properties:
+        clocks:
+          maxItems: 6
+        clock-names:
+          items:
+            - const: byte
+            - const: byte_intf
+            - const: pixel
+            - const: core
+            - const: iface
+            - const: bus
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-sdm630
+              - qcom,mdss-dsi-ctrl-sdm660
+    then:
+      properties:
+        clocks:
+          maxItems: 9
+        clock-names:
+          items:
+            - const: mdp_core
+            - const: byte
+            - const: byte_intf
+            - const: mnoc
+            - const: iface
+            - const: bus
+            - const: core_mmss
+            - const: pixel
+            - const: core
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss-dsi-ctrl-sdm845
+    then:
+      properties:
+        clocks:
+          maxItems: 6
+        clock-names:
+          items:
+            - const: byte
+            - const: byte_intf
+            - const: pixel
+            - const: core
+            - const: iface
+            - const: bus
+
 additionalProperties: false
 
 examples:
@@ -179,7 +302,7 @@ examples:
      #include <dt-bindings/power/qcom-rpmpd.h>
 
      dsi at ae94000 {
-           compatible = "qcom,mdss-dsi-ctrl";
+           compatible = "qcom,mdss-dsi-ctrl-sc7180", "qcom,mdss-dsi-ctrl";
            reg = <0x0ae94000 0x400>;
            reg-names = "dsi_ctrl";
 
-- 
2.38.1



More information about the Freedreno mailing list