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

From: Krzysztof Kozlowski
Date: Fri Aug 05 2022 - 04:21:46 EST


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

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

Best regards,
Krzysztof