devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings
@ 2022-06-25 23:25 Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings Dmitry Baryshkov
                   ` (10 more replies)
  0 siblings, 11 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Create separate YAML schema for MDSS devicesd$ (both for MDP5 and DPU
devices). Cleanup DPU schema files, so that they do not contain schema
for both MDSS and DPU nodes. Apply misc small fixes to the DPU schema
afterwards.

Dmitry Baryshkov (11):
  dt-bindings: display/msm: split qcom, mdss bindings
  dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml
  dt-bindings: display/msm: move qcom,sc7180-mdss schema to mdss.yaml
  dt-bindings: display/msm: move qcom,sc7280-mdss schema to mdss.yaml
  dt-bindings: display/msm: move qcom,qcm2290-mdss schema to mdss.yaml
  dt-bindings: display/msm: move qcom,msm8998-mdss schema to mdss.yaml
  dt-bindings: display/mdm: add gcc-bus clock to dpu-smd845
  dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  dt-bindings: display/msm: add mdp-opp-table to dpu-sc7180
  dt-bindings: display/msm: add opp-table to dpu-sc7280
  dt-bindings: display/msm: move common DPU properties to
    dpu-common.yaml

 .../bindings/display/msm/dpu-common.yaml      |  47 +++
 .../bindings/display/msm/dpu-msm8998.yaml     | 148 ++-----
 .../bindings/display/msm/dpu-qcm2290.yaml     | 149 ++-----
 .../bindings/display/msm/dpu-sc7180.yaml      | 158 ++------
 .../bindings/display/msm/dpu-sc7280.yaml      | 155 ++------
 .../bindings/display/msm/dpu-sdm845.yaml      | 150 ++-----
 .../devicetree/bindings/display/msm/mdp5.txt  |  30 +-
 .../devicetree/bindings/display/msm/mdss.yaml | 375 ++++++++++++++++++
 8 files changed, 580 insertions(+), 632 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdss.yaml

-- 
2.35.1


^ permalink raw reply	[flat|nested] 27+ messages in thread

* [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-30 22:52   ` Rob Herring
  2022-06-25 23:25 ` [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml Dmitry Baryshkov
                   ` (9 subsequent siblings)
  10 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Split Mobile Display SubSystem (MDSS) root node bindings to the separate
yaml file. Changes to the existing (txt) schema:
 - Add optional "vbif_nrt_phys" region used by msm8996
 - Make "bus" and "vsync" clocks optional (they are not used by some
   platforms)
 - Add (optional) "core" clock added recently to the mdss driver
 - Add optional resets property referencing MDSS reset
 - Define child nodes together with compatibles

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/display/msm/mdp5.txt  |  30 +--
 .../devicetree/bindings/display/msm/mdss.yaml | 173 ++++++++++++++++++
 2 files changed, 174 insertions(+), 29 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/msm/mdss.yaml

diff --git a/Documentation/devicetree/bindings/display/msm/mdp5.txt b/Documentation/devicetree/bindings/display/msm/mdp5.txt
index 43d11279c925..65d03c58dee6 100644
--- a/Documentation/devicetree/bindings/display/msm/mdp5.txt
+++ b/Documentation/devicetree/bindings/display/msm/mdp5.txt
@@ -2,37 +2,9 @@ Qualcomm adreno/snapdragon MDP5 display controller
 
 Description:
 
-This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
-encapsulates sub-blocks like MDP5, DSI, HDMI, eDP etc, and the MDP5 display
+This is the bindings documentation for the MDP5 display
 controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 and MSM8996.
 
-MDSS:
-Required properties:
-- compatible:
-  * "qcom,mdss" - MDSS
-- reg: Physical base address and length of the controller's registers.
-- reg-names: The names of register regions. The following regions are required:
-  * "mdss_phys"
-  * "vbif_phys"
-- interrupts: The interrupt signal from MDSS.
-- interrupt-controller: identifies the node as an interrupt controller.
-- #interrupt-cells: specifies the number of cells needed to encode an interrupt
-  source, should be 1.
-- power-domains: a power domain consumer specifier according to
-  Documentation/devicetree/bindings/power/power_domain.txt
-- clocks: device clocks. See ../clocks/clock-bindings.txt for details.
-- clock-names: the following clocks are required.
-  * "iface"
-  * "bus"
-  * "vsync"
-- #address-cells: number of address cells for the MDSS children. Should be 1.
-- #size-cells: Should be 1.
-- ranges: parent bus address space is the same as the child bus address space.
-
-Optional properties:
-- clock-names: the following clocks are optional:
-  * "lut"
-
 MDP5:
 Required properties:
 - compatible:
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
new file mode 100644
index 000000000000..55c70922361d
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -0,0 +1,173 @@
+# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/mdss.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Mobile Display SubSystem (MDSS) dt properties
+
+maintainers:
+  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+  - Rob Clark <robdclark@gmail.com>
+
+description: |
+  This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
+  encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc.
+
+properties:
+  compatible:
+    enum:
+      - qcom,mdss
+
+  reg:
+    minItems: 2
+    maxItems: 3
+
+  reg-names:
+    minItems: 2
+    items:
+      - const: mdss_phys
+      - const: vbif_phys
+      - const: vbif_nrt_phys
+
+  interrupts:
+    maxItems: 1
+
+  interrupt-controller:
+    true
+
+  "#interrupt-cells":
+    const: 1
+
+  power-domains:
+    maxItems: 1
+    description: |
+      The MDSS power domain provided by GCC
+
+  clocks:
+    minItems: 1
+    maxItems: 4
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: iface
+      - const: bus
+      - const: vsync
+      - const: core
+
+  "#address-cells":
+    const: 1
+
+  "#size-cells":
+    const: 1
+
+  ranges:
+    true
+
+  resets:
+    items:
+      - description: MDSS_CORE reset
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - interrupts
+  - interrupt-controller
+  - "#interrupt-cells"
+  - power-domains
+  - clocks
+  - clock-names
+  - "#address-cells"
+  - "#size-cells"
+  - ranges
+
+patternProperties:
+  "^mdp@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,mdp5
+
+  "^dsi@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,mdss-dsi-ctrl
+
+  "^dsi-phy@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,dsi-phy-7nm
+          - qcom,dsi-phy-7nm-8150
+          - qcom,dsi-phy-10nm
+          - qcom,dsi-phy-10nm-8998
+          - qcom,dsi-phy-14nm
+          - qcom,dsi-phy-14nm-660
+          - qcom,dsi-phy-14nm-8953
+          - qcom,dsi-phy-20nm
+          - qcom,dsi-phy-28nm-8960
+          - qcom,dsi-phy-28nm-hpm
+          - qcom,dsi-phy-28nm-lp
+          - qcom,sc7280-dsi-phy-7nm
+
+  "^hdmi-phy@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,hdmi-phy-8660
+          - qcom,hdmi-phy-8960
+          - qcom,hdmi-phy-8974
+          - qcom,hdmi-phy-8084
+          - qcom,hdmi-phy-8996
+
+  "^hdmi-tx@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,hdmi-tx-8084
+          - qcom,hdmi-tx-8660
+          - qcom,hdmi-tx-8960
+          - qcom,hdmi-tx-8974
+          - qcom,hdmi-tx-8994
+          - qcom,hdmi-tx-8996
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/clock/qcom,gcc-msm8916.h>
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    mdss@1a00000 {
+      compatible = "qcom,mdss";
+      reg = <0x1a00000 0x1000>,
+            <0x1ac8000 0x3000>;
+      reg-names = "mdss_phys", "vbif_phys";
+
+      power-domains = <&gcc MDSS_GDSC>;
+
+      clocks = <&gcc GCC_MDSS_AHB_CLK>,
+               <&gcc GCC_MDSS_AXI_CLK>,
+               <&gcc GCC_MDSS_VSYNC_CLK>;
+      clock-names = "iface",
+                    "bus",
+                    "vsync";
+
+      interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
+
+      interrupt-controller;
+      #interrupt-cells = <1>;
+
+      #address-cells = <1>;
+      #size-cells = <1>;
+      ranges;
+
+    };
+...
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-28 14:38   ` Rob Herring
  2022-06-30 23:02   ` Rob Herring
  2022-06-25 23:25 ` [PATCH 03/11] dt-bindings: display/msm: move qcom,sc7180-mdss " Dmitry Baryshkov
                   ` (8 subsequent siblings)
  10 siblings, 2 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move schema for qcom,sdm845-mdss from dpu-sdm845.yaml to mdss.yaml so
that the dpu file describes only the DPU schema.

While we are at it, rename display-controller node to mdp to reflect
actual node name in the sdm845.dtsi file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-sdm845.yaml      | 137 +++++-------------
 .../devicetree/bindings/display/msm/mdss.yaml | 112 ++++++++++++--
 2 files changed, 135 insertions(+), 114 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
index 2bb8896beffc..9253e0ca9fca 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
@@ -10,139 +10,74 @@ maintainers:
   - Krishna Manikandan <quic_mkrishn@quicinc.com>
 
 description: |
-  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
-  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
-  bindings of MDSS and DPU are mentioned for SDM845 target.
+  Device tree bindings for the DPU display controller for SDM845 target.
 
 properties:
   compatible:
     items:
-      - const: qcom,sdm845-mdss
+      - const: qcom,sdm845-dpu
 
   reg:
-    maxItems: 1
+    items:
+      - description: Address offset and size for mdp register set
+      - description: Address offset and size for vbif register set
 
   reg-names:
-    const: mdss
-
-  power-domains:
-    maxItems: 1
+    items:
+      - const: mdp
+      - const: vbif
 
   clocks:
     items:
-      - description: Display AHB clock from gcc
+      - description: Display ahb clock
+      - description: Display axi clock
       - description: Display core clock
+      - description: Display vsync clock
 
   clock-names:
     items:
       - const: iface
+      - const: bus
       - const: core
+      - const: vsync
 
   interrupts:
     maxItems: 1
 
-  interrupt-controller: true
-
-  "#address-cells": true
-
-  "#size-cells": true
-
-  "#interrupt-cells":
-    const: 1
-
-  iommus:
-    items:
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
-
-  ranges: true
-
-  resets:
-    items:
-      - description: MDSS_CORE reset
+  power-domains:
+    maxItems: 1
 
-patternProperties:
-  "^display-controller@[0-9a-f]+$":
-    type: object
-    description: Node containing the properties of DPU.
+  operating-points-v2: true
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI, DP etc. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
 
     properties:
-      compatible:
-        items:
-          - const: qcom,sdm845-dpu
-
-      reg:
-        items:
-          - description: Address offset and size for mdp register set
-          - description: Address offset and size for vbif register set
-
-      reg-names:
-        items:
-          - const: mdp
-          - const: vbif
-
-      clocks:
-        items:
-          - description: Display ahb clock
-          - description: Display axi clock
-          - description: Display core clock
-          - description: Display vsync clock
-
-      clock-names:
-        items:
-          - const: iface
-          - const: bus
-          - const: core
-          - const: vsync
-
-      interrupts:
-        maxItems: 1
-
-      power-domains:
-        maxItems: 1
-
-      operating-points-v2: true
-      ports:
-        $ref: /schemas/graph.yaml#/properties/ports
-        description: |
-          Contains the list of output ports from DPU device. These ports
-          connect to interfaces that are external to the DPU hardware,
-          such as DSI, DP etc. Each output port contains an endpoint that
-          describes how it is connected to an external interface.
-
-        properties:
-          port@0:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF1 (DSI1)
-
-          port@1:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF2 (DSI2)
-
-        required:
-          - port@0
-          - port@1
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF1 (DSI1)
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF2 (DSI2)
 
     required:
-      - compatible
-      - reg
-      - reg-names
-      - clocks
-      - interrupts
-      - power-domains
-      - operating-points-v2
-      - ports
+      - port@0
+      - port@1
 
 required:
   - compatible
   - reg
   - reg-names
-  - power-domains
   - clocks
   - interrupts
-  - interrupt-controller
-  - iommus
-  - ranges
+  - power-domains
+  - operating-points-v2
+  - ports
 
 additionalProperties: false
 
