Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Atmel Power Management Controller (PMC)
8
9maintainers:
10 - Claudiu Beznea <claudiu.beznea@microchip.com>
11
12description:
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
17properties:
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,at91sam9261-pmc
38 - atmel,at91sam9263-pmc
39 - atmel,at91sam9g45-pmc
40 - atmel,at91sam9n12-pmc
41 - atmel,at91sam9rl-pmc
42 - atmel,at91sam9x5-pmc
43 - atmel,sama5d2-pmc
44 - atmel,sama5d3-pmc
45 - atmel,sama5d4-pmc
46 - microchip,sam9x60-pmc
47 - microchip,sam9x7-pmc
48 - microchip,sama7d65-pmc
49 - microchip,sama7g5-pmc
50 - const: syscon
51
52 reg:
53 maxItems: 1
54
55 interrupts:
56 maxItems: 1
57
58 "#clock-cells":
59 description: |
60 - 1st cell is the clock type, one of PMC_TYPE_CORE, PMC_TYPE_SYSTEM,
61 PMC_TYPE_PERIPHERAL, PMC_TYPE_GCK, PMC_TYPE_PROGRAMMABLE (as defined
62 in <dt-bindings/clock/at91.h>)
63 - 2nd cell is the clock identifier as defined in <dt-bindings/clock/at91.h
64 (for core clocks) or as defined in datasheet (for system, peripheral,
65 gck and programmable clocks).
66 const: 2
67
68 clocks:
69 minItems: 2
70 maxItems: 3
71
72 clock-names:
73 minItems: 2
74 maxItems: 3
75
76 atmel,osc-bypass:
77 description: set when a clock signal is directly provided on XIN
78 type: boolean
79
80required:
81 - compatible
82 - reg
83 - interrupts
84 - "#clock-cells"
85 - clocks
86 - clock-names
87
88allOf:
89 - if:
90 properties:
91 compatible:
92 contains:
93 enum:
94 - microchip,sam9x60-pmc
95 - microchip,sam9x7-pmc
96 - microchip,sama7d65-pmc
97 - microchip,sama7g5-pmc
98 then:
99 properties:
100 clocks:
101 minItems: 3
102 maxItems: 3
103 clock-names:
104 items:
105 - const: td_slck
106 - const: md_slck
107 - const: main_xtal
108
109 - if:
110 properties:
111 compatible:
112 contains:
113 enum:
114 - atmel,at91rm9200-pmc
115 - atmel,at91sam9260-pmc
116 - atmel,at91sam9261-pmc
117 - atmel,at91sam9263-pmc
118 - atmel,at91sam9g20-pmc
119 then:
120 properties:
121 clocks:
122 minItems: 2
123 maxItems: 2
124 clock-names:
125 items:
126 - const: slow_xtal
127 - const: main_xtal
128
129 - if:
130 properties:
131 compatible:
132 contains:
133 enum:
134 - atmel,sama5d2-pmc
135 - atmel,sama5d3-pmc
136 - atmel,sama5d4-pmc
137 then:
138 properties:
139 clocks:
140 minItems: 2
141 maxItems: 2
142 clock-names:
143 items:
144 - const: slow_clk
145 - const: main_xtal
146
147additionalProperties: false
148
149examples:
150 - |
151 #include <dt-bindings/interrupt-controller/irq.h>
152
153 pmc: clock-controller@f0018000 {
154 compatible = "atmel,sama5d4-pmc", "syscon";
155 reg = <0xf0018000 0x120>;
156 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
157 #clock-cells = <2>;
158 clocks = <&clk32k>, <&main_xtal>;
159 clock-names = "slow_clk", "main_xtal";
160 };
161
162...