On 23/06/2025 11:27, Clément Le Goffic wrote:Oops, you're right thank you
DDRPERFM is the DDR Performance Monitor embedded in STM32MPU SoC.
It allows to monitor DDR events that come from the DDR Controller
such as read or write events.
A nit, subject: drop second/last, redundant "bindings". The
"dt-bindings" prefix is already stating that these are bindings.
See also:
https://elixir.bootlin.com/linux/v6.7-rc8/source/Documentation/devicetree/bindings/submitting-patches.rst#L18
Signed-off-by: Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
---
.../devicetree/bindings/perf/st,stm32-ddr-pmu.yaml | 93 ++++++++++++++++++++++
1 file changed, 93 insertions(+)
diff --git a/Documentation/devicetree/bindings/perf/st,stm32-ddr-pmu.yaml b/Documentation/devicetree/bindings/perf/st,stm32-ddr-pmu.yaml
new file mode 100644
index 000000000000..35d34782865b
--- /dev/null
+++ b/Documentation/devicetree/bindings/perf/st,stm32-ddr-pmu.yaml
@@ -0,0 +1,93 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/perf/st,stm32-ddr-pmu.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+maintainers:
+ - Clément Le Goffic <clement.legoffic@xxxxxxxxxxx>
+
+title: STMicroelectronics STM32 DDR Performance Monitor (DDRPERFM)
+
+properties:
+ compatible:
+ enum:
+ - st,stm32mp131-ddr-pmu
+ - st,stm32mp151-ddr-pmu
These are compatible, aren't they?
+ - st,stm32mp251-ddr-pmu
+
+ reg:
+ maxItems: 1
+
+ clocks:
+ description: Reference clock for the DDR Performance Monitor
Drop description, obvious.
+ maxItems: 1
+
+ resets:
+ description: Reset control for the DDR Performance Monitor
Drop description, obvious.
+ maxItems: 1
+
+ access-controllers:
+ minItems: 1
+ maxItems: 2
+
+ st,dram-type:
+ description: |
+ This property is used to specify the type of DRAM memory connected to the
+ associated memory controller. It is required for the DDR Performance Monitor
+ to correctly interpret the performance data.
+ 0 = LPDDR4,
+ 1 = LPDDR3,
+ 2 = DDR4,
+ 3 = DDR3
+ $ref: /schemas/types.yaml#/definitions/uint32
No, use standard JEDEC memory bindings (memory controllers) if you need
to describe the memory, otherwise you duplicate that binding and
duplicate the memory information.
+ enum: [0, 1, 2, 3]Best regards,
+
+required:
+ - compatible
+ - reg
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - st,stm32mp131-ddr-pmu
+ - st,stm32mp151-ddr-pmu
+ then:
+ required:
+ - clocks
+ - resets
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: st,stm32mp251-ddr-pmu
+ then:
+ required:
+ - access-controllers
+ - st,dram-type
+
+additionalProperties: false
Krzysztof