@@ -173,7 +108,7 @@ examples:
                    <&apps_smmu 0xc80 0x8>;
           ranges;
 
-          display-controller@ae01000 {
+          mdp@ae01000 {
                     compatible = "qcom,sdm845-dpu";
                     reg = <0x0ae01000 0x8f000>,
                           <0x0aeb0000 0x2008>;
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
index 55c70922361d..1cfdec9e349b 100644
--- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -8,6 +8,7 @@ title: Qualcomm Mobile Display SubSystem (MDSS) dt properties
 
 maintainers:
   - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+  - Krishna Manikandan <quic_mkrishn@quicinc.com>
   - Rob Clark <robdclark@gmail.com>
 
 description: |
@@ -17,18 +18,16 @@ description: |
 properties:
   compatible:
     enum:
+      - qcom,sdm845-mdss
       - qcom,mdss
 
   reg:
-    minItems: 2
+    minItems: 1
     maxItems: 3
 
   reg-names:
-    minItems: 2
-    items:
-      - const: mdss_phys
-      - const: vbif_phys
-      - const: vbif_nrt_phys
+    minItems: 1
+    maxItems: 3
 
   interrupts:
     maxItems: 1
@@ -50,17 +49,13 @@ properties:
 
   clock-names:
     minItems: 1
-    items:
-      - const: iface
-      - const: bus
-      - const: vsync
-      - const: core
+    maxItems: 4
 
   "#address-cells":
-    const: 1
+    enum: [1, 2]
 
   "#size-cells":
-    const: 1
+    enum: [1, 2]
 
   ranges:
     true
@@ -69,6 +64,96 @@ properties:
     items:
       - description: MDSS_CORE reset
 
+  interconnects:
+    minItems: 2
+    items:
+      - description: MDP port 0
+      - description: MDP port 1
+      - description: Rotator
+
+  interconnect-names:
+    minItems: 2
+    items:
+      - const: mdp0-mem
+      - const: mdp1-mem
+      - const: rotator-mem
+
+  iommus:
+    items:
+      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
+      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
+
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss
+    then:
+      properties:
+        reg-names:
+          minItems: 2
+          items:
+            - const: mdss_phys
+            - const: vbif_phys
+            - const: vbif_nrt_phys
+    else:
+      properties:
+        regs:
+          maxItems: 1
+
+        reg-names:
+          items:
+            - const: mdss
+
+        interconnects:
+          maxItems: 2
+
+        interconnect-names:
+          maxItems: 2
+
+      required:
+        - iommus
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,mdss
+    then:
+      properties:
+        clocks:
+          minItems: 1
+          maxItems: 4
+
+        clock-names:
+          minItems: 1
+          items:
+            - const: iface
+            - const: bus
+            - const: vsync
+            - const: core
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sdm845-mdss
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Display AHB clock from gcc
+            - description: Display core clock
+
+        clock-names:
+          items:
+            - const: iface
+            - const: core
+
 required:
   - compatible
   - reg
@@ -90,6 +175,7 @@ patternProperties:
       compatible:
         enum:
           - qcom,mdp5
+          - qcom,sdm845-dpu
 
   "^dsi@(0|[1-9a-f][0-9a-f]*)$":
     type: object
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 03/11] dt-bindings: display/msm: move qcom,sc7180-mdss schema to mdss.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 04/11] dt-bindings: display/msm: move qcom,sc7280-mdss " Dmitry Baryshkov
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move schema for qcom,sc7180-mdss from dpu-sc7180.yaml to mdss.yaml so
that the dpu file describes only the DPU schema.

While we are at it, rename display-controller node to mdp to reflect
actual node name in the sc7180.dtsi file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-sc7180.yaml      | 151 +++++-------------
 .../devicetree/bindings/display/msm/mdss.yaml |  45 +++++-
 2 files changed, 82 insertions(+), 114 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
index d3c3e4b07897..f9f22ec56a21 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
@@ -10,151 +10,78 @@ maintainers:
   - Krishna Manikandan <quic_mkrishn@quicinc.com>
 
 description: |
-  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
-  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
-  bindings of MDSS and DPU are mentioned for SC7180 target.
+  Device tree bindings for the DPU display controller for SC7180 target.
 
 properties:
   compatible:
     items:
-      - const: qcom,sc7180-mdss
+      - const: qcom,sc7180-dpu
 
   reg:
-    maxItems: 1
+    items:
+      - description: Address offset and size for mdp register set
+      - description: Address offset and size for vbif register set
 
   reg-names:
-    const: mdss
-
-  power-domains:
-    maxItems: 1
+    items:
+      - const: mdp
+      - const: vbif
 
   clocks:
     items:
-      - description: Display AHB clock from gcc
-      - description: Display AHB clock from dispcc
+      - description: Display hf axi clock
+      - description: Display ahb clock
+      - description: Display rotator clock
+      - description: Display lut clock
       - description: Display core clock
+      - description: Display vsync clock
 
   clock-names:
     items:
+      - const: bus
       - const: iface
-      - const: ahb
+      - const: rot
+      - const: lut
       - const: core
+      - const: vsync
 
   interrupts:
     maxItems: 1
 
-  interrupt-controller: true
-
-  "#address-cells": true
-
-  "#size-cells": true
-
-  "#interrupt-cells":
-    const: 1
-
-  iommus:
-    items:
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
-
-  ranges: true
-
-  interconnects:
-    items:
-      - description: Interconnect path specifying the port ids for data bus
-
-  interconnect-names:
-    const: mdp0-mem
+  power-domains:
+    maxItems: 1
 
-  resets:
-    items:
-      - description: MDSS_CORE reset
+  operating-points-v2: true
 
-patternProperties:
-  "^display-controller@[0-9a-f]+$":
-    type: object
-    description: Node containing the properties of DPU.
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI, DP etc. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
 
     properties:
-      compatible:
-        items:
-          - const: qcom,sc7180-dpu
-
-      reg:
-        items:
-          - description: Address offset and size for mdp register set
-          - description: Address offset and size for vbif register set
-
-      reg-names:
-        items:
-          - const: mdp
-          - const: vbif
-
-      clocks:
-        items:
-          - description: Display hf axi clock
-          - description: Display ahb clock
-          - description: Display rotator clock
-          - description: Display lut clock
-          - description: Display core clock
-          - description: Display vsync clock
-
-      clock-names:
-        items:
-          - const: bus
-          - const: iface
-          - const: rot
-          - const: lut
-          - const: core
-          - const: vsync
-
-      interrupts:
-        maxItems: 1
-
-      power-domains:
-        maxItems: 1
-
-      operating-points-v2: true
-
-      ports:
-        $ref: /schemas/graph.yaml#/properties/ports
-        description: |
-          Contains the list of output ports from DPU device. These ports
-          connect to interfaces that are external to the DPU hardware,
-          such as DSI, DP etc. Each output port contains an endpoint that
-          describes how it is connected to an external interface.
-
-        properties:
-          port@0:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF1 (DSI1)
-
-          port@2:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF0 (DP)
-
-        required:
-          - port@0
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF1 (DSI1)
+
+      port@2:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF0 (DP)
 
     required:
-      - compatible
-      - reg
-      - reg-names
-      - clocks
-      - interrupts
-      - power-domains
-      - operating-points-v2
-      - ports
+      - port@0
 
 required:
   - compatible
   - reg
   - reg-names
-  - power-domains
   - clocks
   - interrupts
-  - interrupt-controller
-  - iommus
-  - ranges
+  - power-domains
+  - operating-points-v2
+  - ports
 
 additionalProperties: false
 
@@ -188,7 +115,7 @@ examples:
          iommus = <&apps_smmu 0x800 0x2>;
          ranges;
 
-         display-controller@ae01000 {
+         mdp@ae01000 {
                    compatible = "qcom,sc7180-dpu";
                    reg = <0x0ae01000 0x8f000>,
                          <0x0aeb0000 0x2008>;
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
index 1cfdec9e349b..244ec36e74a4 100644
--- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -18,6 +18,7 @@ description: |
 properties:
   compatible:
     enum:
+      - qcom,sc7180-mdss
       - qcom,sdm845-mdss
       - qcom,mdss
 
@@ -65,20 +66,21 @@ properties:
       - description: MDSS_CORE reset
 
   interconnects:
-    minItems: 2
+    minItems: 1
     items:
       - description: MDP port 0
       - description: MDP port 1
       - description: Rotator
 
   interconnect-names:
-    minItems: 2
+    minItems: 1
     items:
       - const: mdp0-mem
       - const: mdp1-mem
       - const: rotator-mem
 
   iommus:
+    minItems: 1
     items:
       - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
       - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
@@ -108,9 +110,11 @@ allOf:
             - const: mdss
 
         interconnects:
+          minItems: 1
           maxItems: 2
 
         interconnect-names:
+          minItems: 1
           maxItems: 2
 
       required:
@@ -154,6 +158,32 @@ allOf:
             - const: iface
             - const: core
 
+        iommus:
+          minItems: 2
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,sc7180-mdss
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Display AHB clock from gcc
+            - description: Display AHB clock from dispcc
+            - description: Display core clock
+
+        clock-names:
+          items:
+            - const: iface
+            - const: ahb
+            - const: core
+
+        iommus:
+          maxItems: 1
+
 required:
   - compatible
   - reg
@@ -175,8 +205,19 @@ patternProperties:
       compatible:
         enum:
           - qcom,mdp5
+          - qcom,sc7180-dpu
           - qcom,sdm845-dpu
 
+  "^displayport-controller@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,sc7180-dp
+          - qcom,sc7280-dp
+          - qcom,sc8180x-dp
+          - qcom,sm8350-dp
+
   "^dsi@(0|[1-9a-f][0-9a-f]*)$":
     type: object
     properties:
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 04/11] dt-bindings: display/msm: move qcom,sc7280-mdss schema to mdss.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (2 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 03/11] dt-bindings: display/msm: move qcom,sc7180-mdss " Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 05/11] dt-bindings: display/msm: move qcom,qcm2290-mdss " Dmitry Baryshkov
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move schema for qcom,sc7280-mdss from dpu-sc7280.yaml to mdss.yaml so
that the dpu file describes only the DPU schema.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-sc7280.yaml      | 148 +++++-------------
 .../devicetree/bindings/display/msm/mdss.yaml |  25 +++
 2 files changed, 63 insertions(+), 110 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
index f427eec3d3a4..349a454099ad 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
@@ -10,149 +10,77 @@ maintainers:
   - Krishna Manikandan <quic_mkrishn@quicinc.com>
 
 description: |
-  Device tree bindings for MSM Mobile Display Subsystem (MDSS) that encapsulates
-  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
-  bindings of MDSS and DPU are mentioned for SC7280.
+  Device tree bindings for the DPU display controller for SC7280 target.
 
 properties:
   compatible:
-    const: qcom,sc7280-mdss
+    const: qcom,sc7280-dpu
 
   reg:
-    maxItems: 1
+    items:
+      - description: Address offset and size for mdp register set
+      - description: Address offset and size for vbif register set
 
   reg-names:
-    const: mdss
-
-  power-domains:
-    maxItems: 1
+    items:
+      - const: mdp
+      - const: vbif
 
   clocks:
     items:
-      - description: Display AHB clock from gcc
-      - description: Display AHB clock from dispcc
+      - description: Display hf axi clock
+      - description: Display sf axi clock
+      - description: Display ahb clock
+      - description: Display lut clock
       - description: Display core clock
+      - description: Display vsync clock
 
   clock-names:
     items:
+      - const: bus
+      - const: nrt_bus
       - const: iface
-      - const: ahb
+      - const: lut
       - const: core
+      - const: vsync
 
   interrupts:
     maxItems: 1
 
-  interrupt-controller: true
-
-  "#address-cells": true
-
-  "#size-cells": true
-
-  "#interrupt-cells":
-    const: 1
-
-  iommus:
-    items:
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
-
-  ranges: true
-
-  interconnects:
-    items:
-      - description: Interconnect path specifying the port ids for data bus
-
-  interconnect-names:
-    const: mdp0-mem
+  power-domains:
+    maxItems: 1
 
-  resets:
-    items:
-      - description: MDSS_CORE reset
+  operating-points-v2: true
 
-patternProperties:
-  "^display-controller@[0-9a-f]+$":
-    type: object
-    description: Node containing the properties of DPU.
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI, DP etc. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
 
     properties:
-      compatible:
-        const: qcom,sc7280-dpu
-
-      reg:
-        items:
-          - description: Address offset and size for mdp register set
-          - description: Address offset and size for vbif register set
-
-      reg-names:
-        items:
-          - const: mdp
-          - const: vbif
-
-      clocks:
-        items:
-          - description: Display hf axi clock
-          - description: Display sf axi clock
-          - description: Display ahb clock
-          - description: Display lut clock
-          - description: Display core clock
-          - description: Display vsync clock
-
-      clock-names:
-        items:
-          - const: bus
-          - const: nrt_bus
-          - const: iface
-          - const: lut
-          - const: core
-          - const: vsync
-
-      interrupts:
-        maxItems: 1
-
-      power-domains:
-        maxItems: 1
-
-      operating-points-v2: true
-
-      ports:
-        $ref: /schemas/graph.yaml#/properties/ports
-        description: |
-          Contains the list of output ports from DPU device. These ports
-          connect to interfaces that are external to the DPU hardware,
-          such as DSI, DP etc. Each output port contains an endpoint that
-          describes how it is connected to an external interface.
-
-        properties:
-          port@0:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF1 (DSI)
-
-          port@1:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF5 (EDP)
-
-        required:
-          - port@0
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF1 (DSI)
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF5 (EDP)
 
     required:
-      - compatible
-      - reg
-      - reg-names
-      - clocks
-      - interrupts
-      - power-domains
-      - operating-points-v2
-      - ports
+      - port@0
 
 required:
   - compatible
   - reg
   - reg-names
-  - power-domains
   - clocks
   - interrupts
-  - interrupt-controller
-  - iommus
-  - ranges
+  - power-domains
+  - operating-points-v2
+  - ports
 
 additionalProperties: false
 
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
index 244ec36e74a4..6221356b3003 100644
--- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -19,6 +19,7 @@ properties:
   compatible:
     enum:
       - qcom,sc7180-mdss
+      - qcom,sc7280-mdss
       - qcom,sdm845-mdss
       - qcom,mdss
 
@@ -167,6 +168,7 @@ allOf:
           contains:
             enum:
               - qcom,sc7180-mdss
+              - qcom,sc7280-mdss
     then:
       properties:
         clocks:
@@ -208,6 +210,13 @@ patternProperties:
           - qcom,sc7180-dpu
           - qcom,sdm845-dpu
 
+  "^display-controller@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,sc7280-dpu
+
   "^displayport-controller@(0|[1-9a-f][0-9a-f]*)$":
     type: object
     properties:
@@ -243,6 +252,14 @@ patternProperties:
           - qcom,dsi-phy-28nm-lp
           - qcom,sc7280-dsi-phy-7nm
 
+  "^edp@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,sc7280-edp
+          - qcom,sc8180x-edp
+
   "^hdmi-phy@(0|[1-9a-f][0-9a-f]*)$":
     type: object
     properties:
@@ -266,6 +283,14 @@ patternProperties:
           - qcom,hdmi-tx-8994
           - qcom,hdmi-tx-8996
 
+  "^phy@(0|[1-9a-f][0-9a-f]*)$":
+    type: object
+    properties:
+      compatible:
+        enum:
+          - qcom,sc7280-dsi-phy-7nm
+          - qcom,sc7280-edp-phy
+
 additionalProperties: false
 
 examples:
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 05/11] dt-bindings: display/msm: move qcom,qcm2290-mdss schema to mdss.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (3 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 04/11] dt-bindings: display/msm: move qcom,sc7280-mdss " Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss " Dmitry Baryshkov
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move schema for qcom,qcm2290-mdss from dpu-qcm2290.yaml to mdss.yaml so
that the dpu file describes only the DPU schema.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-qcm2290.yaml     | 140 +++++-------------
 .../devicetree/bindings/display/msm/mdss.yaml |  25 ++++
 2 files changed, 58 insertions(+), 107 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
