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