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