All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/5] Krait Documentation conversion
@ 2022-09-14 14:22 Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml Christian Marangi
                   ` (4 more replies)
  0 siblings, 5 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

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.

v5:
- rebase on top of linux-next/master
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

-- 
2.37.2


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml
  2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
@ 2022-09-14 14:22 ` Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk
  Cc: Krzysztof Kozlowski, Rob Herring

Convert qcom,krait-cc to yaml Documentation.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Acked-by: Rob Herring <robh@kernel.org>
---
 .../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@gmail.com>
+
+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


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml Christian Marangi
@ 2022-09-14 14:22 ` Christian Marangi
  2022-09-14 16:47   ` Rob Herring
  2022-09-16 19:17   ` Rob Herring
  2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

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 <ansuelsmth@gmail.com>
---
 .../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

diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
deleted file mode 100644
index 7f696362a4a1..000000000000
--- a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.txt
+++ /dev/null
@@ -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";
-	};
diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
new file mode 100644
index 000000000000..5e16121d9f0d
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
@@ -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 <ansuelsmth@gmail.com>
+
+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.
+
+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
+
+  clocks:
+    items:
+      - description: phandle to pll8_vote
+      - description: phandle to pxo_board
+
+  clock-names:
+    items:
+      - const: pll8_vote
+      - const: pxo
+
+  clock-output-names:
+    description: Name of the aux clock. Krait can have at most 4 cpu.
+    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>;
+    };
+...
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
  2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
@ 2022-09-14 14:22 ` Christian Marangi
  2022-09-14 16:47   ` Rob Herring
                     ` (2 more replies)
  2022-09-14 14:22 ` [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node Christian Marangi
  2022-09-14 14:22 ` [PATCH v5 5/5] ARM: dts: qcom: fix various wrong definition for kpss-acc Christian Marangi
  4 siblings, 3 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

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

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>;
+    };
+...
+
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node
  2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
                   ` (2 preceding siblings ...)
  2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
@ 2022-09-14 14:22 ` Christian Marangi
  2022-12-23 10:17   ` Krzysztof Kozlowski
  2022-09-14 14:22 ` [PATCH v5 5/5] ARM: dts: qcom: fix various wrong definition for kpss-acc Christian Marangi
  4 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

Fix 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.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 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(-)

diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index 257fcd497f86..ecf28260fd8c 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -845,8 +845,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 {
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index a9bf2596a417..82c1483cd6ea 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -917,11 +917,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>, <&pxo_board>;
 			clock-names = "pll8_vote", "pxo";
-			clock-output-names = "acpu_l2_aux";
+			#clock-cells = <0>;
 		};
 
 		lcc: clock-controller@28000000 {
diff --git a/arch/arm/boot/dts/qcom-mdm9615.dtsi b/arch/arm/boot/dts/qcom-mdm9615.dtsi
index b47c86412de2..3a6bbe8a649c 100644
--- a/arch/arm/boot/dts/qcom-mdm9615.dtsi
+++ b/arch/arm/boot/dts/qcom-mdm9615.dtsi
@@ -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>;
 		};
 
diff --git a/arch/arm/boot/dts/qcom-msm8660.dtsi b/arch/arm/boot/dts/qcom-msm8660.dtsi
index fd7751d4d886..7796f0e4746e 100644
--- a/arch/arm/boot/dts/qcom-msm8660.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8660.dtsi
@@ -443,7 +443,7 @@ vibrator@4a {
 		};
 
 		l2cc: clock-controller@2082000 {
-			compatible = "qcom,kpss-gcc", "syscon";
+			compatible = "qcom,kpss-gcc-msm8660", "qcom,kpss-gcc", "syscon";
 			reg = <0x02082000 0x1000>;
 		};
 
diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
index a5f1eda707b5..98246e1b4f3f 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -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: rpm@108000 {
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH v5 5/5] ARM: dts: qcom: fix various wrong definition for kpss-acc
  2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
                   ` (3 preceding siblings ...)
  2022-09-14 14:22 ` [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node Christian Marangi
@ 2022-09-14 14:22 ` Christian Marangi
  4 siblings, 0 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 14:22 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	Christian Marangi, James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

Fix 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.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 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(+)

diff --git a/arch/arm/boot/dts/qcom-apq8064.dtsi b/arch/arm/boot/dts/qcom-apq8064.dtsi
index ecf28260fd8c..8e9cb9d5aa30 100644
--- a/arch/arm/boot/dts/qcom-apq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-apq8064.dtsi
@@ -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 {
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
index 82c1483cd6ea..a6751c0c011f 100644
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
@@ -503,11 +503,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 {
diff --git a/arch/arm/boot/dts/qcom-msm8960.dtsi b/arch/arm/boot/dts/qcom-msm8960.dtsi
index 98246e1b4f3f..14212c776635 100644
--- a/arch/arm/boot/dts/qcom-msm8960.dtsi
+++ b/arch/arm/boot/dts/qcom-msm8960.dtsi
@@ -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 {
-- 
2.37.2


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
  2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
@ 2022-09-14 16:47   ` Rob Herring
  2022-09-15  9:34   ` Krzysztof Kozlowski
  2022-09-16 19:19   ` Rob Herring
  2 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2022-09-14 16:47 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Christian Brauner, linux-clk, Bjorn Andersson, linux-kernel,
	James Smart, Michael Turquette, Konrad Dybcio, Marc Herbert,
	Ranjani Sridharan, Pierre-Louis Bossart, Martin K. Petersen,
	Krzysztof Kozlowski, Justin Tee, devicetree, Takashi Iwai,
	Andy Gross, linux-arm-msm, Stephen Boyd, Rob Herring,
	Alexey Dobriyan

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


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
@ 2022-09-14 16:47   ` Rob Herring
  2022-09-14 16:54     ` Christian Marangi
  2022-09-16 19:17   ` Rob Herring
  1 sibling, 1 reply; 26+ messages in thread
From: Rob Herring @ 2022-09-14 16:47 UTC (permalink / raw)
  To: Christian Marangi
  Cc: James Smart, Marc Herbert, Michael Turquette, Justin Tee,
	Ranjani Sridharan, Konrad Dybcio, Alexey Dobriyan,
	Christian Brauner, Martin K. Petersen, linux-arm-msm, devicetree,
	linux-clk, Stephen Boyd, linux-kernel, Takashi Iwai,
	Pierre-Louis Bossart, Bjorn Andersson, Rob Herring, Andy Gross,
	Krzysztof Kozlowski

On Wed, 14 Sep 2022 16:22:53 +0200, Christian Marangi wrote:
> 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 <ansuelsmth@gmail.com>
> ---
>  .../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


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-14 16:47   ` Rob Herring
@ 2022-09-14 16:54     ` Christian Marangi
  0 siblings, 0 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-14 16:54 UTC (permalink / raw)
  To: Rob Herring
  Cc: James Smart, Marc Herbert, Michael Turquette, Justin Tee,
	Ranjani Sridharan, Konrad Dybcio, Alexey Dobriyan,
	Christian Brauner, Martin K. Petersen, linux-arm-msm, devicetree,
	linux-clk, Stephen Boyd, linux-kernel, Takashi Iwai,
	Pierre-Louis Bossart, Bjorn Andersson, Rob Herring, Andy Gross,
	Krzysztof Kozlowski

On Wed, Sep 14, 2022 at 11:47:10AM -0500, Rob Herring wrote:
> On Wed, 14 Sep 2022 16:22:53 +0200, Christian Marangi wrote:
> > 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 <ansuelsmth@gmail.com>
> > ---
> >  .../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
> 

Hi,
I fixed these warning in the last 2 commit of this series.

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
  2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
  2022-09-14 16:47   ` Rob Herring
@ 2022-09-15  9:34   ` Krzysztof Kozlowski
  2022-09-16 19:19   ` Rob Herring
  2 siblings, 0 replies; 26+ messages in thread
From: Krzysztof Kozlowski @ 2022-09-15  9:34 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Alexey Dobriyan, Stephen Boyd, Rob Herring, Martin K. Petersen,
	Ranjani Sridharan, Pierre-Louis Bossart, linux-clk,
	Konrad Dybcio, James Smart, Andy Gross, Takashi Iwai,
	Michael Turquette, Christian Brauner, Krzysztof Kozlowski,
	linux-arm-msm, Justin Tee, Bjorn Andersson, linux-kernel,
	Marc Herbert, devicetree

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

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
  2022-09-14 16:47   ` Rob Herring
@ 2022-09-16 19:17   ` Rob Herring
  2022-09-16 19:42     ` Christian Marangi
  1 sibling, 1 reply; 26+ messages in thread
From: Rob Herring @ 2022-09-16 19:17 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Michael Turquette, Stephen Boyd, Alexey Dobriyan, Takashi Iwai,
	Christian Brauner, Ranjani Sridharan, Marc Herbert, James Smart,
	Justin Tee, Pierre-Louis Bossart, Martin K. Petersen, devicetree,
	linux-kernel, linux-arm-msm, linux-clk

On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> 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.

Odd that a clock controller has no clocks, but okay.

> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
>  .../bindings/arm/msm/qcom,kpss-acc.txt        | 49 ----------
>  .../bindings/arm/msm/qcom,kpss-acc.yaml       | 93 +++++++++++++++++++

As this is a clock controller, please move to bindings/clock/

>  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

> diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
> new file mode 100644
> index 000000000000..5e16121d9f0d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
> @@ -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 <ansuelsmth@gmail.com>
> +
> +description: |

Don't need '|' if no formatting to preserve.

> +  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:
> +    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
> +
> +  clocks:
> +    items:
> +      - description: phandle to pll8_vote

Always a phandle (and arg), so that's redundant. Really, if there's not 
more to add that what clock-names says, then just 'maxItems: 2' is fine.

> +      - description: phandle to pxo_board
> +
> +  clock-names:
> +    items:
> +      - const: pll8_vote
> +      - const: pxo
> +
> +  clock-output-names:
> +    description: Name of the aux clock. Krait can have at most 4 cpu.
> +    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>;
> +    };
> +...
> -- 
> 2.37.2
> 
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml
  2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
  2022-09-14 16:47   ` Rob Herring
  2022-09-15  9:34   ` Krzysztof Kozlowski
@ 2022-09-16 19:19   ` Rob Herring
  2 siblings, 0 replies; 26+ messages in thread
From: Rob Herring @ 2022-09-16 19:19 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Michael Turquette, Stephen Boyd, Alexey Dobriyan, Takashi Iwai,
	Christian Brauner, Ranjani Sridharan, Marc Herbert, James Smart,
	Justin Tee, Pierre-Louis Bossart, Martin K. Petersen, devicetree,
	linux-kernel, linux-arm-msm, linux-clk

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
> 
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 19:17   ` Rob Herring
@ 2022-09-16 19:42     ` Christian Marangi
  2022-09-16 20:06       ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-16 19:42 UTC (permalink / raw)
  To: Rob Herring
  Cc: Krzysztof Kozlowski, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Michael Turquette, Stephen Boyd, Alexey Dobriyan, Takashi Iwai,
	Christian Brauner, Ranjani Sridharan, Marc Herbert, James Smart,
	Justin Tee, Pierre-Louis Bossart, Martin K. Petersen, devicetree,
	linux-kernel, linux-arm-msm, linux-clk

On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > 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.
> 
> Odd that a clock controller has no clocks, but okay.
>

As said in the commit v2 is only used for regs. v2 it's only used in
arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.

Should we split the 2 driver? To me the acc naming seems to be just
recycled for v2 and it's not really a clk controller.

So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?

> > 
> > Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> > ---
> >  .../bindings/arm/msm/qcom,kpss-acc.txt        | 49 ----------
> >  .../bindings/arm/msm/qcom,kpss-acc.yaml       | 93 +++++++++++++++++++
> 
> As this is a clock controller, please move to bindings/clock/
> 
> >  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
> 
> > diff --git a/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
> > new file mode 100644
> > index 000000000000..5e16121d9f0d
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
> > @@ -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 <ansuelsmth@gmail.com>
> > +
> > +description: |
> 
> Don't need '|' if no formatting to preserve.
> 
> > +  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:
> > +    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
> > +
> > +  clocks:
> > +    items:
> > +      - description: phandle to pll8_vote
> 
> Always a phandle (and arg), so that's redundant. Really, if there's not 
> more to add that what clock-names says, then just 'maxItems: 2' is fine.
> 
> > +      - description: phandle to pxo_board
> > +
> > +  clock-names:
> > +    items:
> > +      - const: pll8_vote
> > +      - const: pxo
> > +
> > +  clock-output-names:
> > +    description: Name of the aux clock. Krait can have at most 4 cpu.
> > +    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>;
> > +    };
> > +...
> > -- 
> > 2.37.2
> > 
> > 

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 19:42     ` Christian Marangi
@ 2022-09-16 20:06       ` Dmitry Baryshkov
  2022-09-16 20:13         ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2022-09-16 20:06 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > 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.