index 734d14de966d..8027319b1aad 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
@@ -10,146 +10,72 @@ maintainers:
   - Loic Poulain <loic.poulain@linaro.org>
 
 description: |
-  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
-  sub-blocks like DPU display controller and DSI. Device tree bindings of MDSS
-  and DPU are mentioned for QCM2290 target.
+  Device tree bindings for the DPU display controller for QCM2290 target.
 
 properties:
   compatible:
     items:
-      - const: qcom,qcm2290-mdss
+      - const: qcom,qcm2290-dpu
 
   reg:
-    maxItems: 1
+    items:
+      - description: Address offset and size for mdp register set
+      - description: Address offset and size for vbif register set
 
   reg-names:
-    const: mdss
-
-  power-domains:
-    maxItems: 1
+    items:
+      - const: mdp
+      - const: vbif
 
   clocks:
     items:
-      - description: Display AHB clock from gcc
-      - description: Display AXI clock
-      - description: Display core clock
+      - description: Display AXI clock from gcc
+      - description: Display AHB clock from dispcc
+      - description: Display core clock from dispcc
+      - description: Display lut clock from dispcc
+      - description: Display vsync clock from dispcc
 
   clock-names:
     items:
-      - const: iface
       - const: bus
+      - const: iface
       - const: core
+      - const: lut
+      - const: vsync
 
   interrupts:
     maxItems: 1
 
-  interrupt-controller: true
-
-  "#address-cells": true
-
-  "#size-cells": true
-
-  "#interrupt-cells":
-    const: 1
-
-  iommus:
-    items:
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
-
-  ranges: true
-
-  interconnects:
-    items:
-      - description: Interconnect path specifying the port ids for data bus
-
-  interconnect-names:
-    const: mdp0-mem
+  power-domains:
+    maxItems: 1
 
-  resets:
-    items:
-      - description: MDSS_CORE reset
+  operating-points-v2: true
 
-patternProperties:
-  "^display-controller@[0-9a-f]+$":
-    type: object
-    description: Node containing the properties of DPU.
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
 
     properties:
-      compatible:
-        items:
-          - const: qcom,qcm2290-dpu
-
-      reg:
-        items:
-          - description: Address offset and size for mdp register set
-          - description: Address offset and size for vbif register set
-
-      reg-names:
-        items:
-          - const: mdp
-          - const: vbif
-
-      clocks:
-        items:
-          - description: Display AXI clock from gcc
-          - description: Display AHB clock from dispcc
-          - description: Display core clock from dispcc
-          - description: Display lut clock from dispcc
-          - description: Display vsync clock from dispcc
-
-      clock-names:
-        items:
-          - const: bus
-          - const: iface
-          - const: core
-          - const: lut
-          - const: vsync
-
-      interrupts:
-        maxItems: 1
-
-      power-domains:
-        maxItems: 1
-
-      operating-points-v2: true
-
-      ports:
-        $ref: /schemas/graph.yaml#/properties/ports
-        description: |
-          Contains the list of output ports from DPU device. These ports
-          connect to interfaces that are external to the DPU hardware,
-          such as DSI. Each output port contains an endpoint that
-          describes how it is connected to an external interface.
-
-        properties:
-          port@0:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF1 (DSI1)
-
-        required:
-          - port@0
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF1 (DSI1)
 
     required:
-      - compatible
-      - reg
-      - reg-names
-      - clocks
-      - interrupts
-      - power-domains
-      - operating-points-v2
-      - ports
+      - port@0
 
 required:
   - compatible
   - reg
   - reg-names
-  - power-domains
   - clocks
   - interrupts
-  - interrupt-controller
-  - iommus
-  - ranges
+  - power-domains
+  - operating-points-v2
+  - ports
 
 additionalProperties: false
 
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
index 6221356b3003..c84e0c984e27 100644
--- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -18,6 +18,7 @@ description: |
 properties:
   compatible:
     enum:
+      - qcom,qcm2290-mdss
       - qcom,sc7180-mdss
       - qcom,sc7280-mdss
       - qcom,sdm845-mdss
@@ -141,6 +142,29 @@ allOf:
             - const: vsync
             - const: core
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,qcm2290-mdss
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Display AHB clock from gcc
+            - description: Display AXI clock
+            - description: Display core clock
+
+        clock-names:
+          items:
+            - const: iface
+            - const: bus
+            - const: core
+
+        iommus:
+          minItems: 2
+
   - if:
       properties:
         compatible:
@@ -215,6 +239,7 @@ patternProperties:
     properties:
       compatible:
         enum:
+          - qcom,qcm2290-dpu
           - qcom,sc7280-dpu
 
   "^displayport-controller@(0|[1-9a-f][0-9a-f]*)$":
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss schema to mdss.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (4 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 05/11] dt-bindings: display/msm: move qcom,qcm2290-mdss " Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-30 23:05   ` Rob Herring
  2022-06-25 23:25 ` [PATCH 07/11] dt-bindings: display/mdm: add gcc-bus clock to dpu-smd845 Dmitry Baryshkov
                   ` (4 subsequent siblings)
  10 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move schema for qcom,msm8998-mdss from dpu-msm8998.yaml to mdss.yaml so
that the dpu file describes only the DPU schema.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-msm8998.yaml     | 142 +++++-------------
 .../devicetree/bindings/display/msm/mdss.yaml |  25 +++
 2 files changed, 65 insertions(+), 102 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
index 2df64afb76e6..5caf46a1dd88 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
@@ -10,142 +10,80 @@ maintainers:
   - AngeloGioacchino Del Regno <angelogioacchino.delregno@somainline.org>
 
 description: |
-  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
-  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
-  bindings of MDSS and DPU are mentioned for MSM8998 target.
+  Device tree bindings for the DPU display controller for MSM8998 target.
 
 properties:
   compatible:
     items:
-      - const: qcom,msm8998-mdss
+      - const: qcom,msm8998-dpu
 
   reg:
-    maxItems: 1
+    items:
+      - description: Address offset and size for mdp register set
+      - description: Address offset and size for regdma register set
+      - description: Address offset and size for vbif register set
+      - description: Address offset and size for non-realtime vbif register set
 
   reg-names:
-    const: mdss
-
-  power-domains:
-    maxItems: 1
+    items:
+      - const: mdp
+      - const: regdma
+      - const: vbif
+      - const: vbif_nrt
 
   clocks:
     items:
-      - description: Display AHB clock
-      - description: Display AXI clock
+      - description: Display ahb clock
+      - description: Display axi clock
+      - description: Display mem-noc clock
       - description: Display core clock
+      - description: Display vsync clock
 
   clock-names:
     items:
       - const: iface
       - const: bus
+      - const: mnoc
       - const: core
+      - const: vsync
 
   interrupts:
     maxItems: 1
 
-  interrupt-controller: true
-
-  "#address-cells": true
-
-  "#size-cells": true
-
-  "#interrupt-cells":
-    const: 1
-
-  iommus:
-    items:
-      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
-
-  ranges: true
+  power-domains:
+    maxItems: 1
 
-patternProperties:
-  "^display-controller@[0-9a-f]+$":
-    type: object
-    description: Node containing the properties of DPU.
+  operating-points-v2: true
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI, DP etc. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
 
     properties:
