[PATCH 1/4] dt-bindings: rng: add st,stm32mp25-rng support

From: Gatien Chevallier
Date: Mon Oct 07 2024 - 09:34:40 EST


Add RNG STM32MP25x platforms compatible. Update the clock
properties management to support all versions.

Signed-off-by: Gatien Chevallier <gatien.chevallier@xxxxxxxxxxx>
---
.../devicetree/bindings/rng/st,stm32-rng.yaml | 41 +++++++++++++++++--
1 file changed, 38 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
index 340d01d481d1..c92ce92b6ac9 100644
--- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
+++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
@@ -18,12 +18,19 @@ properties:
enum:
- st,stm32-rng
- st,stm32mp13-rng
+ - st,stm32mp25-rng

reg:
maxItems: 1

clocks:
- maxItems: 1
+ minItems: 1
+ maxItems: 2
+
+ clock-names:
+ items:
+ - const: rng_clk
+ - const: rng_hclk

resets:
maxItems: 1
@@ -57,15 +64,43 @@ allOf:
properties:
st,rng-lock-conf: false

+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - st,stm32mp25-rng
+ then:
+ properties:
+ clocks:
+ description: >
+ RNG bus clock must be named "rng_hclk". The RNG kernel clock
+ must be named "rng_clk".
+ maxItems: 2
+ required:
+ - clock-names
+ else:
+ properties:
+ clocks:
+ maxItems: 1
+
additionalProperties: false

examples:
- |
- #include <dt-bindings/clock/stm32mp1-clks.h>
rng@54003000 {
compatible = "st,stm32-rng";
reg = <0x54003000 0x400>;
- clocks = <&rcc RNG1_K>;
+ clocks = <&rcc 124>;
};

+ - |
+ rng: rng@42020000 {
+ compatible = "st,stm32mp25-rng";
+ reg = <0x42020000 0x400>;
+ clocks = <&clk_rcbsec>, <&rcc 110>;
+ clock-names = "rng_clk", "rng_hclk";
+ resets = <&rcc 97>;
+ access-controllers = <&rifsc 92>;
+ };
...
--
2.25.1