1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3 * at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
4 *
5 * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
8 */
9 /dts-v1/;
10 #include "sam9x60.dtsi"
11 #include <dt-bindings/input/input.h>
12
13 / {
14 model = "Microchip SAM9X60-EK";
15 compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
16
17 aliases {
18 i2c0 = &i2c0;
19 i2c1 = &i2c1;
20 serial1 = &uart1;
21 };
22
23 chosen {
24 stdout-path = "serial0:115200n8";
25 };
26
27 clocks {
28 slow_xtal {
29 clock-frequency = <32768>;
30 };
31
32 main_xtal {
33 clock-frequency = <24000000>;
34 };
35 };
36
37 regulators: regulators {
38 compatible = "simple-bus";
39 #address-cells = <1>;
40 #size-cells = <0>;
41
42 vdd_1v8: fixed-regulator-vdd_1v8@0 {
43 compatible = "regulator-fixed";
44 regulator-name = "VDD_1V8";
45 regulator-min-microvolt = <1800000>;
46 regulator-max-microvolt = <1800000>;
47 regulator-always-on;
48 status = "okay";
49 };
50
51 vdd_1v15: fixed-regulator-vdd_1v15@1 {
52 compatible = "regulator-fixed";
53 regulator-name = "VDD_1V15";
54 regulator-min-microvolt = <1150000>;
55 regulator-max-microvolt = <1150000>;
56 regulator-always-on;
57 status = "okay";
58 };
59
60 vdd1_3v3: fixed-regulator-vdd1_3v3@2 {
61 compatible = "regulator-fixed";
62 regulator-name = "VDD1_3V3";
63 regulator-min-microvolt = <3300000>;
64 regulator-max-microvolt = <3300000>;
65 regulator-always-on;
66 status = "okay";
67 };
68
69 vdd2_3v3: regulator-fixed-vdd2_3v3@3 {
70 compatible = "regulator-fixed";
71 regulator-name = "VDD2_3V3";
72 regulator-min-microvolt = <3300000>;
73 regulator-max-microvolt = <3300000>;
74 regulator-always-on;
75 status = "okay";
76 };
77 };
78
79 gpio-keys {
80 compatible = "gpio-keys";
81 pinctrl-names = "default";
82 pinctrl-0 = <&pinctrl_key_gpio_default>;
83
84 button-1 {
85 label = "SW1";
86 gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
87 linux,code = <KEY_PROG1>;
88 wakeup-source;
89 };
90 };
91
92 leds {
93 compatible = "gpio-leds";
94 pinctrl-names = "default";
95 pinctrl-0 = <&pinctrl_gpio_leds>;
96 status = "okay"; /* Conflict with pwm0. */
97
98 red {
99 label = "red";
100 gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
101 };
102
103 green {
104 label = "green";
105 gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
106 };
107
108 blue {
109 label = "blue";
110 gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
111 linux,default-trigger = "heartbeat";
112 };
113 };
114 };
115
116 &adc {
117 vddana-supply = <&vdd1_3v3>;
118 vref-supply = <&vdd1_3v3>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
121 status = "okay";
122 };
123
124 &can0 {
125 pinctrl-names = "default";
126 pinctrl-0 = <&pinctrl_can0_rx_tx>;
127 status = "disabled"; /* Conflict with dbgu. */
128 };
129
130 &can1 {
131 pinctrl-names = "default";
132 pinctrl-0 = <&pinctrl_can1_rx_tx>;
133 status = "okay";
134 };
135
136 &classd {
137 pinctrl-names = "default";
138 pinctrl-0 = <&pinctrl_classd_default>;
139 atmel,pwm-type = "diff";
140 atmel,non-overlap-time = <10>;
141 status = "okay";
142 };
143
144 &dbgu {
145 pinctrl-names = "default";
146 pinctrl-0 = <&pinctrl_dbgu>;
147 status = "okay"; /* Conflict with can0. */
148 };
149
150 &ebi {
151 pinctrl-names = "default";
152 pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
153 status = "okay";
154
155 nand_controller: nand-controller {
156 pinctrl-names = "default";
157 pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
158 status = "okay";
159
160 nand@3 {
161 reg = <0x3 0x0 0x800000>;
162 rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
163 cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
164 nand-bus-width = <8>;
165 nand-ecc-mode = "hw";
166 nand-ecc-strength = <8>;
167 nand-ecc-step-size = <512>;
168 nand-on-flash-bbt;
169 label = "atmel_nand";
170
171 partitions {
172 compatible = "fixed-partitions";
173 #address-cells = <1>;
174 #size-cells = <1>;
175
176 at91bootstrap@0 {
177 label = "at91bootstrap";
178 reg = <0x0 0x40000>;
179 };
180
181 uboot@40000 {
182 label = "u-boot";
183 reg = <0x40000 0xc0000>;
184 };
185
186 ubootenvred@100000 {
187 label = "U-Boot Env Redundant";
188 reg = <0x100000 0x40000>;
189 };
190
191 ubootenv@140000 {
192 label = "U-Boot Env";
193 reg = <0x140000 0x40000>;
194 };
195
196 dtb@180000 {
197 label = "device tree";
198 reg = <0x180000 0x80000>;
199 };
200
201 kernel@200000 {
202 label = "kernel";
203 reg = <0x200000 0x600000>;
204 };
205
206 rootfs@800000 {
207 label = "rootfs";
208 reg = <0x800000 0x1f800000>;
209 };
210 };
211 };
212 };
213 };
214
215 &flx0 {
216 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
217 status = "okay";
218
219 i2c0: i2c@600 {
220 compatible = "microchip,sam9x60-i2c";
221 reg = <0x600 0x200>;
222 interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
223 #address-cells = <1>;
224 #size-cells = <0>;
225 clocks = <&pmc PMC_TYPE_PERIPHERAL 5>;
226 pinctrl-names = "default";
227 pinctrl-0 = <&pinctrl_flx0_default>;
228 atmel,fifo-size = <16>;
229 i2c-analog-filter;
230 i2c-digital-filter;
231 i2c-digital-filter-width-ns = <35>;
232 status = "okay";
233
234 eeprom@53 {
235 compatible = "atmel,24c02";
236 reg = <0x53>;
237 pagesize = <16>;
238 status = "okay";
239 };
240 };
241 };
242
243 &flx4 {
244 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
245 status = "disabled";
246
247 spi0: spi@400 {
248 compatible = "microchip,sam9x60-spi", "atmel,at91rm9200-spi";
249 reg = <0x400 0x200>;
250 interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
251 clocks = <&pmc PMC_TYPE_PERIPHERAL 13>;
252 clock-names = "spi_clk";
253 pinctrl-names = "default";
254 pinctrl-0 = <&pinctrl_flx4_default>;
255 atmel,fifo-size = <16>;
256 #address-cells = <1>;
257 #size-cells = <0>;
258 status = "disabled";
259 };
260 };
261
262 &flx5 {
263 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
264 status = "okay";
265
266 uart1: serial@200 {
267 compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
268 reg = <0x200 0x200>;
269 interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
270 dmas = <&dma0
271 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
272 AT91_XDMAC_DT_PERID(10))>,
273 <&dma0
274 (AT91_XDMAC_DT_MEM_IF(0) | AT91_XDMAC_DT_PER_IF(1) |
275 AT91_XDMAC_DT_PERID(11))>;
276 dma-names = "tx", "rx";
277 clocks = <&pmc PMC_TYPE_PERIPHERAL 14>;
278 clock-names = "usart";
279 pinctrl-0 = <&pinctrl_flx5_default>;
280 pinctrl-names = "default";
281 atmel,use-dma-rx;
282 atmel,use-dma-tx;
283 status = "okay";
284 };
285 };
286
287 &flx6 {
288 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
289 status = "okay";
290
291 i2c1: i2c@600 {
292 compatible = "microchip,sam9x60-i2c";
293 reg = <0x600 0x200>;
294 interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
295 #address-cells = <1>;
296 #size-cells = <0>;
297 clocks = <&pmc PMC_TYPE_PERIPHERAL 9>;
298 pinctrl-names = "default";
299 pinctrl-0 = <&pinctrl_flx6_default>;
300 atmel,fifo-size = <16>;
301 i2c-analog-filter;
302 i2c-digital-filter;
303 i2c-digital-filter-width-ns = <35>;
304 status = "okay";
305
306 gpio_exp: mcp23008@20 {
307 compatible = "microchip,mcp23008";
308 reg = <0x20>;
309 };
310 };
311 };
312
313 &gpbr {
314 status = "okay";
315 };
316
317 &i2s {
318 pinctrl-names = "default";
319 pinctrl-0 = <&pinctrl_i2s_default>;
320 #sound-dai-cells = <0>;
321 status = "disabled"; /* Conflict with QSPI. */
322 };
323
324 &macb0 {
325 phy-mode = "rmii";
326 #address-cells = <1>;
327 #size-cells = <0>;
328 pinctrl-names = "default";
329 pinctrl-0 = <&pinctrl_macb0_rmii>;
330 status = "okay";
331
332 ethernet-phy@0 {
333 reg = <0x0>;
334 };
335 };
336
337 &pinctrl {
338 adc {
339 pinctrl_adc_default: adc_default {
340 atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
341 };
342
343 pinctrl_adtrg_default: adtrg_default {
344 atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
345 };
346 };
347
348 dbgu {
349 pinctrl_dbgu: dbgu-0 {
350 atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
351 AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
352 };
353 };
354
355 i2s {
356 pinctrl_i2s_default: i2s {
357 atmel,pins =
358 <AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SCK */
359 AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SWS */
360 AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDIN */
361 AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE /* I2SDOUT */
362 AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>; /* I2SMCK */
363 };
364 };
365
366 qspi {
367 pinctrl_qspi: qspi {
368 atmel,pins =
369 <AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
370 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
371 AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
372 AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
373 AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
374 AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
375 };
376 };
377
378 nand {
379 pinctrl_nand_oe_we: nand-oe-we-0 {
380 atmel,pins =
381 <AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
382 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
383 };
384
385 pinctrl_nand_rb: nand-rb-0 {
386 atmel,pins =
387 <AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
388 };
389
390 pinctrl_nand_cs: nand-cs-0 {
391 atmel,pins =
392 <AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
393 };
394 };
395
396 ebi {
397 pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
398 atmel,pins =
399 <AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
400 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
401 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
402 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
403 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
404 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
405 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
406 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
407 };
408
409 pinctrl_ebi_data_0_15: ebi-data-msb-0 {
410 atmel,pins =
411 <AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
412 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
413 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
414 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
415 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
416 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
417 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
418 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
419 AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
420 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
421 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
422 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
423 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
424 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
425 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
426 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
427 };
428
429 pinctrl_ebi_addr_nand: ebi-addr-0 {
430 atmel,pins =
431 <AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
432 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
433 };
434 };
435
436 flexcom {
437 pinctrl_flx0_default: flx0_twi {
438 atmel,pins =
439 <AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
440 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
441 };
442
443 pinctrl_flx4_default: flx4_spi {
444 atmel,pins =
445 <AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
446 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
447 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
448 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
449 };
450
451 pinctrl_flx5_default: flx_uart {
452 atmel,pins =
453 <AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
454 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
455 AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
456 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
457 };
458
459 pinctrl_flx6_default: flx6_twi {
460 atmel,pins =
461 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
462 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
463 };
464 };
465
466 classd {
467 pinctrl_classd_default: classd {
468 atmel,pins =
469 <AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
470 AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN
471 AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
472 AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
473 };
474 };
475
476 can0 {
477 pinctrl_can0_rx_tx: can0_rx_tx {
478 atmel,pins =
479 <AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX0 */
480 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX0 */
481 AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN0 mux */
482 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
483 };
484 };
485
486 can1 {
487 pinctrl_can1_rx_tx: can1_rx_tx {
488 atmel,pins =
489 <AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANRX1 RXD1 */
490 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE /* CANTX1 TXD1 */
491 AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN /* Enable CAN1 mux */
492 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>; /* Enable CAN Transceivers */
493 };
494 };
495
496 macb0 {
497 pinctrl_macb0_rmii: macb0_rmii-0 {
498 atmel,pins =
499 <AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB0 periph A */
500 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB1 periph A */
501 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB2 periph A */
502 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB3 periph A */
503 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB4 periph A */
504 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB5 periph A */
505 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB6 periph A */
506 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB7 periph A */
507 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE /* PB9 periph A */
508 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>; /* PB10 periph A */
509 };
510 };
511
512 pwm0 {
513 pinctrl_pwm0_0: pwm0_0 {
514 atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
515 };
516
517 pinctrl_pwm0_1: pwm0_1 {
518 atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
519 };
520
521 pinctrl_pwm0_2: pwm0_2 {
522 atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
523 };
524
525 pinctrl_pwm0_3: pwm0_3 {
526 atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
527 };
528 };
529
530 sdmmc0 {
531 pinctrl_sdmmc0_default: sdmmc0 {
532 atmel,pins =
533 <AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA17 CK periph A with pullup */
534 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA16 CMD periph A with pullup */
535 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA15 DAT0 periph A */
536 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA18 DAT1 periph A with pullup */
537 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA19 DAT2 periph A with pullup */
538 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA20 DAT3 periph A with pullup */
539 };
540 pinctrl_sdmmc0_cd: sdmmc0_cd {
541 atmel,pins =
542 <AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
543 };
544 };
545
546 sdmmc1 {
547 pinctrl_sdmmc1_default: sdmmc1 {
548 atmel,pins =
549 <AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA13 CK periph B */
550 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA12 CMD periph B with pullup */
551 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA11 DAT0 periph B with pullup */
552 AT91_PIOA 2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA2 DAT1 periph B with pullup */
553 AT91_PIOA 3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI) /* PA3 DAT2 periph B with pullup */
554 AT91_PIOA 4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>; /* PA4 DAT3 periph B with pullup */
555 };
556 };
557
558 gpio_keys {
559 pinctrl_key_gpio_default: pinctrl_key_gpio {
560 atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
561 };
562 };
563
564 usb0 {
565 pinctrl_usba_vbus: usba_vbus {
566 atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
567 };
568 };
569
570 usb1 {
571 pinctrl_usb_default: usb_default {
572 atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
573 AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
574 };
575 };
576
577 leds {
578 pinctrl_gpio_leds: gpio_leds {
579 atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
580 AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
581 AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
582 };
583 };
584 }; /* pinctrl */
585
586 &pwm0 {
587 pinctrl-names = "default";
588 pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
589 status = "disabled"; /* Conflict with leds. */
590 };
591
592 &sdmmc0 {
593 bus-width = <4>;
594 pinctrl-names = "default";
595 pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
596 status = "okay";
597 cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
598 disable-wp;
599 };
600
601 &sdmmc1 {
602 bus-width = <4>;
603 pinctrl-names = "default";
604 pinctrl-0 = <&pinctrl_sdmmc1_default>;
605 no-1-8-v;
606 non-removable;
607 status = "disabled"; /* Conflict with flx4. */
608 };
609
610 &qspi {
611 pinctrl-names = "default";
612 pinctrl-0 = <&pinctrl_qspi>;
613 status = "okay"; /* Conflict with i2s. */
614
615 flash@0 {
616 #address-cells = <1>;
617 #size-cells = <1>;
618 compatible = "jedec,spi-nor";
619 reg = <0>;
620 spi-max-frequency = <80000000>;
621 spi-tx-bus-width = <4>;
622 spi-rx-bus-width = <4>;
623 m25p,fast-read;
624
625 at91bootstrap@0 {
626 label = "qspi: at91bootstrap";
627 reg = <0x0 0x40000>;
628 };
629
630 bootloader@40000 {
631 label = "qspi: bootloader";
632 reg = <0x40000 0xc0000>;
633 };
634
635 bootloaderenvred@100000 {
636 label = "qspi: bootloader env redundant";
637 reg = <0x100000 0x40000>;
638 };
639
640 bootloaderenv@140000 {
641 label = "qspi: bootloader env";
642 reg = <0x140000 0x40000>;
643 };
644
645 dtb@180000 {
646 label = "qspi: device tree";
647 reg = <0x180000 0x80000>;
648 };
649
650 kernel@200000 {
651 label = "qspi: kernel";
652 reg = <0x200000 0x600000>;
653 };
654 };
655 };
656
657 &rtt {
658 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
659 status = "okay";
660 };
661
662 &shutdown_controller {
663 debounce-delay-us = <976>;
664 status = "okay";
665
666 input@0 {
667 reg = <0>;
668 };
669 };
670
671 &tcb0 {
672 timer0: timer@0 {
673 compatible = "atmel,tcb-timer";
674 reg = <0>;
675 };
676
677 timer1: timer@1 {
678 compatible = "atmel,tcb-timer";
679 reg = <1>;
680 };
681 };
682
683 &usb0 {
684 atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
685 pinctrl-names = "default";
686 pinctrl-0 = <&pinctrl_usba_vbus>;
687 status = "okay";
688 };
689
690 &usb1 {
691 num-ports = <3>;
692 atmel,vbus-gpio = <0
693 &pioD 15 GPIO_ACTIVE_HIGH
694 &pioD 16 GPIO_ACTIVE_HIGH>;
695 pinctrl-names = "default";
696 pinctrl-0 = <&pinctrl_usb_default>;
697 status = "okay";
698 };
699
700 &usb2 {
701 status = "okay";
702 };
703
704 &watchdog {
705 status = "okay";
706 };
707
Cache object: 78f796f381cfdcec2d0bfa3d23603207
|