Re: [PATCH v4 4/4] dt-binding: perf: Add Amlogic DDR PMU

From: Jiucheng Xu
Date: Mon Aug 15 2022 - 05:04:58 EST



On 2022/8/5 18:00, Jiucheng Xu wrote:

On 2022/8/5 16:21, Krzysztof Kozlowski wrote:
[ EXTERNAL EMAIL ]

On 05/08/2022 09:14, Jiucheng Xu wrote:
Add binding documentation for the Amlogic G12 series DDR
performance monitor unit.

Bindings go first in the series, before their implementation.

Signed-off-by: Jiucheng Xu <jiucheng.xu@xxxxxxxxxxx>
---
Changes v3 -> v4:
   - Fix "$id: relative path/filename doesn't match actual path or
     filename" warning

Changes v2 -> v3:
   - Remove oneOf
   - Add descriptions
   - Fix compiling warning

Changes v1 -> v2:
   - Rename file, from aml_ddr_pmu.yaml to amlogic,g12_ddr_pmu.yaml
   - Delete "model", "dmc_nr", "chann_nr" new properties
   - Fix compiling error
---
  .../bindings/perf/amlogic,g12-ddr-pmu.yaml    | 52 +++++++++++++++++++
  MAINTAINERS                                   |  1 +
  2 files changed, 53 insertions(+)
  create mode 100644 Documentation/devicetree/bindings/perf/amlogic,g12-ddr-pmu.yaml

diff --git a/Documentation/devicetree/bindings/perf/amlogic,g12-ddr-pmu.yaml b/Documentation/devicetree/bindings/perf/amlogic,g12-ddr-pmu.yaml
new file mode 100644
index 000000000000..4d018574ffd1
--- /dev/null
+++ b/Documentation/devicetree/bindings/perf/amlogic,g12-ddr-pmu.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/perf/amlogic,g12-ddr-pmu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Amlogic G12 DDR performance monitor
+
+maintainers:
+  - Jiucheng Xu <jiucheng.xu@xxxxxxxxxxx>
+
+description: |
+  Amlogic G12 series SoC integrate DDR bandwidth monitor.
+  A timer is inside and can generate interrupt when timeout.
+  The bandwidth is counted in the timer ISR. Different platform
+  has different subset of event format attribute.
+
+properties:
+  compatible:
+    items:
You have only one item, so remove "items".

Hi Krzysztof,

I have tried to remove "items", but error comes.

properties:
  compatible:
    - enum:
      - amlogic,g12a-ddr-pmu
      - amlogic,g12b-ddr-pmu
      - amlogic,sm1-ddr-pmu

Do I get misunderstand? I think the "item" is necessary.


+      - enum:
+          - amlogic,g12b-ddr-pmu
+          - amlogic,g12a-ddr-pmu
+          - amlogic,sm1-ddr-pmu
+
+  reg:
+    items:
+      - description: Physical address of DMC bandwidth register
+          and size of the configuration address space.
Skip obvious pieces, so only:

description: DMC bandwidth register space

+      - description: Physical address of DMC PLL register and
+          size of the configuration address space.
description: DMC PLL bandwidth register space


+
+  interrupts:
+    items:
+      - description: The IRQ of the inside timer timeout.
+
+required:
+  - compatible
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+    ddr_pmu@ff638000 {
No underscores in node names, generic node names, so just "pmu".
https://devicetree-specification.readthedocs.io/en/latest/chapter2-devicetree-basics.html#generic-names-recommendation

+        compatible = "amlogic,g12a-ddr-pmu";
+        reg = <0xff638000 0x100
+               0xff638c00 0x100>;
This is still not fixed. Binding says you have two items, but you
declared here only one item.

Okay, I will change it as your comments.


Best regards,
Krzysztof

--
Thanks,
Jiucheng