blob: eaba0de3f7ff04ce1f97b1a24e80d54c0120ab95 [file] [log] [blame]
Eugen Hristevdb55fd62022-03-07 16:29:42 +02001// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
Eugen Hristev0de35aa2020-03-10 11:56:38 +02002/*
Eugen Hristevdb55fd62022-03-07 16:29:42 +02003 * at91-sama7g5ek.dts - Device Tree file for SAMA7G5-EK board
Eugen Hristev0de35aa2020-03-10 11:56:38 +02004 *
Eugen Hristevdb55fd62022-03-07 16:29:42 +02005 * Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries
6 *
7 * Author: Eugen Hristev <eugen.hristev@microchip.com>
8 * Author: Claudiu Beznea <claudiu.beznea@microchip.com>
9 *
Eugen Hristev0de35aa2020-03-10 11:56:38 +020010 */
11/dts-v1/;
Eugen Hristev0de35aa2020-03-10 11:56:38 +020012#include "sama7g5-pinfunc.h"
Eugen Hristevdb55fd62022-03-07 16:29:42 +020013#include "sama7g5.dtsi"
14#include <dt-bindings/mfd/atmel-flexcom.h>
15#include <dt-bindings/input/input.h>
Tudor Ambarusd9a21d02021-11-03 19:07:41 +020016#include <dt-bindings/pinctrl/at91.h>
Eugen Hristev93f91ca2022-05-24 13:01:44 +030017#include <dt-bindings/sound/microchip,pdmc.h>
Eugen Hristev0de35aa2020-03-10 11:56:38 +020018
19/ {
Eugen Hristevdb55fd62022-03-07 16:29:42 +020020 model = "Microchip SAMA7G5-EK";
21 compatible = "microchip,sama7g5ek", "microchip,sama7g5", "microchip,sama7";
22
23 chosen {
24 bootargs = "rw root=/dev/mmcblk1p2 rootfstype=ext4 rootwait";
25 stdout-path = "serial0:115200n8";
26 };
Eugen Hristev0de35aa2020-03-10 11:56:38 +020027
28 aliases {
Eugen Hristevdb55fd62022-03-07 16:29:42 +020029 serial0 = &uart3;
30 serial1 = &uart4;
31 serial2 = &uart7;
32 serial3 = &uart0;
Eugen Hristevcb026542020-07-31 15:20:01 +030033 i2c0 = &i2c1;
Eugen Hristev5e158ae2022-01-04 18:23:36 +020034 i2c1 = &i2c8;
Eugen Hristevdb55fd62022-03-07 16:29:42 +020035 i2c2 = &i2c9;
Eugen Hristev0de35aa2020-03-10 11:56:38 +020036 };
37
Claudiu Bezneaedbf9302020-06-02 15:19:19 +030038 clocks {
Eugen Hristevdb55fd62022-03-07 16:29:42 +020039 slow_xtal {
Claudiu Bezneaedbf9302020-06-02 15:19:19 +030040 clock-frequency = <32768>;
41 };
42
Eugen Hristevdb55fd62022-03-07 16:29:42 +020043 main_xtal {
Claudiu Bezneaedbf9302020-06-02 15:19:19 +030044 clock-frequency = <24000000>;
45 };
46 };
47
Eugen Hristevdb55fd62022-03-07 16:29:42 +020048 gpio_keys {
49 compatible = "gpio-keys";
Eugen Hristev0de35aa2020-03-10 11:56:38 +020050
Eugen Hristevdb55fd62022-03-07 16:29:42 +020051 pinctrl-names = "default";
52 pinctrl-0 = <&pinctrl_key_gpio_default>;
Eugen Hristevfea6b4e2020-07-30 15:52:51 +030053
Eugen Hristevdb55fd62022-03-07 16:29:42 +020054 bp1 {
55 label = "PB_USER";
56 gpios = <&pioA PIN_PA12 GPIO_ACTIVE_LOW>;
57 linux,code = <KEY_PROG1>;
58 wakeup-source;
59 };
60 };
61
62 leds {
63 compatible = "gpio-leds";
64 pinctrl-names = "default";
65 pinctrl-0 = <&pinctrl_led_gpio_default>;
66 status = "okay"; /* Conflict with pwm. */
Eugen Hristev0de35aa2020-03-10 11:56:38 +020067
Eugen Hristevdb55fd62022-03-07 16:29:42 +020068 red_led {
69 label = "red";
70 gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
71 };
72
73 green_led {
74 label = "green";
75 gpios = <&pioA PIN_PA13 GPIO_ACTIVE_HIGH>;
76 };
77
78 blue_led {
79 label = "blue";
80 gpios = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>;
81 linux,default-trigger = "heartbeat";
82 };
83 };
84
85 /* 512 M */
86 memory@60000000 {
87 device_type = "memory";
88 reg = <0x60000000 0x20000000>;
89 };
90
91 sound: sound {
92 compatible = "simple-audio-card";
93 simple-audio-card,name = "sama7g5ek audio";
94 #address-cells = <1>;
95 #size-cells = <0>;
96 simple-audio-card,dai-link@0 {
97 reg = <0>;
98 cpu {
99 sound-dai = <&spdiftx>;
100 };
101 codec {
102 sound-dai = <&spdif_out>;
Eugen Hristev0de35aa2020-03-10 11:56:38 +0200103 };
104 };
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200105 simple-audio-card,dai-link@1 {
106 reg = <1>;
107 cpu {
108 sound-dai = <&spdifrx>;
109 };
110 codec {
111 sound-dai = <&spdif_in>;
112 };
113 };
114 };
115
116 spdif_in: spdif-in {
117 #sound-dai-cells = <0>;
118 compatible = "linux,spdif-dir";
Eugen Hristev0de35aa2020-03-10 11:56:38 +0200119 };
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200120
121 spdif_out: spdif-out {
122 #sound-dai-cells = <0>;
123 compatible = "linux,spdif-dit";
124 };
125};
126
127&adc {
128 vddana-supply = <&vddout25>;
129 vref-supply = <&vddout25>;
130 pinctrl-names = "default";
131 pinctrl-0 = <&pinctrl_mikrobus1_an_default &pinctrl_mikrobus2_an_default>;
132 status = "okay";
133};
134
135&can0 {
136 pinctrl-names = "default";
137 pinctrl-0 = <&pinctrl_can0_default>;
138 status = "okay";
139};
140
141&can1 {
142 pinctrl-names = "default";
143 pinctrl-0 = <&pinctrl_can1_default>;
144 status = "okay";
145};
146
147&cpu0 {
148 cpu-supply = <&vddcpu>;
Eugen Hristev0de35aa2020-03-10 11:56:38 +0200149};
Eugen Hristev83953652020-06-04 10:38:49 +0300150
Tudor Ambarusd9a21d02021-11-03 19:07:41 +0200151&qspi0 {
152 pinctrl-names = "default";
153 pinctrl-0 = <&pinctrl_qspi>;
154 status = "okay";
155
156 flash@0 {
157 #address-cells = <1>;
158 #size-cells = <1>;
159 compatible = "jedec,spi-nor";
160 reg = <0>;
161 spi-max-frequency = <133000000>;
162 spi-tx-bus-width = <8>;
163 spi-rx-bus-width = <8>;
164 m25p,fast-read;
165
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200166 at91bootstrap@0 {
167 label = "ospi: at91bootstrap";
168 reg = <0x0 0x40000>;
169 };
170
171 bootloader@40000 {
172 label = "ospi: bootloader";
173 reg = <0x40000 0xc0000>;
174 };
175
176 bootloaderenvred@100000 {
177 label = "ospi: bootloader env redundant";
178 reg = <0x100000 0x40000>;
179 };
180
181 bootloaderenv@140000 {
182 label = "ospi: bootloader env";
183 reg = <0x140000 0x40000>;
184 };
185
186 dtb@180000 {
187 label = "ospi: device tree";
188 reg = <0x180000 0x80000>;
189 };
190
191 kernel@200000 {
192 label = "ospi: kernel";
193 reg = <0x200000 0x600000>;
194 };
195
196 rootfs@800000 {
197 label = "ospi: rootfs";
198 reg = <0x800000 0x7800000>;
199 };
200
Tudor Ambarusd9a21d02021-11-03 19:07:41 +0200201 };
202};
203
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200204&dma0 {
205 status = "okay";
206};
207
208&dma1 {
209 status = "okay";
210};
211
212&dma2 {
213 status = "okay";
214};
215
216&flx0 {
217 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
218 status = "disabled";
219
220 uart0: serial@200 {
221 pinctrl-names = "default";
222 pinctrl-0 = <&pinctrl_flx0_default>;
223 status = "disabled";
224 };
225};
226
Eugen Hristevcb026542020-07-31 15:20:01 +0300227&flx1 {
Eugen Hristeveecfff02021-08-27 13:44:12 +0300228 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
Eugen Hristevcb026542020-07-31 15:20:01 +0300229 status = "okay";
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200230
231 i2c1: i2c@600 {
232 pinctrl-names = "default";
233 pinctrl-0 = <&pinctrl_i2c1_default>;
234 i2c-analog-filter;
235 i2c-digital-filter;
236 i2c-digital-filter-width-ns = <35>;
237 status = "okay";
238
239 mcp16502@5b {
240 compatible = "microchip,mcp16502";
241 reg = <0x5b>;
242 status = "okay";
243
244 regulators {
245 vdd_3v3: VDD_IO {
246 regulator-name = "VDD_IO";
247 regulator-min-microvolt = <1200000>;
248 regulator-max-microvolt = <3700000>;
249 regulator-initial-mode = <2>;
250 regulator-allowed-modes = <2>, <4>;
251 regulator-always-on;
252
253 regulator-state-standby {
254 regulator-on-in-suspend;
255 regulator-suspend-microvolt = <3300000>;
256 regulator-mode = <4>;
257 };
258
259 regulator-state-mem {
260 regulator-off-in-suspend;
261 regulator-mode = <4>;
262 };
263 };
264
265 vddioddr: VDD_DDR {
266 regulator-name = "VDD_DDR";
267 regulator-min-microvolt = <1300000>;
268 regulator-max-microvolt = <1450000>;
269 regulator-initial-mode = <2>;
270 regulator-allowed-modes = <2>, <4>;
271 regulator-always-on;
272
273 regulator-state-standby {
274 regulator-on-in-suspend;
275 regulator-suspend-microvolt = <1350000>;
276 regulator-mode = <4>;
277 };
278
279 regulator-state-mem {
280 regulator-on-in-suspend;
281 regulator-suspend-microvolt = <1350000>;
282 regulator-mode = <4>;
283 };
284 };
285
286 vddcore: VDD_CORE {
287 regulator-name = "VDD_CORE";
288 regulator-min-microvolt = <1100000>;
289 regulator-max-microvolt = <1850000>;
290 regulator-initial-mode = <2>;
291 regulator-allowed-modes = <2>, <4>;
292 regulator-always-on;
293
294 regulator-state-standby {
295 regulator-on-in-suspend;
296 regulator-suspend-voltage = <1150000>;
297 regulator-mode = <4>;
298 };
299
300 regulator-state-mem {
301 regulator-off-in-suspend;
302 regulator-mode = <4>;
303 };
304 };
305
306 vddcpu: VDD_OTHER {
307 regulator-name = "VDD_OTHER";
308 regulator-min-microvolt = <1050000>;
309 regulator-max-microvolt = <1850000>;
310 regulator-initial-mode = <2>;
311 regulator-allowed-modes = <2>, <4>;
312 regulator-ramp-delay = <3125>;
313 regulator-always-on;
314
315 regulator-state-standby {
316 regulator-on-in-suspend;
317 regulator-suspend-voltage = <1050000>;
318 regulator-mode = <4>;
319 };
320
321 regulator-state-mem {
322 regulator-off-in-suspend;
323 regulator-mode = <4>;
324 };
325 };
326
327 vldo1: LDO1 {
328 regulator-name = "LDO1";
329 regulator-min-microvolt = <1200000>;
330 regulator-max-microvolt = <3700000>;
331 regulator-always-on;
332
333 regulator-state-standby {
334 regulator-suspend-voltage = <1800000>;
335 regulator-on-in-suspend;
336 };
337
338 regulator-state-mem {
339 regulator-off-in-suspend;
340 };
341 };
342
343 vldo2: LDO2 {
344 regulator-name = "LDO2";
345 regulator-min-microvolt = <1200000>;
346 regulator-max-microvolt = <3700000>;
347
348 regulator-state-standby {
349 regulator-suspend-voltage = <1800000>;
350 regulator-on-in-suspend;
351 };
352
353 regulator-state-mem {
354 regulator-off-in-suspend;
355 };
356 };
357 };
358 };
359 };
Eugen Hristevcb026542020-07-31 15:20:01 +0300360};
361
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200362&flx3 {
363 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
Eugen Hristevcb026542020-07-31 15:20:01 +0300364 status = "okay";
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200365
366 uart3: serial@200 {
367 pinctrl-names = "default";
368 pinctrl-0 = <&pinctrl_flx3_default>;
369 status = "okay";
370 };
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200371};
Eugen Hristevcb026542020-07-31 15:20:01 +0300372
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200373&flx4 {
374 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
375 status = "okay";
376
377 uart4: serial@200 {
378 pinctrl-names = "default";
379 pinctrl-0 = <&pinctrl_flx4_default>;
380 status = "okay";
381 };
382};
383
384&flx7 {
385 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
386 status = "okay";
387
388 uart7: serial@200 {
389 pinctrl-names = "default";
390 pinctrl-0 = <&pinctrl_flx7_default>;
391 status = "okay";
392 };
393};
394
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200395&flx8 {
396 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
397 status = "okay";
398
399 i2c8: i2c@600 {
400 pinctrl-names = "default";
401 pinctrl-0 = <&pinctrl_i2c8_default>;
402 i2c-analog-filter;
403 i2c-digital-filter;
404 i2c-digital-filter-width-ns = <35>;
405 status = "okay";
Eugen Hristevcb026542020-07-31 15:20:01 +0300406
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200407 eeprom@52 {
Eugen Hristevd155a0c2022-05-26 17:04:54 +0300408 compatible = "atmel,24c02"; /* EEPROM is 2Kbits microchip 24aa025e48, an at24c02 with page size of 16 */
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200409 reg = <0x52>;
410 pagesize = <16>;
411 };
412
413 eeprom@53 {
Eugen Hristevd155a0c2022-05-26 17:04:54 +0300414 compatible = "atmel,24c02"; /* EEPROM is 2Kbits microchip 24aa025e48, an at24c02 with page size of 16 */
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200415 reg = <0x53>;
416 pagesize = <16>;
417 };
Eugen Hristevcb026542020-07-31 15:20:01 +0300418 };
419};
420
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200421&flx9 {
422 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
423 status = "okay";
424
425 i2c9: i2c@600 {
426 pinctrl-names = "default";
427 pinctrl-0 = <&pinctrl_i2c9_default>;
428 i2c-analog-filter;
429 i2c-digital-filter;
430 i2c-digital-filter-width-ns = <35>;
431 status = "okay";
432 };
433};
434
435&flx11 {
436 atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
437 status = "okay";
438
439 spi11: spi@400 {
440 pinctrl-names = "default";
441 pinctrl-0 = <&pinctrl_mikrobus1_spi &pinctrl_mikrobus1_spi_cs>;
442 status = "okay";
443 };
444};
445
Claudiu Beznea45cca2b2020-06-09 13:53:00 +0300446&gmac0 {
447 #address-cells = <1>;
448 #size-cells = <0>;
449 pinctrl-names = "default";
Codrin Ciubotariude104042022-01-28 13:10:10 +0200450 pinctrl-0 = <&pinctrl_gmac0_default
451 &pinctrl_gmac0_mdio_default
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200452 &pinctrl_gmac0_txck_default
453 &pinctrl_gmac0_phy_irq>;
Claudiu Beznea45cca2b2020-06-09 13:53:00 +0300454 phy-mode = "rgmii-id";
455 status = "okay";
456
457 ethernet-phy@7 {
458 reg = <0x7>;
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200459 interrupt-parent = <&pioA>;
460 interrupts = <PIN_PA31 IRQ_TYPE_LEVEL_LOW>;
Claudiu Beznea45cca2b2020-06-09 13:53:00 +0300461 };
462};
463
Claudiu Beznea44550122020-06-09 13:53:45 +0300464&gmac1 {
465 #address-cells = <1>;
466 #size-cells = <0>;
467 pinctrl-names = "default";
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200468 pinctrl-0 = <&pinctrl_gmac1_default
469 &pinctrl_gmac1_mdio_default
470 &pinctrl_gmac1_phy_irq>;
Claudiu Beznea44550122020-06-09 13:53:45 +0300471 phy-mode = "rmii";
Eugen Hristev93f91ca2022-05-24 13:01:44 +0300472 status = "okay"; /* Conflict with pdmc0. */
Claudiu Beznea44550122020-06-09 13:53:45 +0300473
474 ethernet-phy@0 {
475 reg = <0x0>;
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200476 interrupt-parent = <&pioA>;
477 interrupts = <PIN_PA21 IRQ_TYPE_LEVEL_LOW>;
Claudiu Beznea44550122020-06-09 13:53:45 +0300478 };
479};
480
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200481&i2s0 {
482 pinctrl-names = "default";
483 pinctrl-0 = <&pinctrl_i2s0_default>;
484};
485
Eugen Hristev93f91ca2022-05-24 13:01:44 +0300486&pdmc0 {
487 #sound-dai-cells = <0>;
488 microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 1 */
489 <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 2 */
490 <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, /* MIC 3 */
491 <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>; /* MIC 4 */
492 status = "disabled"; /* Conflict with gmac1. */
493 pinctrl-names = "default";
494 pinctrl-0 = <&pinctrl_pdmc0_default>;
495};
496
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200497&pioA {
498
499 pinctrl_can0_default: can0_default {
500 pinmux = <PIN_PD12__CANTX0>,
501 <PIN_PD13__CANRX0 >;
502 bias-disable;
503 };
504
505 pinctrl_can1_default: can1_default {
506 pinmux = <PIN_PD14__CANTX1>,
507 <PIN_PD15__CANRX1 >;
508 bias-disable;
509 };
510
511 pinctrl_flx0_default: flx0_default {
512 pinmux = <PIN_PE3__FLEXCOM0_IO0>,
513 <PIN_PE4__FLEXCOM0_IO1>,
514 <PIN_PE6__FLEXCOM0_IO3>,
515 <PIN_PE7__FLEXCOM0_IO4>;
Eugen Hristevcb026542020-07-31 15:20:01 +0300516 bias-disable;
517 };
518
Eugen Hristev83953652020-06-04 10:38:49 +0300519 pinctrl_flx3_default: flx3_default {
520 pinmux = <PIN_PD16__FLEXCOM3_IO0>,
521 <PIN_PD17__FLEXCOM3_IO1>;
Eugen Hristev996812f2021-01-28 10:14:11 +0200522 bias-pull-up;
Eugen Hristev83953652020-06-04 10:38:49 +0300523 };
524
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200525 pinctrl_flx4_default: flx4_default {
526 pinmux = <PIN_PD18__FLEXCOM4_IO0>,
527 <PIN_PD19__FLEXCOM4_IO1>;
528 bias-disable;
529 };
530
531 pinctrl_flx7_default: flx7_default {
532 pinmux = <PIN_PC23__FLEXCOM7_IO0>,
533 <PIN_PC24__FLEXCOM7_IO1>;
534 bias-disable;
535 };
536
537 pinctrl_gmac0_default: gmac0_default {
538 pinmux = <PIN_PA16__G0_TX0>,
539 <PIN_PA17__G0_TX1>,
540 <PIN_PA26__G0_TX2>,
541 <PIN_PA27__G0_TX3>,
542 <PIN_PA19__G0_RX0>,
543 <PIN_PA20__G0_RX1>,
544 <PIN_PA28__G0_RX2>,
545 <PIN_PA29__G0_RX3>,
546 <PIN_PA15__G0_TXEN>,
547 <PIN_PA30__G0_RXCK>,
548 <PIN_PA18__G0_RXDV>,
549 <PIN_PA25__G0_125CK>;
550 slew-rate = <0>;
551 bias-disable;
552 };
553
554 pinctrl_gmac0_mdio_default: gmac0_mdio_default {
555 pinmux = <PIN_PA22__G0_MDC>,
556 <PIN_PA23__G0_MDIO>;
557 bias-disable;
558 };
559
560 pinctrl_gmac0_txck_default: gmac0_txck_default {
561 pinmux = <PIN_PA24__G0_TXCK>;
562 slew-rate = <0>;
563 bias-pull-up;
564 };
565
566 pinctrl_gmac0_phy_irq: gmac0_phy_irq {
567 pinmux = <PIN_PA31__GPIO>;
568 bias-disable;
569 };
570
571 pinctrl_gmac1_default: gmac1_default {
572 pinmux = <PIN_PD30__G1_TXCK>,
573 <PIN_PD22__G1_TX0>,
574 <PIN_PD23__G1_TX1>,
575 <PIN_PD21__G1_TXEN>,
576 <PIN_PD25__G1_RX0>,
577 <PIN_PD26__G1_RX1>,
578 <PIN_PD27__G1_RXER>,
579 <PIN_PD24__G1_RXDV>;
580 slew-rate = <0>;
581 bias-disable;
582 };
583
584 pinctrl_gmac1_mdio_default: gmac1_mdio_default {
585 pinmux = <PIN_PD28__G1_MDC>,
586 <PIN_PD29__G1_MDIO>;
587 bias-disable;
588 };
589
590 pinctrl_gmac1_phy_irq: gmac1_phy_irq {
591 pinmux = <PIN_PA21__GPIO>;
592 bias-disable;
593 };
594
595 pinctrl_i2c1_default: i2c1_default {
596 pinmux = <PIN_PC9__FLEXCOM1_IO0>,
597 <PIN_PC10__FLEXCOM1_IO1>;
598 bias-disable;
599 };
600
Eugen Hristev5e158ae2022-01-04 18:23:36 +0200601 pinctrl_i2c8_default: i2c8_default {
602 pinmux = <PIN_PC14__FLEXCOM8_IO0>,
603 <PIN_PC13__FLEXCOM8_IO1>;
604 bias-disable;
605 };
606
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200607 pinctrl_i2c9_default: i2c9_default {
608 pinmux = <PIN_PC18__FLEXCOM9_IO0>,
609 <PIN_PC19__FLEXCOM9_IO1>;
610 bias-disable;
611 };
612
613 pinctrl_i2s0_default: i2s0_default {
614 pinmux = <PIN_PB23__I2SMCC0_CK>,
615 <PIN_PB24__I2SMCC0_WS>,
616 <PIN_PB25__I2SMCC0_DOUT1>,
617 <PIN_PB26__I2SMCC0_DOUT0>,
618 <PIN_PB27__I2SMCC0_MCK>;
619 bias-disable;
620 };
621
622 pinctrl_key_gpio_default: key_gpio_default {
623 pinmux = <PIN_PA12__GPIO>;
624 bias-pull-up;
625 };
626
627 pinctrl_led_gpio_default: led_gpio_default {
628 pinmux = <PIN_PA13__GPIO>,
629 <PIN_PB8__GPIO>,
630 <PIN_PD20__GPIO>;
631 bias-pull-up;
632 };
633
634 pinctrl_mikrobus1_an_default: mikrobus1_an_default {
635 pinmux = <PIN_PD0__GPIO>;
636 bias-disable;
637 };
638
639 pinctrl_mikrobus2_an_default: mikrobus2_an_default {
640 pinmux = <PIN_PD1__GPIO>;
641 bias-disable;
642 };
643
644 pinctrl_mikrobus1_pwm2_default: mikrobus1_pwm2_default {
645 pinmux = <PIN_PA13__PWMH2>;
646 bias-disable;
647 };
648
649 pinctrl_mikrobus2_pwm3_default: mikrobus2_pwm3_default {
650 pinmux = <PIN_PD20__PWMH3>;
651 bias-disable;
652 };
653
654 pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs {
655 pinmux = <PIN_PB6__FLEXCOM11_IO3>;
656 bias-disable;
657 };
658
659 pinctrl_mikrobus1_spi: mikrobus1_spi {
660 pinmux = <PIN_PB3__FLEXCOM11_IO0>,
661 <PIN_PB4__FLEXCOM11_IO1>,
662 <PIN_PB5__FLEXCOM11_IO2>;
663 bias-disable;
664 };
665
Eugen Hristev93f91ca2022-05-24 13:01:44 +0300666 pinctrl_pdmc0_default: pdmc0_default {
667 pinmux = <PIN_PD23__PDMC0_DS0>,
668 <PIN_PD24__PDMC0_DS1>,
669 <PIN_PD22__PDMC0_CLK>;
670 bias_disable;
671 };
672
Tudor Ambarusd9a21d02021-11-03 19:07:41 +0200673 pinctrl_qspi: qspi {
674 pinmux = <PIN_PB12__QSPI0_IO0>,
675 <PIN_PB11__QSPI0_IO1>,
676 <PIN_PB10__QSPI0_IO2>,
677 <PIN_PB9__QSPI0_IO3>,
678 <PIN_PB16__QSPI0_IO4>,
679 <PIN_PB17__QSPI0_IO5>,
680 <PIN_PB18__QSPI0_IO6>,
681 <PIN_PB19__QSPI0_IO7>,
682 <PIN_PB13__QSPI0_CS>,
683 <PIN_PB14__QSPI0_SCK>,
684 <PIN_PB15__QSPI0_SCKN>,
685 <PIN_PB20__QSPI0_DQS>,
686 <PIN_PB21__QSPI0_INT>;
687 bias-disable;
688 slew-rate = <0>;
Tudor Ambaruse95e3f62022-04-08 12:10:36 +0300689 atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
Tudor Ambarusd9a21d02021-11-03 19:07:41 +0200690 };
691
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200692 pinctrl_sdmmc0_default: sdmmc0_default {
Eugen Hristevfea6b4e2020-07-30 15:52:51 +0300693 pinmux = <PIN_PA1__SDMMC0_CMD>,
694 <PIN_PA3__SDMMC0_DAT0>,
695 <PIN_PA4__SDMMC0_DAT1>,
696 <PIN_PA5__SDMMC0_DAT2>,
697 <PIN_PA6__SDMMC0_DAT3>,
698 <PIN_PA7__SDMMC0_DAT4>,
699 <PIN_PA8__SDMMC0_DAT5>,
700 <PIN_PA9__SDMMC0_DAT6>,
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200701 <PIN_PA10__SDMMC0_DAT7>,
702 <PIN_PA0__SDMMC0_CK>,
Eugen Hristevfea6b4e2020-07-30 15:52:51 +0300703 <PIN_PA2__SDMMC0_RSTN>,
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200704 <PIN_PA14__SDMMC0_CD>,
705 <PIN_PA11__SDMMC0_DS>;
706 slew-rate = <0>;
707 bias-pull-up;
Eugen Hristevfea6b4e2020-07-30 15:52:51 +0300708 };
709
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200710 pinctrl_sdmmc1_default: sdmmc1_default {
Eugen Hristev83953652020-06-04 10:38:49 +0300711 pinmux = <PIN_PB29__SDMMC1_CMD>,
712 <PIN_PB31__SDMMC1_DAT0>,
713 <PIN_PC0__SDMMC1_DAT1>,
714 <PIN_PC1__SDMMC1_DAT2>,
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200715 <PIN_PC2__SDMMC1_DAT3>,
716 <PIN_PB30__SDMMC1_CK>,
Eugen Hristev83953652020-06-04 10:38:49 +0300717 <PIN_PB28__SDMMC1_RSTN>,
718 <PIN_PC5__SDMMC1_1V8SEL>,
719 <PIN_PC4__SDMMC1_CD>;
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200720 slew-rate = <0>;
Eugen Hristev83953652020-06-04 10:38:49 +0300721 bias-pull-up;
722 };
Claudiu Beznea45cca2b2020-06-09 13:53:00 +0300723
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200724 pinctrl_sdmmc2_default: sdmmc2_default {
725 pinmux = <PIN_PD3__SDMMC2_CMD>,
726 <PIN_PD5__SDMMC2_DAT0>,
727 <PIN_PD6__SDMMC2_DAT1>,
728 <PIN_PD7__SDMMC2_DAT2>,
729 <PIN_PD8__SDMMC2_DAT3>,
730 <PIN_PD4__SDMMC2_CK>;
Codrin Ciubotariude104042022-01-28 13:10:10 +0200731 slew-rate = <0>;
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200732 bias-pull-up;
733 };
734
735 pinctrl_spdifrx_default: spdifrx_default {
736 pinmux = <PIN_PB0__SPDIF_RX>;
Claudiu Beznea45cca2b2020-06-09 13:53:00 +0300737 bias-disable;
738 };
Claudiu Beznea44550122020-06-09 13:53:45 +0300739
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200740 pinctrl_spdiftx_default: spdiftx_default {
741 pinmux = <PIN_PB1__SPDIF_TX>;
Codrin Ciubotariude104042022-01-28 13:10:10 +0200742 bias-disable;
743 };
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200744};
Codrin Ciubotariude104042022-01-28 13:10:10 +0200745
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200746&pwm {
747 pinctrl-names = "default";
748 pinctrl-0 = <&pinctrl_mikrobus1_pwm2_default &pinctrl_mikrobus2_pwm3_default>;
749 status = "disabled"; /* Conflict with leds. */
750};
751
752&rtt {
753 atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
754};
755
756&sdmmc0 {
757 bus-width = <8>;
758 non-removable;
759 no-1-8-v;
760 sdhci-caps-mask = <0x0 0x00200000>;
761 pinctrl-names = "default";
762 pinctrl-0 = <&pinctrl_sdmmc0_default>;
763 status = "okay";
764};
765
766&sdmmc1 {
767 bus-width = <4>;
768 no-1-8-v;
769 sdhci-caps-mask = <0x0 0x00200000>;
770 pinctrl-names = "default";
771 pinctrl-0 = <&pinctrl_sdmmc1_default>;
772 status = "okay";
773};
774
775&sdmmc2 {
776 bus-width = <4>;
777 no-1-8-v;
778 sdhci-caps-mask = <0x0 0x00200000>;
779 pinctrl-names = "default";
780 pinctrl-0 = <&pinctrl_sdmmc2_default>;
781};
782
783&shdwc {
784 atmel,shdwc-debouncer = <976>;
785 status = "okay";
786
787 input@0 {
788 reg = <0>;
Nicolas Ferre8c011dd2020-10-30 18:33:14 +0100789 };
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200790};
Nicolas Ferre8c011dd2020-10-30 18:33:14 +0100791
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200792&spdifrx {
793 pinctrl-names = "default";
794 pinctrl-0 = <&pinctrl_spdifrx_default>;
795 status = "okay";
796};
797
798&spdiftx {
799 pinctrl-names = "default";
800 pinctrl-0 = <&pinctrl_spdiftx_default>;
801 status = "okay";
802};
803
804&tcb0 {
805 timer0: timer@0 {
806 compatible = "atmel,tcb-timer";
807 reg = <0>;
Codrin Ciubotariude104042022-01-28 13:10:10 +0200808 };
809
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200810 timer1: timer@1 {
811 compatible = "atmel,tcb-timer";
812 reg = <1>;
Claudiu Beznea44550122020-06-09 13:53:45 +0300813 };
Eugen Hristev83953652020-06-04 10:38:49 +0300814};
Eugen Hristevdb55fd62022-03-07 16:29:42 +0200815
816&trng {
817 status = "okay";
818};
819
820&vddout25 {
821 vin-supply = <&vdd_3v3>;
822 status = "okay";
823};