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