1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/crypto/st,stm32-hash.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 HASH
8
9description: The STM32 HASH block is built on the HASH block found in
10  the STn8820 SoC introduced in 2007, and subsequently used in the U8500
11  SoC in 2010.
12
13maintainers:
14  - Lionel Debieve <lionel.debieve@foss.st.com>
15
16properties:
17  compatible:
18    enum:
19      - st,stn8820-hash
20      - stericsson,ux500-hash
21      - st,stm32f456-hash
22      - st,stm32f756-hash
23      - st,stm32mp13-hash
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  interrupts:
32    maxItems: 1
33
34  resets:
35    maxItems: 1
36
37  dmas:
38    maxItems: 1
39
40  dma-names:
41    items:
42      - const: in
43
44  dma-maxburst:
45    description: Set number of maximum dma burst supported
46    $ref: /schemas/types.yaml#/definitions/uint32
47    minimum: 0
48    maximum: 2
49    default: 0
50
51  power-domains:
52    maxItems: 1
53
54required:
55  - compatible
56  - reg
57  - clocks
58
59allOf:
60  - if:
61      properties:
62        compatible:
63          items:
64            const: stericsson,ux500-hash
65    then:
66      properties:
67        interrupts: false
68    else:
69      required:
70        - interrupts
71
72additionalProperties: false
73
74examples:
75  - |
76    #include <dt-bindings/interrupt-controller/arm-gic.h>
77    #include <dt-bindings/clock/stm32mp1-clks.h>
78    #include <dt-bindings/reset/stm32mp1-resets.h>
79    hash@54002000 {
80      compatible = "st,stm32f756-hash";
81      reg = <0x54002000 0x400>;
82      interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>;
83      clocks = <&rcc HASH1>;
84      resets = <&rcc HASH1_R>;
85      dmas = <&mdma1 31 0x10 0x1000A02 0x0 0x0>;
86      dma-names = "in";
87      dma-maxburst = <2>;
88    };
89
90...
91