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

From: Rob Herring
Date: Sun Jan 08 2023 - 13:34:42 EST


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@xxxxxxxxxx>
> ---
> .../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@xxxxxxxxxxx>
>
> 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
>