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