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

From: Dmitry Baryshkov
Date: Tue Nov 08 2022 - 07:43:43 EST


On 08/11/2022 02:56, Bryan O'Donoghue wrote:
Each compatible has a different set of clocks which are associated with it.
Add in the list of clocks for each compatible.

Cc: Rob Clark <robdclark@xxxxxxxxx>
Cc: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
Cc: Sean Paul <sean@xxxxxxxxxx>
Cc: David Airlie <airlied@xxxxxxxxx>
Cc: Daniel Vetter <daniel@xxxxxxxx>
Cc: Rob Herring <robh+dt@xxxxxxxxxx>
Cc: Krzysztof Kozlowski <krzysztof.kozlowski+dt@xxxxxxxxxx>
Cc: linux-arm-msm@xxxxxxxxxxxxxxx
Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
Cc: freedreno@xxxxxxxxxxxxxxxxxxxxx
Cc: devicetree@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx>
---
.../display/msm/dsi-controller-main.yaml | 177 +++++++++++++++---
1 file changed, 150 insertions(+), 27 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
index 9db3e63acda3d..c975df0ca22fc 100644
--- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
+++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml
@@ -9,24 +9,22 @@ title: Qualcomm Display DSI controller
maintainers:
- Krishna Manikandan <quic_mkrishn@xxxxxxxxxxx>
-allOf:
- - $ref: "../dsi-controller.yaml#"
-
properties:
compatible:
- enum:
- - qcom,dsi-ctrl-6g-qcm2290
- - qcom,mdss-dsi-ctrl
- - qcom,mdss-dsi-ctrl-apq8064
- - qcom,mdss-dsi-ctrl-msm8916
- - qcom,mdss-dsi-ctrl-msm8974
- - qcom,mdss-dsi-ctrl-msm8996
- - qcom,mdss-dsi-ctrl-sc7180
- - qcom,mdss-dsi-ctrl-sc7280
- - qcom,mdss-dsi-ctrl-sdm630
- - qcom,mdss-dsi-ctrl-sdm660
- - qcom,mdss-dsi-ctrl-sdm845
- - qcom,mdss-dsi-ctrl-sm8250
+ items:
+ - enum:
+ - qcom,dsi-ctrl-6g-qcm2290
+ - qcom,mdss-dsi-ctrl-apq8064
+ - qcom,mdss-dsi-ctrl-msm8916
+ - qcom,mdss-dsi-ctrl-msm8974
+ - qcom,mdss-dsi-ctrl-msm8996
+ - qcom,mdss-dsi-ctrl-sc7180
+ - qcom,mdss-dsi-ctrl-sc7280
+ - qcom,mdss-dsi-ctrl-sdm630
+ - qcom,mdss-dsi-ctrl-sdm660
+ - qcom,mdss-dsi-ctrl-sdm845
+ - qcom,mdss-dsi-ctrl-sm8250
+ - const: qcom,mdss-dsi-ctrl

I'd prefer to have this part squashed into the previous patch.

reg:
maxItems: 1
@@ -51,17 +49,8 @@ properties:
minItems: 6
clock-names:
- items:
- - const: byte
- - const: byte_intf
- - const: pixel
- - const: core
- - const: iface
- - const: bus
- - const: core_mmss
- - const: mdp_core
- - const: mnoc
minItems: 6
+ maxItems: 9
phys:
maxItems: 1
@@ -169,6 +158,140 @@ required:
- vddio-supply
- vdda-supply
+allOf:
+ - $ref: "../dsi-controller.yaml#"
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-apq8064
+ then:
+ properties:
+ clocks:
+ maxItems: 7
+ clock-names:
+ items:
+ - const: iface
+ - const: bus
+ - const: core_mmss
+ - const: src
+ - const: byte
+ - const: pixel
+ - const: core

Empty lines between clauses please.

+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-msm8916
+ then:
+ properties:
+ clocks:
+ maxItems: 6
+ clock-names:
+ items:
+ - const: mdp_core
+ - const: iface
+ - const: bus
+ - const: byte
+ - const: pixel
+ - const: core
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-msm8974
+ then:
+ properties:
+ clocks:
+ maxItems: 3
+ clock-names:
+ items:
+ - const: iface
+ - const: bus
+ - const: vsync
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-msm8996
+ then:
+ properties:
+ clocks:
+ maxItems: 7
+ clock-names:
+ items:
+ - const: mdp_core
+ - const: byte
+ - const: iface
+ - const: bus
+ - const: core_mmss
+ - const: pixel
+ - const: core
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-sc7180
+ - qcom,mdss-dsi-ctrl-sc7280
+ - qcom,mdss-dsi-ctrl-sm8250
+ then:
+ properties:
+ clocks:
+ maxItems: 6
+ clock-names:
+ items:
+ - const: byte
+ - const: byte_intf
+ - const: pixel
+ - const: core
+ - const: iface
+ - const: bus
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-sdm630
+ - qcom,mdss-dsi-ctrl-sdm660
+ then:
+ properties:
+ clocks:
+ maxItems: 9
+ clock-names:
+ items:
+ - const: mdp_core
+ - const: byte
+ - const: byte_intf
+ - const: mnoc
+ - const: iface
+ - const: bus
+ - const: core_mmss
+ - const: pixel
+ - const: core
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,mdss-dsi-ctrl-sdm845
+ then:
+ properties:
+ clocks:
+ maxItems: 6
+ clock-names:
+ items:
+ - const: byte
+ - const: byte_intf
+ - const: pixel
+ - const: core
+ - const: iface
+ - const: bus
+
additionalProperties: false
examples:
@@ -179,7 +302,7 @@ examples:
#include <dt-bindings/power/qcom-rpmpd.h>
dsi@ae94000 {
- compatible = "qcom,mdss-dsi-ctrl";
+ compatible = "qcom,mdss-dsi-ctrl-sc7180", "qcom,mdss-dsi-ctrl";
reg = <0x0ae94000 0x400>;
reg-names = "dsi_ctrl";

--
With best wishes
Dmitry