xref: /linux/Documentation/devicetree/bindings/arm/stm32/st,stm32-syscon.yaml (revision 55a42f78ffd386e01a5404419f8c5ded7db70a21)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/arm/stm32/st,stm32-syscon.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: STMicroelectronics STM32 Platforms System Controller
8
9maintainers:
10  - Alexandre Torgue <alexandre.torgue@foss.st.com>
11  - Christophe Roullier <christophe.roullier@foss.st.com>
12
13properties:
14  compatible:
15    oneOf:
16      - items:
17          - enum:
18              - st,stm32-power-config
19              - st,stm32-syscfg
20              - st,stm32-tamp
21              - st,stm32f4-gcan
22              - st,stm32mp151-pwr-mcu
23              - st,stm32mp157-syscfg
24              - st,stm32mp21-syscfg
25              - st,stm32mp23-syscfg
26              - st,stm32mp25-syscfg
27          - const: syscon
28      - items:
29          - const: st,stm32-tamp
30          - const: syscon
31          - const: simple-mfd
32
33  reg:
34    maxItems: 1
35
36  clocks:
37    maxItems: 1
38
39  "#clock-cells":
40    const: 0
41
42required:
43  - compatible
44  - reg
45
46allOf:
47  - if:
48      properties:
49        compatible:
50          contains:
51            enum:
52              - st,stm32mp157-syscfg
53              - st,stm32f4-gcan
54    then:
55      required:
56        - clocks
57  - if:
58      properties:
59        compatible:
60          const: st,stm32mp25-syscfg
61    then:
62      required:
63        - "#clock-cells"
64
65additionalProperties: false
66
67examples:
68  - |
69    #include <dt-bindings/clock/stm32mp1-clks.h>
70    syscfg: syscon@50020000 {
71        compatible = "st,stm32mp157-syscfg", "syscon";
72        reg = <0x50020000 0x400>;
73        clocks = <&rcc SYSCFG>;
74    };
75
76...
77