Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / arm / stm32 / st,stm32-syscon.yaml
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
7 title: STMicroelectronics STM32 Platforms System Controller
8
9 maintainers:
10   - Alexandre Torgue <alexandre.torgue@foss.st.com>
11   - Christophe Roullier <christophe.roullier@foss.st.com>
12
13 properties:
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,stm32mp25-syscfg
25           - const: syscon
26       - items:
27           - const: st,stm32-tamp
28           - const: syscon
29           - const: simple-mfd
30
31   reg:
32     maxItems: 1
33
34   clocks:
35     maxItems: 1
36
37 required:
38   - compatible
39   - reg
40
41 if:
42   properties:
43     compatible:
44       contains:
45         enum:
46           - st,stm32mp157-syscfg
47           - st,stm32f4-gcan
48 then:
49   required:
50     - clocks
51
52 additionalProperties: false
53
54 examples:
55   - |
56     #include <dt-bindings/clock/stm32mp1-clks.h>
57     syscfg: syscon@50020000 {
58         compatible = "st,stm32mp157-syscfg", "syscon";
59         reg = <0x50020000 0x400>;
60         clocks = <&rcc SYSCFG>;
61     };
62
63 ...