> >
> > Odd that a clock controller has no clocks, but okay.
> >
>
> As said in the commit v2 is only used for regs. v2 it's only used in
> arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
>
> Should we split the 2 driver? To me the acc naming seems to be just
> recycled for v2 and it's not really a clk controller.
>
> So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?

I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
According to msm-3.10, these regions are used by the Krait core
regulators.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 20:06       ` Dmitry Baryshkov
@ 2022-09-16 20:13         ` Christian Marangi
  2022-09-16 20:22           ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-16 20:13 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >
> > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > 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.
> > >
> > > Odd that a clock controller has no clocks, but okay.
> > >
> >
> > As said in the commit v2 is only used for regs. v2 it's only used in
> > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> >
> > Should we split the 2 driver? To me the acc naming seems to be just
> > recycled for v2 and it's not really a clk controller.
> >
> > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> 
> I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> According to msm-3.10, these regions are used by the Krait core
> regulators.
>

Well we need to understand how to handle this... change the compatible
it's a nono for sure. In platsmp.c they are used for cpu power control
so could be that they are actually used to regulators. I would honestly
move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
to assign to the 2 yaml.

What do you think?

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 20:13         ` Christian Marangi
@ 2022-09-16 20:22           ` Dmitry Baryshkov
  2022-09-16 20:27             ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2022-09-16 20:22 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > >
> > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > 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.
> > > >
> > > > Odd that a clock controller has no clocks, but okay.
> > > >
> > >
> > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > >
> > > Should we split the 2 driver? To me the acc naming seems to be just
> > > recycled for v2 and it's not really a clk controller.
> > >
> > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> >
> > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > According to msm-3.10, these regions are used by the Krait core
> > regulators.
> >
>
> Well we need to understand how to handle this... change the compatible
> it's a nono for sure. In platsmp.c they are used for cpu power control
> so could be that they are actually used to regulators. I would honestly
> move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> to assign to the 2 yaml.
>
> What do you think?

This is fine for me. If somebody gets better understanding of
underlying hardware and works on actually using these blocks, he will
update the bindings.

My only suggestion would be to rename kpss-acc-v2 nodes to
'power-controller@address' and document them so.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 20:22           ` Dmitry Baryshkov
@ 2022-09-16 20:27             ` Christian Marangi
  2022-09-16 20:31               ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-16 20:27 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >
> > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > >
> > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > 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.
> > > > >
> > > > > Odd that a clock controller has no clocks, but okay.
> > > > >
> > > >
> > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > >
> > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > recycled for v2 and it's not really a clk controller.
> > > >
> > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > >
> > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > According to msm-3.10, these regions are used by the Krait core
> > > regulators.
> > >
> >
> > Well we need to understand how to handle this... change the compatible
> > it's a nono for sure. In platsmp.c they are used for cpu power control
> > so could be that they are actually used to regulators. I would honestly
> > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > to assign to the 2 yaml.
> >
> > What do you think?
> 
> This is fine for me. If somebody gets better understanding of
> underlying hardware and works on actually using these blocks, he will
> update the bindings.
> 
> My only suggestion would be to rename kpss-acc-v2 nodes to
> 'power-controller@address' and document them so.
>

Ok so something like this?

    power-controller@f9088000 {
      compatible = "qcom,kpss-acc-v2";
      reg = <0xf9088000 0x1000>,
            <0xf9008000 0x1000>;
    };

(and I will have to fix dtbs warning as they will be unmatched I think.)
Yaml naming:
qcom,kpss-acc-v1.yaml
qcom,kpss-acc-v2.yaml
Right?


-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 20:27             ` Christian Marangi
@ 2022-09-16 20:31               ` Dmitry Baryshkov
  2022-09-16 21:54                 ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2022-09-16 20:31 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > >
> > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > >
> > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > > 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.
> > > > > >
> > > > > > Odd that a clock controller has no clocks, but okay.
> > > > > >
> > > > >
> > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > > >
> > > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > > recycled for v2 and it's not really a clk controller.
> > > > >
> > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > > >
> > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > > According to msm-3.10, these regions are used by the Krait core
> > > > regulators.
> > > >
> > >
> > > Well we need to understand how to handle this... change the compatible
> > > it's a nono for sure. In platsmp.c they are used for cpu power control
> > > so could be that they are actually used to regulators. I would honestly
> > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > > to assign to the 2 yaml.
> > >
> > > What do you think?
> >
> > This is fine for me. If somebody gets better understanding of
> > underlying hardware and works on actually using these blocks, he will
> > update the bindings.
> >
> > My only suggestion would be to rename kpss-acc-v2 nodes to
> > 'power-controller@address' and document them so.
> >
>
> Ok so something like this?
>
>     power-controller@f9088000 {
>       compatible = "qcom,kpss-acc-v2";
>       reg = <0xf9088000 0x1000>,
>             <0xf9008000 0x1000>;
>     };
>
> (and I will have to fix dtbs warning as they will be unmatched I think.)
> Yaml naming:
> qcom,kpss-acc-v1.yaml
> qcom,kpss-acc-v2.yaml
> Right?

Sounds good to me.

I'd even say clock/qcom,kpss-acc-v1.yaml and
arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml

>
>
> --
>         Ansuel



-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 20:31               ` Dmitry Baryshkov
@ 2022-09-16 21:54                 ` Christian Marangi
  2022-09-17 13:45                   ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-16 21:54 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >
> > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > >
> > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > >
> > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > > > 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.
> > > > > > >
> > > > > > > Odd that a clock controller has no clocks, but okay.
> > > > > > >
> > > > > >
> > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > > > >
> > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > > > recycled for v2 and it's not really a clk controller.
> > > > > >
> > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > > > >
> > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > > > According to msm-3.10, these regions are used by the Krait core
> > > > > regulators.
> > > > >
> > > >
> > > > Well we need to understand how to handle this... change the compatible
> > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> > > > so could be that they are actually used to regulators. I would honestly
> > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > > > to assign to the 2 yaml.
> > > >
> > > > What do you think?
> > >
> > > This is fine for me. If somebody gets better understanding of
> > > underlying hardware and works on actually using these blocks, he will
> > > update the bindings.
> > >
> > > My only suggestion would be to rename kpss-acc-v2 nodes to
> > > 'power-controller@address' and document them so.
> > >
> >
> > Ok so something like this?
> >
> >     power-controller@f9088000 {
> >       compatible = "qcom,kpss-acc-v2";
> >       reg = <0xf9088000 0x1000>,
> >             <0xf9008000 0x1000>;
> >     };
> >
> > (and I will have to fix dtbs warning as they will be unmatched I think.)
> > Yaml naming:
> > qcom,kpss-acc-v1.yaml
> > qcom,kpss-acc-v2.yaml
> > Right?
> 
> Sounds good to me.
> 
> I'd even say clock/qcom,kpss-acc-v1.yaml and
> arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> 

Wonder if the gcc driver should have the same tretement? It's also a
clock-controller driver that doesn't use clock at all... Do you have
some info about it?

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-16 21:54                 ` Christian Marangi
@ 2022-09-17 13:45                   ` Dmitry Baryshkov
  2022-09-17 18:57                     ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2022-09-17 13:45 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
>
> On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > >
> > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > >
> > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > > >
> > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > > > > 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.
> > > > > > > >
> > > > > > > > Odd that a clock controller has no clocks, but okay.
> > > > > > > >
> > > > > > >
> > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > > > > >
> > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > > > > recycled for v2 and it's not really a clk controller.
> > > > > > >
> > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > > > > >
> > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > > > > According to msm-3.10, these regions are used by the Krait core
> > > > > > regulators.
> > > > > >
> > > > >
> > > > > Well we need to understand how to handle this... change the compatible
> > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> > > > > so could be that they are actually used to regulators. I would honestly
> > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > > > > to assign to the 2 yaml.
> > > > >
> > > > > What do you think?
> > > >
> > > > This is fine for me. If somebody gets better understanding of
> > > > underlying hardware and works on actually using these blocks, he will
> > > > update the bindings.
> > > >
> > > > My only suggestion would be to rename kpss-acc-v2 nodes to
> > > > 'power-controller@address' and document them so.
> > > >
> > >
> > > Ok so something like this?
> > >
> > >     power-controller@f9088000 {
> > >       compatible = "qcom,kpss-acc-v2";
> > >       reg = <0xf9088000 0x1000>,
> > >             <0xf9008000 0x1000>;
> > >     };
> > >
> > > (and I will have to fix dtbs warning as they will be unmatched I think.)
> > > Yaml naming:
> > > qcom,kpss-acc-v1.yaml
> > > qcom,kpss-acc-v2.yaml
> > > Right?
> >
> > Sounds good to me.
> >
> > I'd even say clock/qcom,kpss-acc-v1.yaml and
> > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> >
>
> Wonder if the gcc driver should have the same tretement? It's also a
> clock-controller driver that doesn't use clock at all... Do you have
> some info about it?

As far as I understand, the kpss-gcc is a normal clock controller,
isn't it? It provides clocks to other devices.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-17 13:45                   ` Dmitry Baryshkov
@ 2022-09-17 18:57                     ` Christian Marangi
  2022-09-17 19:44                       ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-17 18:57 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Sat, Sep 17, 2022 at 04:45:21PM +0300, Dmitry Baryshkov wrote:
> On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >
> > On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> > > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > >
> > > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> > > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > >
> > > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > > > >
> > > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > > > > > 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.
> > > > > > > > >
> > > > > > > > > Odd that a clock controller has no clocks, but okay.
> > > > > > > > >
> > > > > > > >
> > > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > > > > > >
> > > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > > > > > recycled for v2 and it's not really a clk controller.
> > > > > > > >
> > > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > > > > > >
> > > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > > > > > According to msm-3.10, these regions are used by the Krait core
> > > > > > > regulators.
> > > > > > >
> > > > > >
> > > > > > Well we need to understand how to handle this... change the compatible
> > > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> > > > > > so could be that they are actually used to regulators. I would honestly
> > > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > > > > > to assign to the 2 yaml.
> > > > > >
> > > > > > What do you think?
> > > > >
> > > > > This is fine for me. If somebody gets better understanding of
> > > > > underlying hardware and works on actually using these blocks, he will
> > > > > update the bindings.
> > > > >
> > > > > My only suggestion would be to rename kpss-acc-v2 nodes to
> > > > > 'power-controller@address' and document them so.
> > > > >
> > > >
> > > > Ok so something like this?
> > > >
> > > >     power-controller@f9088000 {
> > > >       compatible = "qcom,kpss-acc-v2";
> > > >       reg = <0xf9088000 0x1000>,
> > > >             <0xf9008000 0x1000>;
> > > >     };
> > > >
> > > > (and I will have to fix dtbs warning as they will be unmatched I think.)
> > > > Yaml naming:
> > > > qcom,kpss-acc-v1.yaml
> > > > qcom,kpss-acc-v2.yaml
> > > > Right?
> > >
> > > Sounds good to me.
> > >
> > > I'd even say clock/qcom,kpss-acc-v1.yaml and
> > > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> > >
> >
> > Wonder if the gcc driver should have the same tretement? It's also a
> > clock-controller driver that doesn't use clock at all... Do you have
> > some info about it?
> 
> As far as I understand, the kpss-gcc is a normal clock controller,
> isn't it? It provides clocks to other devices.
> 

Hi again... Having acc-v2 as power-controller would require to set
#power-domain-cells = <0>;

Would that be acceptable? Considering it wouldn't expose any PM domain?

About kpss-gcc we have some device that for some reason doesn't have the
required clocks defined in the dts. I checked the related gcc and no PXO
defined and no pll8_vote clock defined. (the affected dts are all listed
in the related Documentation)

No idea how they currently work with the kpss-gcc driver as these
parents are missing. Guess the driver just fails to probe?
So this was the question if you had more info about it... since to me it
seems just another gcc v2 that doesn't expose clocks but it's just a
power-controller just like acc-v2. 

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-17 18:57                     ` Christian Marangi
@ 2022-09-17 19:44                       ` Christian Marangi
  2022-09-17 20:46                         ` Dmitry Baryshkov
  0 siblings, 1 reply; 26+ messages in thread
