hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/arm/boot/dts/at91sam9260.dtsi
....@@ -1,20 +1,20 @@
1
+// SPDX-License-Identifier: GPL-2.0-or-later
12 /*
23 * at91sam9260.dtsi - Device Tree Include file for AT91SAM9260 family SoC
34 *
45 * Copyright (C) 2011 Atmel,
56 * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>,
67 * 2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
7
- *
8
- * Licensed under GPLv2 or later.
98 */
109
11
-#include "skeleton.dtsi"
1210 #include <dt-bindings/pinctrl/at91.h>
1311 #include <dt-bindings/interrupt-controller/irq.h>
1412 #include <dt-bindings/gpio/gpio.h>
1513 #include <dt-bindings/clock/at91.h>
1614
1715 / {
16
+ #address-cells = <1>;
17
+ #size-cells = <1>;
1818 model = "Atmel AT91SAM9260 family SoC";
1919 compatible = "atmel,at91sam9260";
2020 interrupt-parent = <&aic>;
....@@ -36,16 +36,18 @@
3636 ssc0 = &ssc0;
3737 };
3838 cpus {
39
- #address-cells = <0>;
39
+ #address-cells = <1>;
4040 #size-cells = <0>;
4141
42
- cpu {
42
+ cpu@0 {
4343 compatible = "arm,arm926ej-s";
4444 device_type = "cpu";
45
+ reg = <0>;
4546 };
4647 };
4748
48
- memory {
49
+ memory@20000000 {
50
+ device_type = "memory";
4951 reg = <0x20000000 0x04000000>;
5052 };
5153
....@@ -72,6 +74,9 @@
7274 sram0: sram@2ff000 {
7375 compatible = "mmio-sram";
7476 reg = <0x002ff000 0x2000>;
77
+ #address-cells = <1>;
78
+ #size-cells = <1>;
79
+ ranges = <0 0x002ff000 0x2000>;
7580 };
7681
7782 ahb {
....@@ -113,276 +118,28 @@
113118 compatible = "atmel,at91sam9260-pmc", "syscon";
114119 reg = <0xfffffc00 0x100>;
115120 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
116
- interrupt-controller;
117
- #address-cells = <1>;
118
- #size-cells = <0>;
119
- #interrupt-cells = <1>;
120
-
121
- main_osc: main_osc {
122
- compatible = "atmel,at91rm9200-clk-main-osc";
123
- #clock-cells = <0>;
124
- interrupts-extended = <&pmc AT91_PMC_MOSCS>;
125
- clocks = <&main_xtal>;
126
- };
127
-
128
- main: mainck {
129
- compatible = "atmel,at91rm9200-clk-main";
130
- #clock-cells = <0>;
131
- clocks = <&main_osc>;
132
- };
133
-
134
- slow_rc_osc: slow_rc_osc {
135
- compatible = "fixed-clock";
136
- #clock-cells = <0>;
137
- clock-frequency = <32768>;
138
- clock-accuracy = <50000000>;
139
- };
140
-
141
- clk32k: slck {
142
- compatible = "atmel,at91sam9260-clk-slow";
143
- #clock-cells = <0>;
144
- clocks = <&slow_rc_osc>, <&slow_xtal>;
145
- };
146
-
147
- plla: pllack {
148
- compatible = "atmel,at91rm9200-clk-pll";
149
- #clock-cells = <0>;
150
- interrupts-extended = <&pmc AT91_PMC_LOCKA>;
151
- clocks = <&main>;
152
- reg = <0>;
153
- atmel,clk-input-range = <1000000 32000000>;
154
- #atmel,pll-clk-output-range-cells = <4>;
155
- atmel,pll-clk-output-ranges = <80000000 160000000 0 1>,
156
- <150000000 240000000 2 1>;
157
- };
158
-
159
- pllb: pllbck {
160
- compatible = "atmel,at91rm9200-clk-pll";
161
- #clock-cells = <0>;
162
- interrupts-extended = <&pmc AT91_PMC_LOCKB>;
163
- clocks = <&main>;
164
- reg = <1>;
165
- atmel,clk-input-range = <1000000 5000000>;
166
- #atmel,pll-clk-output-range-cells = <4>;
167
- atmel,pll-clk-output-ranges = <70000000 130000000 1 1>;
168
- };
169
-
170
- mck: masterck {
171
- compatible = "atmel,at91rm9200-clk-master";
172
- #clock-cells = <0>;
173
- interrupts-extended = <&pmc AT91_PMC_MCKRDY>;
174
- clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;
175
- atmel,clk-output-range = <0 105000000>;
176
- atmel,clk-divisors = <1 2 4 0>;
177
- };
178
-
179
- usb: usbck {
180
- compatible = "atmel,at91rm9200-clk-usb";
181
- #clock-cells = <0>;
182
- atmel,clk-divisors = <1 2 4 0>;
183
- clocks = <&pllb>;
184
- };
185
-
186
- prog: progck {
187
- compatible = "atmel,at91rm9200-clk-programmable";
188
- #address-cells = <1>;
189
- #size-cells = <0>;
190
- interrupt-parent = <&pmc>;
191
- clocks = <&clk32k>, <&main>, <&plla>, <&pllb>;
192
-
193
- prog0: prog0 {
194
- #clock-cells = <0>;
195
- reg = <0>;
196
- interrupts = <AT91_PMC_PCKRDY(0)>;
197
- };
198
-
199
- prog1: prog1 {
200
- #clock-cells = <0>;
201
- reg = <1>;
202
- interrupts = <AT91_PMC_PCKRDY(1)>;
203
- };
204
- };
205
-
206
- systemck {
207
- compatible = "atmel,at91rm9200-clk-system";
208
- #address-cells = <1>;
209
- #size-cells = <0>;
210
-
211
- uhpck: uhpck {
212
- #clock-cells = <0>;
213
- reg = <6>;
214
- clocks = <&usb>;
215
- };
216
-
217
- udpck: udpck {
218
- #clock-cells = <0>;
219
- reg = <7>;
220
- clocks = <&usb>;
221
- };
222
-
223
- pck0: pck0 {
224
- #clock-cells = <0>;
225
- reg = <8>;
226
- clocks = <&prog0>;
227
- };
228
-
229
- pck1: pck1 {
230
- #clock-cells = <0>;
231
- reg = <9>;
232
- clocks = <&prog1>;
233
- };
234
- };
235
-
236
- periphck {
237
- compatible = "atmel,at91rm9200-clk-peripheral";
238
- #address-cells = <1>;
239
- #size-cells = <0>;
240
- clocks = <&mck>;
241
-
242
- pioA_clk: pioA_clk {
243
- #clock-cells = <0>;
244
- reg = <2>;
245
- };
246
-
247
- pioB_clk: pioB_clk {
248
- #clock-cells = <0>;
249
- reg = <3>;
250
- };
251
-
252
- pioC_clk: pioC_clk {
253
- #clock-cells = <0>;
254
- reg = <4>;
255
- };
256
-
257
- adc_clk: adc_clk {
258
- #clock-cells = <0>;
259
- reg = <5>;
260
- };
261
-
262
- usart0_clk: usart0_clk {
263
- #clock-cells = <0>;
264
- reg = <6>;
265
- };
266
-
267
- usart1_clk: usart1_clk {
268
- #clock-cells = <0>;
269
- reg = <7>;
270
- };
271
-
272
- usart2_clk: usart2_clk {
273
- #clock-cells = <0>;
274
- reg = <8>;
275
- };
276
-
277
- mci0_clk: mci0_clk {
278
- #clock-cells = <0>;
279
- reg = <9>;
280
- };
281
-
282
- udc_clk: udc_clk {
283
- #clock-cells = <0>;
284
- reg = <10>;
285
- };
286
-
287
- twi0_clk: twi0_clk {
288
- reg = <11>;
289
- #clock-cells = <0>;
290
- };
291
-
292
- spi0_clk: spi0_clk {
293
- #clock-cells = <0>;
294
- reg = <12>;
295
- };
296
-
297
- spi1_clk: spi1_clk {
298
- #clock-cells = <0>;
299
- reg = <13>;
300
- };
301
-
302
- ssc0_clk: ssc0_clk {
303
- #clock-cells = <0>;
304
- reg = <14>;
305
- };
306
-
307
- tc0_clk: tc0_clk {
308
- #clock-cells = <0>;
309
- reg = <17>;
310
- };
311
-
312
- tc1_clk: tc1_clk {
313
- #clock-cells = <0>;
314
- reg = <18>;
315
- };
316
-
317
- tc2_clk: tc2_clk {
318
- #clock-cells = <0>;
319
- reg = <19>;
320
- };
321
-
322
- ohci_clk: ohci_clk {
323
- #clock-cells = <0>;
324
- reg = <20>;
325
- };
326
-
327
- macb0_clk: macb0_clk {
328
- #clock-cells = <0>;
329
- reg = <21>;
330
- };
331
-
332
- isi_clk: isi_clk {
333
- #clock-cells = <0>;
334
- reg = <22>;
335
- };
336
-
337
- usart3_clk: usart3_clk {
338
- #clock-cells = <0>;
339
- reg = <23>;
340
- };
341
-
342
- uart0_clk: uart0_clk {
343
- #clock-cells = <0>;
344
- reg = <24>;
345
- };
346
-
347
- uart1_clk: uart1_clk {
348
- #clock-cells = <0>;
349
- reg = <25>;
350
- };
351
-
352
- tc3_clk: tc3_clk {
353
- #clock-cells = <0>;
354
- reg = <26>;
355
- };
356
-
357
- tc4_clk: tc4_clk {
358
- #clock-cells = <0>;
359
- reg = <27>;
360
- };
361
-
362
- tc5_clk: tc5_clk {
363
- #clock-cells = <0>;
364
- reg = <28>;
365
- };
366
- };
121
+ #clock-cells = <2>;
122
+ clocks = <&slow_xtal>, <&main_xtal>;
123
+ clock-names = "slow_xtal", "main_xtal";
367124 };
368125
369126 rstc@fffffd00 {
370127 compatible = "atmel,at91sam9260-rstc";
371128 reg = <0xfffffd00 0x10>;
372
- clocks = <&clk32k>;
129
+ clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
373130 };
374131
375132 shdwc@fffffd10 {
376133 compatible = "atmel,at91sam9260-shdwc";
377134 reg = <0xfffffd10 0x10>;
378
- clocks = <&clk32k>;
135
+ clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
379136 };
380137
381138 pit: timer@fffffd30 {
382139 compatible = "atmel,at91sam9260-pit";
383140 reg = <0xfffffd30 0xf>;
384141 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
385
- clocks = <&mck>;
142
+ clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
386143 };
387144
388145 tcb0: timer@fffa0000 {
....@@ -393,7 +150,7 @@
393150 interrupts = <17 IRQ_TYPE_LEVEL_HIGH 0
394151 18 IRQ_TYPE_LEVEL_HIGH 0
395152 19 IRQ_TYPE_LEVEL_HIGH 0>;
396
- clocks = <&tc0_clk>, <&tc1_clk>, <&tc2_clk>, <&clk32k>;
153
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 17>, <&pmc PMC_TYPE_PERIPHERAL 18>, <&pmc PMC_TYPE_PERIPHERAL 19>, <&pmc PMC_TYPE_CORE PMC_SLOW>;
397154 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
398155 };
399156
....@@ -405,7 +162,7 @@
405162 interrupts = <26 IRQ_TYPE_LEVEL_HIGH 0
406163 27 IRQ_TYPE_LEVEL_HIGH 0
407164 28 IRQ_TYPE_LEVEL_HIGH 0>;
408
- clocks = <&tc3_clk>, <&tc4_clk>, <&tc5_clk>, <&clk32k>;
165
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 26>, <&pmc PMC_TYPE_PERIPHERAL 27>, <&pmc PMC_TYPE_PERIPHERAL 28>, <&pmc PMC_TYPE_CORE PMC_SLOW>;
409166 clock-names = "t0_clk", "t1_clk", "t2_clk", "slow_clk";
410167 };
411168
....@@ -746,7 +503,7 @@
746503 gpio-controller;
747504 interrupt-controller;
748505 #interrupt-cells = <2>;
749
- clocks = <&pioA_clk>;
506
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 2>;
750507 };
751508
752509 pioB: gpio@fffff600 {
....@@ -757,7 +514,7 @@
757514 gpio-controller;
758515 interrupt-controller;
759516 #interrupt-cells = <2>;
760
- clocks = <&pioB_clk>;
517
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 3>;
761518 };
762519
763520 pioC: gpio@fffff800 {
....@@ -768,7 +525,7 @@
768525 gpio-controller;
769526 interrupt-controller;
770527 #interrupt-cells = <2>;
771
- clocks = <&pioC_clk>;
528
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 4>;
772529 };
773530 };
774531
....@@ -778,7 +535,7 @@
778535 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
779536 pinctrl-names = "default";
780537 pinctrl-0 = <&pinctrl_dbgu>;
781
- clocks = <&mck>;
538
+ clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
782539 clock-names = "usart";
783540 status = "disabled";
784541 };
....@@ -791,7 +548,7 @@
791548 atmel,use-dma-tx;
792549 pinctrl-names = "default";
793550 pinctrl-0 = <&pinctrl_usart0>;
794
- clocks = <&usart0_clk>;
551
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 6>;
795552 clock-names = "usart";
796553 status = "disabled";
797554 };
....@@ -804,7 +561,7 @@
804561 atmel,use-dma-tx;
805562 pinctrl-names = "default";
806563 pinctrl-0 = <&pinctrl_usart1>;
807
- clocks = <&usart1_clk>;
564
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 7>;
808565 clock-names = "usart";
809566 status = "disabled";
810567 };
....@@ -817,7 +574,7 @@
817574 atmel,use-dma-tx;
818575 pinctrl-names = "default";
819576 pinctrl-0 = <&pinctrl_usart2>;
820
- clocks = <&usart2_clk>;
577
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 8>;
821578 clock-names = "usart";
822579 status = "disabled";
823580 };
....@@ -830,7 +587,7 @@
830587 atmel,use-dma-tx;
831588 pinctrl-names = "default";
832589 pinctrl-0 = <&pinctrl_usart3>;
833
- clocks = <&usart3_clk>;
590
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 23>;
834591 clock-names = "usart";
835592 status = "disabled";
836593 };
....@@ -843,7 +600,7 @@
843600 atmel,use-dma-tx;
844601 pinctrl-names = "default";
845602 pinctrl-0 = <&pinctrl_uart0>;
846
- clocks = <&uart0_clk>;
603
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 24>;
847604 clock-names = "usart";
848605 status = "disabled";
849606 };
....@@ -856,7 +613,7 @@
856613 atmel,use-dma-tx;
857614 pinctrl-names = "default";
858615 pinctrl-0 = <&pinctrl_uart1>;
859
- clocks = <&uart1_clk>;
616
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 25>;
860617 clock-names = "usart";
861618 status = "disabled";
862619 };
....@@ -867,7 +624,7 @@
867624 interrupts = <21 IRQ_TYPE_LEVEL_HIGH 3>;
868625 pinctrl-names = "default";
869626 pinctrl-0 = <&pinctrl_macb_rmii>;
870
- clocks = <&macb0_clk>, <&macb0_clk>;
627
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 21>, <&pmc PMC_TYPE_PERIPHERAL 21>;
871628 clock-names = "hclk", "pclk";
872629 status = "disabled";
873630 };
....@@ -876,7 +633,7 @@
876633 compatible = "atmel,at91sam9260-udc";
877634 reg = <0xfffa4000 0x4000>;
878635 interrupts = <10 IRQ_TYPE_LEVEL_HIGH 2>;
879
- clocks = <&udc_clk>, <&udpck>;
636
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 10>, <&pmc PMC_TYPE_SYSTEM 7>;
880637 clock-names = "pclk", "hclk";
881638 status = "disabled";
882639 };
....@@ -887,7 +644,7 @@
887644 interrupts = <11 IRQ_TYPE_LEVEL_HIGH 6>;
888645 #address-cells = <1>;
889646 #size-cells = <0>;
890
- clocks = <&twi0_clk>;
647
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 11>;
891648 status = "disabled";
892649 };
893650
....@@ -897,8 +654,7 @@
897654 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 0>;
898655 #address-cells = <1>;
899656 #size-cells = <0>;
900
- pinctrl-names = "default";
901
- clocks = <&mci0_clk>;
657
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
902658 clock-names = "mci_clk";
903659 status = "disabled";
904660 };
....@@ -909,7 +665,7 @@
909665 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 5>;
910666 pinctrl-names = "default";
911667 pinctrl-0 = <&pinctrl_ssc0_tx &pinctrl_ssc0_rx>;
912
- clocks = <&ssc0_clk>;
668
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
913669 clock-names = "pclk";
914670 status = "disabled";
915671 };
....@@ -922,7 +678,7 @@
922678 interrupts = <12 IRQ_TYPE_LEVEL_HIGH 3>;
923679 pinctrl-names = "default";
924680 pinctrl-0 = <&pinctrl_spi0>;
925
- clocks = <&spi0_clk>;
681
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 12>;
926682 clock-names = "spi_clk";
927683 status = "disabled";
928684 };
....@@ -935,7 +691,7 @@
935691 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 3>;
936692 pinctrl-names = "default";
937693 pinctrl-0 = <&pinctrl_spi1>;
938
- clocks = <&spi1_clk>;
694
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
939695 clock-names = "spi_clk";
940696 status = "disabled";
941697 };
....@@ -946,7 +702,7 @@
946702 compatible = "atmel,at91sam9260-adc";
947703 reg = <0xfffe0000 0x100>;
948704 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 0>;
949
- clocks = <&adc_clk>, <&adc_op_clk>;
705
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 5>, <&adc_op_clk>;
950706 clock-names = "adc_clk", "adc_op_clk";
951707 atmel,adc-use-external-triggers;
952708 atmel,adc-channels-used = <0xf>;
....@@ -981,15 +737,15 @@
981737 compatible = "atmel,at91sam9260-rtt";
982738 reg = <0xfffffd20 0x10>;
983739 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
984
- clocks = <&clk32k>;
740
+ clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
985741 status = "disabled";
986742 };
987743
988
- watchdog@fffffd40 {
744
+ watchdog: watchdog@fffffd40 {
989745 compatible = "atmel,at91sam9260-wdt";
990746 reg = <0xfffffd40 0x10>;
991747 interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
992
- clocks = <&clk32k>;
748
+ clocks = <&pmc PMC_TYPE_CORE PMC_SLOW>;
993749 atmel,watchdog-type = "hardware";
994750 atmel,reset-type = "all";
995751 atmel,dbg-halt;
....@@ -1007,7 +763,7 @@
1007763 compatible = "atmel,at91rm9200-ohci", "usb-ohci";
1008764 reg = <0x00500000 0x100000>;
1009765 interrupts = <20 IRQ_TYPE_LEVEL_HIGH 2>;
1010
- clocks = <&ohci_clk>, <&ohci_clk>, <&uhpck>;
766
+ clocks = <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_PERIPHERAL 20>, <&pmc PMC_TYPE_SYSTEM 6>;
1011767 clock-names = "ohci_clk", "hclk", "uhpck";
1012768 status = "disabled";
1013769 };
....@@ -1027,7 +783,7 @@
1027783 0x5 0x0 0x60000000 0x10000000
1028784 0x6 0x0 0x70000000 0x10000000
1029785 0x7 0x0 0x80000000 0x10000000>;
1030
- clocks = <&mck>;
786
+ clocks = <&pmc PMC_TYPE_CORE PMC_MCK>;
1031787 status = "disabled";
1032788
1033789 nand_controller: nand-controller {
....@@ -1040,7 +796,7 @@
1040796 };
1041797 };
1042798
1043
- i2c-gpio-0 {
799
+ i2c_gpio0: i2c-gpio-0 {
1044800 compatible = "i2c-gpio";
1045801 gpios = <&pioA 23 GPIO_ACTIVE_HIGH /* sda */
1046802 &pioA 24 GPIO_ACTIVE_HIGH /* scl */