[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44e5664b-ef88-8e63-ad62-db5c2c0ad130@linaro.org>
Date: Wed, 18 Jan 2023 04:31:31 +0200
From: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To: Bryan O'Donoghue <bryan.odonoghue@...aro.org>,
linux-arm-msm@...r.kernel.org, freedreno@...ts.freedesktop.org,
devicetree@...r.kernel.org
Cc: robdclark@...il.com, quic_abhinavk@...cinc.com, sean@...rly.run,
airlied@...il.com, daniel@...ll.ch, robh+dt@...nel.org,
dianders@...omium.org, david@...t.cz,
krzysztof.kozlowski+dt@...aro.org, swboyd@...omium.org,
konrad.dybcio@...ainline.org, agross@...nel.org,
andersson@...nel.org, dri-devel@...ts.freedesktop.org,
linux-kernel@...r.kernel.org, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
Subject: Re: [PATCH v8 2/3] dt-bindings: msm: dsi-controller-main: Document
clocks on a per compatible basis
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@...nel.org>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
> Signed-off-by: Bryan O'Donoghue <bryan.odonoghue@...aro.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@...cinc.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:
--
With best wishes
Dmitry
Powered by blists - more mailing lists