Re: [PATCH v7 1/7] dt-bindings: clock: Convert qcom,krait-cc to yaml

From: Dmitry Baryshkov
Date: Mon Jan 16 2023 - 16:29:58 EST


16 января 2023 г. 23:20:17 GMT+02:00, Christian Marangi <ansuelsmth@xxxxxxxxx> пишет:
>On Mon, Jan 16, 2023 at 11:14:10PM +0200, Dmitry Baryshkov wrote:
>> On Mon, 16 Jan 2023 at 22:48, Christian Marangi <ansuelsmth@xxxxxxxxx> wrote:
>> >
>> > Convert qcom,krait-cc to yaml Documentation.
>> >
>> > Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
>> > Reviewed-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>> > Acked-by: Rob Herring <robh@xxxxxxxxxx>
>>
>> I know this has been reviewed already. I checked again my apq8064
>> branch and noticed that the bindings are not compatible with the
>> apq8064. The SoC in question is a 4-core device, so this is what I had
>> in mind:
>>
>> kraitcc: clock-controller {
>> compatible = "qcom,krait-cc-v1";
>> clocks = <&gcc PLL9>, /* hfpll0 */
>> <&gcc PLL10>, /* hfpll1 */
>> <&gcc PLL16>, /* hfpll2 */
>> <&gcc PLL17>, /* hfpll3 */
>> <&gcc PLL12>, /* hfpll_l2 */
>> <&acc0>,
>> <&acc1>,
>> <&acc2>,
>> <&acc3>,
>> <&l2cc>;
>> clock-names = "hfpll0",
>> "hfpll1",
>> "hfpll2",
>> "hfpll3",
>> "hfpll_l2",
>> "acpu0_aux",
>> "acpu1_aux",
>> "acpu2_aux",
>> "acpu3_aux",
>> "acpu_l2_aux";
>> #clock-cells = <1>;
>> };
>>
>
>Oh wow... Wasn't aware, but I wonder if a good idea would be to patch
>the yaml if and when this series is merged? This is a direct conversion
>of the krait-cc txt...
>
>If we really want I can send a v8 with adding these extra stuff to the
>just converted yaml in a different commit? (afaik conversion should not
>add more info if the documentation is not broken enough and can be
>converted)

I think we can ask Bjorn to pick the rest of the patches (if they are acked/reviewed, they look good to me) and work on this one. It might make sense to add per-SoC compatibles. Also note, the qsb clock. Which block generates it on ipq8064?

>
>> > ---
>> > .../bindings/clock/qcom,krait-cc.txt | 34 -----------
>> > .../bindings/clock/qcom,krait-cc.yaml | 59 +++++++++++++++++++
>> > 2 files changed, 59 insertions(+), 34 deletions(-)
>> > delete mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.txt
>> > create mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml
>> >
>> > diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt b/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt
>> > deleted file mode 100644
>> > index 030ba60dab08..000000000000
>> > --- a/Documentation/devicetree/bindings/clock/qcom,krait-cc.txt
>> > +++ /dev/null
>> > @@ -1,34 +0,0 @@
>> > -Krait Clock Controller
>> > -
>> > -PROPERTIES
>> > -
>> > -- compatible:
>> > - Usage: required
>> > - Value type: <string>
>> > - Definition: must be one of:
>> > - "qcom,krait-cc-v1"
>> > - "qcom,krait-cc-v2"
>> > -
>> > -- #clock-cells:
>> > - Usage: required
>> > - Value type: <u32>
>> > - Definition: must be 1
>> > -
>> > -- clocks:
>> > - Usage: required
>> > - Value type: <prop-encoded-array>
>> > - Definition: reference to the clock parents of hfpll, secondary muxes.
>> > -
>> > -- clock-names:
>> > - Usage: required
>> > - Value type: <stringlist>
>> > - Definition: must be "hfpll0", "hfpll1", "acpu0_aux", "acpu1_aux", "qsb".
>> > -
>> > -Example:
>> > -
>> > - kraitcc: clock-controller {
>> > - compatible = "qcom,krait-cc-v1";
>> > - clocks = <&hfpll0>, <&hfpll1>, <&acpu0_aux>, <&acpu1_aux>, <qsb>;
>> > - clock-names = "hfpll0", "hfpll1", "acpu0_aux", "acpu1_aux", "qsb";
>> > - #clock-cells = <1>;
>> > - };
>> > diff --git a/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml b/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml
>> > new file mode 100644
>> > index 000000000000..8caa5a677394
>> > --- /dev/null
>> > +++ b/Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml
>> > @@ -0,0 +1,59 @@
>> > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>> > +%YAML 1.2
>> > +---
>> > +$id: http://devicetree.org/schemas/clock/qcom,krait-cc.yaml#
>> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
>> > +
>> > +title: Qualcomm Krait Clock Controller
>> > +
>> > +maintainers:
>> > + - Christian Marangi <ansuelsmth@xxxxxxxxx>
>> > +
>> > +description: |
>> > + Qualcomm Krait Clock Controller used to correctly scale the CPU and the L2
>> > + rates.
>> > +
>> > +properties:
>> > + compatible:
>> > + enum:
>> > + - qcom,krait-cc-v1
>> > + - qcom,krait-cc-v2
>> > +
>> > + clocks:
>> > + items:
>> > + - description: phandle to hfpll for CPU0 mux
>> > + - description: phandle to hfpll for CPU1 mux
>> > + - description: phandle to CPU0 aux clock
>> > + - description: phandle to CPU1 aux clock
>> > + - description: phandle to QSB fixed clk
>> > +
>> > + clock-names:
>> > + items:
>> > + - const: hfpll0
>> > + - const: hfpll1
>> > + - const: acpu0_aux
>> > + - const: acpu1_aux
>> > + - const: qsb
>> > +
>> > + '#clock-cells':
>> > + const: 1
>> > +
>> > +required:
>> > + - compatible
>> > + - clocks
>> > + - clock-names
>> > + - '#clock-cells'
>> > +
>> > +additionalProperties: false
>> > +
>> > +examples:
>> > + - |
>> > + clock-controller {
>> > + compatible = "qcom,krait-cc-v1";
>> > + clocks = <&hfpll0>, <&hfpll1>,
>> > + <&acpu0_aux>, <&acpu1_aux>, <&qsb>;
>> > + clock-names = "hfpll0", "hfpll1",
>> > + "acpu0_aux", "acpu1_aux", "qsb";
>> > + #clock-cells = <1>;
>> > + };
>> > +...
>> > --
>> > 2.37.2
>> >
>>
>>
>> --
>> With best wishes
>> Dmitry
>