lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 30 Jun 2022 09:43:05 +0300
From:   Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
To:     Christian Marangi <ansuelsmth@...il.com>,
        Rob Herring <robh+dt@...nel.org>,
        Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
        Andy Gross <agross@...nel.org>,
        Bjorn Andersson <bjorn.andersson@...aro.org>,
        Konrad Dybcio <konrad.dybcio@...ainline.org>,
        Michael Turquette <mturquette@...libre.com>,
        Stephen Boyd <sboyd@...nel.org>, Jens Axboe <axboe@...nel.dk>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
        linux-arm-msm@...r.kernel.org, linux-clk@...r.kernel.org
Subject: Re: [PATCH v4 3/5] dt-bindings: arm: msm: Rework kpss-gcc driver Documentation to yaml



On 29 June 2022 15:14:39 GMT+03:00, Christian Marangi <ansuelsmth@...il.com> 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@...il.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@...1000 {
>-		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@...il.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

I suppose this chunk is not so correct. We can not describe these properties as required since current DTs do not have them. Also if somebody decides to fix the mdm9615 or msm8660 platforms, he works have to change this (again). Thus I'd just leave this whole chunk out.

>+
>+additionalProperties: false
>+
>+examples:
>+  - |
>+    #include <dt-bindings/clock/qcom,gcc-ipq806x.h>
>+
>+    clock-controller@...1000 {
>+      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@...1000 {
>+      compatible = "qcom,kpss-gcc-mdm9615", "qcom,kpss-gcc", "syscon";
>+      reg = <0x02011000 0x1000>;
>+    };
>+...
>+

-- 
With best wishes
Dmitry

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