1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2724ba675SRob Herring/*
3724ba675SRob Herring *  at91-sama7g5ek.dts - Device Tree file for SAMA7G5-EK board
4724ba675SRob Herring *
5724ba675SRob Herring *  Copyright (c) 2020 Microchip Technology Inc. and its subsidiaries
6724ba675SRob Herring *
7724ba675SRob Herring *  Author: Eugen Hristev <eugen.hristev@microchip.com>
8724ba675SRob Herring *  Author: Claudiu Beznea <claudiu.beznea@microchip.com>
9724ba675SRob Herring *
10724ba675SRob Herring */
11724ba675SRob Herring/dts-v1/;
12724ba675SRob Herring#include "sama7g5-pinfunc.h"
13724ba675SRob Herring#include "sama7g5.dtsi"
14724ba675SRob Herring#include <dt-bindings/mfd/atmel-flexcom.h>
15724ba675SRob Herring#include <dt-bindings/input/input.h>
16724ba675SRob Herring#include <dt-bindings/pinctrl/at91.h>
17724ba675SRob Herring#include <dt-bindings/sound/microchip,pdmc.h>
18724ba675SRob Herring
19724ba675SRob Herring/ {
20724ba675SRob Herring	model = "Microchip SAMA7G5-EK";
21724ba675SRob Herring	compatible = "microchip,sama7g5ek", "microchip,sama7g5", "microchip,sama7";
22724ba675SRob Herring
23724ba675SRob Herring	chosen {
24724ba675SRob Herring		bootargs = "rw root=/dev/mmcblk1p2 rootfstype=ext4 rootwait";
25724ba675SRob Herring		stdout-path = "serial0:115200n8";
26724ba675SRob Herring	};
27724ba675SRob Herring
28724ba675SRob Herring	aliases {
29724ba675SRob Herring		serial0 = &uart3;
30724ba675SRob Herring		serial1 = &uart4;
31724ba675SRob Herring		serial2 = &uart7;
32724ba675SRob Herring		serial3 = &uart0;
33724ba675SRob Herring		i2c0 = &i2c1;
34724ba675SRob Herring		i2c1 = &i2c8;
35724ba675SRob Herring		i2c2 = &i2c9;
36724ba675SRob Herring	};
37724ba675SRob Herring
38724ba675SRob Herring	clocks {
39724ba675SRob Herring		slow_xtal {
40724ba675SRob Herring			clock-frequency = <32768>;
41724ba675SRob Herring		};
42724ba675SRob Herring
43724ba675SRob Herring		main_xtal {
44724ba675SRob Herring			clock-frequency = <24000000>;
45724ba675SRob Herring		};
46724ba675SRob Herring	};
47724ba675SRob Herring
48724ba675SRob Herring	gpio-keys {
49724ba675SRob Herring		compatible = "gpio-keys";
50724ba675SRob Herring
51724ba675SRob Herring		pinctrl-names = "default";
52724ba675SRob Herring		pinctrl-0 = <&pinctrl_key_gpio_default>;
53724ba675SRob Herring
54724ba675SRob Herring		button {
55724ba675SRob Herring			label = "PB_USER";
56724ba675SRob Herring			gpios = <&pioA PIN_PA12 GPIO_ACTIVE_LOW>;
57724ba675SRob Herring			linux,code = <KEY_PROG1>;
58724ba675SRob Herring			wakeup-source;
59724ba675SRob Herring		};
60724ba675SRob Herring	};
61724ba675SRob Herring
62724ba675SRob Herring	leds {
63724ba675SRob Herring		compatible = "gpio-leds";
64724ba675SRob Herring		pinctrl-names = "default";
65724ba675SRob Herring		pinctrl-0 = <&pinctrl_led_gpio_default>;
66724ba675SRob Herring		status = "okay"; /* Conflict with pwm. */
67724ba675SRob Herring
68724ba675SRob Herring		red_led {
69724ba675SRob Herring			label = "red";
70724ba675SRob Herring			gpios = <&pioA PIN_PB8 GPIO_ACTIVE_HIGH>;
71724ba675SRob Herring		};
72724ba675SRob Herring
73724ba675SRob Herring		green_led {
74724ba675SRob Herring			label = "green";
75724ba675SRob Herring			gpios = <&pioA PIN_PA13 GPIO_ACTIVE_HIGH>;
76724ba675SRob Herring		};
77724ba675SRob Herring
78724ba675SRob Herring		blue_led {
79724ba675SRob Herring			label = "blue";
80724ba675SRob Herring			gpios = <&pioA PIN_PD20 GPIO_ACTIVE_HIGH>;
81724ba675SRob Herring			linux,default-trigger = "heartbeat";
82724ba675SRob Herring		};
83724ba675SRob Herring	};
84724ba675SRob Herring
85724ba675SRob Herring	/* 512 M */
86724ba675SRob Herring	memory@60000000 {
87724ba675SRob Herring		device_type = "memory";
88724ba675SRob Herring		reg = <0x60000000 0x20000000>;
89724ba675SRob Herring	};
90724ba675SRob Herring
91724ba675SRob Herring	sound: sound {
92724ba675SRob Herring		compatible = "simple-audio-card";
93724ba675SRob Herring		simple-audio-card,name = "sama7g5ek audio";
94724ba675SRob Herring		#address-cells = <1>;
95724ba675SRob Herring		#size-cells = <0>;
96724ba675SRob Herring		simple-audio-card,dai-link@0 {
97724ba675SRob Herring			reg = <0>;
98724ba675SRob Herring			cpu {
99724ba675SRob Herring				sound-dai = <&spdiftx>;
100724ba675SRob Herring			};
101724ba675SRob Herring			codec {
102724ba675SRob Herring				sound-dai = <&spdif_out>;
103724ba675SRob Herring			};
104724ba675SRob Herring		};
105724ba675SRob Herring		simple-audio-card,dai-link@1 {
106724ba675SRob Herring			reg = <1>;
107724ba675SRob Herring			cpu {
108724ba675SRob Herring				sound-dai = <&spdifrx>;
109724ba675SRob Herring			};
110724ba675SRob Herring			codec {
111724ba675SRob Herring				sound-dai = <&spdif_in>;
112724ba675SRob Herring			};
113724ba675SRob Herring		};
114724ba675SRob Herring	};
115724ba675SRob Herring
116724ba675SRob Herring	spdif_in: spdif-in {
117724ba675SRob Herring		#sound-dai-cells = <0>;
118724ba675SRob Herring		compatible = "linux,spdif-dir";
119724ba675SRob Herring	};
120724ba675SRob Herring
121724ba675SRob Herring	spdif_out: spdif-out {
122724ba675SRob Herring		#sound-dai-cells = <0>;
123724ba675SRob Herring		compatible = "linux,spdif-dit";
124724ba675SRob Herring	};
125724ba675SRob Herring};
126724ba675SRob Herring
127724ba675SRob Herring&adc {
128724ba675SRob Herring	vddana-supply = <&vddout25>;
129724ba675SRob Herring	vref-supply = <&vddout25>;
130724ba675SRob Herring	pinctrl-names = "default";
131724ba675SRob Herring	pinctrl-0 = <&pinctrl_mikrobus1_an_default &pinctrl_mikrobus2_an_default>;
132724ba675SRob Herring	status = "okay";
133724ba675SRob Herring};
134724ba675SRob Herring
135724ba675SRob Herring&can0 {
136724ba675SRob Herring	pinctrl-names = "default";
137724ba675SRob Herring	pinctrl-0 = <&pinctrl_can0_default>;
138724ba675SRob Herring	status = "okay";
139724ba675SRob Herring};
140724ba675SRob Herring
141724ba675SRob Herring&can1 {
142724ba675SRob Herring	pinctrl-names = "default";
143724ba675SRob Herring	pinctrl-0 = <&pinctrl_can1_default>;
144724ba675SRob Herring	status = "okay";
145724ba675SRob Herring};
146724ba675SRob Herring
147724ba675SRob Herring&cpu0 {
148724ba675SRob Herring	cpu-supply = <&vddcpu>;
149724ba675SRob Herring};
150724ba675SRob Herring
151724ba675SRob Herring&qspi0 {
152724ba675SRob Herring	pinctrl-names = "default";
153724ba675SRob Herring	pinctrl-0 = <&pinctrl_qspi>;
154724ba675SRob Herring	status = "okay";
155724ba675SRob Herring
156724ba675SRob Herring	flash@0 {
157724ba675SRob Herring		#address-cells = <1>;
158724ba675SRob Herring		#size-cells = <1>;
159724ba675SRob Herring		compatible = "jedec,spi-nor";
160724ba675SRob Herring		reg = <0>;
161724ba675SRob Herring		spi-max-frequency = <133000000>;
162724ba675SRob Herring		spi-tx-bus-width = <8>;
163724ba675SRob Herring		spi-rx-bus-width = <8>;
164724ba675SRob Herring		m25p,fast-read;
165724ba675SRob Herring
166724ba675SRob Herring		at91bootstrap@0 {
167724ba675SRob Herring			label = "ospi: at91bootstrap";
168724ba675SRob Herring			reg = <0x0 0x40000>;
169724ba675SRob Herring		};
170724ba675SRob Herring
171724ba675SRob Herring		bootloader@40000 {
172724ba675SRob Herring			label = "ospi: bootloader";
173724ba675SRob Herring			reg = <0x40000 0xc0000>;
174724ba675SRob Herring		};
175724ba675SRob Herring
176724ba675SRob Herring		bootloaderenvred@100000 {
177724ba675SRob Herring			label = "ospi: bootloader env redundant";
178724ba675SRob Herring			reg = <0x100000 0x40000>;
179724ba675SRob Herring		};
180724ba675SRob Herring
181724ba675SRob Herring		bootloaderenv@140000 {
182724ba675SRob Herring			label = "ospi: bootloader env";
183724ba675SRob Herring			reg = <0x140000 0x40000>;
184724ba675SRob Herring		};
185724ba675SRob Herring
186724ba675SRob Herring		dtb@180000 {
187724ba675SRob Herring			label = "ospi: device tree";
188724ba675SRob Herring			reg = <0x180000 0x80000>;
189724ba675SRob Herring		};
190724ba675SRob Herring
191724ba675SRob Herring		kernel@200000 {
192724ba675SRob Herring			label = "ospi: kernel";
193724ba675SRob Herring			reg = <0x200000 0x600000>;
194724ba675SRob Herring		};
195724ba675SRob Herring
196724ba675SRob Herring		rootfs@800000 {
197724ba675SRob Herring			label = "ospi: rootfs";
198724ba675SRob Herring			reg = <0x800000 0x7800000>;
199724ba675SRob Herring		};
200724ba675SRob Herring
201724ba675SRob Herring	};
202724ba675SRob Herring};
203724ba675SRob Herring
204724ba675SRob Herring&dma0 {
205724ba675SRob Herring	status = "okay";
206724ba675SRob Herring};
207724ba675SRob Herring
208724ba675SRob Herring&dma1 {
209724ba675SRob Herring	status = "okay";
210724ba675SRob Herring};
211724ba675SRob Herring
212724ba675SRob Herring&dma2 {
213724ba675SRob Herring	status = "okay";
214724ba675SRob Herring};
215724ba675SRob Herring
216724ba675SRob Herring&flx0 {
217724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
218724ba675SRob Herring	status = "disabled";
219724ba675SRob Herring
220724ba675SRob Herring	uart0: serial@200 {
221724ba675SRob Herring		pinctrl-names = "default";
222724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx0_default>;
223724ba675SRob Herring		status = "disabled";
224724ba675SRob Herring	};
225724ba675SRob Herring};
226724ba675SRob Herring
227724ba675SRob Herring&flx1 {
228724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
229724ba675SRob Herring	status = "okay";
230724ba675SRob Herring
231724ba675SRob Herring	i2c1: i2c@600 {
232724ba675SRob Herring		pinctrl-names = "default";
233724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c1_default>;
234724ba675SRob Herring		i2c-analog-filter;
235724ba675SRob Herring		i2c-digital-filter;
236724ba675SRob Herring		i2c-digital-filter-width-ns = <35>;
237724ba675SRob Herring		status = "okay";
238724ba675SRob Herring
239724ba675SRob Herring		mcp16502@5b {
240724ba675SRob Herring			compatible = "microchip,mcp16502";
241724ba675SRob Herring			reg = <0x5b>;
242724ba675SRob Herring			status = "okay";
243724ba675SRob Herring
244724ba675SRob Herring			regulators {
245724ba675SRob Herring				vdd_3v3: VDD_IO {
246724ba675SRob Herring					regulator-name = "VDD_IO";
247724ba675SRob Herring					regulator-min-microvolt = <3300000>;
248724ba675SRob Herring					regulator-max-microvolt = <3300000>;
249724ba675SRob Herring					regulator-initial-mode = <2>;
250724ba675SRob Herring					regulator-allowed-modes = <2>, <4>;
251724ba675SRob Herring					regulator-always-on;
252724ba675SRob Herring
253724ba675SRob Herring					regulator-state-standby {
254724ba675SRob Herring						regulator-on-in-suspend;
255724ba675SRob Herring						regulator-suspend-microvolt = <3300000>;
256724ba675SRob Herring						regulator-mode = <4>;
257724ba675SRob Herring					};
258724ba675SRob Herring
259724ba675SRob Herring					regulator-state-mem {
260724ba675SRob Herring						regulator-off-in-suspend;
261724ba675SRob Herring						regulator-mode = <4>;
262724ba675SRob Herring					};
263724ba675SRob Herring				};
264724ba675SRob Herring
265724ba675SRob Herring				vddioddr: VDD_DDR {
266724ba675SRob Herring					regulator-name = "VDD_DDR";
267724ba675SRob Herring					regulator-min-microvolt = <1350000>;
268724ba675SRob Herring					regulator-max-microvolt = <1350000>;
269724ba675SRob Herring					regulator-initial-mode = <2>;
270724ba675SRob Herring					regulator-allowed-modes = <2>, <4>;
271724ba675SRob Herring					regulator-always-on;
272724ba675SRob Herring
273724ba675SRob Herring					regulator-state-standby {
274724ba675SRob Herring						regulator-on-in-suspend;
275724ba675SRob Herring						regulator-suspend-microvolt = <1350000>;
276724ba675SRob Herring						regulator-mode = <4>;
277724ba675SRob Herring					};
278724ba675SRob Herring
279724ba675SRob Herring					regulator-state-mem {
280724ba675SRob Herring						regulator-on-in-suspend;
281724ba675SRob Herring						regulator-suspend-microvolt = <1350000>;
282724ba675SRob Herring						regulator-mode = <4>;
283724ba675SRob Herring					};
284724ba675SRob Herring				};
285724ba675SRob Herring
286724ba675SRob Herring				vddcore: VDD_CORE {
287724ba675SRob Herring					regulator-name = "VDD_CORE";
288724ba675SRob Herring					regulator-min-microvolt = <1150000>;
289724ba675SRob Herring					regulator-max-microvolt = <1150000>;
290724ba675SRob Herring					regulator-initial-mode = <2>;
291724ba675SRob Herring					regulator-allowed-modes = <2>, <4>;
292724ba675SRob Herring					regulator-always-on;
293724ba675SRob Herring
294724ba675SRob Herring					regulator-state-standby {
295724ba675SRob Herring						regulator-on-in-suspend;
2961fb855aeSAndrei Simion						regulator-suspend-microvolt = <1150000>;
297724ba675SRob Herring						regulator-mode = <4>;
298724ba675SRob Herring					};
299724ba675SRob Herring
300724ba675SRob Herring					regulator-state-mem {
301724ba675SRob Herring						regulator-off-in-suspend;
302724ba675SRob Herring						regulator-mode = <4>;
303724ba675SRob Herring					};
304724ba675SRob Herring				};
305724ba675SRob Herring
306724ba675SRob Herring				vddcpu: VDD_OTHER {
307724ba675SRob Herring					regulator-name = "VDD_OTHER";
308724ba675SRob Herring					regulator-min-microvolt = <1050000>;
309724ba675SRob Herring					regulator-max-microvolt = <1250000>;
310724ba675SRob Herring					regulator-initial-mode = <2>;
311724ba675SRob Herring					regulator-allowed-modes = <2>, <4>;
312724ba675SRob Herring					regulator-ramp-delay = <3125>;
313724ba675SRob Herring					regulator-always-on;
314724ba675SRob Herring
315724ba675SRob Herring					regulator-state-standby {
316724ba675SRob Herring						regulator-on-in-suspend;
3171fb855aeSAndrei Simion						regulator-suspend-microvolt = <1050000>;
318724ba675SRob Herring						regulator-mode = <4>;
319724ba675SRob Herring					};
320724ba675SRob Herring
321724ba675SRob Herring					regulator-state-mem {
322724ba675SRob Herring						regulator-off-in-suspend;
323724ba675SRob Herring						regulator-mode = <4>;
324724ba675SRob Herring					};
325724ba675SRob Herring				};
326724ba675SRob Herring
327724ba675SRob Herring				vldo1: LDO1 {
328724ba675SRob Herring					regulator-name = "LDO1";
329724ba675SRob Herring					regulator-min-microvolt = <1800000>;
330724ba675SRob Herring					regulator-max-microvolt = <1800000>;
331724ba675SRob Herring					regulator-always-on;
332724ba675SRob Herring
333724ba675SRob Herring					regulator-state-standby {
3341fb855aeSAndrei Simion						regulator-suspend-microvolt = <1800000>;
335724ba675SRob Herring						regulator-on-in-suspend;
336724ba675SRob Herring					};
337724ba675SRob Herring
338724ba675SRob Herring					regulator-state-mem {
339724ba675SRob Herring						regulator-off-in-suspend;
340724ba675SRob Herring					};
341724ba675SRob Herring				};
342724ba675SRob Herring
343724ba675SRob Herring				vldo2: LDO2 {
344724ba675SRob Herring					regulator-name = "LDO2";
345724ba675SRob Herring					regulator-min-microvolt = <1200000>;
346724ba675SRob Herring					regulator-max-microvolt = <3700000>;
347724ba675SRob Herring
348724ba675SRob Herring					regulator-state-standby {
3491fb855aeSAndrei Simion						regulator-suspend-microvolt = <1800000>;
350724ba675SRob Herring						regulator-on-in-suspend;
351724ba675SRob Herring					};
352724ba675SRob Herring
353724ba675SRob Herring					regulator-state-mem {
354724ba675SRob Herring						regulator-off-in-suspend;
355724ba675SRob Herring					};
356724ba675SRob Herring				};
357724ba675SRob Herring			};
358724ba675SRob Herring		};
359724ba675SRob Herring	};
360724ba675SRob Herring};
361724ba675SRob Herring
362724ba675SRob Herring&flx3 {
363724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
364724ba675SRob Herring	status = "okay";
365724ba675SRob Herring
366724ba675SRob Herring	uart3: serial@200 {
367724ba675SRob Herring		pinctrl-names = "default";
368724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx3_default>;
369724ba675SRob Herring		status = "okay";
370724ba675SRob Herring	};
371724ba675SRob Herring};
372724ba675SRob Herring
373724ba675SRob Herring&flx4 {
374724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
375724ba675SRob Herring	status = "okay";
376724ba675SRob Herring
377724ba675SRob Herring	uart4: serial@200 {
378724ba675SRob Herring		pinctrl-names = "default";
379724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx4_default>;
380724ba675SRob Herring		status = "okay";
381724ba675SRob Herring	};
382724ba675SRob Herring};
383724ba675SRob Herring
384724ba675SRob Herring&flx7 {
385724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
386724ba675SRob Herring	status = "okay";
387724ba675SRob Herring
388724ba675SRob Herring	uart7: serial@200 {
389724ba675SRob Herring		pinctrl-names = "default";
390724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx7_default>;
391724ba675SRob Herring		status = "okay";
392724ba675SRob Herring	};
393724ba675SRob Herring};
394724ba675SRob Herring
395724ba675SRob Herring&flx8 {
396724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
397724ba675SRob Herring	status = "okay";
398724ba675SRob Herring
399724ba675SRob Herring	i2c8: i2c@600 {
400724ba675SRob Herring		pinctrl-names = "default";
401724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c8_default>;
402724ba675SRob Herring		i2c-analog-filter;
403724ba675SRob Herring		i2c-digital-filter;
404724ba675SRob Herring		i2c-digital-filter-width-ns = <35>;
405724ba675SRob Herring		status = "okay";
406724ba675SRob Herring	};
407724ba675SRob Herring};
408724ba675SRob Herring
409724ba675SRob Herring&flx9 {
410724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
411724ba675SRob Herring	status = "okay";
412724ba675SRob Herring
413724ba675SRob Herring	i2c9: i2c@600 {
414724ba675SRob Herring		pinctrl-names = "default";
415724ba675SRob Herring		pinctrl-0 = <&pinctrl_i2c9_default>;
416724ba675SRob Herring		i2c-analog-filter;
417724ba675SRob Herring		i2c-digital-filter;
418724ba675SRob Herring		i2c-digital-filter-width-ns = <35>;
419724ba675SRob Herring		status = "okay";
420724ba675SRob Herring	};
421724ba675SRob Herring};
422724ba675SRob Herring
423724ba675SRob Herring&flx11 {
424724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
425724ba675SRob Herring	status = "okay";
426724ba675SRob Herring
427724ba675SRob Herring	spi11: spi@400 {
428724ba675SRob Herring		pinctrl-names = "default";
429724ba675SRob Herring		pinctrl-0 = <&pinctrl_mikrobus1_spi &pinctrl_mikrobus1_spi_cs>;
430724ba675SRob Herring		status = "okay";
431724ba675SRob Herring	};
432724ba675SRob Herring};
433724ba675SRob Herring
434724ba675SRob Herring&gmac0 {
435724ba675SRob Herring	#address-cells = <1>;
436724ba675SRob Herring	#size-cells = <0>;
437724ba675SRob Herring	pinctrl-names = "default";
438724ba675SRob Herring	pinctrl-0 = <&pinctrl_gmac0_default
439724ba675SRob Herring		     &pinctrl_gmac0_mdio_default
440724ba675SRob Herring		     &pinctrl_gmac0_txck_default
441724ba675SRob Herring		     &pinctrl_gmac0_phy_irq>;
442724ba675SRob Herring	phy-mode = "rgmii-id";
443724ba675SRob Herring	status = "okay";
444724ba675SRob Herring
445724ba675SRob Herring	ethernet-phy@7 {
446724ba675SRob Herring		reg = <0x7>;
447724ba675SRob Herring		interrupt-parent = <&pioA>;
448724ba675SRob Herring		interrupts = <PIN_PA31 IRQ_TYPE_LEVEL_LOW>;
449724ba675SRob Herring	};
450724ba675SRob Herring};
451724ba675SRob Herring
452724ba675SRob Herring&gmac1 {
453724ba675SRob Herring	#address-cells = <1>;
454724ba675SRob Herring	#size-cells = <0>;
455724ba675SRob Herring	pinctrl-names = "default";
456724ba675SRob Herring	pinctrl-0 = <&pinctrl_gmac1_default
457724ba675SRob Herring		     &pinctrl_gmac1_mdio_default
458724ba675SRob Herring		     &pinctrl_gmac1_phy_irq>;
459724ba675SRob Herring	phy-mode = "rmii";
460724ba675SRob Herring	status = "okay"; /* Conflict with pdmc0. */
461724ba675SRob Herring
462724ba675SRob Herring	ethernet-phy@0 {
463724ba675SRob Herring		reg = <0x0>;
464724ba675SRob Herring		interrupt-parent = <&pioA>;
465724ba675SRob Herring		interrupts = <PIN_PA21 IRQ_TYPE_LEVEL_LOW>;
466724ba675SRob Herring	};
467724ba675SRob Herring};
468724ba675SRob Herring
469724ba675SRob Herring&i2s0 {
470724ba675SRob Herring	pinctrl-names = "default";
471724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2s0_default>;
472724ba675SRob Herring};
473724ba675SRob Herring
474724ba675SRob Herring&pdmc0 {
475724ba675SRob Herring	#sound-dai-cells = <0>;
476724ba675SRob Herring	microchip,mic-pos = <MCHP_PDMC_DS0 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 1 */
477724ba675SRob Herring			    <MCHP_PDMC_DS1 MCHP_PDMC_CLK_NEGATIVE>, /* MIC 2 */
478724ba675SRob Herring			    <MCHP_PDMC_DS0 MCHP_PDMC_CLK_POSITIVE>, /* MIC 3 */
479724ba675SRob Herring			    <MCHP_PDMC_DS1 MCHP_PDMC_CLK_POSITIVE>; /* MIC 4 */
480724ba675SRob Herring	status = "disabled"; /* Conflict with gmac1. */
481724ba675SRob Herring	pinctrl-names = "default";
482724ba675SRob Herring	pinctrl-0 = <&pinctrl_pdmc0_default>;
483724ba675SRob Herring};
484724ba675SRob Herring
485724ba675SRob Herring&pioA {
486724ba675SRob Herring
487724ba675SRob Herring	pinctrl_can0_default: can0_default {
488724ba675SRob Herring		pinmux = <PIN_PD12__CANTX0>,
489724ba675SRob Herring			 <PIN_PD13__CANRX0 >;
490724ba675SRob Herring		bias-disable;
491724ba675SRob Herring	};
492724ba675SRob Herring
493724ba675SRob Herring	pinctrl_can1_default: can1_default {
494724ba675SRob Herring		pinmux = <PIN_PD14__CANTX1>,
495724ba675SRob Herring			 <PIN_PD15__CANRX1 >;
496724ba675SRob Herring		bias-disable;
497724ba675SRob Herring	};
498724ba675SRob Herring
499724ba675SRob Herring	pinctrl_flx0_default: flx0_default {
500724ba675SRob Herring		pinmux = <PIN_PE3__FLEXCOM0_IO0>,
501724ba675SRob Herring			 <PIN_PE4__FLEXCOM0_IO1>,
502724ba675SRob Herring			 <PIN_PE6__FLEXCOM0_IO3>,
503724ba675SRob Herring			 <PIN_PE7__FLEXCOM0_IO4>;
504724ba675SRob Herring		bias-disable;
505724ba675SRob Herring	};
506724ba675SRob Herring
507724ba675SRob Herring	pinctrl_flx3_default: flx3_default {
508724ba675SRob Herring		pinmux = <PIN_PD16__FLEXCOM3_IO0>,
509724ba675SRob Herring			 <PIN_PD17__FLEXCOM3_IO1>;
510724ba675SRob Herring		bias-pull-up;
511724ba675SRob Herring	};
512724ba675SRob Herring
513724ba675SRob Herring	pinctrl_flx4_default: flx4_default {
514724ba675SRob Herring		pinmux = <PIN_PD18__FLEXCOM4_IO0>,
515724ba675SRob Herring			 <PIN_PD19__FLEXCOM4_IO1>;
516724ba675SRob Herring		bias-disable;
517724ba675SRob Herring	};
518724ba675SRob Herring
519724ba675SRob Herring	pinctrl_flx7_default: flx7_default {
520724ba675SRob Herring		pinmux = <PIN_PC23__FLEXCOM7_IO0>,
521724ba675SRob Herring			 <PIN_PC24__FLEXCOM7_IO1>;
522724ba675SRob Herring		bias-disable;
523724ba675SRob Herring	};
524724ba675SRob Herring
525724ba675SRob Herring	pinctrl_gmac0_default: gmac0_default {
526724ba675SRob Herring		pinmux = <PIN_PA16__G0_TX0>,
527724ba675SRob Herring			 <PIN_PA17__G0_TX1>,
528724ba675SRob Herring			 <PIN_PA26__G0_TX2>,
529724ba675SRob Herring			 <PIN_PA27__G0_TX3>,
530724ba675SRob Herring			 <PIN_PA19__G0_RX0>,
531724ba675SRob Herring			 <PIN_PA20__G0_RX1>,
532724ba675SRob Herring			 <PIN_PA28__G0_RX2>,
533724ba675SRob Herring			 <PIN_PA29__G0_RX3>,
534724ba675SRob Herring			 <PIN_PA15__G0_TXEN>,
535724ba675SRob Herring			 <PIN_PA30__G0_RXCK>,
536724ba675SRob Herring			 <PIN_PA18__G0_RXDV>,
537724ba675SRob Herring			 <PIN_PA25__G0_125CK>;
538724ba675SRob Herring		slew-rate = <0>;
539724ba675SRob Herring		bias-disable;
540724ba675SRob Herring	};
541724ba675SRob Herring
542724ba675SRob Herring	pinctrl_gmac0_mdio_default: gmac0_mdio_default {
543724ba675SRob Herring		pinmux = <PIN_PA22__G0_MDC>,
544724ba675SRob Herring			 <PIN_PA23__G0_MDIO>;
545724ba675SRob Herring		bias-disable;
546724ba675SRob Herring	};
547724ba675SRob Herring
548724ba675SRob Herring	pinctrl_gmac0_txck_default: gmac0_txck_default {
549724ba675SRob Herring		pinmux = <PIN_PA24__G0_TXCK>;
550724ba675SRob Herring		slew-rate = <0>;
551724ba675SRob Herring		bias-pull-up;
552724ba675SRob Herring	};
553724ba675SRob Herring
554724ba675SRob Herring	pinctrl_gmac0_phy_irq: gmac0_phy_irq {
555724ba675SRob Herring		pinmux = <PIN_PA31__GPIO>;
556724ba675SRob Herring		bias-disable;
557724ba675SRob Herring	};
558724ba675SRob Herring
559724ba675SRob Herring	pinctrl_gmac1_default: gmac1_default {
560724ba675SRob Herring		pinmux = <PIN_PD30__G1_TXCK>,
561724ba675SRob Herring			 <PIN_PD22__G1_TX0>,
562724ba675SRob Herring			 <PIN_PD23__G1_TX1>,
563724ba675SRob Herring			 <PIN_PD21__G1_TXEN>,
564724ba675SRob Herring			 <PIN_PD25__G1_RX0>,
565724ba675SRob Herring			 <PIN_PD26__G1_RX1>,
566724ba675SRob Herring			 <PIN_PD27__G1_RXER>,
567724ba675SRob Herring			 <PIN_PD24__G1_RXDV>;
568724ba675SRob Herring		slew-rate = <0>;
569724ba675SRob Herring		bias-disable;
570724ba675SRob Herring	};
571724ba675SRob Herring
572724ba675SRob Herring	pinctrl_gmac1_mdio_default: gmac1_mdio_default {
573724ba675SRob Herring		pinmux = <PIN_PD28__G1_MDC>,
574724ba675SRob Herring			 <PIN_PD29__G1_MDIO>;
575724ba675SRob Herring		bias-disable;
576724ba675SRob Herring	};
577724ba675SRob Herring
578724ba675SRob Herring	pinctrl_gmac1_phy_irq: gmac1_phy_irq {
579724ba675SRob Herring		pinmux = <PIN_PA21__GPIO>;
580724ba675SRob Herring		bias-disable;
581724ba675SRob Herring	};
582724ba675SRob Herring
583724ba675SRob Herring	pinctrl_i2c1_default: i2c1_default {
584724ba675SRob Herring		pinmux = <PIN_PC9__FLEXCOM1_IO0>,
585724ba675SRob Herring			 <PIN_PC10__FLEXCOM1_IO1>;
586724ba675SRob Herring		bias-disable;
587724ba675SRob Herring	};
588724ba675SRob Herring
589724ba675SRob Herring	pinctrl_i2c8_default: i2c8_default {
590724ba675SRob Herring		pinmux = <PIN_PC14__FLEXCOM8_IO0>,
591724ba675SRob Herring			 <PIN_PC13__FLEXCOM8_IO1>;
592724ba675SRob Herring		bias-disable;
593724ba675SRob Herring	};
594724ba675SRob Herring
595724ba675SRob Herring	pinctrl_i2c9_default: i2c9_default {
596724ba675SRob Herring		pinmux = <PIN_PC18__FLEXCOM9_IO0>,
597724ba675SRob Herring			 <PIN_PC19__FLEXCOM9_IO1>;
598724ba675SRob Herring		bias-disable;
599724ba675SRob Herring	};
600724ba675SRob Herring
601724ba675SRob Herring	pinctrl_i2s0_default: i2s0_default {
602724ba675SRob Herring		pinmux = <PIN_PB23__I2SMCC0_CK>,
603724ba675SRob Herring			 <PIN_PB24__I2SMCC0_WS>,
604724ba675SRob Herring			 <PIN_PB25__I2SMCC0_DOUT1>,
605724ba675SRob Herring			 <PIN_PB26__I2SMCC0_DOUT0>,
606724ba675SRob Herring			 <PIN_PB27__I2SMCC0_MCK>;
607724ba675SRob Herring		bias-disable;
608724ba675SRob Herring	};
609724ba675SRob Herring
610724ba675SRob Herring	pinctrl_key_gpio_default: key_gpio_default {
611724ba675SRob Herring		pinmux = <PIN_PA12__GPIO>;
612724ba675SRob Herring		bias-pull-up;
613724ba675SRob Herring	};
614724ba675SRob Herring
615724ba675SRob Herring	pinctrl_led_gpio_default: led_gpio_default {
616724ba675SRob Herring		pinmux = <PIN_PA13__GPIO>,
617724ba675SRob Herring			 <PIN_PB8__GPIO>,
618724ba675SRob Herring			 <PIN_PD20__GPIO>;
619724ba675SRob Herring		bias-pull-up;
620724ba675SRob Herring	};
621724ba675SRob Herring
622724ba675SRob Herring	pinctrl_mikrobus1_an_default: mikrobus1_an_default {
623724ba675SRob Herring		pinmux = <PIN_PD0__GPIO>;
624724ba675SRob Herring		bias-disable;
625724ba675SRob Herring	};
626724ba675SRob Herring
627724ba675SRob Herring	pinctrl_mikrobus2_an_default: mikrobus2_an_default {
628724ba675SRob Herring		pinmux = <PIN_PD1__GPIO>;
629724ba675SRob Herring		bias-disable;
630724ba675SRob Herring	};
631724ba675SRob Herring
632724ba675SRob Herring	pinctrl_mikrobus1_pwm2_default: mikrobus1_pwm2_default {
633724ba675SRob Herring		pinmux = <PIN_PA13__PWMH2>;
634724ba675SRob Herring		bias-disable;
635724ba675SRob Herring	};
636724ba675SRob Herring
637724ba675SRob Herring	pinctrl_mikrobus2_pwm3_default: mikrobus2_pwm3_default {
638724ba675SRob Herring		pinmux = <PIN_PD20__PWMH3>;
639724ba675SRob Herring		bias-disable;
640724ba675SRob Herring	};
641724ba675SRob Herring
642724ba675SRob Herring	pinctrl_mikrobus1_spi_cs: mikrobus1_spi_cs {
643724ba675SRob Herring		pinmux = <PIN_PB6__FLEXCOM11_IO3>;
644724ba675SRob Herring		bias-disable;
645724ba675SRob Herring	};
646724ba675SRob Herring
647724ba675SRob Herring	pinctrl_mikrobus1_spi: mikrobus1_spi {
648724ba675SRob Herring		pinmux = <PIN_PB3__FLEXCOM11_IO0>,
649724ba675SRob Herring			 <PIN_PB4__FLEXCOM11_IO1>,
650724ba675SRob Herring			 <PIN_PB5__FLEXCOM11_IO2>;
651724ba675SRob Herring		bias-disable;
652724ba675SRob Herring	};
653724ba675SRob Herring
654724ba675SRob Herring	pinctrl_pdmc0_default: pdmc0_default {
655724ba675SRob Herring		pinmux = <PIN_PD23__PDMC0_DS0>,
656724ba675SRob Herring			 <PIN_PD24__PDMC0_DS1>,
657724ba675SRob Herring			 <PIN_PD22__PDMC0_CLK>;
658724ba675SRob Herring		bias_disable;
659724ba675SRob Herring	};
660724ba675SRob Herring
661724ba675SRob Herring	pinctrl_qspi: qspi {
662724ba675SRob Herring		pinmux = <PIN_PB12__QSPI0_IO0>,
663724ba675SRob Herring			 <PIN_PB11__QSPI0_IO1>,
664724ba675SRob Herring			 <PIN_PB10__QSPI0_IO2>,
665724ba675SRob Herring			 <PIN_PB9__QSPI0_IO3>,
666724ba675SRob Herring			 <PIN_PB16__QSPI0_IO4>,
667724ba675SRob Herring			 <PIN_PB17__QSPI0_IO5>,
668724ba675SRob Herring			 <PIN_PB18__QSPI0_IO6>,
669724ba675SRob Herring			 <PIN_PB19__QSPI0_IO7>,
670724ba675SRob Herring			 <PIN_PB13__QSPI0_CS>,
671724ba675SRob Herring			 <PIN_PB14__QSPI0_SCK>,
672724ba675SRob Herring			 <PIN_PB15__QSPI0_SCKN>,
673724ba675SRob Herring			 <PIN_PB20__QSPI0_DQS>,
674724ba675SRob Herring			 <PIN_PB21__QSPI0_INT>;
675724ba675SRob Herring		bias-disable;
676724ba675SRob Herring		slew-rate = <0>;
677724ba675SRob Herring		atmel,drive-strength = <ATMEL_PIO_DRVSTR_ME>;
678724ba675SRob Herring	};
679724ba675SRob Herring
680724ba675SRob Herring	pinctrl_sdmmc0_default: sdmmc0_default {
681724ba675SRob Herring		cmd_data {
682724ba675SRob Herring			pinmux = <PIN_PA1__SDMMC0_CMD>,
683724ba675SRob Herring				 <PIN_PA3__SDMMC0_DAT0>,
684724ba675SRob Herring				 <PIN_PA4__SDMMC0_DAT1>,
685724ba675SRob Herring				 <PIN_PA5__SDMMC0_DAT2>,
686724ba675SRob Herring				 <PIN_PA6__SDMMC0_DAT3>,
687724ba675SRob Herring				 <PIN_PA7__SDMMC0_DAT4>,
688724ba675SRob Herring				 <PIN_PA8__SDMMC0_DAT5>,
689724ba675SRob Herring				 <PIN_PA9__SDMMC0_DAT6>,
690724ba675SRob Herring				 <PIN_PA10__SDMMC0_DAT7>;
691724ba675SRob Herring			slew-rate = <0>;
692724ba675SRob Herring			bias-pull-up;
693724ba675SRob Herring		};
694724ba675SRob Herring
695724ba675SRob Herring		ck_cd_rstn_vddsel {
696724ba675SRob Herring			pinmux = <PIN_PA0__SDMMC0_CK>,
697724ba675SRob Herring				 <PIN_PA2__SDMMC0_RSTN>,
698724ba675SRob Herring				 <PIN_PA11__SDMMC0_DS>;
699724ba675SRob Herring			slew-rate = <0>;
700724ba675SRob Herring			bias-pull-up;
701724ba675SRob Herring		};
702724ba675SRob Herring	};
703724ba675SRob Herring
704724ba675SRob Herring	pinctrl_sdmmc1_default: sdmmc1_default {
705724ba675SRob Herring		cmd_data {
706724ba675SRob Herring			pinmux = <PIN_PB29__SDMMC1_CMD>,
707724ba675SRob Herring				 <PIN_PB31__SDMMC1_DAT0>,
708724ba675SRob Herring				 <PIN_PC0__SDMMC1_DAT1>,
709724ba675SRob Herring				 <PIN_PC1__SDMMC1_DAT2>,
710724ba675SRob Herring				 <PIN_PC2__SDMMC1_DAT3>;
711724ba675SRob Herring			slew-rate = <0>;
712724ba675SRob Herring			bias-pull-up;
713724ba675SRob Herring		};
714724ba675SRob Herring
715724ba675SRob Herring		ck_cd_rstn_vddsel {
716724ba675SRob Herring			pinmux = <PIN_PB30__SDMMC1_CK>,
717724ba675SRob Herring				 <PIN_PB28__SDMMC1_RSTN>,
718724ba675SRob Herring				 <PIN_PC5__SDMMC1_1V8SEL>,
719724ba675SRob Herring				 <PIN_PC4__SDMMC1_CD>;
720724ba675SRob Herring			slew-rate = <0>;
721724ba675SRob Herring			bias-pull-up;
722724ba675SRob Herring		};
723724ba675SRob Herring	};
724724ba675SRob Herring
725724ba675SRob Herring	pinctrl_sdmmc2_default: sdmmc2_default {
726724ba675SRob Herring		cmd_data {
727724ba675SRob Herring			pinmux = <PIN_PD3__SDMMC2_CMD>,
728724ba675SRob Herring				 <PIN_PD5__SDMMC2_DAT0>,
729724ba675SRob Herring				 <PIN_PD6__SDMMC2_DAT1>,
730724ba675SRob Herring				 <PIN_PD7__SDMMC2_DAT2>,
731724ba675SRob Herring				 <PIN_PD8__SDMMC2_DAT3>;
732724ba675SRob Herring			slew-rate = <0>;
733724ba675SRob Herring			bias-pull-up;
734724ba675SRob Herring		};
735724ba675SRob Herring
736724ba675SRob Herring		ck {
737724ba675SRob Herring			pinmux = <PIN_PD4__SDMMC2_CK>;
738724ba675SRob Herring			slew-rate = <0>;
739724ba675SRob Herring			bias-pull-up;
740724ba675SRob Herring		};
741724ba675SRob Herring	};
742724ba675SRob Herring
743724ba675SRob Herring	pinctrl_spdifrx_default: spdifrx_default {
744724ba675SRob Herring		pinmux = <PIN_PB0__SPDIF_RX>;
745724ba675SRob Herring		bias-disable;
746724ba675SRob Herring	};
747724ba675SRob Herring
748724ba675SRob Herring	pinctrl_spdiftx_default: spdiftx_default {
749724ba675SRob Herring		pinmux = <PIN_PB1__SPDIF_TX>;
750724ba675SRob Herring		bias-disable;
751724ba675SRob Herring	};
752724ba675SRob Herring};
753724ba675SRob Herring
754724ba675SRob Herring&pwm {
755724ba675SRob Herring	pinctrl-names = "default";
756724ba675SRob Herring	pinctrl-0 = <&pinctrl_mikrobus1_pwm2_default &pinctrl_mikrobus2_pwm3_default>;
757724ba675SRob Herring	status = "disabled"; /* Conflict with leds. */
758724ba675SRob Herring};
759724ba675SRob Herring
760724ba675SRob Herring&rtt {
761724ba675SRob Herring	atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
762724ba675SRob Herring};
763724ba675SRob Herring
764724ba675SRob Herring&sdmmc0 {
765724ba675SRob Herring	bus-width = <8>;
766724ba675SRob Herring	non-removable;
767724ba675SRob Herring	sdhci-caps-mask = <0x0 0x00200000>;
768724ba675SRob Herring	vmmc-supply = <&vdd_3v3>;
769724ba675SRob Herring	vqmmc-supply = <&vldo1>;
770724ba675SRob Herring	pinctrl-names = "default";
771724ba675SRob Herring	pinctrl-0 = <&pinctrl_sdmmc0_default>;
772724ba675SRob Herring	status = "okay";
773724ba675SRob Herring};
774724ba675SRob Herring
775724ba675SRob Herring&sdmmc1 {
776724ba675SRob Herring	bus-width = <4>;
777724ba675SRob Herring	no-1-8-v;
778724ba675SRob Herring	sdhci-caps-mask = <0x0 0x00200000>;
779724ba675SRob Herring	vmmc-supply = <&vdd_3v3>;
780724ba675SRob Herring	vqmmc-supply = <&vdd_3v3>;
781724ba675SRob Herring	pinctrl-names = "default";
782724ba675SRob Herring	pinctrl-0 = <&pinctrl_sdmmc1_default>;
783724ba675SRob Herring	status = "okay";
784724ba675SRob Herring};
785724ba675SRob Herring
786724ba675SRob Herring&sdmmc2 {
787724ba675SRob Herring	bus-width = <4>;
788724ba675SRob Herring	no-1-8-v;
789724ba675SRob Herring	sdhci-caps-mask = <0x0 0x00200000>;
790724ba675SRob Herring	pinctrl-names = "default";
791724ba675SRob Herring	pinctrl-0 = <&pinctrl_sdmmc2_default>;
792724ba675SRob Herring};
793724ba675SRob Herring
794724ba675SRob Herring&shdwc {
7956c1561fbSLinus Torvalds	debounce-delay-us = <976>;
796724ba675SRob Herring	status = "okay";
797724ba675SRob Herring
798724ba675SRob Herring	input@0 {
799724ba675SRob Herring		reg = <0>;
800724ba675SRob Herring	};
801724ba675SRob Herring};
802724ba675SRob Herring
803724ba675SRob Herring&spdifrx {
804724ba675SRob Herring	pinctrl-names = "default";
805724ba675SRob Herring	pinctrl-0 = <&pinctrl_spdifrx_default>;
806724ba675SRob Herring	status = "okay";
807724ba675SRob Herring};
808724ba675SRob Herring
809724ba675SRob Herring&spdiftx {
810724ba675SRob Herring	pinctrl-names = "default";
811724ba675SRob Herring	pinctrl-0 = <&pinctrl_spdiftx_default>;
812724ba675SRob Herring	status = "okay";
813724ba675SRob Herring};
814724ba675SRob Herring
815724ba675SRob Herring&tcb0 {
816724ba675SRob Herring	timer0: timer@0 {
817724ba675SRob Herring		compatible = "atmel,tcb-timer";
818724ba675SRob Herring		reg = <0>;
819724ba675SRob Herring	};
820724ba675SRob Herring
821724ba675SRob Herring	timer1: timer@1 {
822724ba675SRob Herring		compatible = "atmel,tcb-timer";
823724ba675SRob Herring		reg = <1>;
824724ba675SRob Herring	};
825724ba675SRob Herring};
826724ba675SRob Herring
827724ba675SRob Herring&trng {
828724ba675SRob Herring	status = "okay";
829724ba675SRob Herring};
830724ba675SRob Herring
831724ba675SRob Herring&vddout25 {
832724ba675SRob Herring	vin-supply = <&vdd_3v3>;
833724ba675SRob Herring	status = "okay";
834724ba675SRob Herring};
835