xref: /linux/Documentation/devicetree/bindings/rng/st,stm32-rng.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
15059791eSBenjamin Gaignard# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25059791eSBenjamin Gaignard%YAML 1.2
35059791eSBenjamin Gaignard---
45059791eSBenjamin Gaignard$id: http://devicetree.org/schemas/rng/st,stm32-rng.yaml#
55059791eSBenjamin Gaignard$schema: http://devicetree.org/meta-schemas/core.yaml#
65059791eSBenjamin Gaignard
784e85359SKrzysztof Kozlowskititle: STMicroelectronics STM32 RNG
85059791eSBenjamin Gaignard
95059791eSBenjamin Gaignarddescription: |
105059791eSBenjamin Gaignard  The STM32 hardware random number generator is a simple fixed purpose
115059791eSBenjamin Gaignard  IP and is fully separated from other crypto functions.
125059791eSBenjamin Gaignard
135059791eSBenjamin Gaignardmaintainers:
14f4eedebdSPatrice Chotard  - Lionel Debieve <lionel.debieve@foss.st.com>
155059791eSBenjamin Gaignard
165059791eSBenjamin Gaignardproperties:
175059791eSBenjamin Gaignard  compatible:
180d2d67b4SGatien Chevallier    enum:
190d2d67b4SGatien Chevallier      - st,stm32-rng
200d2d67b4SGatien Chevallier      - st,stm32mp13-rng
21*4eb10dabSGatien Chevallier      - st,stm32mp25-rng
225059791eSBenjamin Gaignard
235059791eSBenjamin Gaignard  reg:
245059791eSBenjamin Gaignard    maxItems: 1
255059791eSBenjamin Gaignard
265059791eSBenjamin Gaignard  clocks:
27*4eb10dabSGatien Chevallier    minItems: 1
28*4eb10dabSGatien Chevallier    maxItems: 2
29*4eb10dabSGatien Chevallier
30*4eb10dabSGatien Chevallier  clock-names:
31*4eb10dabSGatien Chevallier    items:
32*4eb10dabSGatien Chevallier      - const: core
33*4eb10dabSGatien Chevallier      - const: bus
345059791eSBenjamin Gaignard
355059791eSBenjamin Gaignard  resets:
365059791eSBenjamin Gaignard    maxItems: 1
375059791eSBenjamin Gaignard
385059791eSBenjamin Gaignard  clock-error-detect:
394e71ed98SRob Herring    type: boolean
405059791eSBenjamin Gaignard    description: If set enable the clock detection management
415059791eSBenjamin Gaignard
420d2d67b4SGatien Chevallier  st,rng-lock-conf:
430d2d67b4SGatien Chevallier    type: boolean
440d2d67b4SGatien Chevallier    description: If set, the RNG configuration in RNG_CR, RNG_HTCR and
450d2d67b4SGatien Chevallier                  RNG_NSCR will be locked.
460d2d67b4SGatien Chevallier
4702ec75edSGatien Chevallier  access-controllers:
4802ec75edSGatien Chevallier    minItems: 1
4902ec75edSGatien Chevallier    maxItems: 2
5002ec75edSGatien Chevallier
515059791eSBenjamin Gaignardrequired:
525059791eSBenjamin Gaignard  - compatible
535059791eSBenjamin Gaignard  - reg
545059791eSBenjamin Gaignard  - clocks
555059791eSBenjamin Gaignard
560d2d67b4SGatien ChevallierallOf:
570d2d67b4SGatien Chevallier  - if:
580d2d67b4SGatien Chevallier      properties:
590d2d67b4SGatien Chevallier        compatible:
600d2d67b4SGatien Chevallier          contains:
610d2d67b4SGatien Chevallier            enum:
620d2d67b4SGatien Chevallier              - st,stm32-rng
630d2d67b4SGatien Chevallier    then:
640d2d67b4SGatien Chevallier      properties:
650d2d67b4SGatien Chevallier        st,rng-lock-conf: false
660d2d67b4SGatien Chevallier
67*4eb10dabSGatien Chevallier  - if:
68*4eb10dabSGatien Chevallier      properties:
69*4eb10dabSGatien Chevallier        compatible:
70*4eb10dabSGatien Chevallier          contains:
71*4eb10dabSGatien Chevallier            enum:
72*4eb10dabSGatien Chevallier              - st,stm32-rng
73*4eb10dabSGatien Chevallier              - st,stm32mp13-rng
74*4eb10dabSGatien Chevallier    then:
75*4eb10dabSGatien Chevallier      properties:
76*4eb10dabSGatien Chevallier        clocks:
77*4eb10dabSGatien Chevallier          maxItems: 1
78*4eb10dabSGatien Chevallier        clock-names: false
79*4eb10dabSGatien Chevallier    else:
80*4eb10dabSGatien Chevallier      properties:
81*4eb10dabSGatien Chevallier        clocks:
82*4eb10dabSGatien Chevallier          minItems: 2
83*4eb10dabSGatien Chevallier      required:
84*4eb10dabSGatien Chevallier        - clock-names
85*4eb10dabSGatien Chevallier
865059791eSBenjamin GaignardadditionalProperties: false
875059791eSBenjamin Gaignard
885059791eSBenjamin Gaignardexamples:
895059791eSBenjamin Gaignard  - |
905059791eSBenjamin Gaignard    #include <dt-bindings/clock/stm32mp1-clks.h>
915059791eSBenjamin Gaignard    rng@54003000 {
925059791eSBenjamin Gaignard      compatible = "st,stm32-rng";
935059791eSBenjamin Gaignard      reg = <0x54003000 0x400>;
945059791eSBenjamin Gaignard      clocks = <&rcc RNG1_K>;
955059791eSBenjamin Gaignard    };
965059791eSBenjamin Gaignard
975059791eSBenjamin Gaignard...
98