Krait Documentation conversion
v4 cover Krait Documentation conversion
This series convert the krait-cc and the kpps-acc/gcc Documentation to yaml.
This series comes form a split of a bigger series that got too big and now hard to review.
While they are still more or less wrong and doesn't really reflect real driver implementation, they are converted to prepare for a fixup later when dts and driver are finally fixed.
Minor changes are done to the kpss-gcc driver and minor fixes are done to the various affected dts to fix dtbs_check warning with the new introduced schema.
Also fix kpss-acc dtbs_check warning.
v4:
- Fix error from kpss-acc schema
- Fix dtbs_check warning from kpss-acc
- Improve kpss-gcc for apq8064
v3:
- Update all Sob
- Rework kpss-gcc Documentation with the new finding
- Fix dtbs_check warning
v2:
- Fix bot error by adding missing #clock-cells
Changelog for previous series "Modernize rest of the krait drivers" that was split to smaller series (only Documentation changes):
v7:
- Rework kpss-gcc Documentation (split patch for pure conversion and tweaks)
v6:
- Address comments from Rob
- Fix warning from make dtbs_check
v5:
- Address comments from Krzysztof
v4:
- Fix more dt-bindings bug errors
v3:
- Split Documentation files for kpss and krait-cc
v2:
- fix missing new line on patch 16 (krait-cc patch)
Christian Marangi (5):
dt-bindings: clock: Convert qcom,krait-cc to yaml
dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
ARM: dts: qcom: fix various wrong definition for kpss-gcc node
ARM: dts: qcom: fix various wrong definition for kpss-acc
.../bindings/arm/msm/qcom,kpss-acc.txt | 49 ---------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 93 +++++++++++++++++++ .../bindings/arm/msm/qcom,kpss-gcc.txt | 44 --------- .../bindings/arm/msm/qcom,kpss-gcc.yaml | 90 ++++++++++++++++++ .../bindings/clock/qcom,krait-cc.txt | 34 ------- .../bindings/clock/qcom,krait-cc.yaml | 59 ++++++++++++ arch/arm/boot/dts/qcom-apq8064.dtsi | 21 ++++- arch/arm/boot/dts/qcom-ipq8064.dtsi | 12 ++- arch/arm/boot/dts/qcom-mdm9615.dtsi | 2 +- arch/arm/boot/dts/qcom-msm8660.dtsi | 2 +- arch/arm/boot/dts/qcom-msm8960.dtsi | 15 ++- 11 files changed, 287 insertions(+), 134 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml delete mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.txt create mode 100644 Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml
Signature · 1 line
2.36.1
PATCH v4 1/5 dt-bindings: clock: Convert qcom,krait-cc to yaml
Convert qcom,krait-cc to yaml Documentation.
--- .../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
Documentation/devicetree/bindings/clock/qcom,krait-cc.txt deleted +0 -34
@@ -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>; - };
Documentation/devicetree/bindings/clock/qcom,krait-cc.yaml new file +59 -0
59 lines not on this page · raw message
Signature · 1 line
2.36.1
PATCH v4 2/5 dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
In reply to Christian MarangiConvert kpss-acc driver Documentation to yaml.
The original Documentation was wrong all along. Fix it while we are converting it.
The example was wrong as kpss-acc-v2 should only expose the regs but we don't have any driver that expose additional clocks. The kpss-acc driver is only specific to v1. For this exact reason, limit all the additional bindings (clocks, clock-names, clock-output-names and #clock-cells) to v1 and also flag that these bindings should NOT be used for v2.
--- .../bindings/arm/msm/qcom,kpss-acc.txt | 49 ---------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 93 +++++++++++++++++++ 2 files changed, 93 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt deleted +0 -49
@@ -1,49 +0,0 @@ -Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) - -The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. -There is one ACC register region per CPU within the KPSS remapped region as -well as an alias register region that remaps accesses to the ACC associated -with the CPU accessing the region. - -PROPERTIES - -- compatible: - Usage: required - Value type: <string> - Definition: should be one of: - "qcom,kpss-acc-v1" - "qcom,kpss-acc-v2" - -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: the first element specifies the base address and size of - the register region. An optional second element specifies - the base address and size of the alias 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: optional - Value type: <string> - Definition: Name of the output clock. Typically acpuX_aux where X is a - CPU number starting at 0. - -Example: - - clock-controller@2088000 { - compatible = "qcom,kpss-acc-v2"; - reg = <0x02088000 0x1000>, - <0x02008000 0x1000>; - clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; - clock-names = "pll8_vote", "pxo"; - clock-output-names = "acpu0_aux"; - };
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +93 -0
93 lines not on this page · raw message
Signature · 1 line
2.36.1
Rob Herring
maintainerRe: [PATCH v4 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
Quoted 9 lines · Christian Marangi
Convert kpss-acc driver Documentation to yaml.
The original Documentation was wrong all along. Fix it while we are converting it.
The example was wrong as kpss-acc-v2 should only expose the regs but we don't have any driver that expose additional clocks. The kpss-acc driver is only specific to v1. For this exact reason, limit all the additional bindings (clocks, clock-names, clock-output-names and #clock-cells) to v1 and also flag that these bindings should NOT be used for v2.
Quoted 8 lines
Signed-off-by Christian Marangi <[email protected]>--- .../bindings/arm/msm/qcom,kpss-acc.txt | 49 ---------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 93 +++++++++++++++++++ 2 files changed, 93 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.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@2088000: '#clock-cells' is a required property
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-msm8960-cdp.dtb
clock-controller@2088000: 'clock-names' is a required property
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-msm8960-cdp.dtb
clock-controller@2088000: 'clock-output-names' is a required property
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-msm8960-cdp.dtb
clock-controller@2088000: 'clocks' is a required property
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-msm8960-cdp.dtb
clock-controller@2098000: '#clock-cells' is a required property
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-msm8960-cdp.dtb
clock-controller@2098000: 'clock-names' is a required property
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-msm8960-cdp.dtb
clock-controller@2098000: 'clock-output-names' is a required property
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-msm8960-cdp.dtb
clock-controller@2098000: 'clocks' is a required property
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-msm8960-cdp.dtb
clock-controller@20a8000: '#clock-cells' is a required property
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
clock-controller@20a8000: 'clock-names' is a required property
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
clock-controller@20a8000: 'clock-output-names' is a required property
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
clock-controller@20a8000: 'clocks' is a required property
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
clock-controller@20b8000: '#clock-cells' is a required property
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
clock-controller@20b8000: 'clock-names' is a required property
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
clock-controller@20b8000: 'clock-output-names' is a required property
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
clock-controller@20b8000: 'clocks' is a required property
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
Re: [PATCH v4 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
Quoted 143 lines · Rob Herring
Quoted 9 lines · Christian Marangi
Convert kpss-acc driver Documentation to yaml.
The original Documentation was wrong all along. Fix it while we are converting it.
The example was wrong as kpss-acc-v2 should only expose the regs but we don't have any driver that expose additional clocks. The kpss-acc driver is only specific to v1. For this exact reason, limit all the additional bindings (clocks, clock-names, clock-output-names and #clock-cells) to v1 and also flag that these bindings should NOT be used for v2.Quoted 8 lines
Signed-off-by Christian Marangi <[email protected]>--- .../bindings/arm/msm/qcom,kpss-acc.txt | 49 ---------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 93 +++++++++++++++++++ 2 files changed, 93 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yamlRunning '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@2088000: '#clock-cells' is a required property
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-msm8960-cdp.dtbclock-controller@2088000: 'clock-names' is a required property
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-msm8960-cdp.dtbclock-controller@2088000: 'clock-output-names' is a required property
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-msm8960-cdp.dtbclock-controller@2088000: 'clocks' is a required property
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-msm8960-cdp.dtbclock-controller@2098000: '#clock-cells' is a required property
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-msm8960-cdp.dtbclock-controller@2098000: 'clock-names' is a required property
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-msm8960-cdp.dtbclock-controller@2098000: 'clock-output-names' is a required property
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-msm8960-cdp.dtbclock-controller@2098000: 'clocks' is a required property
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-msm8960-cdp.dtbclock-controller@20a8000: '#clock-cells' is a required property
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.dtbclock-controller@20a8000: 'clock-names' is a required property
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.dtbclock-controller@20a8000: 'clock-output-names' is a required property
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.dtbclock-controller@20a8000: 'clocks' is a required property
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.dtbclock-controller@20b8000: '#clock-cells' is a required property
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.dtbclock-controller@20b8000: 'clock-names' is a required property
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.dtbclock-controller@20b8000: 'clock-output-names' is a required property
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
Quoted 6 lines
clock-controller@20b8000: 'clocks' is a required property
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
(fixed in the last 2 commit of this series)
Signature · 1 line
Ansuel
Rob Herring
maintainerRe: [PATCH v4 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
In reply to Christian MarangiQuoted 95 lines · Christian Marangi
Convert kpss-acc driver Documentation to yaml.
The original Documentation was wrong all along. Fix it while we are converting it.
The example was wrong as kpss-acc-v2 should only expose the regs but we don't have any driver that expose additional clocks. The kpss-acc driver is only specific to v1. For this exact reason, limit all the additional bindings (clocks, clock-names, clock-output-names and #clock-cells) to v1 and also flag that these bindings should NOT be used for v2.Signed-off-by Christian Marangi <[email protected]>--- .../bindings/arm/msm/qcom,kpss-acc.txt | 49 ---------- .../bindings/arm/msm/qcom,kpss-acc.yaml | 93 +++++++++++++++++++ 2 files changed, 93 insertions(+), 49 deletions(-) delete mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yamlDocumentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt deleted +0
-49@@ -1,49 +0,0 @@ -Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) - -The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. -There is one ACC register region per CPU within the KPSS remapped region as -well as an alias register region that remaps accesses to the ACC associated -with the CPU accessing the region. - -PROPERTIES - -- compatible: - Usage: required - Value type: <string> - Definition: should be one of: - "qcom,kpss-acc-v1" - "qcom,kpss-acc-v2" - -- reg: - Usage: required - Value type: <prop-encoded-array> - Definition: the first element specifies the base address and size of - the register region. An optional second element specifies - the base address and size of the alias 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: optional - Value type: <string> - Definition: Name of the output clock. Typically acpuX_aux where X is a - CPU number starting at 0. - -Example: - - clock-controller@2088000 { - compatible = "qcom,kpss-acc-v2"; - reg = <0x02088000 0x1000>, - <0x02008000 0x1000>; - clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; - clock-names = "pll8_vote", "pxo"; - clock-output-names = "acpu0_aux"; - };Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +17
-0@@ -0,0 +1,93 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/arm/msm/qcom,kpss-acc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Krait Processor Sub-system (KPSS) Application Clock Controller (ACC) + +maintainers: + - Christian Marangi <[email protected]> + +description: | + The KPSS ACC provides clock, power domain, and reset control to a Krait CPU. + There is one ACC register region per CPU within the KPSS remapped region as + well as an alias register region that remaps accesses to the ACC associated + with the CPU accessing the region. +
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml line 27
Quoted 10 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +10
-0+properties: + compatible: + enum: + - qcom,kpss-acc-v1 + - qcom,kpss-acc-v2 + + reg: + items: + - description: Base address and size of the register region + - description: Optional base address and size of the alias register region
Optional? Need 'minItems: 1' then.
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml line 32
Quoted 5 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +5
-0+ + clocks: + items: + - description: phandle to pll8_vote + - description: phandle to pxo_board
Not necessarily just a phandle... Needs a better description in terms of the function of the clock within the KPSS ACC block, not the source.
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml line 40
Quoted 8 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +8
-0+ + clock-names: + items: + - const: pll8_vote + - const: pxo + + clock-output-names: + description: Name of the aux clock. Krait can have at most 4 cpu.
s/cpu/CPUs/
Quoted 57 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml new file +53
-0+ enum: + - acpu0_aux + - acpu1_aux + - acpu2_aux + - acpu3_aux + + '#clock-cells': + const: 0 + +required: + - compatible + - reg + +if: + properties: + compatible: + contains: + const: qcom,kpss-acc-v1 +then: + required: + - clocks + - clock-names + - clock-output-names + - '#clock-cells' +else: + properties: + clocks: false + clock-names: false + clock-output-names: false + '#clock-cells': false + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/qcom,gcc-ipq806x.h> + + clock-controller@2088000 { + compatible = "qcom,kpss-acc-v1"; + reg = <0x02088000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu0_aux"; + #clock-cells = <0>; + }; + + - | + clock-controller@f9088000 { + compatible = "qcom,kpss-acc-v2"; + reg = <0xf9088000 0x1000>, + <0xf9008000 0x1000>; + }; +...Signature · 1 line
2.36.1
PATCH v4 3/5 dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
In reply to Christian MarangiRework 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.
--- .../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
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt deleted +0 -44
@@ -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"; - };
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +90 -0
90 lines not on this page · raw message
Signature · 1 line
2.36.1
Rob Herring
maintainerRe: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
Quoted 11 lines · Christian Marangi
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_auxwith 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.
Quoted 8 lines
Signed-off-by Christian Marangi <[email protected]>--- .../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
Re: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
In reply to Christian MarangiQuoted 133 lines · Christian Marangi
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_auxwith 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 <[email protected]>---
.../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.txtcreate mode 100644Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yamlDocumentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt deleted +0
-44@@ -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"; - };Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +58
-0@@ -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 <[email protected]> + +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
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml line 68
Quoted 10 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +10
-0+then: + required: + - clocks + - clock-names + - '#clock-cells' +else: + properties: + clock: false + clock-names: false + '#clock-cells': false
I suppose this chunk is not so correct. We can not describe these properties as required since current DTs do not have them. Also if somebody decides to fix the mdm9615 or msm8660 platforms, he works have to change this (again). Thus I'd just leave this whole chunk out.
Quoted 22 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +22
-0+ +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>; + }; +... +
Signature · 2 lines
With best wishes Dmitry
Re: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
Quoted 140 lines · Dmitry Baryshkov
Quoted 137 lines · Christian Marangi
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_auxwith 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 <[email protected]>---
.../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.txtcreate mode 100644Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yamlDocumentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.txt deleted +0
-44@@ -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"; - };Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +62
-0@@ -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 <[email protected]> + +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
Quoted 9 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml line 68
Quoted 6 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +6
-0+ - '#clock-cells' +else: + properties: + clock: false + clock-names: false + '#clock-cells': falseI suppose this chunk is not so correct. We can not describe these properties as required since current DTs do not have them. Also if somebody decides to fix the mdm9615 or msm8660 platforms, he works have to change this (again). Thus I'd just leave this whole chunk out.
With a quick check I notice that all the other platform doesn't have pxo_board or PLL8_VOTE clk so they wouln't work with the current driver... to me it seems they are just exposing the kpss-gcc reg with syscon and they are used in the rpm driver... This is very similar to the acc-v1 and acc-v2 separation where acc-v2 only provide the reg and nothing else. Wonder if we should do the same here or add clk support only for the specific compatible as I did here...
In both case dts changes are required and a similar chunk is necessary.
Quoted 26 lines
Quoted 22 lines
Documentation/devicetree/bindings/arm/msm/qcom,kpss-gcc.yaml new file +22
-0+ +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>; + }; +... +Signature · 2 lines
With best wishes Dmitry
Signature · 1 line
Ansuel
Rob Herring
maintainerRe: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
In reply to Christian MarangiQuoted 1 line · Christian Marangi
Rework kpss-gcc driver Documentation to yaml Documentation.
It's not 'driver Documentation'. It's a DT binding for h/w.
Lot's of things are YAML. I prefer 'DT schema'
The subjects are bit long and get cut off as well. For the subject, something like:
dt-bindings: arm: msm: Convert kpss-gcc to DT schema
And similar for the other patch.
Quoted 17 lines
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_auxwith 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 <[email protected]>--- .../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
Re: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
Quoted 5 lines · Rob Herring
Quoted 1 line · Christian Marangi
Rework kpss-gcc driver Documentation to yaml Documentation.
It's not 'driver Documentation'. It's a DT binding for h/w.
Quoted 9 lines
Lot's of things are YAML. I prefer 'DT schema'
The subjects are bit long and get cut off as well. For the subject, something like:
dt-bindings: arm: msm: Convert kpss-gcc to DT schema
And similar for the other patch.
It was pointed out that since this have additional change than simple conversion, using "Convert" can be confusing.
Is Rework or Refactor a better naming for this single patch?
Quoted 17 lines
Quoted 17 lines
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_auxwith 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 <[email protected]>--- .../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
Signature · 1 line
Ansuel
PATCH v4 4/5 ARM: dts: qcom: fix various wrong definition for kpss-gcc node
In reply to Christian MarangiFix dtbs_check warning now that we have a correct kpss-gcc yaml schema. Add additional qcom,kpss-gcc compatible to differentiate devices where kpss-gcc should provide a clk and where kpss-gcc should just provide the registers and the syscon phandle.
Add missing #clock-cells and remove useless clock-output-names for ipq806x.
Add missing bindings for msm8960 and apq8064 kpss-gcc node.
--- arch/arm/boot/dts/qcom-apq8064.dtsi | 5 ++++- arch/arm/boot/dts/qcom-ipq8064.dtsi | 4 ++-- arch/arm/boot/dts/qcom-mdm9615.dtsi | 2 +- arch/arm/boot/dts/qcom-msm8660.dtsi | 2 +- arch/arm/boot/dts/qcom-msm8960.dtsi | 7 +++++-- 5 files changed, 13 insertions(+), 7 deletions(-)
arch/arm/boot/dts/qcom-apq8064.dtsi +4 -1
@@ -836,8 +836,11 @@ mmcc: clock-controller@4000000 { }; l2cc: clock-controller@2011000 { - compatible = "qcom,kpss-gcc", "syscon"; + compatible = "qcom,kpss-gcc-apq8064", "qcom,kpss-gcc", "syscon"; reg = <0x2011000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + #clock-cells = <0>; }; rpm@108000 {
arch/arm/boot/dts/qcom-ipq8064.dtsi +2 -2
@@ -782,11 +782,11 @@ tcsr: syscon@1a400000 { }; l2cc: clock-controller@2011000 { - compatible = "qcom,kpss-gcc", "syscon"; + compatible = "qcom,kpss-gcc-ipq8064", "qcom,kpss-gcc", "syscon"; reg = <0x2011000 0x1000>; clocks = <&gcc PLL8_VOTE>, <&gcc PXO_SRC>; clock-names = "pll8_vote", "pxo"; - clock-output-names = "acpu_l2_aux"; + #clock-cells = <0>; }; lcc: clock-controller@28000000 {
arch/arm/boot/dts/qcom-mdm9615.dtsi +1 -1
@@ -152,7 +152,7 @@ lcc: clock-controller@28000000 { }; l2cc: clock-controller@2011000 { - compatible = "qcom,kpss-gcc", "syscon"; + compatible = "qcom,kpss-gcc-mdm9615", "qcom,kpss-gcc", "syscon"; reg = <0x02011000 0x1000>; };
arch/arm/boot/dts/qcom-msm8660.dtsi +1 -1
@@ -392,7 +392,7 @@ vibrator@4a { }; l2cc: clock-controller@2082000 { - compatible = "qcom,kpss-gcc", "syscon"; + compatible = "qcom,kpss-gcc-msm8660", "qcom,kpss-gcc", "syscon"; reg = <0x02082000 0x1000>; };
arch/arm/boot/dts/qcom-msm8960.dtsi +5 -2
@@ -63,7 +63,7 @@ cxo_board { clock-output-names = "cxo_board"; }; - pxo_board { + pxo_board: pxo_board { compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <27000000>;
@@ -148,8 +148,11 @@ clock-controller@4000000 { }; l2cc: clock-controller@2011000 { - compatible = "qcom,kpss-gcc", "syscon"; + compatible = "qcom,kpss-gcc-msm8960", "qcom,kpss-gcc", "syscon"; reg = <0x2011000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + #clock-cells = <0>; }; rpm@108000 {
Signature · 1 line
2.36.1
PATCH v4 5/5 ARM: dts: qcom: fix various wrong definition for kpss-acc
In reply to Christian MarangiFix dtbs_check warning now that we have a correct kpss-acc yaml schema.
Add missing clocks, clock-names, clock-output-names and #clock-cells bindings for each kpss-acc-v1 clock-controller.
--- arch/arm/boot/dts/qcom-apq8064.dtsi | 16 ++++++++++++++++ arch/arm/boot/dts/qcom-ipq8064.dtsi | 8 ++++++++ arch/arm/boot/dts/qcom-msm8960.dtsi | 8 ++++++++ 3 files changed, 32 insertions(+)
arch/arm/boot/dts/qcom-apq8064.dtsi +16 -0
@@ -388,21 +388,37 @@ timer@200a000 { acc0: clock-controller@2088000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02088000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu0_aux"; + #clock-cells = <0>; }; acc1: clock-controller@2098000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02098000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu1_aux"; + #clock-cells = <0>; }; acc2: clock-controller@20a8000 { compatible = "qcom,kpss-acc-v1"; reg = <0x020a8000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu2_aux"; + #clock-cells = <0>; }; acc3: clock-controller@20b8000 { compatible = "qcom,kpss-acc-v1"; reg = <0x020b8000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu3_aux"; + #clock-cells = <0>; }; saw0: power-controller@2089000 {
arch/arm/boot/dts/qcom-ipq8064.dtsi +8 -0
@@ -468,11 +468,19 @@ IRQ_TYPE_EDGE_RISING)>, acc0: clock-controller@2088000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02088000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu0_aux"; + #clock-cells = <0>; }; acc1: clock-controller@2098000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02098000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu1_aux"; + #clock-cells = <0>; }; adm_dma: dma-controller@18300000 {
arch/arm/boot/dts/qcom-msm8960.dtsi +8 -0
@@ -173,11 +173,19 @@ regulators { acc0: clock-controller@2088000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02088000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu0_aux"; + #clock-cells = <0>; }; acc1: clock-controller@2098000 { compatible = "qcom,kpss-acc-v1"; reg = <0x02098000 0x1000>, <0x02008000 0x1000>; + clocks = <&gcc PLL8_VOTE>, <&pxo_board>; + clock-names = "pll8_vote", "pxo"; + clock-output-names = "acpu1_aux"; + #clock-cells = <0>; }; saw0: regulator@2089000 {
Signature · 1 line
2.36.1