xref: /linux/arch/arm/boot/dts/microchip/at91-sama7g5ek.dts (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 *  at91-sama7g5ek.dts - Device Tree file for SAMA7G5-EK board
4 *
5 *  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 *
10 */
11/dts-v1/;
12#include "sama7g5-pinfunc.h"
13#include "sama7g5.dtsi"
14#include <dt-bindings/mfd/atmel-flexcom.h>
15#include <dt-bindings/input/input.h>
16#include <dt-bindings/pinctrl/at91.h>
17#include <dt-bindings/sound/microchip,pdmc.h>
18
19/ {
20	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	};
27
28	aliases {
29		serial0 = &uart3;
30		serial1 = &uart4;
31		serial2 = &uart7;
32		serial3 = &uart0;
33		i2c0 = &i2c1;
34		i2c1 = &i2c8;
35		i2c2 = &i2c9;
36	};
37
38	clocks {
39		slow_xtal {
40			clock-frequency = <32768>;
41		};
42
43		main_xtal {
44			clock-frequency = <24000000>;
45		};
46	};
47
48	gpio-keys {
49		compatible = "gpio-keys";
50
51		pinctrl-names = "default";
52		pinctrl-0 = <&pinctrl_key_gpio_default>;
53
54		button {
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. */
67
68		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	reg_5v: regulator-5v {
92		compatible = "regulator-fixed";
93		regulator-name = "5V_MAIN";
94		regulator-min-microvolt = <5000000>;
95		regulator-max-microvolt = <5000000>;
96		regulator-always-on;
97	};
98
99	sound: sound {
100		compatible = "simple-audio-card";
101		simple-audio-card,name = "sama7g5ek audio";
102		#address-cells = <1>;
103		#size-cells = <0>;
104		simple-audio-card,dai-link@0 {
105			reg = <0>;
106			cpu {
107				sound-dai = <&spdiftx>;
108			};
109			codec {
110				sound-dai = <&spdif_out>;
111			};
112		};
113		simple-audio-card,dai-link@1 {
114			reg = <1>;
115			cpu {
116				sound-dai = <&spdifrx>;
117			};
118			codec {
119				sound-dai = <&spdif_in>;
120			};
121		};
122	};
123
124	spdif_in: spdif-in {
125		#sound-dai-cells = <0>;
126		compatible = "linux,spdif-dir";
127	};
128
129	spdif_out: spdif-out {
130		#sound-dai-cells = <0>;
131		compatible = "linux,spdif-dit";
132	};
133};
134
135&adc {
136	vddana-supply = <&vddout25>;
137	vref-supply = <&vddout25>;
138	pinctrl-names = "default";
139	pinctrl-0 = <&pinctrl_mikrobus1_an_default &pinctrl_mikrobus2_an_default>;
140	status = "okay";
141};
142
143&can0 {
144	pinctrl-names = "default";
145	pinctrl-0 = <&pinctrl_can0_default>;
146	status = "okay";
147};
148
149&can1 {
150	pinctrl-names = "default";
151	pinctrl-0 = <&pinctrl_can1_default>;
152	status = "okay";
153};
154
155&cpu0 {
156	cpu-supply = <&vddcpu>;
157};
158
159&qspi0 {
160	pinctrl-names = "default";
161	pinctrl-0 = <&pinctrl_qspi>;
162	status = "okay";
163
164	flash@0 {
165		#address-cells = <1>;
166		#size-cells = <1>;
167		compatible = "jedec,spi-nor";
168		reg = <0>;
169		spi-max-frequency = <133000000>;
170		spi-tx-bus-width = <8>;
171		spi-rx-bus-width = <8>;
172		m25p,fast-read;
173
174		at91bootstrap@0 {
175			label = "ospi: at91bootstrap";
176			reg = <0x0 0x40000>;
177		};
178
179		bootloader@40000 {
180			label = "ospi: bootloader";
181			reg = <0x40000 0xc0000>;
182		};
183
184		bootloaderenvred@100000 {
185			label = "ospi: bootloader env redundant";
186			reg = <0x100000 0x40000>;
187		};
188
189		bootloaderenv@140000 {
190			label = "ospi: bootloader env";
191			reg = <0x140000 0x40000>;
192		};
193
194		dtb@180000 {
195			label = "ospi: device tree";
196			reg = <0x180000 0x80000>;
197		};
198
199		kernel@200000 {
200			label = "ospi: kernel";
201			reg = <0x200000 0x600000>;
202		};
203
204		rootfs@800000 {
205			label = "ospi: rootfs";
206			reg = <0x800000 0x7800000>;
207		};
208
209	};
210};
211
212&dma0 {
213	status = "okay";
214};
215
216&dma1 {
217	status = "okay";
218};
219
220&dma2 {
221	status = "okay";
222};
223
224&flx0 {
225	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
226	status = "disabled";
227
228	uart0: serial@200 {
229		pinctrl-names = "default";
230		pinctrl-0 = <&pinctrl_flx0_default>;
231		status = "disabled";
232	};
233};
234
235&flx1 {
236	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
237	status = "okay";
238
239	i2c1: i2c@600 {
240		pinctrl-names = "default";
241		pinctrl-0 = <&pinctrl_i2c1_default>;
242		i2c-analog-filter;
243		i2c-digital-filter;
244		i2c-digital-filter-width-ns = <35>;
245		status = "okay";
246
247		power-monitor@10 {
248			compatible = "microchip,pac1934";
249			reg = <0x10>;
250			#address-cells = <1>;
251			#size-cells = <0>;
252
253			channel@1 {
254				reg = <0x1>;
255				shunt-resistor-micro-ohms = <10000>;
256				label = "VDD3V3";
257			};
258
259			channel@2 {
260				reg = <0x2>;
261				shunt-resistor-micro-ohms = <10000>;
262				label = "VDDIODDR";
263			};
264
265			channel@3 {
266				reg = <0x3>;
267				shunt-resistor-micro-ohms = <10000>;
268				label = "VDDCORE";
269			};
270
271			channel@4 {
272				reg = <0x4>;
273				shunt-resistor-micro-ohms = <10000>;
274				label = "VDDCPU";
275			};
276		};
277
278		pmic@5b {
279			compatible = "microchip,mcp16502";
280			reg = <0x5b>;
281			lvin-supply = <&reg_5v>;
282			pvin1-supply = <&reg_5v>;
283			pvin2-supply = <&reg_5v>;
284			pvin3-supply = <&reg_5v>;
285			pvin4-supply = <&reg_5v>;
286			status = "okay";
287
288			regulators {
289				vdd_3v3: VDD_IO {
290					regulator-name = "VDD_IO";
291					regulator-min-microvolt = <3300000>;
292					regulator-max-microvolt = <3300000>;
293					regulator-initial-mode = <2>;
294					regulator-allowed-modes = <2>, <4>;
295					regulator-always-on;
296
297					regulator-state-standby {
298						regulator-on-in-suspend;
299						regulator-suspend-microvolt = <3300000>;
300						regulator-mode = <4>;
301					};
302
303					regulator-state-mem {
304						regulator-off-in-suspend;
305						regulator-mode = <4>;
306					};
307				};
308
309				vddioddr: VDD_DDR {
310					regulator-name = "VDD_DDR";
311					regulator-min-microvolt = <1350000>;
312					regulator-max-microvolt = <1350000>;
313					regulator-initial-mode = <2>;
314					regulator-allowed-modes = <2>, <4>;
315					regulator-always-on;
316
317					regulator-state-standby {
318						regulator-on-in-suspend;
319						regulator-suspend-microvolt = <1350000>;
320						regulator-mode = <4>;
321					};
322
323					regulator-state-mem {
324						regulator-on-in-suspend;
325						regulator-suspend-microvolt = <1350000>;
326						regulator-mode = <4>;
327					};
328				};
329
330				vddcore: VDD_CORE {
331					regulator-name = "VDD_CORE";
332					regulator-min-microvolt = <1150000>;
333					regulator-max-microvolt = <1150000>;
334					regulator-initial-mode = <2>;
335					regulator-allowed-modes = <2>, <4>;
336					regulator-always-on;
337
338					regulator-state-standby {
339						regulator-on-in-suspend;
340						regulator-suspend-microvolt = <1150000>;
341						regulator-mode = <4>;
342					};
343
344					regulator-state-mem {
345						regulator-off-in-suspend;
346						regulator-mode = <4>;
347					};
348				};
349
350				vddcpu: VDD_OTHER {
351					regulator-name = "VDD_OTHER";
352					regulator-min-microvolt = <1050000>;
353					regulator-max-microvolt = <1250000>;
354					regulator-initial-mode = <2>;
355					regulator-allowed-modes = <2>, <4>;
356					regulator-ramp-delay = <3125>;
357					regulator-always-on;
358
359					regulator-state-standby {
360						regulator-on-in-suspend;
361						regulator-suspend-microvolt = <1050000>;
362						regulator-mode = <4>;
363					};
364
365					regulator-state-mem {
366						regulator-off-in-suspend;
367						regulator-mode = <4>;
368					};
369				};
370
371				vldo1: LDO1 {
372					regulator-name = "LDO1";
373					regulator-min-microvolt = <1800000>;
374					regulator-max-microvolt = <1800000>;
375					regulator-always-on;
376
377					regulator-state-standby {
378						regulator-suspend-microvolt = <1800000>;
379						regulator-on-in-suspend;
380					};
381
382					regulator-state-mem {
383						regulator-off-in-suspend;
384					};
385				};
386
387				vldo2: LDO2 {
388					regulator-name = "LDO2";
389					regulator-min-microvolt = <1200000>;
390					regulator-max-microvolt = <3700000>;
391
392					regulator-state-standby {
393						regulator-suspend-microvolt = <1800000>;
394						regulator-on-in-suspend;
395					};
396
397					regulator-state-mem {
398						regulator-off-in-suspend;
399					};
400				};
401			};
402		};
403	};
404};
405
406&flx3 {
407	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
408	status = "okay";
409
410	uart3: serial@200 {
411		pinctrl-names = "default";
412		pinctrl-0 = <&pinctrl_flx3_default>;
413		status = "okay";
414	};
415};
416
417&flx4 {
418	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
419	status = "okay";
420
421	uart4: serial@200 {
422		pinctrl-names = "default";
423		pinctrl-0 = <&pinctrl_flx4_default>;
424		status = "okay";
425	};
426};
427
428&flx7 {
429	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
430	status = "okay";
431
432	uart7: serial@200 {
433		pinctrl-names = "default";
434		pinctrl-0 = <&pinctrl_flx7_default>;
435		status = "okay";
436	};
437};
438
439&flx8 {
440	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
441	status = "okay";
442
443	i2c8: i2c@600 {
444		pinctrl-names = "default";
445		pinctrl-0 = <&pinctrl_i2c8_default>;
446		i2c-analog-filter;
447		i2c-digital-filter;
448		i2c-digital-filter-width-ns = <35>;
449		status = "okay";
450
451		eeprom0: eeprom@52 {
452			compatible = "microchip,24aa025e48";
453			reg = <0x52>;
454			size = <256>;
455			pagesize = <16>;
456			vcc-supply = <&vdd_3v3>;
457
458			nvmem-layout {
459				compatible = "fixed-layout";
460				#address-cells = <1>;
461				#size-cells = <1>;
462
463				eeprom0_eui48: eui48@fa {
464					reg = <0xfa 0x6>;
465				};
466			};
467		};
468
469		eeprom1: eeprom@53 {
470			compatible = "microchip,24aa025e48";
471			reg = <0x53>;
472			size = <256>;
473			pagesize = <16>;
474			vcc-supply = <&vdd_3v3>;
475
476			nvmem-layout {
477				compatible = "fixed-layout";
478				#address-cells = <1>;
479				#size-cells = <1>;
480
481				eeprom1_eui48: eui48@fa {
482					reg = <0xfa 0x6>;
483				};
484			};
485		};
486	};
487};
488
489&flx9 {
490	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
491	status = "okay";
492
493	i2c9: i2c@600 {
494		pinctrl-names = "default";
495		pinctrl-0 = <&pinctrl_i2c9_default>;
496		i2c-analog-filter;
497		i2c-digital-filter;
498		i2c-digital-filter-width-ns = <35>;
499		status = "okay";
500	};
501};
502
503&flx11 {
504	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
505	status = "okay";
506
507	spi11: spi@400 {
508		pinctrl-names = "default";
509		pinctrl-0 = <&pinctrl_mikrobus1_spi &pinctrl_mikrobus1_spi_cs>;
510		status = "okay";
511	};
512};
513
514&gmac0 {
515	#address-cells = <1>;
516	#size-cells = <0>;
517	pinctrl-names = "default";
518	pinctrl-0 = <&pinctrl_gmac0_default
519		     &pinctrl_gmac0_mdio_default
520		     &pinctrl_gmac0_txck_default
521		     &pinctrl_gmac0_phy_irq>;
522	phy-mode = "rgmii-id";
523	nvmem-cells = <&eeprom0_eui48>;
524	nvmem-cell-names = "mac-address";
525	status = "okay";
526
527	ethernet-phy@7 {
528		reg = <0x7>;
529		interrupt-parent = <&pioA>;
530		interrupts = <PIN_PA31 IRQ_TYPE_LEVEL_LOW>;
531	};
532};
533
534&gmac1 {
535	#address-cells = <1>;
536	#size-cells = <0>;
537	pinctrl-names = "default";
538	pinctrl-0 = <&pinctrl_gmac1_default
539		     &pinctrl_gmac1_mdio_default
540		     &pinctrl_gmac1_phy_irq>;
541	phy-mode = "rmii";
542	nvmem-cells = <&eeprom1_eui48>;
543	nvmem-cell-names = "mac-address";
544	status = "okay"; /* Conflict with pdmc0. */
545
546	ethernet-phy@0 {
547		reg = <0x0>;
548		interrupt-parent = <&pioA>;
549		interrupts = <PIN_PA21 IRQ_TYPE_LEVEL_LOW>;
550	};
551};
552
553&i2s0 {
554	pinctrl-names = "default";
555	pinctrl-0 = <&pinctrl_i2s0_default>;
556};
557
558&pdmc0 {
559	#sound-dai-cells = <0>;
560	microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 1 */
561			    <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 2 */
562			    <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, /* MIC 3 */
563			    <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>; /* MIC 4 */
564	status = "disabled"; /* Conflict with gmac1. */
565	pinctrl-names = "default";
566	pinctrl-0 = <&pinctrl_pdmc0_default>;
567};
568
569&pioA {
570
571	pinctrl_can0_default: can0_default {
572		pinmux = <PIN_PD12__CANTX0>,
573			 <PIN_PD13__CANRX0 >;
574		bias-disable;
575	};
576
577	pinctrl_can1_default: can1_default {
578		pinmux = <PIN_PD14__CANTX1>,
579			 <PIN_PD15__CANRX1 >;
580		bias-disable;
581	};
582
583	pinctrl_flx0_default: flx0_default {
584		pinmux = <PIN_PE3__FLEXCOM0_IO0>,
585			 <PIN_PE4__FLEXCOM0_IO1>,
586			 <PIN_PE6__FLEXCOM0_IO3>,
587			 <PIN_PE7__FLEXCOM0_IO4>;
588		bias-disable;
589	};
590
591	pinctrl_flx3_default: flx3_default {
592		pinmux = <PIN_PD16__FLEXCOM3_IO0>,
593			 <PIN_PD17__FLEXCOM3_IO1>;
594		bias-pull-up;
595	};
596
597	pinctrl_flx4_default: flx4_default {
598		pinmux = <PIN_PD18__FLEXCOM4_IO0>,
599			 <PIN_PD19__FLEXCOM4_IO1>;
600		bias-disable;
601	};
602
603	pinctrl_flx7_default: flx7_default {
604		pinmux = <PIN_PC23__FLEXCOM7_IO0>,
605			 <PIN_PC24__FLEXCOM7_IO1>;
606		bias-disable;
607	};
608
609	pinctrl_gmac0_default: gmac0_default {
610		pinmux = <PIN_PA16__G0_TX0>,
611			 <PIN_PA17__G0_TX1>,
612			 <PIN_PA26__G0_TX2>,
613			 <PIN_PA27__G0_TX3>,
614			 <PIN_PA19__G0_RX0>,
615			 <PIN_PA20__G0_RX1>,
616			 <PIN_PA28__G0_RX2>,
617			 <PIN_PA29__G0_RX3>,
618			 <PIN_PA15__G0_TXEN>,
619			 <PIN_PA30__G0_RXCK>,
620			 <PIN_PA18__G0_RXDV>,
621			 <PIN_PA25__G0_125CK>;
622		slew-rate = <0>;
623		bias-disable;
624	};
625
626	pinctrl_gmac0_mdio_default: gmac0_mdio_default {
627		pinmux = <PIN_PA22__G0_MDC>,
628			 <PIN_PA23__G0_MDIO>;
629		bias-disable;
630	};
631
632	pinctrl_gmac0_txck_default: gmac0_txck_default {
633		pinmux = <PIN_PA24__G0_TXCK>;
634		slew-rate = <0>;
635		bias-pull-up;
636	};
637
638	pinctrl_gmac0_phy_irq: gmac0_phy_irq {
639		pinmux = <PIN_PA31__GPIO>;
640		bias-disable;
641	};
642
643	pinctrl_gmac1_default: gmac1_default {
644		pinmux = <PIN_PD30__G1_TXCK>,
645			 <PIN_PD22__G1_TX0>,
646			 <PIN_PD23__G1_TX1>,
647			 <PIN_PD21__G1_TXEN>,
648			 <PIN_PD25__G1_RX0>,
649			 <PIN_PD26__G1_RX1>,
650			 <PIN_PD27__G1_RXER>,
651			 <PIN_PD24__G1_RXDV>;
652		slew-rate = <0>;
653		bias-disable;
654	};
655
656	pinctrl_gmac1_mdio_default: gmac1_mdio_default {
657		pinmux = <PIN_PD28__G1_MDC>,
658			 <PIN_PD29__G1_MDIO>;
659		bias-disable;
660	};
661
662	pinctrl_gmac1_phy_irq: gmac1_phy_irq {
663		pinmux = <PIN_PA21__GPIO>;
664		bias-disable;
665	};
666
667	pinctrl_i2c1_default: i2c1_default {
668		pinmux = <PIN_PC9__FLEXCOM1_IO0>,
669			 <PIN_PC10__FLEXCOM1_IO1>;
670		bias-disable;
671	};
672
673	pinctrl_i2c8_default: i2c8_default {
674		pinmux = <PIN_PC14__FLEXCOM8_IO0>,
675			 <PIN_PC13__FLEXCOM8_IO1>;
676		bias-disable;
677	};
678
679	pinctrl_i2c9_default: i2c9_default {
680		pinmux = <PIN_PC18__FLEXCOM9_IO0>,
681			 <PIN_PC19__FLEXCOM9_IO1>;
682		bias-disable;
683	};
684
685	pinctrl_i2s0_default: i2s0_default {
686		pinmux = <PIN_PB23__I2SMCC0_CK>,
687			 <PIN_PB24__I2SMCC0_WS>,
688			 <PIN_PB25__I2SMCC0_DOUT1>,
689			 <PIN_PB26__I2SMCC0_DOUT0>,
690			 <PIN_PB27__I2SMCC0_MCK>;
691		bias-disable;
692	};
693
694	pinctrl_key_gpio_default: key_gpio_default {
695		pinmux = <PIN_PA12__GPIO>;
696		bias-pull-up;
697	};
698
699	pinctrl_led_gpio_default: led_gpio_default {
700		pinmux = <PIN_PA13__GPIO>,
701			 <PIN_PB8__GPIO>,
702			 <PIN_PD20__GPIO>;
703		bias-pull-up;
704	};
705
706	pinctrl_mikrobus1_an_default: mikrobus1_an_default {
707		pinmux = <PIN_PD0__GPIO>;
708		bias-disable;
709	};
710
711	pinctrl_mikrobus2_an_default: mikrobus2_an_default {
712		pinmux = <PIN_PD1__GPIO>;
713		bias-disable;
714	};
715
716	pinctrl_mikrobus1_pwm2_default: mikrobus1_pwm2_default {
717		pinmux = <PIN_PA13__PWMH2>;
718		bias-disable;
719	};
720
721	pinctrl_mikrobus2_pwm3_default: mikrobus2_pwm3_default {
722		pinmux = <PIN_PD20__PWMH3>;
723		bias-disable;
724	};
725
726	pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs {
727		pinmux = <PIN_PB6__FLEXCOM11_IO3>;
728		bias-disable;
729	};
730
731	pinctrl_mikrobus1_spi: mikrobus1_spi {
732		pinmux = <PIN_PB3__FLEXCOM11_IO0>,
733			 <PIN_PB4__FLEXCOM11_IO1>,
734			 <PIN_PB5__FLEXCOM11_IO2>;
735		bias-disable;
736	};
737
738	pinctrl_pdmc0_default: pdmc0_default {
739		pinmux = <PIN_PD23__PDMC0_DS0>,
740			 <PIN_PD24__PDMC0_DS1>,
741			 <PIN_PD22__PDMC0_CLK>;
742		bias_disable;
743	};
744
745	pinctrl_qspi: qspi {
746		pinmux = <PIN_PB12__QSPI0_IO0>,
747			 <PIN_PB11__QSPI0_IO1>,
748			 <PIN_PB10__QSPI0_IO2>,
749			 <PIN_PB9__QSPI0_IO3>,
750			 <PIN_PB16__QSPI0_IO4>,
751			 <PIN_PB17__QSPI0_IO5>,
752			 <PIN_PB18__QSPI0_IO6>,
753			 <PIN_PB19__QSPI0_IO7>,
754			 <PIN_PB13__QSPI0_CS>,
755			 <PIN_PB14__QSPI0_SCK>,
756			 <PIN_PB15__QSPI0_SCKN>,
757			 <PIN_PB20__QSPI0_DQS>,
758			 <PIN_PB21__QSPI0_INT>;
759		bias-disable;
760		slew-rate = <0>;
761		atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
762	};
763
764	pinctrl_sdmmc0_default: sdmmc0_default {
765		cmd_data {
766			pinmux = <PIN_PA1__SDMMC0_CMD>,
767				 <PIN_PA3__SDMMC0_DAT0>,
768				 <PIN_PA4__SDMMC0_DAT1>,
769				 <PIN_PA5__SDMMC0_DAT2>,
770				 <PIN_PA6__SDMMC0_DAT3>,
771				 <PIN_PA7__SDMMC0_DAT4>,
772				 <PIN_PA8__SDMMC0_DAT5>,
773				 <PIN_PA9__SDMMC0_DAT6>,
774				 <PIN_PA10__SDMMC0_DAT7>;
775			slew-rate = <0>;
776			bias-pull-up;
777		};
778
779		ck_cd_rstn_vddsel {
780			pinmux = <PIN_PA0__SDMMC0_CK>,
781				 <PIN_PA2__SDMMC0_RSTN>,
782				 <PIN_PA11__SDMMC0_DS>;
783			slew-rate = <0>;
784			bias-pull-up;
785		};
786	};
787
788	pinctrl_sdmmc1_default: sdmmc1_default {
789		cmd_data {
790			pinmux = <PIN_PB29__SDMMC1_CMD>,
791				 <PIN_PB31__SDMMC1_DAT0>,
792				 <PIN_PC0__SDMMC1_DAT1>,
793				 <PIN_PC1__SDMMC1_DAT2>,
794				 <PIN_PC2__SDMMC1_DAT3>;
795			slew-rate = <0>;
796			bias-pull-up;
797		};
798
799		ck_cd_rstn_vddsel {
800			pinmux = <PIN_PB30__SDMMC1_CK>,
801				 <PIN_PB28__SDMMC1_RSTN>,
802				 <PIN_PC5__SDMMC1_1V8SEL>,
803				 <PIN_PC4__SDMMC1_CD>;
804			slew-rate = <0>;
805			bias-pull-up;
806		};
807	};
808
809	pinctrl_sdmmc2_default: sdmmc2_default {
810		cmd_data {
811			pinmux = <PIN_PD3__SDMMC2_CMD>,
812				 <PIN_PD5__SDMMC2_DAT0>,
813				 <PIN_PD6__SDMMC2_DAT1>,
814				 <PIN_PD7__SDMMC2_DAT2>,
815				 <PIN_PD8__SDMMC2_DAT3>;
816			slew-rate = <0>;
817			bias-pull-up;
818		};
819
820		ck {
821			pinmux = <PIN_PD4__SDMMC2_CK>;
822			slew-rate = <0>;
823			bias-pull-up;
824		};
825	};
826
827	pinctrl_spdifrx_default: spdifrx_default {
828		pinmux = <PIN_PB0__SPDIF_RX>;
829		bias-disable;
830	};
831
832	pinctrl_spdiftx_default: spdiftx_default {
833		pinmux = <PIN_PB1__SPDIF_TX>;
834		bias-disable;
835	};
836};
837
838&pwm {
839	pinctrl-names = "default";
840	pinctrl-0 = <&pinctrl_mikrobus1_pwm2_default &pinctrl_mikrobus2_pwm3_default>;
841	status = "disabled"; /* Conflict with leds. */
842};
843
844&rtt {
845	atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
846};
847
848&sdmmc0 {
849	bus-width = <8>;
850	non-removable;
851	sdhci-caps-mask = <0x0 0x00200000>;
852	vmmc-supply = <&vdd_3v3>;
853	vqmmc-supply = <&vldo1>;
854	pinctrl-names = "default";
855	pinctrl-0 = <&pinctrl_sdmmc0_default>;
856	status = "okay";
857};
858
859&sdmmc1 {
860	bus-width = <4>;
861	no-1-8-v;
862	sdhci-caps-mask = <0x0 0x00200000>;
863	vmmc-supply = <&vdd_3v3>;
864	vqmmc-supply = <&vdd_3v3>;
865	pinctrl-names = "default";
866	pinctrl-0 = <&pinctrl_sdmmc1_default>;
867	status = "okay";
868};
869
870&sdmmc2 {
871	bus-width = <4>;
872	no-1-8-v;
873	sdhci-caps-mask = <0x0 0x00200000>;
874	pinctrl-names = "default";
875	pinctrl-0 = <&pinctrl_sdmmc2_default>;
876};
877
878&shdwc {
879	debounce-delay-us = <976>;
880	status = "okay";
881
882	input@0 {
883		reg = <0>;
884	};
885};
886
887&spdifrx {
888	pinctrl-names = "default";
889	pinctrl-0 = <&pinctrl_spdifrx_default>;
890	status = "okay";
891};
892
893&spdiftx {
894	pinctrl-names = "default";
895	pinctrl-0 = <&pinctrl_spdiftx_default>;
896	status = "okay";
897};
898
899&tcb0 {
900	timer0: timer@0 {
901		compatible = "atmel,tcb-timer";
902		reg = <0>;
903	};
904
905	timer1: timer@1 {
906		compatible = "atmel,tcb-timer";
907		reg = <1>;
908	};
909};
910
911&trng {
912	status = "okay";
913};
914
915&vddout25 {
916	vin-supply = <&vdd_3v3>;
917	status = "okay";
918};
919