-      compatible:
-        items:
-          - const: qcom,msm8998-dpu
-
-      reg:
-        items:
-          - description: Address offset and size for mdp register set
-          - description: Address offset and size for regdma register set
-          - description: Address offset and size for vbif register set
-          - description: Address offset and size for non-realtime vbif register set
-
-      reg-names:
-        items:
-          - const: mdp
-          - const: regdma
-          - const: vbif
-          - const: vbif_nrt
-
-      clocks:
-        items:
-          - description: Display ahb clock
-          - description: Display axi clock
-          - description: Display mem-noc clock
-          - description: Display core clock
-          - description: Display vsync clock
-
-      clock-names:
-        items:
-          - const: iface
-          - const: bus
-          - const: mnoc
-          - const: core
-          - const: vsync
-
-      interrupts:
-        maxItems: 1
-
-      power-domains:
-        maxItems: 1
-
-      operating-points-v2: true
-      ports:
-        $ref: /schemas/graph.yaml#/properties/ports
-        description: |
-          Contains the list of output ports from DPU device. These ports
-          connect to interfaces that are external to the DPU hardware,
-          such as DSI, DP etc. Each output port contains an endpoint that
-          describes how it is connected to an external interface.
-
-        properties:
-          port@0:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF1 (DSI1)
-
-          port@1:
-            $ref: /schemas/graph.yaml#/properties/port
-            description: DPU_INTF2 (DSI2)
-
-        required:
-          - port@0
-          - port@1
+      port@0:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF1 (DSI1)
+
+      port@1:
+        $ref: /schemas/graph.yaml#/properties/port
+        description: DPU_INTF2 (DSI2)
 
     required:
-      - compatible
-      - reg
-      - reg-names
-      - clocks
-      - interrupts
-      - power-domains
-      - operating-points-v2
-      - ports
+      - port@0
+      - port@1
 
 required:
   - compatible
   - reg
   - reg-names
-  - power-domains
   - clocks
   - interrupts
-  - interrupt-controller
-  - iommus
-  - ranges
+  - power-domains
+  - operating-points-v2
+  - ports
 
 additionalProperties: false
 
diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
index c84e0c984e27..cce60d100bb1 100644
--- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
@@ -18,6 +18,7 @@ description: |
 properties:
   compatible:
     enum:
+      - qcom,msm8998-mdss
       - qcom,qcm2290-mdss
       - qcom,sc7180-mdss
       - qcom,sc7280-mdss
@@ -142,6 +143,29 @@ allOf:
             - const: vsync
             - const: core
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - qcom,msm8998-mdss
+    then:
+      properties:
+        clocks:
+          items:
+            - description: Display AHB clock
+            - description: Display AXI clock
+            - description: Display core clock
+
+        clock-names:
+          items:
+            - const: iface
+            - const: bus
+            - const: core
+
+        iommus:
+          maxItems: 1
+
   - if:
       properties:
         compatible:
@@ -239,6 +263,7 @@ patternProperties:
     properties:
       compatible:
         enum:
