All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ansuel Smith <ansuelsmth@gmail.com>
To: Rob Herring <robh+dt@kernel.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Andy Gross <agross@kernel.org>,
	Michael Turquette <mturquette@baylibre.com>,
	Stephen Boyd <sboyd@kernel.org>,
	Ansuel Smith <ansuelsmth@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-arm-msm@vger.kernel.org, linux-clk@vger.kernel.org
Subject: [PATCH v6 16/18] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml
Date: Tue, 22 Mar 2022 00:15:46 +0100	[thread overview]
Message-ID: <20220321231548.14276-17-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20220321231548.14276-1-ansuelsmth@gmail.com>

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: Ansuel Smith <ansuelsmth@gmail.com>
---
 .../bindings/arm/msm/qcom,kpss-acc.txt        | 49 ----------
 .../bindings/arm/msm/qcom,kpss-acc.yaml       | 94 +++++++++++++++++++
 2 files changed, 94 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..707a81a6c30e
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/msm/qcom,kpss-acc.yaml
@@ -0,0 +1,94 @@
+# 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:
+  - Ansuel Smith <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
+
+allOf:
+  - 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.34.1


  parent reply	other threads:[~2022-03-21 23:45 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-21 23:15 [PATCH v6 00/18] Modernize rest of the krait drivers Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 01/18] clk: introduce clk_hw_get_index_of_parent new API Ansuel Smith
2022-03-25  1:21   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 02/18] clk: qcom: gcc-ipq806x: skip pxo/cxo fixed clk if already present Ansuel Smith
2022-03-25  1:11   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 03/18] clk: qcom: gcc-ipq806x: add PXO_SRC in clk table Ansuel Smith
2022-03-25  1:10   ` Stephen Boyd
2022-03-25  1:13     ` Ansuel Smith
2022-03-25  1:22       ` Stephen Boyd
2022-04-13 17:00         ` Ansuel Smith
2022-04-13 17:32           ` Dmitry Baryshkov
2022-04-13 17:54             ` Ansuel Smith
2022-04-13 20:01               ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 04/18] clk: qcom: clk-hfpll: use poll_timeout macro Ansuel Smith
2022-03-25  1:09   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 05/18] clk: qcom: kpss-xcc: convert to parent data API Ansuel Smith
2022-03-25  1:06   ` Stephen Boyd
2022-03-25  1:10     ` Ansuel Smith
2022-04-13 19:38   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 06/18] clk: qcom: clk-krait: unlock spin after mux completion Ansuel Smith
2022-03-25  1:04   ` Stephen Boyd
2022-03-21 23:15 ` [PATCH v6 07/18] clk: qcom: clk-krait: add hw_parent check for div2_round_rate Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 08/18] clk: qcom: krait-cc: convert to parent_data API Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 09/18] clk: qcom: krait-cc: drop pr_info and register qsb only if needed Ansuel Smith
2022-04-13 19:40   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 10/18] clk: qcom: krait-cc: drop hardcoded safe_sel Ansuel Smith
2022-04-13 17:25   ` Dmitry Baryshkov
2022-04-13 17:35     ` Ansuel Smith
2022-04-13 18:24       ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 11/18] clk: qcom: krait-cc: force sec_mux to QSB Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 12/18] clk: qcom: clk-krait: add apq/ipq8064 errata workaround Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 13/18] clk: qcom: clk-krait: add enable disable ops Ansuel Smith
2022-04-13 17:28   ` Dmitry Baryshkov
2022-03-21 23:15 ` [PATCH v6 14/18] dt-bindings: clock: Convert qcom,krait-cc to yaml Ansuel Smith
2022-03-21 23:15 ` [PATCH v6 15/18] dt-bindings: clock: Add L2 clocks to qcom,krait-cc Documentation Ansuel Smith
2022-03-23 15:27   ` Rob Herring
2022-03-21 23:15 ` Ansuel Smith [this message]
2022-03-22 10:11   ` [PATCH v6 16/18] dt-bindings: arm: msm: Convert kpss-acc driver Documentation to yaml Krzysztof Kozlowski
2022-03-21 23:15 ` [PATCH v6 17/18] dt-bindings: arm: msm: Convert kpss-gcc " Ansuel Smith
2022-03-22  1:50   ` Rob Herring
2022-03-23 10:29     ` Ansuel Smith
2022-03-23 13:19       ` Rob Herring
2022-03-22 10:07   ` Krzysztof Kozlowski
2022-03-22 13:26     ` Ansuel Smith
2022-03-23  9:59       ` Krzysztof Kozlowski
2022-03-23 11:03         ` Ansuel Smith
2022-03-23 14:19           ` Krzysztof Kozlowski
2022-03-21 23:15 ` [PATCH v6 18/18] ARM: dts: qcom: qcom-ipq8064: add missing krait-cc compatible and clocks Ansuel Smith
2022-03-22 10:01   ` Krzysztof Kozlowski
2022-03-22  1:56 ` [PATCH v6 00/18] Modernize rest of the krait drivers Rob Herring
2022-03-22 13:43   ` Ansuel Smith
2022-04-13 17:31 ` Dmitry Baryshkov
2022-04-13 17:48   ` Ansuel Smith
2022-04-13 19:49     ` Dmitry Baryshkov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220321231548.14276-17-ansuelsmth@gmail.com \
    --to=ansuelsmth@gmail.com \
    --cc=agross@kernel.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.