From: Christian Marangi @ 2022-09-17 19:44 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Sat, Sep 17, 2022 at 08:57:44PM +0200, Christian Marangi wrote:
> On Sat, Sep 17, 2022 at 04:45:21PM +0300, Dmitry Baryshkov wrote:
> > On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > >
> > > On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> > > > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > >
> > > > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> > > > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > > >
> > > > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> > > > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> > > > > > > > >
> > > > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> > > > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> > > > > > > > > > > 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.
> > > > > > > > > >
> > > > > > > > > > Odd that a clock controller has no clocks, but okay.
> > > > > > > > > >
> > > > > > > > >
> > > > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> > > > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> > > > > > > > >
> > > > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> > > > > > > > > recycled for v2 and it's not really a clk controller.
> > > > > > > > >
> > > > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> > > > > > > >
> > > > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> > > > > > > > According to msm-3.10, these regions are used by the Krait core
> > > > > > > > regulators.
> > > > > > > >
> > > > > > >
> > > > > > > Well we need to understand how to handle this... change the compatible
> > > > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> > > > > > > so could be that they are actually used to regulators. I would honestly
> > > > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> > > > > > > to assign to the 2 yaml.
> > > > > > >
> > > > > > > What do you think?
> > > > > >
> > > > > > This is fine for me. If somebody gets better understanding of
> > > > > > underlying hardware and works on actually using these blocks, he will
> > > > > > update the bindings.
> > > > > >
> > > > > > My only suggestion would be to rename kpss-acc-v2 nodes to
> > > > > > 'power-controller@address' and document them so.
> > > > > >
> > > > >
> > > > > Ok so something like this?
> > > > >
> > > > >     power-controller@f9088000 {
> > > > >       compatible = "qcom,kpss-acc-v2";
> > > > >       reg = <0xf9088000 0x1000>,
> > > > >             <0xf9008000 0x1000>;
> > > > >     };
> > > > >
> > > > > (and I will have to fix dtbs warning as they will be unmatched I think.)
> > > > > Yaml naming:
> > > > > qcom,kpss-acc-v1.yaml
> > > > > qcom,kpss-acc-v2.yaml
> > > > > Right?
> > > >
> > > > Sounds good to me.
> > > >
> > > > I'd even say clock/qcom,kpss-acc-v1.yaml and
> > > > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> > > >
> > >
> > > Wonder if the gcc driver should have the same tretement? It's also a
> > > clock-controller driver that doesn't use clock at all... Do you have
> > > some info about it?
> > 
> > As far as I understand, the kpss-gcc is a normal clock controller,
> > isn't it? It provides clocks to other devices.
> > 
> 
> Hi again... Having acc-v2 as power-controller would require to set
> #power-domain-cells = <0>;
> 
> Would that be acceptable? Considering it wouldn't expose any PM domain?
> 
> About kpss-gcc we have some device that for some reason doesn't have the
> required clocks defined in the dts. I checked the related gcc and no PXO
> defined and no pll8_vote clock defined. (the affected dts are all listed
> in the related Documentation)
> 
> No idea how they currently work with the kpss-gcc driver as these
> parents are missing. Guess the driver just fails to probe?
> So this was the question if you had more info about it... since to me it
> seems just another gcc v2 that doesn't expose clocks but it's just a
> power-controller just like acc-v2. 
> 
> -- 
> 	Ansuel

(Also sorry for the double email)
I'm checking the regs for apq8084 for example (from the dtsi)
Are we really sure they are power-controller?
Checking the regs it seems they just changed the location and they
placed clock-controller and right after the power-controller.
So one can get confused and say that 0xf9... can be all related to power
controller. I posted the regs for reference.

acc0 0xf9088000 0x1000
saw0 0xf9089000 0x1000

acc1 0xf9098000 0x1000
saw1 0xf9099000 0x1000

acc2 0xf90a8000 0x1000
saw2 0xf90b9000 0x1000

Anyway while at it there seems to be a bit of confusion about the naming
here... We have on ipq8064 and ipq4019 the saw node set as regulator and
with the regulator binding but on msm8974 and apq8084 the saw node set
as power-controller (with the l2 node with the regulator binding).

Think we should chose a name and fix every dts.
So the main question here is...
Should we keep acc as clock-controller or change it to power-controller
(for v2)?

Should we change saw node to regulator or power-controller?

