]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/clock/atmel,at91rm9200-pmc.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / clock / atmel,at91rm9200-pmc.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/clock/atmel,at91rm9200-pmc.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Atmel Power Management Controller (PMC)
8
9 maintainers:
10 - Claudiu Beznea <claudiu.beznea@microchip.com>
11
12 description:
13 The power management controller optimizes power consumption by controlling all
14 system and user peripheral clocks. The PMC enables/disables the clock inputs
15 to many of the peripherals and to the processor.
16
17 properties:
18 compatible:
19 oneOf:
20 - items:
21 - const: atmel,at91sam9g20-pmc
22 - const: atmel,at91sam9260-pmc
23 - const: syscon
24 - items:
25 - enum:
26 - atmel,at91sam9g15-pmc
27 - atmel,at91sam9g25-pmc
28 - atmel,at91sam9g35-pmc
29 - atmel,at91sam9x25-pmc
30 - atmel,at91sam9x35-pmc
31 - const: atmel,at91sam9x5-pmc
32 - const: syscon
33 - items:
34 - enum:
35 - atmel,at91rm9200-pmc
36 - atmel,at91sam9260-pmc
37 - atmel,at91sam9g45-pmc
38 - atmel,at91sam9n12-pmc
39 - atmel,at91sam9rl-pmc
40 - atmel,at91sam9x5-pmc
41 - atmel,sama5d2-pmc
42 - atmel,sama5d3-pmc
43 - atmel,sama5d4-pmc
44 - microchip,sam9x60-pmc
45 - microchip,sama7g5-pmc
46 - const: syscon
47
48 reg:
49 maxItems: 1
50
51 interrupts:
52 maxItems: 1
53
54 "#clock-cells":
55 description: |
56 - 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM,
57 PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined
58 in <dt-bindings/clock/at91.h>)
59 - 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h
60 (for core clocks) or as defined in datasheet (for system, peripheral,
61 gck and programmable clocks).
62 const: 2
63
64 clocks:
65 minItems: 2
66 maxItems: 3
67
68 clock-names:
69 minItems: 2
70 maxItems: 3
71
72 atmel,osc-bypass:
73 description: set when a clock signal is directly provided on XIN
74 type: boolean
75
76 required:
77 - compatible
78 - reg
79 - interrupts
80 - "#clock-cells"
81 - clocks
82 - clock-names
83
84 allOf:
85 - if:
86 properties:
87 compatible:
88 contains:
89 enum:
90 - microchip,sam9x60-pmc
91 - microchip,sama7g5-pmc
92 then:
93 properties:
94 clocks:
95 minItems: 3
96 maxItems: 3
97 clock-names:
98 items:
99 - const: td_slck
100 - const: md_slck
101 - const: main_xtal
102
103 - if:
104 properties:
105 compatible:
106 contains:
107 enum:
108 - atmel,at91rm9200-pmc
109 - atmel,at91sam9260-pmc
110 - atmel,at91sam9g20-pmc
111 then:
112 properties:
113 clocks:
114 minItems: 2
115 maxItems: 2
116 clock-names:
117 items:
118 - const: slow_xtal
119 - const: main_xtal
120
121 - if:
122 properties:
123 compatible:
124 contains:
125 enum:
126 - atmel,sama5d2-pmc
127 - atmel,sama5d3-pmc
128 - atmel,sama5d4-pmc
129 then:
130 properties:
131 clocks:
132 minItems: 2
133 maxItems: 2
134 clock-names:
135 items:
136 - const: slow_clk
137 - const: main_xtal
138
139 additionalProperties: false
140
141 examples:
142 - |
143 #include <dt-bindings/interrupt-controller/irq.h>
144
145 pmc: clock-controller@f0018000 {
146 compatible = "atmel,sama5d4-pmc", "syscon";
147 reg = <0xf0018000 0x120>;
148 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
149 #clock-cells = <2>;
150 clocks = <&clk32k>, <&main_xtal>;
151 clock-names = "slow_clk", "main_xtal";
152 };
153
154 ...