+          - qcom,msm8998-dpu
           - qcom,qcm2290-dpu
           - qcom,sc7280-dpu
 
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 07/11] dt-bindings: display/mdm: add gcc-bus clock to dpu-smd845
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (5 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss " Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845 Dmitry Baryshkov
                   ` (3 subsequent siblings)
  10 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Add gcc-bus clock required for the SDM845 DPU device tree node.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
index 9253e0ca9fca..0dc16326bf8e 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
@@ -29,6 +29,7 @@ properties:
 
   clocks:
     items:
+      - description: Display GCC bus clock
       - description: Display ahb clock
       - description: Display axi clock
       - description: Display core clock
@@ -36,6 +37,7 @@ properties:
 
   clock-names:
     items:
+      - const: gcc-bus
       - const: iface
       - const: bus
       - const: core
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (6 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 07/11] dt-bindings: display/mdm: add gcc-bus clock to dpu-smd845 Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-27 18:05   ` Rob Herring
  2022-06-25 23:25 ` [PATCH 09/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sc7180 Dmitry Baryshkov
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

On SDM845 platforms DPU device tree node contains child object
mdp-opp-table providing OPP table for the DPU. Add it to the list of
properties to let sdm845.dtsi to validate.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../devicetree/bindings/display/msm/dpu-sdm845.yaml      | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
index 0dc16326bf8e..cc95adcf8f11 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
@@ -50,6 +50,10 @@ properties:
     maxItems: 1
 
   operating-points-v2: true
+
+  mdp-opp-table:
+    $ref: /schemas/opp/opp-v2.yaml#
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
     description: |
@@ -116,11 +120,12 @@ examples:
                           <0x0aeb0000 0x2008>;
                     reg-names = "mdp", "vbif";
 
-                    clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
+                    clocks = <&gcc GCC_DISP_AXI_CLK>,
+                             <&dispcc DISP_CC_MDSS_AHB_CLK>,
                              <&dispcc DISP_CC_MDSS_AXI_CLK>,
                              <&dispcc DISP_CC_MDSS_MDP_CLK>,
                              <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
-                    clock-names = "iface", "bus", "core", "vsync";
+                    clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
 
                     interrupt-parent = <&mdss>;
                     interrupts = <0>;
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 09/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sc7180
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (7 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845 Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280 Dmitry Baryshkov
  2022-06-25 23:25 ` [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml Dmitry Baryshkov
  10 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

On sc7180 platforms DPU device tree node contains child object
mdp-opp-table providing OPP table for the DPU. Add it to the list of
properties to let sc7180.dtsi to validate.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
index f9f22ec56a21..42921f25baa4 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
@@ -53,6 +53,9 @@ properties:
 
   operating-points-v2: true
 
+  mdp-opp-table:
+    $ref: /schemas/opp/opp-v2.yaml#
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
     description: |
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (8 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 09/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sc7180 Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-30 23:06   ` Rob Herring
  2022-06-25 23:25 ` [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml Dmitry Baryshkov
  10 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

On sc7280 platforms DPU device tree node contains child object
opp-table providing OPP table for the DPU. Add it to the list of
properties to let sc7280.dtsi to validate.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
index 349a454099ad..49c4a055d20f 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
@@ -52,6 +52,9 @@ properties:
 
   operating-points-v2: true
 
+  opp-table:
+    $ref: /schemas/opp/opp-v2.yaml#
+
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
     description: |
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml
  2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
                   ` (9 preceding siblings ...)
  2022-06-25 23:25 ` [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280 Dmitry Baryshkov
@ 2022-06-25 23:25 ` Dmitry Baryshkov
  2022-06-30 23:11   ` Rob Herring
  10 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-25 23:25 UTC (permalink / raw)
  To: Andy Gross, Bjorn Andersson, Rob Herring, Krzysztof Kozlowski
  Cc: linux-arm-msm, devicetree, Krishna Manikandan,
	AngeloGioacchino Del Regno

Move properties common to all DPU DT nodes to the dpu-common.yaml

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../bindings/display/msm/dpu-common.yaml      | 47 +++++++++++++++++++
 .../bindings/display/msm/dpu-msm8998.yaml     | 28 ++---------
 .../bindings/display/msm/dpu-qcm2290.yaml     | 29 ++----------
 .../bindings/display/msm/dpu-sc7180.yaml      | 32 ++-----------
 .../bindings/display/msm/dpu-sc7280.yaml      | 32 ++-----------
 .../bindings/display/msm/dpu-sdm845.yaml      | 32 ++-----------
 6 files changed, 67 insertions(+), 133 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml

diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
new file mode 100644
index 000000000000..f3465ee3a4ab
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
@@ -0,0 +1,47 @@
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Display DPU dt properties (common properties)
+
+maintainers:
+  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
+  - Krishna Manikandan <quic_mkrishn@quicinc.com>
+  - Rob Clark <robdclark@gmail.com>
+
+description: |
+  Device tree bindings for the DPU display controller, common properties.
+
+properties:
+  interrupts:
+    maxItems: 1
+
+  power-domains:
+    maxItems: 1
+
+  operating-points-v2: true
+
+  ports:
+    $ref: /schemas/graph.yaml#/properties/ports
+    description: |
+      Contains the list of output ports from DPU device. These ports
+      connect to interfaces that are external to the DPU hardware,
+      such as DSI, DP etc. Each output port contains an endpoint that
+      describes how it is connected to an external interface.
+
+patternProperties:
+  (mdp-)?opp-table:
+    $ref: /schemas/opp/opp-v2.yaml#
+
+required:
+  - compatible
+  - reg
+  - reg-names
+  - clocks
+  - interrupts
+  - power-domains
+  - operating-points-v2
+  - ports
+
+additionalProperties: true
diff --git a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
index 5caf46a1dd88..2207601c83df 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-msm8998.yaml
@@ -47,21 +47,8 @@ properties:
       - const: core
       - const: vsync
 
-  interrupts:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  operating-points-v2: true
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
-    description: |
-      Contains the list of output ports from DPU device. These ports
-      connect to interfaces that are external to the DPU hardware,
-      such as DSI, DP etc. Each output port contains an endpoint that
-      describes how it is connected to an external interface.
-
     properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
@@ -75,17 +62,10 @@ properties:
       - port@0
       - port@1
 
-required:
-  - compatible
-  - reg
-  - reg-names
-  - clocks
-  - interrupts
-  - power-domains
-  - operating-points-v2
-  - ports
-
-additionalProperties: false
+allOf:
+  - $ref: "/schemas/display/msm/dpu-common.yaml#"
+
+unevaluatedProperties: false
 
 examples:
   - |
diff --git a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
index 8027319b1aad..8a0d6eda6e7c 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-qcm2290.yaml
@@ -43,22 +43,8 @@ properties:
       - const: lut
       - const: vsync
 
-  interrupts:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  operating-points-v2: true
-
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
-    description: |
-      Contains the list of output ports from DPU device. These ports
-      connect to interfaces that are external to the DPU hardware,
-      such as DSI. Each output port contains an endpoint that
-      describes how it is connected to an external interface.
-
     properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
@@ -67,17 +53,10 @@ properties:
     required:
       - port@0
 
-required:
-  - compatible
-  - reg
-  - reg-names
-  - clocks
-  - interrupts
-  - power-domains
-  - operating-points-v2
-  - ports
-
-additionalProperties: false
+allOf:
+  - $ref: "/schemas/display/msm/dpu-common.yaml#"
+
+unevaluatedProperties: false
 
 examples:
   - |
diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
index 42921f25baa4..1047192b5b36 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7180.yaml
@@ -45,25 +45,8 @@ properties:
       - const: core
       - const: vsync
 
-  interrupts:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  operating-points-v2: true
-
-  mdp-opp-table:
-    $ref: /schemas/opp/opp-v2.yaml#
-
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
-    description: |
-      Contains the list of output ports from DPU device. These ports
-      connect to interfaces that are external to the DPU hardware,
-      such as DSI, DP etc. Each output port contains an endpoint that
-      describes how it is connected to an external interface.
-
     properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
@@ -76,17 +59,10 @@ properties:
     required:
       - port@0
 
-required:
-  - compatible
-  - reg
-  - reg-names
-  - clocks
-  - interrupts
-  - power-domains
-  - operating-points-v2
-  - ports
-
-additionalProperties: false
+allOf:
+  - $ref: "/schemas/display/msm/dpu-common.yaml#"
+
+unevaluatedProperties: false
 
 examples:
   - |
diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
index 49c4a055d20f..543d90a84853 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml
@@ -44,25 +44,8 @@ properties:
       - const: core
       - const: vsync
 
-  interrupts:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  operating-points-v2: true
-
-  opp-table:
-    $ref: /schemas/opp/opp-v2.yaml#
-
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
-    description: |
-      Contains the list of output ports from DPU device. These ports
-      connect to interfaces that are external to the DPU hardware,
-      such as DSI, DP etc. Each output port contains an endpoint that
-      describes how it is connected to an external interface.
-
     properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
@@ -75,17 +58,10 @@ properties:
     required:
       - port@0
 
-required:
-  - compatible
-  - reg
-  - reg-names
-  - clocks
-  - interrupts
-  - power-domains
-  - operating-points-v2
-  - ports
-
-additionalProperties: false
+allOf:
+  - $ref: "/schemas/display/msm/dpu-common.yaml#"
+
+unevaluatedProperties: false
 
 examples:
   - |
diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
index cc95adcf8f11..796c13d73ea3 100644
--- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
@@ -43,25 +43,8 @@ properties:
       - const: core
       - const: vsync
 
-  interrupts:
-    maxItems: 1
-
-  power-domains:
-    maxItems: 1
-
-  operating-points-v2: true
-
-  mdp-opp-table:
-    $ref: /schemas/opp/opp-v2.yaml#
-
   ports:
     $ref: /schemas/graph.yaml#/properties/ports
-    description: |
-      Contains the list of output ports from DPU device. These ports
-      connect to interfaces that are external to the DPU hardware,
-      such as DSI, DP etc. Each output port contains an endpoint that
-      describes how it is connected to an external interface.
-
     properties:
       port@0:
         $ref: /schemas/graph.yaml#/properties/port
@@ -75,17 +58,10 @@ properties:
       - port@0
       - port@1
 
-required:
-  - compatible
-  - reg
-  - reg-names
-  - clocks
-  - interrupts
-  - power-domains
-  - operating-points-v2
-  - ports
-
-additionalProperties: false
+allOf:
+  - $ref: "/schemas/display/msm/dpu-common.yaml#"
+
+unevaluatedProperties: false
 
 examples:
   - |
-- 
2.35.1


^ permalink raw reply related	[flat|nested] 27+ messages in thread

* Re: [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  2022-06-25 23:25 ` [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845 Dmitry Baryshkov
@ 2022-06-27 18:05   ` Rob Herring
  2022-06-28 20:23     ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Rob Herring @ 2022-06-27 18:05 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:10AM +0300, Dmitry Baryshkov wrote:
> On SDM845 platforms DPU device tree node contains child object
> mdp-opp-table providing OPP table for the DPU. Add it to the list of
> properties to let sdm845.dtsi to validate.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/display/msm/dpu-sdm845.yaml      | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> index 0dc16326bf8e..cc95adcf8f11 100644
> --- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> @@ -50,6 +50,10 @@ properties:
>      maxItems: 1
>  
>    operating-points-v2: true
> +
> +  mdp-opp-table:

Is there another kind of opp-table besides mdp? Node names should be 
generic.

> +    $ref: /schemas/opp/opp-v2.yaml#
> +
>    ports:
>      $ref: /schemas/graph.yaml#/properties/ports
>      description: |
> @@ -116,11 +120,12 @@ examples:
>                            <0x0aeb0000 0x2008>;
>                      reg-names = "mdp", "vbif";
>  
> -                    clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
> +                    clocks = <&gcc GCC_DISP_AXI_CLK>,
> +                             <&dispcc DISP_CC_MDSS_AHB_CLK>,

What does the OPP table have to do with clocks? Adding a clock anywhere 
but the end is an ABI break.

>                               <&dispcc DISP_CC_MDSS_AXI_CLK>,
>                               <&dispcc DISP_CC_MDSS_MDP_CLK>,
>                               <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
> -                    clock-names = "iface", "bus", "core", "vsync";
> +                    clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
>  
>                      interrupt-parent = <&mdss>;
>                      interrupts = <0>;
> -- 
> 2.35.1
> 
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml
  2022-06-25 23:25 ` [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml Dmitry Baryshkov
@ 2022-06-28 14:38   ` Rob Herring
  2022-06-28 20:28     ` Dmitry Baryshkov
  2022-06-30 23:02   ` Rob Herring
  1 sibling, 1 reply; 27+ messages in thread
From: Rob Herring @ 2022-06-28 14:38 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:04AM +0300, Dmitry Baryshkov wrote:
> Move schema for qcom,sdm845-mdss from dpu-sdm845.yaml to mdss.yaml so
> that the dpu file describes only the DPU schema.
> 
> While we are at it, rename display-controller node to mdp to reflect
> actual node name in the sdm845.dtsi file.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/display/msm/dpu-sdm845.yaml      | 137 +++++-------------
>  .../devicetree/bindings/display/msm/mdss.yaml | 112 ++++++++++++--
>  2 files changed, 135 insertions(+), 114 deletions(-)

What's the base for this series? Patch 1 applied, the rest did not.

Rob

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  2022-06-27 18:05   ` Rob Herring
@ 2022-06-28 20:23     ` Dmitry Baryshkov
  2022-06-29  9:23       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-28 20:23 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno



On 27 June 2022 21:05:06 GMT+03:00, Rob Herring <robh@kernel.org> wrote:
>On Sun, Jun 26, 2022 at 02:25:10AM +0300, Dmitry Baryshkov wrote:
>> On SDM845 platforms DPU device tree node contains child object
>> mdp-opp-table providing OPP table for the DPU. Add it to the list of
>> properties to let sdm845.dtsi to validate.
>> 
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>  .../devicetree/bindings/display/msm/dpu-sdm845.yaml      | 9 +++++++--
>>  1 file changed, 7 insertions(+), 2 deletions(-)
>> 
>> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
>> index 0dc16326bf8e..cc95adcf8f11 100644
>> --- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
>> +++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
>> @@ -50,6 +50,10 @@ properties:
>>      maxItems: 1
>>  
>>    operating-points-v2: true
>> +
>> +  mdp-opp-table:
>
>Is there another kind of opp-table besides mdp? Node names should be 
>generic.

Ack. Now if we rename the node to opp-table, should we define the old name with deprecated: true?

>
>> +    $ref: /schemas/opp/opp-v2.yaml#
>> +
>>    ports:
>>      $ref: /schemas/graph.yaml#/properties/ports
>>      description: |
>> @@ -116,11 +120,12 @@ examples:
>>                            <0x0aeb0000 0x2008>;
>>                      reg-names = "mdp", "vbif";
>>  
>> -                    clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>> +                    clocks = <&gcc GCC_DISP_AXI_CLK>,
>> +                             <&dispcc DISP_CC_MDSS_AHB_CLK>,
>
>What does the OPP table have to do with clocks? Adding a clock anywhere 
>but the end is an ABI break.

I should split this to a separate patch. And, I must admit, this clock change has already landed. We did not think that it is an ABI break since we have clock-names here.

>
>>                               <&dispcc DISP_CC_MDSS_AXI_CLK>,
>>                               <&dispcc DISP_CC_MDSS_MDP_CLK>,
>>                               <&dispcc DISP_CC_MDSS_VSYNC_CLK>;
>> -                    clock-names = "iface", "bus", "core", "vsync";
>> +                    clock-names = "gcc-bus", "iface", "bus", "core", "vsync";
>>  
>>                      interrupt-parent = <&mdss>;
>>                      interrupts = <0>;

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml
  2022-06-28 14:38   ` Rob Herring
@ 2022-06-28 20:28     ` Dmitry Baryshkov
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-28 20:28 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno



On 28 June 2022 17:38:27 GMT+03:00, Rob Herring <robh@kernel.org> wrote:
>On Sun, Jun 26, 2022 at 02:25:04AM +0300, Dmitry Baryshkov wrote:
>> Move schema for qcom,sdm845-mdss from dpu-sdm845.yaml to mdss.yaml so
>> that the dpu file describes only the DPU schema.
>> 
>> While we are at it, rename display-controller node to mdp to reflect
>> actual node name in the sdm845.dtsi file.
>> 
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>  .../bindings/display/msm/dpu-sdm845.yaml      | 137 +++++-------------
>>  .../devicetree/bindings/display/msm/mdss.yaml | 112 ++++++++++++--
>>  2 files changed, 135 insertions(+), 114 deletions(-)
>
>What's the base for this series? Patch 1 applied, the rest did not.

I was developing on top of the drm-msm-lumag tree, part of Linux-next. However I think 5.19-rc + [1] will work.

[1] https://lore.kernel.org/all/1654166998-14907-1-git-send-email-quic_mkrishn@quicinc.com/



^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  2022-06-28 20:23     ` Dmitry Baryshkov
@ 2022-06-29  9:23       ` Krzysztof Kozlowski
  2022-06-29 18:57         ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Krzysztof Kozlowski @ 2022-06-29  9:23 UTC (permalink / raw)
  To: Dmitry Baryshkov, Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On 28/06/2022 22:23, Dmitry Baryshkov wrote:

>>> +    $ref: /schemas/opp/opp-v2.yaml#
>>> +
>>>    ports:
>>>      $ref: /schemas/graph.yaml#/properties/ports
>>>      description: |
>>> @@ -116,11 +120,12 @@ examples:
>>>                            <0x0aeb0000 0x2008>;
>>>                      reg-names = "mdp", "vbif";
>>>  
>>> -                    clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>> +                    clocks = <&gcc GCC_DISP_AXI_CLK>,
>>> +                             <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>
>> What does the OPP table have to do with clocks? Adding a clock anywhere 
>> but the end is an ABI break.
> 
> I should split this to a separate patch. And, I must admit, this clock change has already landed. We did not think that it is an ABI break since we have clock-names here.

xxx-names are only a helper and order of items is always strict, thus
any change in the order is always ABI break.

Best regards,
Krzysztof

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845
  2022-06-29  9:23       ` Krzysztof Kozlowski
@ 2022-06-29 18:57         ` Dmitry Baryshkov
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-06-29 18:57 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno



On 29 June 2022 12:23:48 GMT+03:00, Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:
>On 28/06/2022 22:23, Dmitry Baryshkov wrote:
>
>>>> +    $ref: /schemas/opp/opp-v2.yaml#
>>>> +
>>>>    ports:
>>>>      $ref: /schemas/graph.yaml#/properties/ports
>>>>      description: |
>>>> @@ -116,11 +120,12 @@ examples:
>>>>                            <0x0aeb0000 0x2008>;
>>>>                      reg-names = "mdp", "vbif";
>>>>  
>>>> -                    clocks = <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>>> +                    clocks = <&gcc GCC_DISP_AXI_CLK>,
>>>> +                             <&dispcc DISP_CC_MDSS_AHB_CLK>,
>>>
>>> What does the OPP table have to do with clocks? Adding a clock anywhere 
>>> but the end is an ABI break.
>> 
>> I should split this to a separate patch. And, I must admit, this clock change has already landed. We did not think that it is an ABI break since we have clock-names here.
>
>xxx-names are only a helper and order of items is always strict, thus
>any change in the order is always ABI break.

Ack, we will keep this in mind. However in this case we have already made this change. So the question in his do we cope with it.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings
  2022-06-25 23:25 ` [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings Dmitry Baryshkov
@ 2022-06-30 22:52   ` Rob Herring
  2022-07-05 16:41     ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Rob Herring @ 2022-06-30 22:52 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:03AM +0300, Dmitry Baryshkov wrote:
> Split Mobile Display SubSystem (MDSS) root node bindings to the separate
> yaml file. Changes to the existing (txt) schema:
>  - Add optional "vbif_nrt_phys" region used by msm8996
>  - Make "bus" and "vsync" clocks optional (they are not used by some
>    platforms)
>  - Add (optional) "core" clock added recently to the mdss driver
>  - Add optional resets property referencing MDSS reset
>  - Define child nodes together with compatibles
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../devicetree/bindings/display/msm/mdp5.txt  |  30 +--
>  .../devicetree/bindings/display/msm/mdss.yaml | 173 ++++++++++++++++++
>  2 files changed, 174 insertions(+), 29 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/display/msm/mdss.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/mdp5.txt b/Documentation/devicetree/bindings/display/msm/mdp5.txt
> index 43d11279c925..65d03c58dee6 100644
> --- a/Documentation/devicetree/bindings/display/msm/mdp5.txt
> +++ b/Documentation/devicetree/bindings/display/msm/mdp5.txt
> @@ -2,37 +2,9 @@ Qualcomm adreno/snapdragon MDP5 display controller
>  
>  Description:
>  
> -This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
> -encapsulates sub-blocks like MDP5, DSI, HDMI, eDP etc, and the MDP5 display
> +This is the bindings documentation for the MDP5 display
>  controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 and MSM8996.
>  
> -MDSS:
> -Required properties:
> -- compatible:
> -  * "qcom,mdss" - MDSS
> -- reg: Physical base address and length of the controller's registers.
> -- reg-names: The names of register regions. The following regions are required:
> -  * "mdss_phys"
> -  * "vbif_phys"
> -- interrupts: The interrupt signal from MDSS.
> -- interrupt-controller: identifies the node as an interrupt controller.
> -- #interrupt-cells: specifies the number of cells needed to encode an interrupt
> -  source, should be 1.
> -- power-domains: a power domain consumer specifier according to
> -  Documentation/devicetree/bindings/power/power_domain.txt
> -- clocks: device clocks. See ../clocks/clock-bindings.txt for details.
> -- clock-names: the following clocks are required.
> -  * "iface"
> -  * "bus"
> -  * "vsync"
> -- #address-cells: number of address cells for the MDSS children. Should be 1.
> -- #size-cells: Should be 1.
> -- ranges: parent bus address space is the same as the child bus address space.
> -
> -Optional properties:
> -- clock-names: the following clocks are optional:
> -  * "lut"

What happened to lut?

> -
>  MDP5:
>  Required properties:
>  - compatible:
> diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
> new file mode 100644
> index 000000000000..55c70922361d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
> @@ -0,0 +1,173 @@
> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/msm/mdss.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Mobile Display SubSystem (MDSS) dt properties

s/dt properties//

> +
> +maintainers:
> +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> +  - Rob Clark <robdclark@gmail.com>
> +
> +description: |

Don't need '|'.

> +  This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
> +  encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc.
> +
> +properties:
> +  compatible:
> +    enum:
> +      - qcom,mdss
> +
> +  reg:
> +    minItems: 2
> +    maxItems: 3
> +
> +  reg-names:
> +    minItems: 2
> +    items:
> +      - const: mdss_phys
> +      - const: vbif_phys
> +      - const: vbif_nrt_phys

Let's not continue with the _phys silliness.

> +
> +  interrupts:
> +    maxItems: 1
> +
> +  interrupt-controller:
> +    true
> +
> +  "#interrupt-cells":
> +    const: 1
> +
> +  power-domains:
> +    maxItems: 1
> +    description: |
> +      The MDSS power domain provided by GCC
> +
> +  clocks:
> +    minItems: 1
> +    maxItems: 4
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: iface
> +      - const: bus
> +      - const: vsync
> +      - const: core
> +
> +  "#address-cells":
> +    const: 1
> +
> +  "#size-cells":
> +    const: 1
> +
> +  ranges:
> +    true
> +
> +  resets:
> +    items:
> +      - description: MDSS_CORE reset
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - interrupts
> +  - interrupt-controller
> +  - "#interrupt-cells"
> +  - power-domains
> +  - clocks
> +  - clock-names
> +  - "#address-cells"
> +  - "#size-cells"
> +  - ranges
> +
> +patternProperties:
> +  "^mdp@(0|[1-9a-f][0-9a-f]*)$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - qcom,mdp5

These child nodes need to reference child schemas or be complete. If 
they aren't converted, then just 'type: object' and be done with it.

> +
> +  "^dsi@(0|[1-9a-f][0-9a-f]*)$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - qcom,mdss-dsi-ctrl
> +
> +  "^dsi-phy@(0|[1-9a-f][0-9a-f]*)$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - qcom,dsi-phy-7nm
> +          - qcom,dsi-phy-7nm-8150
> +          - qcom,dsi-phy-10nm
> +          - qcom,dsi-phy-10nm-8998
> +          - qcom,dsi-phy-14nm
> +          - qcom,dsi-phy-14nm-660
> +          - qcom,dsi-phy-14nm-8953
> +          - qcom,dsi-phy-20nm
> +          - qcom,dsi-phy-28nm-8960
> +          - qcom,dsi-phy-28nm-hpm
> +          - qcom,dsi-phy-28nm-lp
> +          - qcom,sc7280-dsi-phy-7nm
> +
> +  "^hdmi-phy@(0|[1-9a-f][0-9a-f]*)$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - qcom,hdmi-phy-8660
> +          - qcom,hdmi-phy-8960
> +          - qcom,hdmi-phy-8974
> +          - qcom,hdmi-phy-8084
> +          - qcom,hdmi-phy-8996
> +
> +  "^hdmi-tx@(0|[1-9a-f][0-9a-f]*)$":
> +    type: object
> +    properties:
> +      compatible:
> +        enum:
> +          - qcom,hdmi-tx-8084
> +          - qcom,hdmi-tx-8660
> +          - qcom,hdmi-tx-8960
> +          - qcom,hdmi-tx-8974
> +          - qcom,hdmi-tx-8994
> +          - qcom,hdmi-tx-8996
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/qcom,gcc-msm8916.h>
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +    mdss@1a00000 {
> +      compatible = "qcom,mdss";
> +      reg = <0x1a00000 0x1000>,
> +            <0x1ac8000 0x3000>;
> +      reg-names = "mdss_phys", "vbif_phys";
> +
> +      power-domains = <&gcc MDSS_GDSC>;
> +
> +      clocks = <&gcc GCC_MDSS_AHB_CLK>,
> +               <&gcc GCC_MDSS_AXI_CLK>,
> +               <&gcc GCC_MDSS_VSYNC_CLK>;
> +      clock-names = "iface",
> +                    "bus",
> +                    "vsync";
> +
> +      interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
> +
> +      interrupt-controller;
> +      #interrupt-cells = <1>;
> +
> +      #address-cells = <1>;
> +      #size-cells = <1>;
> +      ranges;
> +
> +    };
> +...
> -- 
> 2.35.1
> 
> 

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml
  2022-06-25 23:25 ` [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml Dmitry Baryshkov
  2022-06-28 14:38   ` Rob Herring
@ 2022-06-30 23:02   ` Rob Herring
  1 sibling, 0 replies; 27+ messages in thread
From: Rob Herring @ 2022-06-30 23:02 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:04AM +0300, Dmitry Baryshkov wrote:
> Move schema for qcom,sdm845-mdss from dpu-sdm845.yaml to mdss.yaml so
> that the dpu file describes only the DPU schema.
> 
> While we are at it, rename display-controller node to mdp to reflect
> actual node name in the sdm845.dtsi file.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/display/msm/dpu-sdm845.yaml      | 137 +++++-------------
>  .../devicetree/bindings/display/msm/mdss.yaml | 112 ++++++++++++--
>  2 files changed, 135 insertions(+), 114 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> index 2bb8896beffc..9253e0ca9fca 100644
> --- a/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/dpu-sdm845.yaml
> @@ -10,139 +10,74 @@ maintainers:
>    - Krishna Manikandan <quic_mkrishn@quicinc.com>
>  
>  description: |
> -  Device tree bindings for MSM Mobile Display Subsystem(MDSS) that encapsulates
> -  sub-blocks like DPU display controller, DSI and DP interfaces etc. Device tree
> -  bindings of MDSS and DPU are mentioned for SDM845 target.
> +  Device tree bindings for the DPU display controller for SDM845 target.
>  
>  properties:
>    compatible:
>      items:
> -      - const: qcom,sdm845-mdss
> +      - const: qcom,sdm845-dpu
>  
>    reg:
> -    maxItems: 1
> +    items:
> +      - description: Address offset and size for mdp register set
> +      - description: Address offset and size for vbif register set
>  
>    reg-names:
> -    const: mdss
> -
> -  power-domains:
> -    maxItems: 1
> +    items:
> +      - const: mdp
> +      - const: vbif
>  
>    clocks:
>      items:
> -      - description: Display AHB clock from gcc
> +      - description: Display ahb clock
> +      - description: Display axi clock
>        - description: Display core clock
> +      - description: Display vsync clock
>  
>    clock-names:
>      items:
>        - const: iface
> +      - const: bus
>        - const: core
> +      - const: vsync
>  
>    interrupts:
>      maxItems: 1
>  
> -  interrupt-controller: true
> -
> -  "#address-cells": true
> -
> -  "#size-cells": true
> -
> -  "#interrupt-cells":
> -    const: 1
> -
> -  iommus:
> -    items:
> -      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
> -      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
> -
> -  ranges: true
> -
> -  resets:
> -    items:
> -      - description: MDSS_CORE reset
> +  power-domains:
> +    maxItems: 1
>  
> -patternProperties:
> -  "^display-controller@[0-9a-f]+$":
> -    type: object
> -    description: Node containing the properties of DPU.
> +  operating-points-v2: true
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports
> +    description: |
> +      Contains the list of output ports from DPU device. These ports
> +      connect to interfaces that are external to the DPU hardware,
> +      such as DSI, DP etc. Each output port contains an endpoint that
> +      describes how it is connected to an external interface.
>  
>      properties:
> -      compatible:
> -        items:
> -          - const: qcom,sdm845-dpu
> -
> -      reg:
> -        items:
> -          - description: Address offset and size for mdp register set
> -          - description: Address offset and size for vbif register set
> -
> -      reg-names:
> -        items:
> -          - const: mdp
> -          - const: vbif
> -
> -      clocks:
> -        items:
> -          - description: Display ahb clock
> -          - description: Display axi clock
> -          - description: Display core clock
> -          - description: Display vsync clock
> -
> -      clock-names:
> -        items:
> -          - const: iface
> -          - const: bus
> -          - const: core
> -          - const: vsync
> -
> -      interrupts:
> -        maxItems: 1
> -
> -      power-domains:
> -        maxItems: 1
> -
> -      operating-points-v2: true
> -      ports:
> -        $ref: /schemas/graph.yaml#/properties/ports
> -        description: |
> -          Contains the list of output ports from DPU device. These ports
> -          connect to interfaces that are external to the DPU hardware,
> -          such as DSI, DP etc. Each output port contains an endpoint that
> -          describes how it is connected to an external interface.
> -
> -        properties:
> -          port@0:
> -            $ref: /schemas/graph.yaml#/properties/port
> -            description: DPU_INTF1 (DSI1)
> -
> -          port@1:
> -            $ref: /schemas/graph.yaml#/properties/port
> -            description: DPU_INTF2 (DSI2)
> -
> -        required:
> -          - port@0
> -          - port@1
> +      port@0:
> +        $ref: /schemas/graph.yaml#/properties/port
> +        description: DPU_INTF1 (DSI1)
> +
> +      port@1:
> +        $ref: /schemas/graph.yaml#/properties/port
> +        description: DPU_INTF2 (DSI2)
>  
>      required:
> -      - compatible
> -      - reg
> -      - reg-names
> -      - clocks
> -      - interrupts
> -      - power-domains
> -      - operating-points-v2
> -      - ports
> +      - port@0
> +      - port@1
>  
>  required:
>    - compatible
>    - reg
>    - reg-names
> -  - power-domains
>    - clocks
>    - interrupts
> -  - interrupt-controller
> -  - iommus
> -  - ranges
> +  - power-domains
> +  - operating-points-v2
> +  - ports
>  
>  additionalProperties: false
>  
> @@ -173,7 +108,7 @@ examples:
>                     <&apps_smmu 0xc80 0x8>;
>            ranges;
>  
> -          display-controller@ae01000 {
> +          mdp@ae01000 {

The idea was to fix the dts files. Does something depend on the 'mdp' 
name?

>                      compatible = "qcom,sdm845-dpu";
>                      reg = <0x0ae01000 0x8f000>,
>                            <0x0aeb0000 0x2008>;
> diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
> index 55c70922361d..1cfdec9e349b 100644
> --- a/Documentation/devicetree/bindings/display/msm/mdss.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
> @@ -8,6 +8,7 @@ title: Qualcomm Mobile Display SubSystem (MDSS) dt properties
>  
>  maintainers:
>    - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> +  - Krishna Manikandan <quic_mkrishn@quicinc.com>
>    - Rob Clark <robdclark@gmail.com>
>  
>  description: |
> @@ -17,18 +18,16 @@ description: |
>  properties:
>    compatible:
>      enum:
> +      - qcom,sdm845-mdss
>        - qcom,mdss
>  
>    reg:
> -    minItems: 2
> +    minItems: 1
>      maxItems: 3
>  
>    reg-names:
> -    minItems: 2
> -    items:
> -      - const: mdss_phys
> -      - const: vbif_phys
> -      - const: vbif_nrt_phys
> +    minItems: 1
> +    maxItems: 3
>  
>    interrupts:
>      maxItems: 1
> @@ -50,17 +49,13 @@ properties:
>  
>    clock-names:
>      minItems: 1
> -    items:
> -      - const: iface
> -      - const: bus
> -      - const: vsync
> -      - const: core
> +    maxItems: 4
>  
>    "#address-cells":
> -    const: 1
> +    enum: [1, 2]
>  
>    "#size-cells":
> -    const: 1
> +    enum: [1, 2]
>  
>    ranges:
>      true
> @@ -69,6 +64,96 @@ properties:
>      items:
>        - description: MDSS_CORE reset
>  
> +  interconnects:
> +    minItems: 2
> +    items:
> +      - description: MDP port 0
> +      - description: MDP port 1
> +      - description: Rotator
> +
> +  interconnect-names:
> +    minItems: 2
> +    items:
> +      - const: mdp0-mem
> +      - const: mdp1-mem
> +      - const: rotator-mem
> +
> +  iommus:
> +    items:
> +      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port0
> +      - description: Phandle to apps_smmu node with SID mask for Hard-Fail port1
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,mdss

const: qcom,mdss

> +    then:
> +      properties:
> +        reg-names:
> +          minItems: 2
> +          items:
> +            - const: mdss_phys
> +            - const: vbif_phys
> +            - const: vbif_nrt_phys
> +    else:
> +      properties:
> +        regs:
> +          maxItems: 1
> +
> +        reg-names:
> +          items:
> +            - const: mdss
> +
> +        interconnects:
> +          maxItems: 2
> +
> +        interconnect-names:
> +          maxItems: 2
> +
> +      required:
> +        - iommus
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,mdss

The same if condition again?

> +    then:
> +      properties:
> +        clocks:
> +          minItems: 1
> +          maxItems: 4
> +
> +        clock-names:
> +          minItems: 1
> +          items:
> +            - const: iface
> +            - const: bus
> +            - const: vsync
> +            - const: core
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - qcom,sdm845-mdss
> +    then:
> +      properties:
> +        clocks:
> +          items:
> +            - description: Display AHB clock from gcc
> +            - description: Display core clock
> +
> +        clock-names:
> +          items:
> +            - const: iface
> +            - const: core
> +
>  required:
>    - compatible
>    - reg
> @@ -90,6 +175,7 @@ patternProperties:
>        compatible:
>          enum:
>            - qcom,mdp5
> +          - qcom,sdm845-dpu

As mentioned, this should be a $ref instead.

You should be able to do:

oneOf:
  - $ref: qcom,sdm845-dpu.yaml#
  - $ref: qcom,???-dpu.yaml#
  - ...

Rob

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss schema to mdss.yaml
  2022-06-25 23:25 ` [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss " Dmitry Baryshkov
@ 2022-06-30 23:05   ` Rob Herring
  0 siblings, 0 replies; 27+ messages in thread
From: Rob Herring @ 2022-06-30 23:05 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:08AM +0300, Dmitry Baryshkov wrote:
> Move schema for qcom,msm8998-mdss from dpu-msm8998.yaml to mdss.yaml so
> that the dpu file describes only the DPU schema.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/display/msm/dpu-msm8998.yaml     | 142 +++++-------------
>  .../devicetree/bindings/display/msm/mdss.yaml |  25 +++
>  2 files changed, 65 insertions(+), 102 deletions(-)

Similar issues in the rest of these MDSS moves.

Rob

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280
  2022-06-25 23:25 ` [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280 Dmitry Baryshkov
@ 2022-06-30 23:06   ` Rob Herring
  0 siblings, 0 replies; 27+ messages in thread
From: Rob Herring @ 2022-06-30 23:06 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: AngeloGioacchino Del Regno, Rob Herring, Krishna Manikandan,
	Bjorn Andersson, Krzysztof Kozlowski, Andy Gross, linux-arm-msm,
	devicetree

On Sun, 26 Jun 2022 02:25:12 +0300, Dmitry Baryshkov wrote:
> On sc7280 platforms DPU device tree node contains child object
> opp-table providing OPP table for the DPU. Add it to the list of
> properties to let sc7280.dtsi to validate.
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  Documentation/devicetree/bindings/display/msm/dpu-sc7280.yaml | 3 +++
>  1 file changed, 3 insertions(+)
> 

Acked-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml
  2022-06-25 23:25 ` [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml Dmitry Baryshkov
@ 2022-06-30 23:11   ` Rob Herring
  2022-07-08  9:14     ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Rob Herring @ 2022-06-30 23:11 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Sun, Jun 26, 2022 at 02:25:13AM +0300, Dmitry Baryshkov wrote:
> Move properties common to all DPU DT nodes to the dpu-common.yaml
> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> ---
>  .../bindings/display/msm/dpu-common.yaml      | 47 +++++++++++++++++++
>  .../bindings/display/msm/dpu-msm8998.yaml     | 28 ++---------
>  .../bindings/display/msm/dpu-qcm2290.yaml     | 29 ++----------
>  .../bindings/display/msm/dpu-sc7180.yaml      | 32 ++-----------
>  .../bindings/display/msm/dpu-sc7280.yaml      | 32 ++-----------
>  .../bindings/display/msm/dpu-sdm845.yaml      | 32 ++-----------
>  6 files changed, 67 insertions(+), 133 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> new file mode 100644
> index 000000000000..f3465ee3a4ab
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> @@ -0,0 +1,47 @@
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Qualcomm Display DPU dt properties (common properties)
> +
> +maintainers:
> +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> +  - Krishna Manikandan <quic_mkrishn@quicinc.com>
> +  - Rob Clark <robdclark@gmail.com>
> +
> +description: |
> +  Device tree bindings for the DPU display controller, common properties.

Common properties for QCom DPU display controller

> +
> +properties:
> +  interrupts:
> +    maxItems: 1
> +
> +  power-domains:
> +    maxItems: 1
> +
> +  operating-points-v2: true
> +
> +  ports:
> +    $ref: /schemas/graph.yaml#/properties/ports

Now this schema is applied twice.

> +    description: |
> +      Contains the list of output ports from DPU device. These ports
> +      connect to interfaces that are external to the DPU hardware,
> +      such as DSI, DP etc. Each output port contains an endpoint that
> +      describes how it is connected to an external interface.

This description is marginally useful. Each port will say it is an 
output to X. So you could just remove.

> +
> +patternProperties:
> +  (mdp-)?opp-table:
> +    $ref: /schemas/opp/opp-v2.yaml#
> +
> +required:
> +  - compatible
> +  - reg
> +  - reg-names
> +  - clocks
> +  - interrupts
> +  - power-domains
> +  - operating-points-v2
> +  - ports
> +
> +additionalProperties: true

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings
  2022-06-30 22:52   ` Rob Herring
@ 2022-07-05 16:41     ` Dmitry Baryshkov
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-07-05 16:41 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On 01/07/2022 01:52, Rob Herring wrote:
> On Sun, Jun 26, 2022 at 02:25:03AM +0300, Dmitry Baryshkov wrote:
>> Split Mobile Display SubSystem (MDSS) root node bindings to the separate
>> yaml file. Changes to the existing (txt) schema:
>>   - Add optional "vbif_nrt_phys" region used by msm8996
>>   - Make "bus" and "vsync" clocks optional (they are not used by some
>>     platforms)
>>   - Add (optional) "core" clock added recently to the mdss driver
>>   - Add optional resets property referencing MDSS reset
>>   - Define child nodes together with compatibles
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   .../devicetree/bindings/display/msm/mdp5.txt  |  30 +--
>>   .../devicetree/bindings/display/msm/mdss.yaml | 173 ++++++++++++++++++
>>   2 files changed, 174 insertions(+), 29 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/display/msm/mdss.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/msm/mdp5.txt b/Documentation/devicetree/bindings/display/msm/mdp5.txt
>> index 43d11279c925..65d03c58dee6 100644
>> --- a/Documentation/devicetree/bindings/display/msm/mdp5.txt
>> +++ b/Documentation/devicetree/bindings/display/msm/mdp5.txt
>> @@ -2,37 +2,9 @@ Qualcomm adreno/snapdragon MDP5 display controller
>>   
>>   Description:
>>   
>> -This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
>> -encapsulates sub-blocks like MDP5, DSI, HDMI, eDP etc, and the MDP5 display
>> +This is the bindings documentation for the MDP5 display
>>   controller found in SoCs like MSM8974, APQ8084, MSM8916, MSM8994 and MSM8996.
>>   
>> -MDSS:
>> -Required properties:
>> -- compatible:
>> -  * "qcom,mdss" - MDSS
>> -- reg: Physical base address and length of the controller's registers.
>> -- reg-names: The names of register regions. The following regions are required:
>> -  * "mdss_phys"
>> -  * "vbif_phys"
>> -- interrupts: The interrupt signal from MDSS.
>> -- interrupt-controller: identifies the node as an interrupt controller.
>> -- #interrupt-cells: specifies the number of cells needed to encode an interrupt
>> -  source, should be 1.
>> -- power-domains: a power domain consumer specifier according to
>> -  Documentation/devicetree/bindings/power/power_domain.txt
>> -- clocks: device clocks. See ../clocks/clock-bindings.txt for details.
>> -- clock-names: the following clocks are required.
>> -  * "iface"
>> -  * "bus"
>> -  * "vsync"
>> -- #address-cells: number of address cells for the MDSS children. Should be 1.
>> -- #size-cells: Should be 1.
>> -- ranges: parent bus address space is the same as the child bus address space.
>> -
>> -Optional properties:
>> -- clock-names: the following clocks are optional:
>> -  * "lut"
> 
> What happened to lut?

It was put there by mistake. The "lut" belongs to mdp4 device node. I 
will update the commit message.

> 
>> -
>>   MDP5:
>>   Required properties:
>>   - compatible:
>> diff --git a/Documentation/devicetree/bindings/display/msm/mdss.yaml b/Documentation/devicetree/bindings/display/msm/mdss.yaml
>> new file mode 100644
>> index 000000000000..55c70922361d
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/msm/mdss.yaml
>> @@ -0,0 +1,173 @@
>> +# SPDX-License-Identifier: GPL-2.0-only or BSD-2-Clause
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/msm/mdss.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Mobile Display SubSystem (MDSS) dt properties
> 
> s/dt properties//
> 
>> +
>> +maintainers:
>> +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> +  - Rob Clark <robdclark@gmail.com>
>> +
>> +description: |
> 
> Don't need '|'.
> 
>> +  This is the bindings documentation for the Mobile Display Subsytem(MDSS) that
>> +  encapsulates sub-blocks like MDP5, DSI, HDMI, eDP, etc.
>> +
>> +properties:
>> +  compatible:
>> +    enum:
>> +      - qcom,mdss
>> +
>> +  reg:
>> +    minItems: 2
>> +    maxItems: 3
>> +
>> +  reg-names:
>> +    minItems: 2
>> +    items:
>> +      - const: mdss_phys
>> +      - const: vbif_phys
>> +      - const: vbif_nrt_phys
> 
> Let's not continue with the _phys silliness.

But they are used by existing schema files. Should I define these ones 
as deprecated and provide compatibility for both of them?

> 
>> +
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  interrupt-controller:
>> +    true
>> +
>> +  "#interrupt-cells":
>> +    const: 1
>> +
>> +  power-domains:
>> +    maxItems: 1
>> +    description: |
>> +      The MDSS power domain provided by GCC
>> +
>> +  clocks:
>> +    minItems: 1
>> +    maxItems: 4
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: iface
>> +      - const: bus
>> +      - const: vsync
>> +      - const: core
>> +
>> +  "#address-cells":
>> +    const: 1
>> +
>> +  "#size-cells":
>> +    const: 1
>> +
>> +  ranges:
>> +    true
>> +
>> +  resets:
>> +    items:
>> +      - description: MDSS_CORE reset
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - reg-names
>> +  - interrupts
>> +  - interrupt-controller
>> +  - "#interrupt-cells"
>> +  - power-domains
>> +  - clocks
>> +  - clock-names
>> +  - "#address-cells"
>> +  - "#size-cells"
>> +  - ranges
>> +
>> +patternProperties:
>> +  "^mdp@(0|[1-9a-f][0-9a-f]*)$":
>> +    type: object
>> +    properties:
>> +      compatible:
>> +        enum:
>> +          - qcom,mdp5
> 
> These child nodes need to reference child schemas or be complete. If
> they aren't converted, then just 'type: object' and be done with it.

Ack.

> 
>> +
>> +  "^dsi@(0|[1-9a-f][0-9a-f]*)$":
>> +    type: object
>> +    properties:
>> +      compatible:
>> +        enum:
>> +          - qcom,mdss-dsi-ctrl
>> +
[....]

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml
  2022-06-30 23:11   ` Rob Herring
@ 2022-07-08  9:14     ` Dmitry Baryshkov
  2022-07-12 20:47       ` Rob Herring
  0 siblings, 1 reply; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-07-08  9:14 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On 01/07/2022 02:11, Rob Herring wrote:
> On Sun, Jun 26, 2022 at 02:25:13AM +0300, Dmitry Baryshkov wrote:
>> Move properties common to all DPU DT nodes to the dpu-common.yaml
>>
>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> ---
>>   .../bindings/display/msm/dpu-common.yaml      | 47 +++++++++++++++++++
>>   .../bindings/display/msm/dpu-msm8998.yaml     | 28 ++---------
>>   .../bindings/display/msm/dpu-qcm2290.yaml     | 29 ++----------
>>   .../bindings/display/msm/dpu-sc7180.yaml      | 32 ++-----------
>>   .../bindings/display/msm/dpu-sc7280.yaml      | 32 ++-----------
>>   .../bindings/display/msm/dpu-sdm845.yaml      | 32 ++-----------
>>   6 files changed, 67 insertions(+), 133 deletions(-)
>>   create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>>
>> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>> new file mode 100644
>> index 000000000000..f3465ee3a4ab
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>> @@ -0,0 +1,47 @@
>> +%YAML 1.2
>> +---
>> +$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> +
>> +title: Qualcomm Display DPU dt properties (common properties)
>> +
>> +maintainers:
>> +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>> +  - Krishna Manikandan <quic_mkrishn@quicinc.com>
>> +  - Rob Clark <robdclark@gmail.com>
>> +
>> +description: |
>> +  Device tree bindings for the DPU display controller, common properties.
> 
> Common properties for QCom DPU display controller
> 
>> +
>> +properties:
>> +  interrupts:
>> +    maxItems: 1
>> +
>> +  power-domains:
>> +    maxItems: 1
>> +
>> +  operating-points-v2: true
>> +
>> +  ports:
>> +    $ref: /schemas/graph.yaml#/properties/ports
> 
> Now this schema is applied twice.
> 
>> +    description: |
>> +      Contains the list of output ports from DPU device. These ports
>> +      connect to interfaces that are external to the DPU hardware,
>> +      such as DSI, DP etc. Each output port contains an endpoint that
>> +      describes how it is connected to an external interface.
> 
> This description is marginally useful. Each port will say it is an
> output to X. So you could just remove.

I think I will go the other way around. It is not really useful to 
describe individual ports, so I will leave just this piece, slightly 
rephrased and drop individual /ports, /ports/port@N from dpu-foo.yaml.

This will also remove the duplicate application of ports schema.

> 
>> +
>> +patternProperties:
>> +  (mdp-)?opp-table:
>> +    $ref: /schemas/opp/opp-v2.yaml#
>> +
>> +required:
>> +  - compatible
>> +  - reg
>> +  - reg-names
>> +  - clocks
>> +  - interrupts
>> +  - power-domains
>> +  - operating-points-v2
>> +  - ports
>> +
>> +additionalProperties: true


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml
  2022-07-08  9:14     ` Dmitry Baryshkov
@ 2022-07-12 20:47       ` Rob Herring
  2022-07-12 21:41         ` Dmitry Baryshkov
  0 siblings, 1 reply; 27+ messages in thread
From: Rob Herring @ 2022-07-12 20:47 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On Fri, Jul 08, 2022 at 12:14:45PM +0300, Dmitry Baryshkov wrote:
> On 01/07/2022 02:11, Rob Herring wrote:
> > On Sun, Jun 26, 2022 at 02:25:13AM +0300, Dmitry Baryshkov wrote:
> > > Move properties common to all DPU DT nodes to the dpu-common.yaml
> > > 
> > > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > ---
> > >   .../bindings/display/msm/dpu-common.yaml      | 47 +++++++++++++++++++
> > >   .../bindings/display/msm/dpu-msm8998.yaml     | 28 ++---------
> > >   .../bindings/display/msm/dpu-qcm2290.yaml     | 29 ++----------
> > >   .../bindings/display/msm/dpu-sc7180.yaml      | 32 ++-----------
> > >   .../bindings/display/msm/dpu-sc7280.yaml      | 32 ++-----------
> > >   .../bindings/display/msm/dpu-sdm845.yaml      | 32 ++-----------
> > >   6 files changed, 67 insertions(+), 133 deletions(-)
> > >   create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> > > 
> > > diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> > > new file mode 100644
> > > index 000000000000..f3465ee3a4ab
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
> > > @@ -0,0 +1,47 @@
> > > +%YAML 1.2
> > > +---
> > > +$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
> > > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > +
> > > +title: Qualcomm Display DPU dt properties (common properties)
> > > +
> > > +maintainers:
> > > +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
> > > +  - Krishna Manikandan <quic_mkrishn@quicinc.com>
> > > +  - Rob Clark <robdclark@gmail.com>
> > > +
> > > +description: |
> > > +  Device tree bindings for the DPU display controller, common properties.
> > 
> > Common properties for QCom DPU display controller
> > 
> > > +
> > > +properties:
> > > +  interrupts:
> > > +    maxItems: 1
> > > +
> > > +  power-domains:
> > > +    maxItems: 1
> > > +
> > > +  operating-points-v2: true
> > > +
> > > +  ports:
> > > +    $ref: /schemas/graph.yaml#/properties/ports
> > 
> > Now this schema is applied twice.
> > 
> > > +    description: |
> > > +      Contains the list of output ports from DPU device. These ports
> > > +      connect to interfaces that are external to the DPU hardware,
> > > +      such as DSI, DP etc. Each output port contains an endpoint that
> > > +      describes how it is connected to an external interface.
> > 
> > This description is marginally useful. Each port will say it is an
> > output to X. So you could just remove.
> 
> I think I will go the other way around. It is not really useful to describe
> individual ports, so I will leave just this piece, slightly rephrased and
> drop individual /ports, /ports/port@N from dpu-foo.yaml.

How is describing individual port not useful? You must define what each 
port is. Input or output. Type of data. Are they all the same?

Rob

^ permalink raw reply	[flat|nested] 27+ messages in thread

* Re: [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml
  2022-07-12 20:47       ` Rob Herring
@ 2022-07-12 21:41         ` Dmitry Baryshkov
  0 siblings, 0 replies; 27+ messages in thread
From: Dmitry Baryshkov @ 2022-07-12 21:41 UTC (permalink / raw)
  To: Rob Herring
  Cc: Andy Gross, Bjorn Andersson, Krzysztof Kozlowski, linux-arm-msm,
	devicetree, Krishna Manikandan, AngeloGioacchino Del Regno

On 12/07/2022 23:47, Rob Herring wrote:
> On Fri, Jul 08, 2022 at 12:14:45PM +0300, Dmitry Baryshkov wrote:
>> On 01/07/2022 02:11, Rob Herring wrote:
>>> On Sun, Jun 26, 2022 at 02:25:13AM +0300, Dmitry Baryshkov wrote:
>>>> Move properties common to all DPU DT nodes to the dpu-common.yaml
>>>>
>>>> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>> ---
>>>>    .../bindings/display/msm/dpu-common.yaml      | 47 +++++++++++++++++++
>>>>    .../bindings/display/msm/dpu-msm8998.yaml     | 28 ++---------
>>>>    .../bindings/display/msm/dpu-qcm2290.yaml     | 29 ++----------
>>>>    .../bindings/display/msm/dpu-sc7180.yaml      | 32 ++-----------
>>>>    .../bindings/display/msm/dpu-sc7280.yaml      | 32 ++-----------
>>>>    .../bindings/display/msm/dpu-sdm845.yaml      | 32 ++-----------
>>>>    6 files changed, 67 insertions(+), 133 deletions(-)
>>>>    create mode 100644 Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/display/msm/dpu-common.yaml b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>>>> new file mode 100644
>>>> index 000000000000..f3465ee3a4ab
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/display/msm/dpu-common.yaml
>>>> @@ -0,0 +1,47 @@
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/display/msm/dpu-common.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Qualcomm Display DPU dt properties (common properties)
>>>> +
>>>> +maintainers:
>>>> +  - Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
>>>> +  - Krishna Manikandan <quic_mkrishn@quicinc.com>
>>>> +  - Rob Clark <robdclark@gmail.com>
>>>> +
>>>> +description: |
>>>> +  Device tree bindings for the DPU display controller, common properties.
>>>
>>> Common properties for QCom DPU display controller
>>>
>>>> +
>>>> +properties:
>>>> +  interrupts:
>>>> +    maxItems: 1
>>>> +
>>>> +  power-domains:
>>>> +    maxItems: 1
>>>> +
>>>> +  operating-points-v2: true
>>>> +
>>>> +  ports:
>>>> +    $ref: /schemas/graph.yaml#/properties/ports
>>>
>>> Now this schema is applied twice.
>>>
>>>> +    description: |
>>>> +      Contains the list of output ports from DPU device. These ports
>>>> +      connect to interfaces that are external to the DPU hardware,
>>>> +      such as DSI, DP etc. Each output port contains an endpoint that
>>>> +      describes how it is connected to an external interface.
>>>
>>> This description is marginally useful. Each port will say it is an
>>> output to X. So you could just remove.
>>
>> I think I will go the other way around. It is not really useful to describe
>> individual ports, so I will leave just this piece, slightly rephrased and
>> drop individual /ports, /ports/port@N from dpu-foo.yaml.
> 
> How is describing individual port not useful? You must define what each
> port is. Input or output. Type of data. Are they all the same?

In case of MDSS all ports are output, they are connected to the external 
interfaces (DSI, DP, HDMI, etc). The driver uses them to bind available 
interfaces (using components framework). The reg property of the port is 
completely ignored.


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2022-07-12 21:41 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-25 23:25 [PATCH 00/11] dt-bindings: display/msm: rework MDSS and DPU bindings Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 01/11] dt-bindings: display/msm: split qcom, mdss bindings Dmitry Baryshkov
2022-06-30 22:52   ` Rob Herring
2022-07-05 16:41     ` Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 02/11] dt-bindings: display/msm: move qcom,sdm845-mdss schema to mdss.yaml Dmitry Baryshkov
2022-06-28 14:38   ` Rob Herring
2022-06-28 20:28     ` Dmitry Baryshkov
2022-06-30 23:02   ` Rob Herring
2022-06-25 23:25 ` [PATCH 03/11] dt-bindings: display/msm: move qcom,sc7180-mdss " Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 04/11] dt-bindings: display/msm: move qcom,sc7280-mdss " Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 05/11] dt-bindings: display/msm: move qcom,qcm2290-mdss " Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 06/11] dt-bindings: display/msm: move qcom,msm8998-mdss " Dmitry Baryshkov
2022-06-30 23:05   ` Rob Herring
2022-06-25 23:25 ` [PATCH 07/11] dt-bindings: display/mdm: add gcc-bus clock to dpu-smd845 Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 08/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sdm845 Dmitry Baryshkov
2022-06-27 18:05   ` Rob Herring
2022-06-28 20:23     ` Dmitry Baryshkov
2022-06-29  9:23       ` Krzysztof Kozlowski
2022-06-29 18:57         ` Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 09/11] dt-bindings: display/msm: add mdp-opp-table to dpu-sc7180 Dmitry Baryshkov
2022-06-25 23:25 ` [PATCH 10/11] dt-bindings: display/msm: add opp-table to dpu-sc7280 Dmitry Baryshkov
2022-06-30 23:06   ` Rob Herring
2022-06-25 23:25 ` [PATCH 11/11] dt-bindings: display/msm: move common DPU properties to dpu-common.yaml Dmitry Baryshkov
2022-06-30 23:11   ` Rob Herring
2022-07-08  9:14     ` Dmitry Baryshkov
2022-07-12 20:47       ` Rob Herring
2022-07-12 21:41         ` Dmitry Baryshkov

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).