]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dt-bindings: perf: Convert apm,xgene-pmu to DT schema
authorRob Herring (Arm) <robh@kernel.org>
Tue, 12 Aug 2025 18:14:20 +0000 (13:14 -0500)
committerRob Herring (Arm) <robh@kernel.org>
Fri, 15 Aug 2025 21:40:12 +0000 (16:40 -0500)
Convert the Applied Micro X-Gene PMU binding to DT schema format. It is
a straightforward conversion.

Link: https://lore.kernel.org/r/20250812181422.68286-1-robh@kernel.org
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml [new file with mode: 0644]
Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt [deleted file]
MAINTAINERS

diff --git a/Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml b/Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml
new file mode 100644 (file)
index 0000000..314048a
--- /dev/null
@@ -0,0 +1,142 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/perf/apm,xgene-pmu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: APM X-Gene SoC PMU
+
+maintainers:
+  - Khuong Dinh <khuong@os.amperecomputing.com>
+
+description: |
+  This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
+  The following PMU devices are supported:
+
+    L3C            - L3 cache controller
+    IOB            - IO bridge
+    MCB            - Memory controller bridge
+    MC             - Memory controller
+
+properties:
+  compatible:
+    enum:
+      - apm,xgene-pmu
+      - apm,xgene-pmu-v2
+
+  "#address-cells":
+    const: 2
+
+  "#size-cells":
+    const: 2
+
+  ranges: true
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  regmap-csw:
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  regmap-mcba:
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+  regmap-mcbb:
+    $ref: /schemas/types.yaml#/definitions/phandle
+
+required:
+  - compatible
+  - regmap-csw
+  - regmap-mcba
+  - regmap-mcbb
+  - reg
+  - interrupts
+
+additionalProperties:
+  type: object
+  additionalProperties: false
+
+  properties:
+    compatible:
+      enum:
+        - apm,xgene-pmu-l3c
+        - apm,xgene-pmu-iob
+        - apm,xgene-pmu-mcb
+        - apm,xgene-pmu-mc
+
+    reg:
+      maxItems: 1
+
+    enable-bit-index:
+      description:
+        Specifies which bit enables the associated resource in MCB or MC subnodes.
+      $ref: /schemas/types.yaml#/definitions/uint32
+      maximum: 31
+
+examples:
+  - |
+    bus {
+        #address-cells = <2>;
+        #size-cells = <2>;
+
+        pmu@78810000 {
+            compatible = "apm,xgene-pmu-v2";
+            reg = <0x0 0x78810000 0x0 0x1000>;
+            #address-cells = <2>;
+            #size-cells = <2>;
+            ranges;
+            regmap-csw = <&csw>;
+            regmap-mcba = <&mcba>;
+            regmap-mcbb = <&mcbb>;
+            interrupts = <0x0 0x22 0x4>;
+
+            pmul3c@7e610000 {
+                compatible = "apm,xgene-pmu-l3c";
+                reg = <0x0 0x7e610000 0x0 0x1000>;
+            };
+
+            pmuiob@7e940000 {
+                compatible = "apm,xgene-pmu-iob";
+                reg = <0x0 0x7e940000 0x0 0x1000>;
+            };
+
+            pmucmcb@7e710000 {
+                compatible = "apm,xgene-pmu-mcb";
+                reg = <0x0 0x7e710000 0x0 0x1000>;
+                enable-bit-index = <0>;
+            };
+
+            pmucmcb@7e730000 {
+                compatible = "apm,xgene-pmu-mcb";
+                reg = <0x0 0x7e730000 0x0 0x1000>;
+                enable-bit-index = <1>;
+            };
+
+            pmucmc@7e810000 {
+                compatible = "apm,xgene-pmu-mc";
+                reg = <0x0 0x7e810000 0x0 0x1000>;
+                enable-bit-index = <0>;
+            };
+
+            pmucmc@7e850000 {
+                compatible = "apm,xgene-pmu-mc";
+                reg = <0x0 0x7e850000 0x0 0x1000>;
+                enable-bit-index = <1>;
+            };
+
+            pmucmc@7e890000 {
+                compatible = "apm,xgene-pmu-mc";
+                reg = <0x0 0x7e890000 0x0 0x1000>;
+                enable-bit-index = <2>;
+            };
+
+            pmucmc@7e8d0000 {
+                compatible = "apm,xgene-pmu-mc";
+                reg = <0x0 0x7e8d0000 0x0 0x1000>;
+                enable-bit-index = <3>;
+            };
+        };
+    };
diff --git a/Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt b/Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt
deleted file mode 100644 (file)
index afb11cf..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-* APM X-Gene SoC PMU bindings
-
-This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
-The following PMU devices are supported:
-
-  L3C                  - L3 cache controller
-  IOB                  - IO bridge
-  MCB                  - Memory controller bridge
-  MC                   - Memory controller
-
-The following section describes the SoC PMU DT node binding.
-
-Required properties:
-- compatible           : Shall be "apm,xgene-pmu" for revision 1 or
-                          "apm,xgene-pmu-v2" for revision 2.
-- regmap-csw           : Regmap of the CPU switch fabric (CSW) resource.
-- regmap-mcba          : Regmap of the MCB-A (memory bridge) resource.
-- regmap-mcbb          : Regmap of the MCB-B (memory bridge) resource.
-- reg                  : First resource shall be the CPU bus PMU resource.
-- interrupts            : Interrupt-specifier for PMU IRQ.
-
-Required properties for L3C subnode:
-- compatible           : Shall be "apm,xgene-pmu-l3c".
-- reg                  : First resource shall be the L3C PMU resource.
-
-Required properties for IOB subnode:
-- compatible           : Shall be "apm,xgene-pmu-iob".
-- reg                  : First resource shall be the IOB PMU resource.
-
-Required properties for MCB subnode:
-- compatible           : Shall be "apm,xgene-pmu-mcb".
-- reg                  : First resource shall be the MCB PMU resource.
-- enable-bit-index     : The bit indicates if the according MCB is enabled.
-
-Required properties for MC subnode:
-- compatible           : Shall be "apm,xgene-pmu-mc".
-- reg                  : First resource shall be the MC PMU resource.
-- enable-bit-index     : The bit indicates if the according MC is enabled.
-
-Example:
-       csw: csw@7e200000 {
-               compatible = "apm,xgene-csw", "syscon";
-               reg = <0x0 0x7e200000 0x0 0x1000>;
-       };
-
-       mcba: mcba@7e700000 {
-               compatible = "apm,xgene-mcb", "syscon";
-               reg = <0x0 0x7e700000 0x0 0x1000>;
-       };
-
-       mcbb: mcbb@7e720000 {
-               compatible = "apm,xgene-mcb", "syscon";
-               reg = <0x0 0x7e720000 0x0 0x1000>;
-       };
-
-       pmu: pmu@78810000 {
-               compatible = "apm,xgene-pmu-v2";
-               #address-cells = <2>;
-               #size-cells = <2>;
-               ranges;
-               regmap-csw = <&csw>;
-               regmap-mcba = <&mcba>;
-               regmap-mcbb = <&mcbb>;
-               reg = <0x0 0x78810000 0x0 0x1000>;
-               interrupts = <0x0 0x22 0x4>;
-
-               pmul3c@7e610000 {
-                       compatible = "apm,xgene-pmu-l3c";
-                       reg = <0x0 0x7e610000 0x0 0x1000>;
-               };
-
-               pmuiob@7e940000 {
-                       compatible = "apm,xgene-pmu-iob";
-                       reg = <0x0 0x7e940000 0x0 0x1000>;
-               };
-
-               pmucmcb@7e710000 {
-                       compatible = "apm,xgene-pmu-mcb";
-                       reg = <0x0 0x7e710000 0x0 0x1000>;
-                       enable-bit-index = <0>;
-               };
-
-               pmucmcb@7e730000 {
-                       compatible = "apm,xgene-pmu-mcb";
-                       reg = <0x0 0x7e730000 0x0 0x1000>;
-                       enable-bit-index = <1>;
-               };
-
-               pmucmc@7e810000 {
-                       compatible = "apm,xgene-pmu-mc";
-                       reg = <0x0 0x7e810000 0x0 0x1000>;
-                       enable-bit-index = <0>;
-               };
-
-               pmucmc@7e850000 {
-                       compatible = "apm,xgene-pmu-mc";
-                       reg = <0x0 0x7e850000 0x0 0x1000>;
-                       enable-bit-index = <1>;
-               };
-
-               pmucmc@7e890000 {
-                       compatible = "apm,xgene-pmu-mc";
-                       reg = <0x0 0x7e890000 0x0 0x1000>;
-                       enable-bit-index = <2>;
-               };
-
-               pmucmc@7e8d0000 {
-                       compatible = "apm,xgene-pmu-mc";
-                       reg = <0x0 0x7e8d0000 0x0 0x1000>;
-                       enable-bit-index = <3>;
-               };
-       };
index 7969d09dff17a9413547da20f19e56b55f860365..4e6fa336ff7078c6f6970d6ba5278bd0dd987fac 100644 (file)
@@ -1895,7 +1895,7 @@ APPLIED MICRO (APM) X-GENE SOC PMU
 M:     Khuong Dinh <khuong@os.amperecomputing.com>
 S:     Supported
 F:     Documentation/admin-guide/perf/xgene-pmu.rst
-F:     Documentation/devicetree/bindings/perf/apm-xgene-pmu.txt
+F:     Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml
 F:     drivers/perf/xgene_pmu.c
 
 APPLIED MICRO QT2025 PHY DRIVER