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