From what I know acc are used to enable the cpu so it seems sane to keep
them as clock-controller (even if v2 doesn't export clock)
Saw node handle power (and in theory even low power state) so it seems
sane to change them to power-controller.

Currently we have no warning for saw node as they are not converted to
yaml but as soon as someone convert the txt to yaml then we will have
all sort of inconsistency so better take a decision now instead of
convert saw to yaml and then change acc node again to fix them for good.

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-17 19:44                       ` Christian Marangi
@ 2022-09-17 20:46                         ` Dmitry Baryshkov
  2022-09-17 20:58                           ` Christian Marangi
  0 siblings, 1 reply; 26+ messages in thread
From: Dmitry Baryshkov @ 2022-09-17 20:46 UTC (permalink / raw)
  To: Christian Marangi
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk



On 17 September 2022 22:44:00 GMT+03:00, Christian Marangi <ansuelsmth@gmail.com> wrote:
>On Sat, Sep 17, 2022 at 08:57:44PM +0200, Christian Marangi wrote:
>> On Sat, Sep 17, 2022 at 04:45:21PM +0300, Dmitry Baryshkov wrote:
>> > On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
>> > >
>> > > On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
>> > > > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
>> > > > >
>> > > > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
>> > > > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
>> > > > > > >
>> > > > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
>> > > > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
>> > > > > > > > >
>> > > > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
>> > > > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
>> > > > > > > > > > > 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.
>> > > > > > > > > >
>> > > > > > > > > > Odd that a clock controller has no clocks, but okay.
>> > > > > > > > > >
>> > > > > > > > >
>> > > > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
>> > > > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
>> > > > > > > > >
>> > > > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
>> > > > > > > > > recycled for v2 and it's not really a clk controller.
>> > > > > > > > >
>> > > > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
>> > > > > > > >
>> > > > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
>> > > > > > > > According to msm-3.10, these regions are used by the Krait core
>> > > > > > > > regulators.
>> > > > > > > >
>> > > > > > >
>> > > > > > > Well we need to understand how to handle this... change the compatible
>> > > > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
>> > > > > > > so could be that they are actually used to regulators. I would honestly
>> > > > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
>> > > > > > > to assign to the 2 yaml.
>> > > > > > >
>> > > > > > > What do you think?
>> > > > > >
>> > > > > > This is fine for me. If somebody gets better understanding of
>> > > > > > underlying hardware and works on actually using these blocks, he will
>> > > > > > update the bindings.
>> > > > > >
>> > > > > > My only suggestion would be to rename kpss-acc-v2 nodes to
>> > > > > > 'power-controller@address' and document them so.
>> > > > > >
>> > > > >
>> > > > > Ok so something like this?
>> > > > >
>> > > > >     power-controller@f9088000 {
>> > > > >       compatible = "qcom,kpss-acc-v2";
>> > > > >       reg = <0xf9088000 0x1000>,
>> > > > >             <0xf9008000 0x1000>;
>> > > > >     };
>> > > > >
>> > > > > (and I will have to fix dtbs warning as they will be unmatched I think.)
>> > > > > Yaml naming:
>> > > > > qcom,kpss-acc-v1.yaml
>> > > > > qcom,kpss-acc-v2.yaml
>> > > > > Right?
>> > > >
>> > > > Sounds good to me.
>> > > >
>> > > > I'd even say clock/qcom,kpss-acc-v1.yaml and
>> > > > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
>> > > >
>> > >
>> > > Wonder if the gcc driver should have the same tretement? It's also a
>> > > clock-controller driver that doesn't use clock at all... Do you have
>> > > some info about it?
>> > 
>> > As far as I understand, the kpss-gcc is a normal clock controller,
>> > isn't it? It provides clocks to other devices.
>> > 
>> 
>> Hi again... Having acc-v2 as power-controller would require to set
>> #power-domain-cells = <0>;

Why? I don't think so. Rob/Krzysztof, please correct me if I'm wrong.

>> 
>> Would that be acceptable? Considering it wouldn't expose any PM domain?
>> 
>> About kpss-gcc we have some device that for some reason doesn't have the
>> required clocks defined in the dts. I checked the related gcc and no PXO
>> defined and no pll8_vote clock defined. (the affected dts are all listed
>> in the related Documentation)
>> 
>> No idea how they currently work with the kpss-gcc driver as these
>> parents are missing. Guess the driver just fails to probe?
>> So this was the question if you had more info about it... since to me it
>> seems just another gcc v2 that doesn't expose clocks but it's just a
>> power-controller just like acc-v2. 
>> 
>> -- 
>> 	Ansuel
>
>(Also sorry for the double email)
>I'm checking the regs for apq8084 for example (from the dtsi)
>Are we really sure they are power-controller?

It looks like it's a regularor on steroids. See krait-regulator.c and corresponding bindings in msm-3.10/3.14. So I'd use either the regulator or the power-controller (with significant bias towards controller)

>Checking the regs it seems they just changed the location and they
>placed clock-controller and right after the power-controller.
>So one can get confused and say that 0xf9... can be all related to power
>controller. I posted the regs for reference.
>
>acc0 0xf9088000 0x1000
>saw0 0xf9089000 0x1000
>
>acc1 0xf9098000 0x1000
>saw1 0xf9099000 0x1000
>
>acc2 0xf90a8000 0x1000
>saw2 0xf90b9000 0x1000
>
>Anyway while at it there seems to be a bit of confusion about the naming
>here... We have on ipq8064 and ipq4019 the saw node set as regulator and
>with the regulator binding but on msm8974 and apq8084 the saw node set
>as power-controller (with the l2 node with the regulator binding).
>
>Think we should chose a name and fix every dts.
>So the main question here is...
>Should we keep acc as clock-controller or change it to power-controller
>(for v2)?
>
>Should we change saw node to regulator or power-controller?
>
>From what I know acc are used to enable the cpu so it seems sane to keep
>them as clock-controller (even if v2 doesn't export clock)
>Saw node handle power (and in theory even low power state) so it seems
>sane to change them to power-controller.
>
>Currently we have no warning for saw node as they are not converted to
>yaml but as soon as someone convert the txt to yaml then we will have
>all sort of inconsistency so better take a decision now instead of
>convert saw to yaml and then change acc node again to fix them for good.


The saw is definitely a bigger thing than just a regularor (or a set of them). It is used to control pmics, it handles low-power states, so `power-controller'.

-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
  2022-09-17 20:46                         ` Dmitry Baryshkov
@ 2022-09-17 20:58                           ` Christian Marangi
  0 siblings, 0 replies; 26+ messages in thread
From: Christian Marangi @ 2022-09-17 20:58 UTC (permalink / raw)
  To: Dmitry Baryshkov
  Cc: Rob Herring, Krzysztof Kozlowski, Andy Gross, Bjorn Andersson,
	Konrad Dybcio, Michael Turquette, Stephen Boyd, Alexey Dobriyan,
	Takashi Iwai, Christian Brauner, Ranjani Sridharan, Marc Herbert,
	James Smart, Justin Tee, Pierre-Louis Bossart,
	Martin K. Petersen, devicetree, linux-kernel, linux-arm-msm,
	linux-clk

On Sat, Sep 17, 2022 at 11:46:23PM +0300, Dmitry Baryshkov wrote:
> 
> 
> On 17 September 2022 22:44:00 GMT+03:00, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >On Sat, Sep 17, 2022 at 08:57:44PM +0200, Christian Marangi wrote:
> >> On Sat, Sep 17, 2022 at 04:45:21PM +0300, Dmitry Baryshkov wrote:
> >> > On Sat, 17 Sept 2022 at 00:54, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > >
> >> > > On Fri, Sep 16, 2022 at 11:31:49PM +0300, Dmitry Baryshkov wrote:
> >> > > > On Fri, 16 Sept 2022 at 23:27, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > >
> >> > > > > On Fri, Sep 16, 2022 at 11:22:17PM +0300, Dmitry Baryshkov wrote:
> >> > > > > > On Fri, 16 Sept 2022 at 23:13, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > > > >
> >> > > > > > > On Fri, Sep 16, 2022 at 11:06:35PM +0300, Dmitry Baryshkov wrote:
> >> > > > > > > > On Fri, 16 Sept 2022 at 22:43, Christian Marangi <ansuelsmth@gmail.com> wrote:
> >> > > > > > > > >
> >> > > > > > > > > On Fri, Sep 16, 2022 at 02:17:15PM -0500, Rob Herring wrote:
> >> > > > > > > > > > On Wed, Sep 14, 2022 at 04:22:53PM +0200, Christian Marangi wrote:
> >> > > > > > > > > > > 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.
> >> > > > > > > > > >
> >> > > > > > > > > > Odd that a clock controller has no clocks, but okay.
> >> > > > > > > > > >
> >> > > > > > > > >
> >> > > > > > > > > As said in the commit v2 is only used for regs. v2 it's only used in
> >> > > > > > > > > arch/arm/mach-qcom/platsmp.c to setup stuff cpu hotplug and bringup.
> >> > > > > > > > >
> >> > > > > > > > > Should we split the 2 driver? To me the acc naming seems to be just
> >> > > > > > > > > recycled for v2 and it's not really a clk controller.
> >> > > > > > > > >
> >> > > > > > > > > So keeping v2 in arm/msm/qcom,kpss-acc-v2.yaml and v1 moved to clock?
> >> > > > > > > >
> >> > > > > > > > I suspect that qcom,kpss-acc-v2 is misnamed as the "clock-controller".
> >> > > > > > > > According to msm-3.10, these regions are used by the Krait core
> >> > > > > > > > regulators.
> >> > > > > > > >
> >> > > > > > >
> >> > > > > > > Well we need to understand how to handle this... change the compatible
> >> > > > > > > it's a nono for sure. In platsmp.c they are used for cpu power control
> >> > > > > > > so could be that they are actually used to regulators. I would honestly
> >> > > > > > > move v1 to clock and leave v2 to arm/msm but I'm not cetain on what name
> >> > > > > > > to assign to the 2 yaml.
> >> > > > > > >
> >> > > > > > > What do you think?
> >> > > > > >
> >> > > > > > This is fine for me. If somebody gets better understanding of
> >> > > > > > underlying hardware and works on actually using these blocks, he will
> >> > > > > > update the bindings.
> >> > > > > >
> >> > > > > > My only suggestion would be to rename kpss-acc-v2 nodes to
> >> > > > > > 'power-controller@address' and document them so.
> >> > > > > >
> >> > > > >
> >> > > > > Ok so something like this?
> >> > > > >
> >> > > > >     power-controller@f9088000 {
> >> > > > >       compatible = "qcom,kpss-acc-v2";
> >> > > > >       reg = <0xf9088000 0x1000>,
> >> > > > >             <0xf9008000 0x1000>;
> >> > > > >     };
> >> > > > >
> >> > > > > (and I will have to fix dtbs warning as they will be unmatched I think.)
> >> > > > > Yaml naming:
> >> > > > > qcom,kpss-acc-v1.yaml
> >> > > > > qcom,kpss-acc-v2.yaml
> >> > > > > Right?
> >> > > >
> >> > > > Sounds good to me.
> >> > > >
> >> > > > I'd even say clock/qcom,kpss-acc-v1.yaml and
> >> > > > arm/msm/qcom,kpss-acc-v2.yaml or maybe power/qcom,kpss-acc-v2.yaml
> >> > > >
> >> > >
> >> > > Wonder if the gcc driver should have the same tretement? It's also a
> >> > > clock-controller driver that doesn't use clock at all... Do you have
> >> > > some info about it?
> >> > 
> >> > As far as I understand, the kpss-gcc is a normal clock controller,
> >> > isn't it? It provides clocks to other devices.
> >> > 
> >> 
> >> Hi again... Having acc-v2 as power-controller would require to set
> >> #power-domain-cells = <0>;
> 
> Why? I don't think so. Rob/Krzysztof, please correct me if I'm wrong.
> 

make dtbs_check and dt_binding_check complains about that.

> >> 
> >> Would that be acceptable? Considering it wouldn't expose any PM domain?
> >> 
> >> About kpss-gcc we have some device that for some reason doesn't have the
> >> required clocks defined in the dts. I checked the related gcc and no PXO
> >> defined and no pll8_vote clock defined. (the affected dts are all listed
> >> in the related Documentation)
> >> 
> >> No idea how they currently work with the kpss-gcc driver as these
> >> parents are missing. Guess the driver just fails to probe?
> >> So this was the question if you had more info about it... since to me it
> >> seems just another gcc v2 that doesn't expose clocks but it's just a
> >> power-controller just like acc-v2. 
> >> 
> >> -- 
> >> 	Ansuel
> >
> >(Also sorry for the double email)
> >I'm checking the regs for apq8084 for example (from the dtsi)
> >Are we really sure they are power-controller?
> 
> It looks like it's a regularor on steroids. See krait-regulator.c and corresponding bindings in msm-3.10/3.14. So I'd use either the regulator or the power-controller (with significant bias towards controller)
> 

Ok so on that platform they are both power-controller(saw and acc)...
Think we only need to understand about the binding power-domain-cells
binding...

Will check the driver and binding on msm-3.10

> >Checking the regs it seems they just changed the location and they
> >placed clock-controller and right after the power-controller.
> >So one can get confused and say that 0xf9... can be all related to power
> >controller. I posted the regs for reference.
> >
> >acc0 0xf9088000 0x1000
> >saw0 0xf9089000 0x1000
> >
> >acc1 0xf9098000 0x1000
> >saw1 0xf9099000 0x1000
> >
> >acc2 0xf90a8000 0x1000
> >saw2 0xf90b9000 0x1000
> >
> >Anyway while at it there seems to be a bit of confusion about the naming
> >here... We have on ipq8064 and ipq4019 the saw node set as regulator and
> >with the regulator binding but on msm8974 and apq8084 the saw node set
> >as power-controller (with the l2 node with the regulator binding).
> >
> >Think we should chose a name and fix every dts.
> >So the main question here is...
> >Should we keep acc as clock-controller or change it to power-controller
> >(for v2)?
> >
> >Should we change saw node to regulator or power-controller?
> >
> >From what I know acc are used to enable the cpu so it seems sane to keep
> >them as clock-controller (even if v2 doesn't export clock)
> >Saw node handle power (and in theory even low power state) so it seems
> >sane to change them to power-controller.
> >
> >Currently we have no warning for saw node as they are not converted to
> >yaml but as soon as someone convert the txt to yaml then we will have
> >all sort of inconsistency so better take a decision now instead of
> >convert saw to yaml and then change acc node again to fix them for good.
> 
> 
> The saw is definitely a bigger thing than just a regularor (or a set of them). It is used to control pmics, it handles low-power states, so `power-controller'.
> 
> -- 
> With best wishes
> Dmitry

-- 
	Ansuel

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node
  2022-09-14 14:22 ` [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node Christian Marangi
@ 2022-12-23 10:17   ` Krzysztof Kozlowski
  2022-12-23 10:17     ` Krzysztof Kozlowski
  0 siblings, 1 reply; 26+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-23 10:17 UTC (permalink / raw)
  To: Christian Marangi, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	Alexey Dobriyan, Takashi Iwai, Christian Brauner,
	Ranjani Sridharan, Marc Herbert, James Smart, Justin Tee,
	Pierre-Louis Bossart, Martin K. Petersen, devicetree,
	linux-kernel, linux-arm-msm, linux-clk

On 14/09/2022 16:22, Christian Marangi wrote:
> Fix 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.
> 
> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
> ---
>  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(-)


warning: 1 line adds whitespace errors.
error: patch failed: arch/arm/boot/dts/qcom-apq8064.dtsi:845
error: arch/arm/boot/dts/qcom-apq8064.dtsi: patch does not apply
error: patch failed: arch/arm/boot/dts/qcom-ipq8064.dtsi:917
error: arch/arm/boot/dts/qcom-ipq8064.dtsi: patch does not apply
error: patch failed: arch/arm/boot/dts/qcom-msm8960.dtsi:63
error: arch/arm/boot/dts/qcom-msm8960.dtsi: patch does not apply
hint: Use 'git am --show-current-patch=diff' to see the failed patch


Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node
  2022-12-23 10:17   ` Krzysztof Kozlowski
@ 2022-12-23 10:17     ` Krzysztof Kozlowski
  0 siblings, 0 replies; 26+ messages in thread
From: Krzysztof Kozlowski @ 2022-12-23 10:17 UTC (permalink / raw)
  To: Christian Marangi, Rob Herring, Krzysztof Kozlowski, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Michael Turquette, Stephen Boyd,
	Alexey Dobriyan, Takashi Iwai, Christian Brauner,
	Ranjani Sridharan, Marc Herbert, James Smart, Justin Tee,
	Pierre-Louis Bossart, Martin K. Petersen, devicetree,
	linux-kernel, linux-arm-msm, linux-clk

On 23/12/2022 11:17, Krzysztof Kozlowski wrote:
> On 14/09/2022 16:22, Christian Marangi wrote:
>> Fix 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.
>>
>> Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
>> ---
>>  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(-)
> 
> 
> warning: 1 line adds whitespace errors.

Only this is relevant (rest of non-applying is not important)

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2022-12-23 10:17 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-14 14:22 [PATCH v5 0/5] Krait Documentation conversion Christian Marangi
2022-09-14 14:22 ` [PATCH v5 1/5] dt-bindings: clock: Convert qcom,krait-cc to yaml Christian Marangi
2022-09-14 14:22 ` [PATCH v5 2/5] dt-bindings: arm: msm: Convert kpss-acc driver Documentation " Christian Marangi
2022-09-14 16:47   ` Rob Herring
2022-09-14 16:54     ` Christian Marangi
2022-09-16 19:17   ` Rob Herring
2022-09-16 19:42     ` Christian Marangi
2022-09-16 20:06       ` Dmitry Baryshkov
2022-09-16 20:13         ` Christian Marangi
2022-09-16 20:22           ` Dmitry Baryshkov
2022-09-16 20:27             ` Christian Marangi
2022-09-16 20:31               ` Dmitry Baryshkov
2022-09-16 21:54                 ` Christian Marangi
2022-09-17 13:45                   ` Dmitry Baryshkov
2022-09-17 18:57                     ` Christian Marangi
2022-09-17 19:44                       ` Christian Marangi
2022-09-17 20:46                         ` Dmitry Baryshkov
2022-09-17 20:58                           ` Christian Marangi
2022-09-14 14:22 ` [PATCH v5 3/5] dt-bindings: arm: msm: Rework kpss-gcc " Christian Marangi
2022-09-14 16:47   ` Rob Herring
2022-09-15  9:34   ` Krzysztof Kozlowski
2022-09-16 19:19   ` Rob Herring
2022-09-14 14:22 ` [PATCH v5 4/5] ARM: dts: qcom: fix various wrong definition for kpss-gcc node Christian Marangi
2022-12-23 10:17   ` Krzysztof Kozlowski
2022-12-23 10:17     ` Krzysztof Kozlowski
2022-09-14 14:22 ` [PATCH v5 5/5] ARM: dts: qcom: fix various wrong definition for kpss-acc Christian Marangi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.