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