Message ID | 20220914142256.28775-4-ansuelsmth@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | Krait Documentation conversion | expand |
On Wed, 14 Sep 2022 16:22:54 +0200, Christian Marangi wrote: > Rework kpss-gcc driver Documentation to yaml Documentation. > The current kpss-gcc Documentation have major problems and can't be > converted directly. Introduce various changes to the original > Documentation. > > Add #clock-cells additional binding as this clock outputs a static clk > named acpu_l2_aux with supported compatible. > Only some compatible require and outputs a clock, for the others, set > only the reg as a required binding to correctly export the kpss-gcc > registers. As the reg is shared also add the required syscon compatible. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 --------- > .../bindings/arm/msm/qcom,kpss-gcc.yaml | 90 +++++++++++++++++++ > 2 files changed, 90 insertions(+), 44 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt > create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/ clock-controller@2011000: clock-names: False schema does not allow ['pll8_vote', 'pxo'] arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb clock-controller@2011000: 'clock-output-names' does not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb clock-controller@2011000: compatible:0: 'qcom,kpss-gcc' is not one of ['qcom,kpss-gcc-ipq8064', 'qcom,kpss-gcc-apq8064', 'qcom,kpss-gcc-msm8974', 'qcom,kpss-gcc-msm8960', 'qcom,kpss-gcc-msm8660', 'qcom,kpss-gcc-mdm9615'] arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2011000: compatible:1: 'qcom,kpss-gcc' was expected arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2011000: compatible: ['qcom,kpss-gcc', 'syscon'] is too short arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2082000: compatible:0: 'qcom,kpss-gcc' is not one of ['qcom,kpss-gcc-ipq8064', 'qcom,kpss-gcc-apq8064', 'qcom,kpss-gcc-msm8974', 'qcom,kpss-gcc-msm8960', 'qcom,kpss-gcc-msm8660', 'qcom,kpss-gcc-mdm9615'] arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb clock-controller@2082000: compatible:1: 'qcom,kpss-gcc' was expected arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb clock-controller@2082000: compatible: ['qcom,kpss-gcc', 'syscon'] is too short arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb
On Wed, 14 Sep 2022 16:22:54 +0200, Christian Marangi wrote: > Rework kpss-gcc driver Documentation to yaml Documentation. > The current kpss-gcc Documentation have major problems and can't be > converted directly. Introduce various changes to the original > Documentation. > > Add #clock-cells additional binding as this clock outputs a static clk > named acpu_l2_aux with supported compatible. > Only some compatible require and outputs a clock, for the others, set > only the reg as a required binding to correctly export the kpss-gcc > registers. As the reg is shared also add the required syscon compatible. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 --------- > .../bindings/arm/msm/qcom,kpss-gcc.yaml | 90 +++++++++++++++++++ > 2 files changed, 90 insertions(+), 44 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt > create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml > Running 'make dtbs_check' with the schema in this patch gives the following warnings. Consider if they are expected or the schema is incorrect. These may not be new warnings. Note that it is not yet a requirement to have 0 warnings for dtbs_check. This will change in the future. Full log is available here: https://patchwork.ozlabs.org/patch/ clock-controller@2011000: clock-names: False schema does not allow ['pll8_vote', 'pxo'] arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb clock-controller@2011000: 'clock-output-names' does not match any of the regexes: 'pinctrl-[0-9]+' arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb clock-controller@2011000: compatible:0: 'qcom,kpss-gcc' is not one of ['qcom,kpss-gcc-ipq8064', 'qcom,kpss-gcc-apq8064', 'qcom,kpss-gcc-msm8974', 'qcom,kpss-gcc-msm8960', 'qcom,kpss-gcc-msm8660', 'qcom,kpss-gcc-mdm9615'] arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2011000: compatible:1: 'qcom,kpss-gcc' was expected arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2011000: compatible: ['qcom,kpss-gcc', 'syscon'] is too short arch/arm/boot/dts/qcom-apq8064-asus-nexus7-flo.dtb arch/arm/boot/dts/qcom-apq8064-cm-qs600.dtb arch/arm/boot/dts/qcom-apq8064-ifc6410.dtb arch/arm/boot/dts/qcom-apq8064-sony-xperia-lagan-yuga.dtb arch/arm/boot/dts/qcom-ipq8064-ap148.dtb arch/arm/boot/dts/qcom-ipq8064-rb3011.dtb arch/arm/boot/dts/qcom-mdm9615-wp8548-mangoh-green.dtb arch/arm/boot/dts/qcom-msm8960-cdp.dtb clock-controller@2082000: compatible:0: 'qcom,kpss-gcc' is not one of ['qcom,kpss-gcc-ipq8064', 'qcom,kpss-gcc-apq8064', 'qcom,kpss-gcc-msm8974', 'qcom,kpss-gcc-msm8960', 'qcom,kpss-gcc-msm8660', 'qcom,kpss-gcc-mdm9615'] arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb clock-controller@2082000: compatible:1: 'qcom,kpss-gcc' was expected arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb clock-controller@2082000: compatible: ['qcom,kpss-gcc', 'syscon'] is too short arch/arm/boot/dts/qcom-apq8060-dragonboard.dtb arch/arm/boot/dts/qcom-msm8660-surf.dtb
On Wed, Sep 14, 2022 at 04:22:54PM +0200, Christian Marangi wrote: > Rework kpss-gcc driver Documentation to yaml Documentation. > The current kpss-gcc Documentation have major problems and can't be > converted directly. Introduce various changes to the original > Documentation. > > Add #clock-cells additional binding as this clock outputs a static clk > named acpu_l2_aux with supported compatible. > Only some compatible require and outputs a clock, for the others, set > only the reg as a required binding to correctly export the kpss-gcc > registers. As the reg is shared also add the required syscon compatible. > > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> > --- > .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 --------- > .../bindings/arm/msm/qcom,kpss-gcc.yaml | 90 +++++++++++++++++++ Please move to bindings/clock/ Same comments as the other one. > 2 files changed, 90 insertions(+), 44 deletions(-) > delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt > create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml > diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml > new file mode 100644 > index 000000000000..27f7df7e3ec4 > --- /dev/null > +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml > @@ -0,0 +1,90 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-gcc.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Krait Processor Sub-system (KPSS) Global Clock Controller (GCC) > + > +maintainers: > + - Christian Marangi <ansuelsmth@gmail.com> > + > +description: | > + Krait Processor Sub-system (KPSS) Global Clock Controller (GCC). Used > + to control L2 mux (in the current implementation) and provide access > + to the kpss-gcc registers. > + > +properties: > + compatible: > + items: > + - enum: > + - qcom,kpss-gcc-ipq8064 > + - qcom,kpss-gcc-apq8064 > + - qcom,kpss-gcc-msm8974 > + - qcom,kpss-gcc-msm8960 > + - qcom,kpss-gcc-msm8660 > + - qcom,kpss-gcc-mdm9615 > + - const: qcom,kpss-gcc > + - const: syscon > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: phandle to pll8_vote > + - description: phandle to pxo_board > + > + clock-names: > + items: > + - const: pll8_vote > + - const: pxo > + > + '#clock-cells': > + const: 0 > + > +required: > + - compatible > + - reg > + > +if: > + properties: > + compatible: > + contains: > + enum: > + - qcom,kpss-gcc-ipq8064 > + - qcom,kpss-gcc-apq8064 > + - qcom,kpss-gcc-msm8974 > + - qcom,kpss-gcc-msm8960 > +then: > + required: > + - clocks > + - clock-names > + - '#clock-cells' > +else: > + properties: > + clock: false > + clock-names: false > + '#clock-cells': false > + > +additionalProperties: false > + > +examples: > + - | > + #include <dt-bindings/clock/qcom,gcc-ipq806x.h> > + > + clock-controller@2011000 { > + compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc", "syscon"; > + reg = <0x2011000 0x1000>; > + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; > + clock-names = "pll8_vote", "pxo"; > + #clock-cells = <0>; > + }; > + > + - | > + clock-controller@2011000 { > + compatible = "qcom,kpss-gcc-mdm9615", "qcom,kpss-gcc", "syscon"; > + reg = <0x02011000 0x1000>; > + }; > +... > + > -- > 2.37.2 > >
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt deleted file mode 100644 index e628758950e1..000000000000 --- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt +++ /dev/null @@ -1,44 +0,0 @@ -Krait Processor Sub-system (KPSS) Global Clock Controller (GCC) - -PROPERTIES - -- compatible: - Usage: required - Value type: <string> - Definition: should be one of the following. The generic compatible - "qcom,kpss-gcc" should also be included. - "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc" - "qcom,kpss-gcc-apq8064", "qcom,kpss-gcc" - "qcom,kpss-gcc-msm8974", "qcom,kpss-gcc" - "qcom,kpss-gcc-msm8960", "qcom,kpss-gcc" - -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: base address and size of the register region - -- clocks: - Usage: required - Value type: <prop-encoded-array> - Definition: reference to the pll parents. - -- clock-names: - Usage: required - Value type: <stringlist> - Definition: must be "pll8_vote", "pxo". - -- clock-output-names: - Usage: required - Value type: <string> - Definition: Name of the output clock. Typically acpu_l2_aux indicating - an L2 cache auxiliary clock. - -Example: - - l2cc: clock-controller@2011000 { - compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc"; - reg = <0x2011000 0x1000>; - clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; - clock-names = "pll8_vote", "pxo"; - clock-output-names = "acpu_l2_aux"; - }; diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file mode 100644 index 000000000000..27f7df7e3ec4 --- /dev/null +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml @@ -0,0 +1,90 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-gcc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Krait Processor Sub-system (KPSS) Global Clock Controller (GCC) + +maintainers: + - Christian Marangi <ansuelsmth@gmail.com> + +description: | + Krait Processor Sub-system (KPSS) Global Clock Controller (GCC). Used + to control L2 mux (in the current implementation) and provide access + to the kpss-gcc registers. + +properties: + compatible: + items: + - enum: + - qcom,kpss-gcc-ipq8064 + - qcom,kpss-gcc-apq8064 + - qcom,kpss-gcc-msm8974 + - qcom,kpss-gcc-msm8960 + - qcom,kpss-gcc-msm8660 + - qcom,kpss-gcc-mdm9615 + - const: qcom,kpss-gcc + - const: syscon + + reg: + maxItems: 1 + + clocks: + items: + - description: phandle to pll8_vote + - description: phandle to pxo_board + + clock-names: + items: + - const: pll8_vote + - const: pxo + + '#clock-cells': + const: 0 + +required: + - compatible + - reg + +if: + properties: + compatible: + contains: + enum: + - qcom,kpss-gcc-ipq8064 + - qcom,kpss-gcc-apq8064 + - qcom,kpss-gcc-msm8974 + - qcom,kpss-gcc-msm8960 +then: + required: + - clocks + - clock-names + - '#clock-cells' +else: + properties: + clock: false + clock-names: false + '#clock-cells': false + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/qcom,gcc-ipq806x.h> + + clock-controller@2011000 { + compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc", "syscon"; + reg = <0x2011000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + #clock-cells = <0>; + }; + + - | + clock-controller@2011000 { + compatible = "qcom,kpss-gcc-mdm9615", "qcom,kpss-gcc", "syscon"; + reg = <0x02011000 0x1000>; + }; +... +
Rework kpss-gcc driver Documentation to yaml Documentation. The current kpss-gcc Documentation have major problems and can't be converted directly. Introduce various changes to the original Documentation. Add #clock-cells additional binding as this clock outputs a static clk named acpu_l2_aux with supported compatible. Only some compatible require and outputs a clock, for the others, set only the reg as a required binding to correctly export the kpss-gcc registers. As the reg is shared also add the required syscon compatible. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> --- .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 --------- .../bindings/arm/msm/qcom,kpss-gcc.yaml | 90 +++++++++++++++++++ 2 files changed, 90 insertions(+), 44 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml