hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/arch/arm/boot/dts/at91rm9200.dtsi
....@@ -1,3 +1,4 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * at91rm9200.dtsi - Device Tree Include file for AT91RM9200 family SoC
34 *
....@@ -6,17 +7,16 @@
67 * 2012 Joachim Eastwood <manabian@gmail.com>
78 *
89 * Based on at91sam9260.dtsi
9
- *
10
- * Licensed under GPLv2 or later.
1110 */
1211
13
-#include "skeleton.dtsi"
1412 #include <dt-bindings/pinctrl/at91.h>
1513 #include <dt-bindings/interrupt-controller/irq.h>
1614 #include <dt-bindings/gpio/gpio.h>
1715 #include <dt-bindings/clock/at91.h>
1816
1917 / {
18
+ #address-cells = <1>;
19
+ #size-cells = <1>;
2020 model = "Atmel AT91RM9200 family SoC";
2121 compatible = "atmel,at91rm9200";
2222 interrupt-parent = <&aic>;
....@@ -39,16 +39,18 @@
3939 ssc2 = &ssc2;
4040 };
4141 cpus {
42
- #address-cells = <0>;
42
+ #address-cells = <1>;
4343 #size-cells = <0>;
4444
45
- cpu {
45
+ cpu@0 {
4646 compatible = "arm,arm920t";
4747 device_type = "cpu";
48
+ reg = <0>;
4849 };
4950 };
5051
51
- memory {
52
+ memory@20000000 {
53
+ device_type = "memory";
5254 reg = <0x20000000 0x04000000>;
5355 };
5456
....@@ -69,6 +71,9 @@
6971 sram: sram@200000 {
7072 compatible = "mmio-sram";
7173 reg = <0x00200000 0x4000>;
74
+ #address-cells = <1>;
75
+ #size-cells = <1>;
76
+ ranges = <0 0x00200000 0x4000>;
7277 };
7378
7479 ahb {
....@@ -100,259 +105,9 @@
100105 compatible = "atmel,at91rm9200-pmc", "syscon";
101106 reg = <0xfffffc00 0x100>;
102107 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
103
- interrupt-controller;
104
- #address-cells = <1>;
105
- #size-cells = <0>;
106
- #interrupt-cells = <1>;
107
-
108
- main_osc: main_osc {
109
- compatible = "atmel,at91rm9200-clk-main-osc";
110
- #clock-cells = <0>;
111
- interrupts-extended = <&pmc AT91_PMC_MOSCS>;
112
- clocks = <&main_xtal>;
113
- };
114
-
115
- main: mainck {
116
- compatible = "atmel,at91rm9200-clk-main";
117
- #clock-cells = <0>;
118
- clocks = <&main_osc>;
119
- };
120
-
121
- plla: pllack {
122
- compatible = "atmel,at91rm9200-clk-pll";
123
- #clock-cells = <0>;
124
- interrupts-extended = <&pmc AT91_PMC_LOCKA>;
125
- clocks = <&main>;
126
- reg = <0>;
127
- atmel,clk-input-range = <1000000 32000000>;
128
- #atmel,pll-clk-output-range-cells = <3>;
129
- atmel,pll-clk-output-ranges = <80000000 160000000 0>,
130
- <150000000 180000000 2>;
131
- };
132
-
133
- pllb: pllbck {
134
- compatible = "atmel,at91rm9200-clk-pll";
135
- #clock-cells = <0>;
136
- interrupts-extended = <&pmc AT91_PMC_LOCKB>;
137
- clocks = <&main>;
138
- reg = <1>;
139
- atmel,clk-input-range = <1000000 32000000>;
140
- #atmel,pll-clk-output-range-cells = <3>;
141
- atmel,pll-clk-output-ranges = <80000000 160000000 0>,
142
- <150000000 180000000 2>;
143
- };
144
-
145
- mck: masterck {
146
- compatible = "atmel,at91rm9200-clk-master";
147
- #clock-cells = <0>;
148
- interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
149
- clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
150
- atmel,clk-output-range = <0 80000000>;
151
- atmel,clk-divisors = <1 2 3 4>;
152
- };
153
-
154
- usb: usbck {
155
- compatible = "atmel,at91rm9200-clk-usb";
156
- #clock-cells = <0>;
157
- atmel,clk-divisors = <1 2 0 0>;
158
- clocks = <&pllb>;
159
- };
160
-
161
- prog: progck {
162
- compatible = "atmel,at91rm9200-clk-programmable";
163
- #address-cells = <1>;
164
- #size-cells = <0>;
165
- interrupt-parent = <&pmc>;
166
- clocks = <&slow_xtal>, <&main>, <&plla>, <&pllb>;
167
-
168
- prog0: prog0 {
169
- #clock-cells = <0>;
170
- reg = <0>;
171
- interrupts = <AT91_PMC_PCKRDY(0)>;
172
- };
173
-
174
- prog1: prog1 {
175
- #clock-cells = <0>;
176
- reg = <1>;
177
- interrupts = <AT91_PMC_PCKRDY(1)>;
178
- };
179
-
180
- prog2: prog2 {
181
- #clock-cells = <0>;
182
- reg = <2>;
183
- interrupts = <AT91_PMC_PCKRDY(2)>;
184
- };
185
-
186
- prog3: prog3 {
187
- #clock-cells = <0>;
188
- reg = <3>;
189
- interrupts = <AT91_PMC_PCKRDY(3)>;
190
- };
191
- };
192
-
193
- systemck {
194
- compatible = "atmel,at91rm9200-clk-system";
195
- #address-cells = <1>;
196
- #size-cells = <0>;
197
-
198
- udpck: udpck {
199
- #clock-cells = <0>;
200
- reg = <2>;
201
- clocks = <&usb>;
202
- };
203
-
204
- uhpck: uhpck {
205
- #clock-cells = <0>;
206
- reg = <4>;
207
- clocks = <&usb>;
208
- };
209
-
210
- pck0: pck0 {
211
- #clock-cells = <0>;
212
- reg = <8>;
213
- clocks = <&prog0>;
214
- };
215
-
216
- pck1: pck1 {
217
- #clock-cells = <0>;
218
- reg = <9>;
219
- clocks = <&prog1>;
220
- };
221
-
222
- pck2: pck2 {
223
- #clock-cells = <0>;
224
- reg = <10>;
225
- clocks = <&prog2>;
226
- };
227
-
228
- pck3: pck3 {
229
- #clock-cells = <0>;
230
- reg = <11>;
231
- clocks = <&prog3>;
232
- };
233
- };
234
-
235
- periphck {
236
- compatible = "atmel,at91rm9200-clk-peripheral";
237
- #address-cells = <1>;
238
- #size-cells = <0>;
239
- clocks = <&mck>;
240
-
241
- pioA_clk: pioA_clk {
242
- #clock-cells = <0>;
243
- reg = <2>;
244
- };
245
-
246
- pioB_clk: pioB_clk {
247
- #clock-cells = <0>;
248
- reg = <3>;
249
- };
250
-
251
- pioC_clk: pioC_clk {
252
- #clock-cells = <0>;
253
- reg = <4>;
254
- };
255
-
256
- pioD_clk: pioD_clk {
257
- #clock-cells = <0>;
258
- reg = <5>;
259
- };
260
-
261
- usart0_clk: usart0_clk {
262
- #clock-cells = <0>;
263
- reg = <6>;
264
- };
265
-
266
- usart1_clk: usart1_clk {
267
- #clock-cells = <0>;
268
- reg = <7>;
269
- };
270
-
271
- usart2_clk: usart2_clk {
272
- #clock-cells = <0>;
273
- reg = <8>;
274
- };
275
-
276
- usart3_clk: usart3_clk {
277
- #clock-cells = <0>;
278
- reg = <9>;
279
- };
280
-
281
- mci0_clk: mci0_clk {
282
- #clock-cells = <0>;
283
- reg = <10>;
284
- };
285
-
286
- udc_clk: udc_clk {
287
- #clock-cells = <0>;
288
- reg = <11>;
289
- };
290
-
291
- twi0_clk: twi0_clk {
292
- reg = <12>;
293
- #clock-cells = <0>;
294
- };
295
-
296
- spi0_clk: spi0_clk {
297
- #clock-cells = <0>;
298
- reg = <13>;
299
- };
300
-
301
- ssc0_clk: ssc0_clk {
302
- #clock-cells = <0>;
303
- reg = <14>;
304
- };
305
-
306
- ssc1_clk: ssc1_clk {
307
- #clock-cells = <0>;
308
- reg = <15>;
309
- };
310
-
311
- ssc2_clk: ssc2_clk {
312
- #clock-cells = <0>;
313
- reg = <16>;
314
- };
315
-
316
- tc0_clk: tc0_clk {
317
- #clock-cells = <0>;
318
- reg = <17>;
319
- };
320
-
321
- tc1_clk: tc1_clk {
322
- #clock-cells = <0>;
323
- reg = <18>;
324
- };
325
-
326
- tc2_clk: tc2_clk {
327
- #clock-cells = <0>;
328
- reg = <19>;
329
- };
330
-
331
- tc3_clk: tc3_clk {
332
- #clock-cells = <0>;
333
- reg = <20>;
334
- };
335
-
336
- tc4_clk: tc4_clk {
337
- #clock-cells = <0>;
338
- reg = <21>;
339
- };
340
-
341
- tc5_clk: tc5_clk {
342
- #clock-cells = <0>;
343
- reg = <22>;
344
- };
345
-
346
- ohci_clk: ohci_clk {
347
- #clock-cells = <0>;
348
- reg = <23>;
349
- };
350
-
351
- macb0_clk: macb0_clk {
352
- #clock-cells = <0>;
353
- reg = <24>;
354
- };
355
- };
108
+ #clock-cells = <2>;
109
+ clocks = <&slow_xtal>, <&main_xtal>;
110
+ clock-names = "slow_xtal", "main_xtal";
356111 };
357112
358113 st: timer@fffffd00 {
....@@ -382,7 +137,7 @@
382137 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
383138 18 IRQ_TYPE_LEVEL_HIGH 0
384139 19 IRQ_TYPE_LEVEL_HIGH 0>;
385
- clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>, <&slow_xtal>;
140
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&slow_xtal>;
386141 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
387142 };
388143
....@@ -394,7 +149,7 @@
394149 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 0
395150 21 IRQ_TYPE_LEVEL_HIGH 0
396151 22 IRQ_TYPE_LEVEL_HIGH 0>;
397
- clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>, <&slow_xtal>;
152
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 22>, <&slow_xtal>;
398153 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
399154 };
400155
....@@ -404,7 +159,7 @@
404159 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 6>;
405160 pinctrl-names = "default";
406161 pinctrl-0 = <&pinctrl_twi>;
407
- clocks = <&twi0_clk>;
162
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
408163 #address-cells = <1>;
409164 #size-cells = <0>;
410165 status = "disabled";
....@@ -414,11 +169,10 @@
414169 compatible = "atmel,hsmci";
415170 reg = <0xfffb4000 0x4000>;
416171 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 0>;
417
- clocks = <&mci0_clk>;
172
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 10>;
418173 clock-names = "mci_clk";
419174 #address-cells = <1>;
420175 #size-cells = <0>;
421
- pinctrl-names = "default";
422176 status = "disabled";
423177 };
424178
....@@ -428,7 +182,7 @@
428182 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
429183 pinctrl-names = "default";
430184 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
431
- clocks = <&ssc0_clk>;
185
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
432186 clock-names = "pclk";
433187 status = "disabled";
434188 };
....@@ -439,7 +193,7 @@
439193 interrupts = <15 IRQ_TYPE_LEVEL_HIGH 5>;
440194 pinctrl-names = "default";
441195 pinctrl-0 = <&pinctrl_ssc1_tx &pinctrl_ssc1_rx>;
442
- clocks = <&ssc1_clk>;
196
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 15>;
443197 clock-names = "pclk";
444198 status = "disabled";
445199 };
....@@ -450,7 +204,7 @@
450204 interrupts = <16 IRQ_TYPE_LEVEL_HIGH 5>;
451205 pinctrl-names = "default";
452206 pinctrl-0 = <&pinctrl_ssc2_tx &pinctrl_ssc2_rx>;
453
- clocks = <&ssc2_clk>;
207
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 16>;
454208 clock-names = "pclk";
455209 status = "disabled";
456210 };
....@@ -462,7 +216,7 @@
462216 phy-mode = "rmii";
463217 pinctrl-names = "default";
464218 pinctrl-0 = <&pinctrl_macb_rmii>;
465
- clocks = <&macb0_clk>;
219
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
466220 clock-names = "ether_clk";
467221 status = "disabled";
468222 };
....@@ -802,7 +556,7 @@
802556 gpio-controller;
803557 interrupt-controller;
804558 #interrupt-cells = <2>;
805
- clocks = <&pioA_clk>;
559
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
806560 };
807561
808562 pioB: gpio@fffff600 {
....@@ -813,7 +567,7 @@
813567 gpio-controller;
814568 interrupt-controller;
815569 #interrupt-cells = <2>;
816
- clocks = <&pioB_clk>;
570
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
817571 };
818572
819573 pioC: gpio@fffff800 {
....@@ -824,7 +578,7 @@
824578 gpio-controller;
825579 interrupt-controller;
826580 #interrupt-cells = <2>;
827
- clocks = <&pioC_clk>;
581
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
828582 };
829583
830584 pioD: gpio@fffffa00 {
....@@ -835,7 +589,7 @@
835589 gpio-controller;
836590 interrupt-controller;
837591 #interrupt-cells = <2>;
838
- clocks = <&pioD_clk>;
592
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
839593 };
840594 };
841595
....@@ -845,7 +599,7 @@
845599 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
846600 pinctrl-names = "default";
847601 pinctrl-0 = <&pinctrl_dbgu>;
848
- clocks = <&mck>;
602
+ clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
849603 clock-names = "usart";
850604 status = "disabled";
851605 };
....@@ -858,7 +612,7 @@
858612 atmel,use-dma-tx;
859613 pinctrl-names = "default";
860614 pinctrl-0 = <&pinctrl_uart0>;
861
- clocks = <&usart0_clk>;
615
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
862616 clock-names = "usart";
863617 status = "disabled";
864618 };
....@@ -871,7 +625,7 @@
871625 atmel,use-dma-tx;
872626 pinctrl-names = "default";
873627 pinctrl-0 = <&pinctrl_uart1>;
874
- clocks = <&usart1_clk>;
628
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
875629 clock-names = "usart";
876630 status = "disabled";
877631 };
....@@ -884,7 +638,7 @@
884638 atmel,use-dma-tx;
885639 pinctrl-names = "default";
886640 pinctrl-0 = <&pinctrl_uart2>;
887
- clocks = <&usart2_clk>;
641
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
888642 clock-names = "usart";
889643 status = "disabled";
890644 };
....@@ -897,7 +651,7 @@
897651 atmel,use-dma-tx;
898652 pinctrl-names = "default";
899653 pinctrl-0 = <&pinctrl_uart3>;
900
- clocks = <&usart3_clk>;
654
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
901655 clock-names = "usart";
902656 status = "disabled";
903657 };
....@@ -906,7 +660,7 @@
906660 compatible = "atmel,at91rm9200-udc";
907661 reg = <0xfffb0000 0x4000>;
908662 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 2>;
909
- clocks = <&udc_clk>, <&udpck>;
663
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 11>, <&pmc PMC_TYPE_SYSTEM 1>;
910664 clock-names = "pclk", "hclk";
911665 status = "disabled";
912666 };
....@@ -919,7 +673,7 @@
919673 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
920674 pinctrl-names = "default";
921675 pinctrl-0 = <&pinctrl_spi0>;
922
- clocks = <&spi0_clk>;
676
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
923677 clock-names = "spi_clk";
924678 status = "disabled";
925679 };
....@@ -946,7 +700,7 @@
946700 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
947701 reg = <0x00300000 0x100000>;
948702 interrupts = <23 IRQ_TYPE_LEVEL_HIGH 2>;
949
- clocks = <&ohci_clk>, <&ohci_clk>, <&uhpck>;
703
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_PERIPHERAL 23>, <&pmc PMC_TYPE_SYSTEM 4>;
950704 clock-names = "ohci_clk", "hclk", "uhpck";
951705 status = "disabled";
952706 };