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

Gatien Chevallier posted 4 patches 1 month, 1 week ago
There is a newer version of this series
[PATCH v3 1/4] dt-bindings: rng: add st,stm32mp25-rng support
Posted by Gatien Chevallier 1 month, 1 week ago
Add RNG STM32MP25x platforms compatible. Update the clock
properties management to support all versions.

Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
---
Changes in V3:
	- Add constraint on clock-names for st,stm32mp25-rng compatible

Changes in V2
	-Fix missing min/maxItems
	-Removed MP25 RNG example
	-Renamed RNG clocks for mp25 to "core" and "bus"
---
 .../devicetree/bindings/rng/st,stm32-rng.yaml      | 34 +++++++++++++++++++++-
 1 file changed, 33 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
index 340d01d481d12ce8664a60db42182ddaf0d1385b..c276723d566ce4a0d6deca10c491510644d842f8 100644
--- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
+++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
@@ -18,12 +18,20 @@ properties:
     enum:
       - st,stm32-rng
       - st,stm32mp13-rng
+      - st,stm32mp25-rng
 
   reg:
     maxItems: 1
 
   clocks:
-    maxItems: 1
+    minItems: 1
+    maxItems: 2
+
+  clock-names:
+    minItems: 1
+    items:
+      - const: core
+      - const: bus
 
   resets:
     maxItems: 1
@@ -57,6 +65,30 @@ allOf:
       properties:
         st,rng-lock-conf: false
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - st,stm32-rng
+              - st,stm32mp13-rng
+    then:
+      properties:
+        clocks:
+          maxItems: 1
+        clock-names: false
+    else:
+      properties:
+        clocks:
+          minItems: 2
+          maxItems: 2
+        clock-names:
+          items:
+            - const: core
+            - const: bus
+      required:
+        - clock-names
+
 additionalProperties: false
 
 examples:

-- 
2.25.1
Re: [PATCH v3 1/4] dt-bindings: rng: add st,stm32mp25-rng support
Posted by Rob Herring 1 month, 1 week ago
On Tue, Oct 15, 2024 at 06:48:54PM +0200, Gatien Chevallier wrote:
> Add RNG STM32MP25x platforms compatible. Update the clock
> properties management to support all versions.
> 
> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
> ---
> Changes in V3:
> 	- Add constraint on clock-names for st,stm32mp25-rng compatible
> 
> Changes in V2
> 	-Fix missing min/maxItems
> 	-Removed MP25 RNG example
> 	-Renamed RNG clocks for mp25 to "core" and "bus"
> ---
>  .../devicetree/bindings/rng/st,stm32-rng.yaml      | 34 +++++++++++++++++++++-
>  1 file changed, 33 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
> index 340d01d481d12ce8664a60db42182ddaf0d1385b..c276723d566ce4a0d6deca10c491510644d842f8 100644
> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
> @@ -18,12 +18,20 @@ properties:
>      enum:
>        - st,stm32-rng
>        - st,stm32mp13-rng
> +      - st,stm32mp25-rng
>  
>    reg:
>      maxItems: 1
>  
>    clocks:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    items:
> +      - const: core
> +      - const: bus
>  
>    resets:
>      maxItems: 1
> @@ -57,6 +65,30 @@ allOf:
>        properties:
>          st,rng-lock-conf: false
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - st,stm32-rng
> +              - st,stm32mp13-rng
> +    then:
> +      properties:
> +        clocks:
> +          maxItems: 1
> +        clock-names: false

It makes no sense that you allowed 1 entry, but then disallow the 
property. Either drop the 'minItems: 1' at the top level (keeping this) 
or put 'maxItems: 1' here, 

> +    else:
> +      properties:
> +        clocks:
> +          minItems: 2
> +          maxItems: 2

maxItems is already 2. Only need minItems.

> +        clock-names:
> +          items:
> +            - const: core
> +            - const: bus

You already defined the names, don't do it again. You need either 
nothing or 'minItems: 2' depending on the above.

> +      required:
> +        - clock-names
> +
>  additionalProperties: false
>  
>  examples:
> 
> -- 
> 2.25.1
>
Re: [PATCH v3 1/4] dt-bindings: rng: add st,stm32mp25-rng support
Posted by Gatien CHEVALLIER 1 month, 1 week ago

On 10/16/24 00:17, Rob Herring wrote:
> On Tue, Oct 15, 2024 at 06:48:54PM +0200, Gatien Chevallier wrote:
>> Add RNG STM32MP25x platforms compatible. Update the clock
>> properties management to support all versions.
>>
>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
>> ---
>> Changes in V3:
>> 	- Add constraint on clock-names for st,stm32mp25-rng compatible
>>
>> Changes in V2
>> 	-Fix missing min/maxItems
>> 	-Removed MP25 RNG example
>> 	-Renamed RNG clocks for mp25 to "core" and "bus"
>> ---
>>   .../devicetree/bindings/rng/st,stm32-rng.yaml      | 34 +++++++++++++++++++++-
>>   1 file changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> index 340d01d481d12ce8664a60db42182ddaf0d1385b..c276723d566ce4a0d6deca10c491510644d842f8 100644
>> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> @@ -18,12 +18,20 @@ properties:
>>       enum:
>>         - st,stm32-rng
>>         - st,stm32mp13-rng
>> +      - st,stm32mp25-rng
>>   
>>     reg:
>>       maxItems: 1
>>   
>>     clocks:
>> -    maxItems: 1
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: core
>> +      - const: bus
>>   
>>     resets:
>>       maxItems: 1
>> @@ -57,6 +65,30 @@ allOf:
>>         properties:
>>           st,rng-lock-conf: false
>>   
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - st,stm32-rng
>> +              - st,stm32mp13-rng
>> +    then:
>> +      properties:
>> +        clocks:
>> +          maxItems: 1
>> +        clock-names: false
> 
> It makes no sense that you allowed 1 entry, but then disallow the
> property. Either drop the 'minItems: 1' at the top level (keeping this)
> or put 'maxItems: 1' here,
> 
>> +    else:
>> +      properties:
>> +        clocks:
>> +          minItems: 2
>> +          maxItems: 2
> 
> maxItems is already 2. Only need minItems.
> 
>> +        clock-names:
>> +          items:
>> +            - const: core
>> +            - const: bus
> 
> You already defined the names, don't do it again. You need either
> nothing or 'minItems: 2' depending on the above.
> 

Actually, I'll do it the other way around, sorry for the noise.
I'll remove this and remove minItems at the top level to keep the
item list.

>> +      required:
>> +        - clock-names
>> +
>>   additionalProperties: false
>>   
>>   examples:
>>
>> -- 
>> 2.25.1
>>
Re: [PATCH v3 1/4] dt-bindings: rng: add st,stm32mp25-rng support
Posted by Gatien CHEVALLIER 1 month, 1 week ago

On 10/16/24 00:17, Rob Herring wrote:
> On Tue, Oct 15, 2024 at 06:48:54PM +0200, Gatien Chevallier wrote:
>> Add RNG STM32MP25x platforms compatible. Update the clock
>> properties management to support all versions.
>>
>> Signed-off-by: Gatien Chevallier <gatien.chevallier@foss.st.com>
>> ---
>> Changes in V3:
>> 	- Add constraint on clock-names for st,stm32mp25-rng compatible
>>
>> Changes in V2
>> 	-Fix missing min/maxItems
>> 	-Removed MP25 RNG example
>> 	-Renamed RNG clocks for mp25 to "core" and "bus"
>> ---
>>   .../devicetree/bindings/rng/st,stm32-rng.yaml      | 34 +++++++++++++++++++++-
>>   1 file changed, 33 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> index 340d01d481d12ce8664a60db42182ddaf0d1385b..c276723d566ce4a0d6deca10c491510644d842f8 100644
>> --- a/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> +++ b/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml
>> @@ -18,12 +18,20 @@ properties:
>>       enum:
>>         - st,stm32-rng
>>         - st,stm32mp13-rng
>> +      - st,stm32mp25-rng
>>   
>>     reg:
>>       maxItems: 1
>>   
>>     clocks:
>> -    maxItems: 1
>> +    minItems: 1
>> +    maxItems: 2
>> +
>> +  clock-names:
>> +    minItems: 1
>> +    items:
>> +      - const: core
>> +      - const: bus
>>   
>>     resets:
>>       maxItems: 1
>> @@ -57,6 +65,30 @@ allOf:
>>         properties:
>>           st,rng-lock-conf: false
>>   
>> +  - if:
>> +      properties:
>> +        compatible:
>> +          contains:
>> +            enum:
>> +              - st,stm32-rng
>> +              - st,stm32mp13-rng
>> +    then:
>> +      properties:
>> +        clocks:
>> +          maxItems: 1
>> +        clock-names: false
> 
> It makes no sense that you allowed 1 entry, but then disallow the
> property. Either drop the 'minItems: 1' at the top level (keeping this)
> or put 'maxItems: 1' here,
> 

Hi Rob,

Will put maxItems: 1 here then.

>> +    else:
>> +      properties:
>> +        clocks:
>> +          minItems: 2
>> +          maxItems: 2
> 
> maxItems is already 2. Only need minItems.
> 

Yes, will update for V4

>> +        clock-names:
>> +          items:
>> +            - const: core
>> +            - const: bus
> 
> You already defined the names, don't do it again. You need either
> nothing or 'minItems: 2' depending on the above.
> 

I will add minItems: 2 then, thanks!

>> +      required:
>> +        - clock-names
>> +
>>   additionalProperties: false
>>   
>>   examples:
>>
>> -- 
>> 2.25.1
>>