Message ID | 20230116225217.1056258-3-bryan.odonoghue@linaro.org |
---|---|
State | Accepted |
Commit | d10bdc6ec6ac9393a48f1e4e874eeec7f48d046d |
Headers | show |
Series | mdss-dsi-ctrl binding and dts fixes | expand |
On 17/01/2023 00:52, 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. > > Acked-by: Rob Herring <robh@kernel.org> > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> > Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org> > --- > .../display/msm/dsi-controller-main.yaml | 219 ++++++++++++++++-- > 1 file changed, 202 insertions(+), 17 deletions(-) > > diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > index 35668caa190c4..47faf08a37443 100644 > --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml > @@ -9,9 +9,6 @@ title: Qualcomm Display DSI controller > maintainers: > - Krishna Manikandan <quic_mkrishn@quicinc.com> > > -allOf: > - - $ref: "../dsi-controller.yaml#" > - > properties: > compatible: > oneOf: > @@ -50,22 +47,23 @@ properties: > maxItems: 1 > > clocks: > - items: > - - description: Display byte clock > - - description: Display byte interface clock > - - description: Display pixel clock > - - description: Display core clock > - - description: Display AHB clock > - - description: Display AXI clock > + description: | > + Several clocks are used, depending on the variant. Typical ones are:: > + - bus:: Display AHB clock. > + - byte:: Display byte clock. > + - byte_intf:: Display byte interface clock. > + - core:: Display core clock. > + - core_mss:: Core MultiMedia SubSystem clock. > + - iface:: Display AXI clock. > + - mdp_core:: MDP Core clock. > + - mnoc:: MNOC clock > + - pixel:: Display pixel clock. > + minItems: 3 > + maxItems: 9 > > clock-names: > - items: > - - const: byte > - - const: byte_intf > - - const: pixel > - - const: core > - - const: iface > - - const: bus > + minItems: 3 > + maxItems: 9 > > phys: > maxItems: 1 > @@ -161,6 +159,193 @@ required: > - assigned-clock-parents > - ports > > +allOf: > + - $ref: ../dsi-controller.yaml# > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,apq8064-dsi-ctrl > + then: > + properties: > + clocks: > + maxItems: 7 > + clock-names: > + items: > + - const: iface > + - const: bus > + - const: core_mmss > + - const: src > + - const: byte > + - const: pixel > + - const: core > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,msm8916-dsi-ctrl > + 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,msm8953-dsi-ctrl > + 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,msm8974-dsi-ctrl > + then: > + properties: > + clocks: > + maxItems: 7 > + clock-names: > + items: > + - const: mdp_core > + - const: iface > + - const: bus > + - const: vsync > + - const: byte > + - const: pixel > + - const: core > + - const: core_mmss > + > + - if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,msm8996-dsi-ctrl > + 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,msm8998-dsi-ctrl > + 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,sc7180-dsi-ctrl > + - qcom,sc7280-dsi-ctrl > + - qcom,sm8250-dsi-ctrl > + - qcom,sm8150-dsi-ctrl > + - qcom,sm8250-dsi-ctrl Fails with: kernel/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml: allOf:7:if:properties:compatible:contains:enum: ['qcom,sc7180-dsi-ctrl', 'qcom,sc7280-dsi-ctrl', 'qcom,sm8250-dsi-ctrl', 'qcom,sm8150-dsi-ctrl', 'qcom,sm8250-dsi-ctrl', 'qcom,sm8350-dsi-ctrl', 'qcom,sm8450-dsi-ctrl', 'qcom,sm8550-dsi-ctrl'] has non-unique elements > + - qcom,sm8350-dsi-ctrl > + - qcom,sm8450-dsi-ctrl > + - qcom,sm8550-dsi-ctrl > + 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,sdm660-dsi-ctrl > + 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,sdm845-dsi-ctrl > + then: > + properties: > + clocks: > + maxItems: 6 > + clock-names: > + items: > + - const: byte > + - const: byte_intf > + - const: pixel > + - const: core > + - const: iface > + - const: bus > + > additionalProperties: false > > examples:
diff --git a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml index 35668caa190c4..47faf08a37443 100644 --- a/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml +++ b/Documentation/devicetree/bindings/display/msm/dsi-controller-main.yaml @@ -9,9 +9,6 @@ title: Qualcomm Display DSI controller maintainers: - Krishna Manikandan <quic_mkrishn@quicinc.com> -allOf: - - $ref: "../dsi-controller.yaml#" - properties: compatible: oneOf: @@ -50,22 +47,23 @@ properties: maxItems: 1 clocks: - items: - - description: Display byte clock - - description: Display byte interface clock - - description: Display pixel clock - - description: Display core clock - - description: Display AHB clock - - description: Display AXI clock + description: | + Several clocks are used, depending on the variant. Typical ones are:: + - bus:: Display AHB clock. + - byte:: Display byte clock. + - byte_intf:: Display byte interface clock. + - core:: Display core clock. + - core_mss:: Core MultiMedia SubSystem clock. + - iface:: Display AXI clock. + - mdp_core:: MDP Core clock. + - mnoc:: MNOC clock + - pixel:: Display pixel clock. + minItems: 3 + maxItems: 9 clock-names: - items: - - const: byte - - const: byte_intf - - const: pixel - - const: core - - const: iface - - const: bus + minItems: 3 + maxItems: 9 phys: maxItems: 1 @@ -161,6 +159,193 @@ required: - assigned-clock-parents - ports +allOf: + - $ref: ../dsi-controller.yaml# + - if: + properties: + compatible: + contains: + enum: + - qcom,apq8064-dsi-ctrl + then: + properties: + clocks: + maxItems: 7 + clock-names: + items: + - const: iface + - const: bus + - const: core_mmss + - const: src + - const: byte + - const: pixel + - const: core + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8916-dsi-ctrl + 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,msm8953-dsi-ctrl + 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,msm8974-dsi-ctrl + then: + properties: + clocks: + maxItems: 7 + clock-names: + items: + - const: mdp_core + - const: iface + - const: bus + - const: vsync + - const: byte + - const: pixel + - const: core + - const: core_mmss + + - if: + properties: + compatible: + contains: + enum: + - qcom,msm8996-dsi-ctrl + 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,msm8998-dsi-ctrl + 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,sc7180-dsi-ctrl + - qcom,sc7280-dsi-ctrl + - qcom,sm8250-dsi-ctrl + - qcom,sm8150-dsi-ctrl + - qcom,sm8250-dsi-ctrl + - qcom,sm8350-dsi-ctrl + - qcom,sm8450-dsi-ctrl + - qcom,sm8550-dsi-ctrl + 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,sdm660-dsi-ctrl + 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,sdm845-dsi-ctrl + then: + properties: + clocks: + maxItems: 6 + clock-names: + items: + - const: byte + - const: byte_intf + - const: pixel + - const: core + - const: iface + - const: bus + additionalProperties: false examples: