[PATCH 1/7] dt-bindings: crypto: Let STM32 define Ux500 HASH

Rob Herring robh at kernel.org
Sun Jan 8 10:33:50 PST 2023


On Wed, Dec 28, 2022 at 12:03:33AM +0100, Linus Walleij wrote:
> This adds device tree bindings for the Ux500 HASH block
> as a compatible in the STM32 HASH bindings.
> 
> The Ux500 HASH binding has been used for ages in the kernel
> device tree for Ux500 but was never documented, so fill in
> the gap by making it a sibling of the STM32 HASH block,
> which is what it is.
> 
> The relationship to the existing STM32 HASH block is pretty
> obvious when looking at the register map, and I have written
> patches to reuse the STM32 HASH driver on the Ux500.
> 
> The main difference from the outside is that the Ux500 HASH
> lacks the interrupt line, so some special if-clauses are
> needed to accomodate this in the binding.
> 
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  .../devicetree/bindings/crypto/st,stm32-hash.yaml  | 30 +++++++++++++++++++++-
>  1 file changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
> index 4ccb335e8063..681812e1c941 100644
> --- a/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
> +++ b/Documentation/devicetree/bindings/crypto/st,stm32-hash.yaml
> @@ -6,12 +6,18 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>  
>  title: STMicroelectronics STM32 HASH
>  
> +description: The STM32 HASH block is built on the HASH block found in
> +  the STn8820 SoC introduced in 2007, and subsequently used in the U8500
> +  SoC in 2010.
> +
>  maintainers:
>    - Lionel Debieve <lionel.debieve at foss.st.com>
>  
>  properties:
>    compatible:
>      enum:
> +      - st,stn8820-hash
> +      - stericsson,ux500-hash
>        - st,stm32f456-hash
>        - st,stm32f756-hash
>  
> @@ -41,11 +47,33 @@ properties:
>      maximum: 2
>      default: 0
>  
> +  power-domains:
> +    maxItems: 1
> +
>  required:
>    - compatible
>    - reg
>    - clocks
> -  - interrupts
> +
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          items:
> +            const: stericsson,ux500-hash
> +    then:
> +      properties:
> +        interrupts: false
> +
> +  - if:
> +      not:
> +        properties:
> +          compatible:
> +            items:
> +              const: stericsson,ux500-hash

Why not use 'else' instead?

> +    then:
> +      required:
> +        - interrupts
>  
>  additionalProperties: false
>  
> 
> -- 
> 2.38.1
> 



More information about the linux-arm-kernel mailing list