xref: /freebsd/sys/contrib/device-tree/src/arm/microchip/at91-sama5d29_curiosity.dts (revision 84943d6f38e936ac3b7a3947ca26eeb27a39f938)
1*84943d6fSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*84943d6fSEmmanuel Vadot/*
3*84943d6fSEmmanuel Vadot * at91-sama5d29_curiosity.dts - Device Tree file for SAMA5D29 Curiosity board
4*84943d6fSEmmanuel Vadot *
5*84943d6fSEmmanuel Vadot * Copyright (C) 2023 Microchip Technology Inc. and its subsidiaries
6*84943d6fSEmmanuel Vadot *
7*84943d6fSEmmanuel Vadot * Author: Mihai Sain <mihai.sain@microchip.com>
8*84943d6fSEmmanuel Vadot *
9*84943d6fSEmmanuel Vadot */
10*84943d6fSEmmanuel Vadot/dts-v1/;
11*84943d6fSEmmanuel Vadot#include "sama5d29.dtsi"
12*84943d6fSEmmanuel Vadot#include "sama5d2-pinfunc.h"
13*84943d6fSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
14*84943d6fSEmmanuel Vadot#include <dt-bindings/input/input.h>
15*84943d6fSEmmanuel Vadot#include <dt-bindings/mfd/atmel-flexcom.h>
16*84943d6fSEmmanuel Vadot
17*84943d6fSEmmanuel Vadot/ {
18*84943d6fSEmmanuel Vadot	model = "Microchip SAMA5D29 Curiosity";
19*84943d6fSEmmanuel Vadot	compatible = "microchip,sama5d29-curiosity", "atmel,sama5d29", "atmel,sama5d2", "atmel,sama5";
20*84943d6fSEmmanuel Vadot
21*84943d6fSEmmanuel Vadot	aliases {
22*84943d6fSEmmanuel Vadot		serial0 = &uart0;	// debug
23*84943d6fSEmmanuel Vadot		serial1 = &uart1;	// RPi
24*84943d6fSEmmanuel Vadot		serial2 = &uart3;	// mikro BUS 2
25*84943d6fSEmmanuel Vadot		serial3 = &uart4;	// mikro BUS 1
26*84943d6fSEmmanuel Vadot		serial4 = &uart6;	// flx1 Bluetooth
27*84943d6fSEmmanuel Vadot		i2c0 = &i2c0;
28*84943d6fSEmmanuel Vadot		i2c1 = &i2c1;
29*84943d6fSEmmanuel Vadot	};
30*84943d6fSEmmanuel Vadot
31*84943d6fSEmmanuel Vadot	chosen {
32*84943d6fSEmmanuel Vadot		bootargs = "console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait";
33*84943d6fSEmmanuel Vadot		stdout-path = "serial0:115200n8";
34*84943d6fSEmmanuel Vadot	};
35*84943d6fSEmmanuel Vadot
36*84943d6fSEmmanuel Vadot	clocks {
37*84943d6fSEmmanuel Vadot		slow_xtal {
38*84943d6fSEmmanuel Vadot			clock-frequency = <32768>;
39*84943d6fSEmmanuel Vadot		};
40*84943d6fSEmmanuel Vadot
41*84943d6fSEmmanuel Vadot		main_xtal {
42*84943d6fSEmmanuel Vadot			clock-frequency = <24000000>;
43*84943d6fSEmmanuel Vadot		};
44*84943d6fSEmmanuel Vadot	};
45*84943d6fSEmmanuel Vadot
46*84943d6fSEmmanuel Vadot	gpio-keys {
47*84943d6fSEmmanuel Vadot		compatible = "gpio-keys";
48*84943d6fSEmmanuel Vadot
49*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
50*84943d6fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_key_gpio_default>;
51*84943d6fSEmmanuel Vadot
52*84943d6fSEmmanuel Vadot		button-1 {
53*84943d6fSEmmanuel Vadot			label = "USER BUTTON";
54*84943d6fSEmmanuel Vadot			gpios = <&pioA PIN_PA17 GPIO_ACTIVE_LOW>;
55*84943d6fSEmmanuel Vadot			linux,code = <KEY_PROG1>;
56*84943d6fSEmmanuel Vadot			wakeup-source;
57*84943d6fSEmmanuel Vadot		};
58*84943d6fSEmmanuel Vadot	};
59*84943d6fSEmmanuel Vadot
60*84943d6fSEmmanuel Vadot	leds {
61*84943d6fSEmmanuel Vadot		compatible = "gpio-leds";
62*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
63*84943d6fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_led_gpio_default>;
64*84943d6fSEmmanuel Vadot		status = "okay";
65*84943d6fSEmmanuel Vadot
66*84943d6fSEmmanuel Vadot		led-red {
67*84943d6fSEmmanuel Vadot			label = "red";
68*84943d6fSEmmanuel Vadot			gpios = <&pioA PIN_PA7 GPIO_ACTIVE_HIGH>;
69*84943d6fSEmmanuel Vadot		};
70*84943d6fSEmmanuel Vadot
71*84943d6fSEmmanuel Vadot		led-green {
72*84943d6fSEmmanuel Vadot			label = "green";
73*84943d6fSEmmanuel Vadot			gpios = <&pioA PIN_PA8 GPIO_ACTIVE_HIGH>;
74*84943d6fSEmmanuel Vadot		};
75*84943d6fSEmmanuel Vadot
76*84943d6fSEmmanuel Vadot		led-blue {
77*84943d6fSEmmanuel Vadot			label = "blue";
78*84943d6fSEmmanuel Vadot			gpios = <&pioA PIN_PA9 GPIO_ACTIVE_HIGH>;
79*84943d6fSEmmanuel Vadot			linux,default-trigger = "heartbeat";
80*84943d6fSEmmanuel Vadot		};
81*84943d6fSEmmanuel Vadot	};
82*84943d6fSEmmanuel Vadot
83*84943d6fSEmmanuel Vadot	memory@20000000 {
84*84943d6fSEmmanuel Vadot		device_type = "memory";
85*84943d6fSEmmanuel Vadot		reg = <0x20000000 0x20000000>;
86*84943d6fSEmmanuel Vadot	};
87*84943d6fSEmmanuel Vadot};
88*84943d6fSEmmanuel Vadot
89*84943d6fSEmmanuel Vadot&adc {
90*84943d6fSEmmanuel Vadot	vddana-supply = <&vdd_3v3>;
91*84943d6fSEmmanuel Vadot	vref-supply = <&vdd_3v3>;
92*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
93*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
94*84943d6fSEmmanuel Vadot	status = "okay";
95*84943d6fSEmmanuel Vadot};
96*84943d6fSEmmanuel Vadot
97*84943d6fSEmmanuel Vadot&can0 {
98*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
99*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_can0_default>;
100*84943d6fSEmmanuel Vadot	status = "okay";
101*84943d6fSEmmanuel Vadot};
102*84943d6fSEmmanuel Vadot
103*84943d6fSEmmanuel Vadot&can1 {
104*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
105*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_can1_default>;
106*84943d6fSEmmanuel Vadot	status = "okay";
107*84943d6fSEmmanuel Vadot};
108*84943d6fSEmmanuel Vadot
109*84943d6fSEmmanuel Vadot&flx1 {
110*84943d6fSEmmanuel Vadot	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
111*84943d6fSEmmanuel Vadot	status = "okay";
112*84943d6fSEmmanuel Vadot
113*84943d6fSEmmanuel Vadot	uart6: serial@200 {
114*84943d6fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_flx1_default>;
115*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
116*84943d6fSEmmanuel Vadot		atmel,use-dma-rx;
117*84943d6fSEmmanuel Vadot		atmel,use-dma-tx;
118*84943d6fSEmmanuel Vadot		status = "okay";
119*84943d6fSEmmanuel Vadot	};
120*84943d6fSEmmanuel Vadot};
121*84943d6fSEmmanuel Vadot
122*84943d6fSEmmanuel Vadot&flx4 {
123*84943d6fSEmmanuel Vadot	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
124*84943d6fSEmmanuel Vadot	status = "okay";
125*84943d6fSEmmanuel Vadot
126*84943d6fSEmmanuel Vadot	spi6: spi@400 {
127*84943d6fSEmmanuel Vadot		dmas = <0>, <0>;
128*84943d6fSEmmanuel Vadot		pinctrl-names = "default";
129*84943d6fSEmmanuel Vadot		pinctrl-0 = <&pinctrl_rpi_spi>;
130*84943d6fSEmmanuel Vadot		status = "okay";
131*84943d6fSEmmanuel Vadot	};
132*84943d6fSEmmanuel Vadot};
133*84943d6fSEmmanuel Vadot
134*84943d6fSEmmanuel Vadot&i2c0 {
135*84943d6fSEmmanuel Vadot	dmas = <0>, <0>;
136*84943d6fSEmmanuel Vadot	pinctrl-names = "default", "gpio";
137*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c0_default>;
138*84943d6fSEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c0_gpio>;
139*84943d6fSEmmanuel Vadot	sda-gpios = <&pioA PIN_PB31 GPIO_ACTIVE_HIGH>;
140*84943d6fSEmmanuel Vadot	scl-gpios = <&pioA PIN_PC0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
141*84943d6fSEmmanuel Vadot	i2c-sda-hold-time-ns = <350>;
142*84943d6fSEmmanuel Vadot	status = "okay";
143*84943d6fSEmmanuel Vadot
144*84943d6fSEmmanuel Vadot	mcp16502@5b {
145*84943d6fSEmmanuel Vadot		compatible = "microchip,mcp16502";
146*84943d6fSEmmanuel Vadot		reg = <0x5b>;
147*84943d6fSEmmanuel Vadot		status = "okay";
148*84943d6fSEmmanuel Vadot		lpm-gpios = <&pioBU 0 GPIO_ACTIVE_LOW>;
149*84943d6fSEmmanuel Vadot
150*84943d6fSEmmanuel Vadot		regulators {
151*84943d6fSEmmanuel Vadot			vdd_3v3: VDD_IO {
152*84943d6fSEmmanuel Vadot				regulator-name = "VDD_IO";
153*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
154*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
155*84943d6fSEmmanuel Vadot				regulator-initial-mode = <2>;
156*84943d6fSEmmanuel Vadot				regulator-allowed-modes = <2>, <4>;
157*84943d6fSEmmanuel Vadot				regulator-always-on;
158*84943d6fSEmmanuel Vadot
159*84943d6fSEmmanuel Vadot				regulator-state-standby {
160*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
161*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
162*84943d6fSEmmanuel Vadot				};
163*84943d6fSEmmanuel Vadot
164*84943d6fSEmmanuel Vadot				regulator-state-mem {
165*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
166*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
167*84943d6fSEmmanuel Vadot				};
168*84943d6fSEmmanuel Vadot			};
169*84943d6fSEmmanuel Vadot
170*84943d6fSEmmanuel Vadot			vddio_ddr: VDD_DDR {
171*84943d6fSEmmanuel Vadot				regulator-name = "VDD_DDR";
172*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1200000>;
173*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1200000>;
174*84943d6fSEmmanuel Vadot				regulator-initial-mode = <2>;
175*84943d6fSEmmanuel Vadot				regulator-allowed-modes = <2>, <4>;
176*84943d6fSEmmanuel Vadot				regulator-always-on;
177*84943d6fSEmmanuel Vadot
178*84943d6fSEmmanuel Vadot				regulator-state-standby {
179*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
180*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1200000>;
181*84943d6fSEmmanuel Vadot					regulator-changeable-in-suspend;
182*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
183*84943d6fSEmmanuel Vadot				};
184*84943d6fSEmmanuel Vadot
185*84943d6fSEmmanuel Vadot				regulator-state-mem {
186*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
187*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1200000>;
188*84943d6fSEmmanuel Vadot					regulator-changeable-in-suspend;
189*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
190*84943d6fSEmmanuel Vadot				};
191*84943d6fSEmmanuel Vadot			};
192*84943d6fSEmmanuel Vadot
193*84943d6fSEmmanuel Vadot			vdd_core: VDD_CORE {
194*84943d6fSEmmanuel Vadot				regulator-name = "VDD_CORE";
195*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1250000>;
196*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1250000>;
197*84943d6fSEmmanuel Vadot				regulator-initial-mode = <2>;
198*84943d6fSEmmanuel Vadot				regulator-allowed-modes = <2>, <4>;
199*84943d6fSEmmanuel Vadot				regulator-always-on;
200*84943d6fSEmmanuel Vadot
201*84943d6fSEmmanuel Vadot				regulator-state-standby {
202*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
203*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
204*84943d6fSEmmanuel Vadot				};
205*84943d6fSEmmanuel Vadot
206*84943d6fSEmmanuel Vadot				regulator-state-mem {
207*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
208*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
209*84943d6fSEmmanuel Vadot				};
210*84943d6fSEmmanuel Vadot			};
211*84943d6fSEmmanuel Vadot
212*84943d6fSEmmanuel Vadot			vdd_ddr: VDD_OTHER {
213*84943d6fSEmmanuel Vadot				regulator-name = "VDD_OTHER";
214*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
215*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
216*84943d6fSEmmanuel Vadot				regulator-initial-mode = <2>;
217*84943d6fSEmmanuel Vadot				regulator-allowed-modes = <2>, <4>;
218*84943d6fSEmmanuel Vadot				regulator-always-on;
219*84943d6fSEmmanuel Vadot
220*84943d6fSEmmanuel Vadot				regulator-state-standby {
221*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
222*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
223*84943d6fSEmmanuel Vadot					regulator-changeable-in-suspend;
224*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
225*84943d6fSEmmanuel Vadot				};
226*84943d6fSEmmanuel Vadot
227*84943d6fSEmmanuel Vadot				regulator-state-mem {
228*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
229*84943d6fSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
230*84943d6fSEmmanuel Vadot					regulator-changeable-in-suspend;
231*84943d6fSEmmanuel Vadot					regulator-mode = <4>;
232*84943d6fSEmmanuel Vadot				};
233*84943d6fSEmmanuel Vadot			};
234*84943d6fSEmmanuel Vadot
235*84943d6fSEmmanuel Vadot			LDO1 {
236*84943d6fSEmmanuel Vadot				regulator-name = "LDO1";
237*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <2500000>;
238*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <2500000>;
239*84943d6fSEmmanuel Vadot				regulator-always-on;
240*84943d6fSEmmanuel Vadot
241*84943d6fSEmmanuel Vadot				regulator-state-standby {
242*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
243*84943d6fSEmmanuel Vadot				};
244*84943d6fSEmmanuel Vadot
245*84943d6fSEmmanuel Vadot				regulator-state-mem {
246*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
247*84943d6fSEmmanuel Vadot				};
248*84943d6fSEmmanuel Vadot			};
249*84943d6fSEmmanuel Vadot
250*84943d6fSEmmanuel Vadot			LDO2 {
251*84943d6fSEmmanuel Vadot				regulator-name = "LDO2";
252*84943d6fSEmmanuel Vadot				regulator-min-microvolt = <3300000>;
253*84943d6fSEmmanuel Vadot				regulator-max-microvolt = <3300000>;
254*84943d6fSEmmanuel Vadot				regulator-always-on;
255*84943d6fSEmmanuel Vadot
256*84943d6fSEmmanuel Vadot				regulator-state-standby {
257*84943d6fSEmmanuel Vadot					regulator-on-in-suspend;
258*84943d6fSEmmanuel Vadot				};
259*84943d6fSEmmanuel Vadot
260*84943d6fSEmmanuel Vadot				regulator-state-mem {
261*84943d6fSEmmanuel Vadot					regulator-off-in-suspend;
262*84943d6fSEmmanuel Vadot				};
263*84943d6fSEmmanuel Vadot			};
264*84943d6fSEmmanuel Vadot		};
265*84943d6fSEmmanuel Vadot	};
266*84943d6fSEmmanuel Vadot};
267*84943d6fSEmmanuel Vadot
268*84943d6fSEmmanuel Vadot&i2c1 {
269*84943d6fSEmmanuel Vadot	dmas = <0>, <0>;
270*84943d6fSEmmanuel Vadot	pinctrl-names = "default", "gpio";
271*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_i2c1_default>;
272*84943d6fSEmmanuel Vadot	pinctrl-1 = <&pinctrl_i2c1_gpio>;
273*84943d6fSEmmanuel Vadot	i2c-analog-filter;
274*84943d6fSEmmanuel Vadot	i2c-digital-filter;
275*84943d6fSEmmanuel Vadot	i2c-digital-filter-width-ns = <35>;
276*84943d6fSEmmanuel Vadot	sda-gpios = <&pioA PIN_PD4 GPIO_ACTIVE_HIGH>;
277*84943d6fSEmmanuel Vadot	scl-gpios = <&pioA PIN_PD5 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
278*84943d6fSEmmanuel Vadot	status = "okay";
279*84943d6fSEmmanuel Vadot};
280*84943d6fSEmmanuel Vadot
281*84943d6fSEmmanuel Vadot&pioA {
282*84943d6fSEmmanuel Vadot	pinctrl_adc_default: adc-default {
283*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD25__GPIO>,
284*84943d6fSEmmanuel Vadot			 <PIN_PD26__GPIO>;
285*84943d6fSEmmanuel Vadot		bias-disable;
286*84943d6fSEmmanuel Vadot	};
287*84943d6fSEmmanuel Vadot
288*84943d6fSEmmanuel Vadot	pinctrl_adtrg_default: adtrg-default {
289*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD31__ADTRG>;
290*84943d6fSEmmanuel Vadot		bias-pull-up;
291*84943d6fSEmmanuel Vadot	};
292*84943d6fSEmmanuel Vadot
293*84943d6fSEmmanuel Vadot	pinctrl_can0_default: can0-default {
294*84943d6fSEmmanuel Vadot		pinmux = <PIN_PC10__CANTX0>,
295*84943d6fSEmmanuel Vadot			 <PIN_PC11__CANRX0>;
296*84943d6fSEmmanuel Vadot		bias-disable;
297*84943d6fSEmmanuel Vadot	};
298*84943d6fSEmmanuel Vadot
299*84943d6fSEmmanuel Vadot	pinctrl_can1_default: can1-default {
300*84943d6fSEmmanuel Vadot		pinmux = <PIN_PC26__CANTX1>,
301*84943d6fSEmmanuel Vadot			 <PIN_PC27__CANRX1>;
302*84943d6fSEmmanuel Vadot		bias-disable;
303*84943d6fSEmmanuel Vadot	};
304*84943d6fSEmmanuel Vadot
305*84943d6fSEmmanuel Vadot	pinctrl_debug_uart: debug-uart {
306*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB26__URXD0>,
307*84943d6fSEmmanuel Vadot			 <PIN_PB27__UTXD0>;
308*84943d6fSEmmanuel Vadot		bias-disable;
309*84943d6fSEmmanuel Vadot	};
310*84943d6fSEmmanuel Vadot
311*84943d6fSEmmanuel Vadot	pinctrl_flx1_default: flx1-default {
312*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA24__FLEXCOM1_IO0>,
313*84943d6fSEmmanuel Vadot			 <PIN_PA23__FLEXCOM1_IO1>,
314*84943d6fSEmmanuel Vadot			 <PIN_PA25__FLEXCOM1_IO3>,
315*84943d6fSEmmanuel Vadot			 <PIN_PA26__FLEXCOM1_IO4>;
316*84943d6fSEmmanuel Vadot		bias-disable;
317*84943d6fSEmmanuel Vadot	};
318*84943d6fSEmmanuel Vadot
319*84943d6fSEmmanuel Vadot	pinctrl_i2c0_default: i2c0-default {
320*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB31__TWD0>,
321*84943d6fSEmmanuel Vadot			 <PIN_PC0__TWCK0>;
322*84943d6fSEmmanuel Vadot		bias-disable;
323*84943d6fSEmmanuel Vadot	};
324*84943d6fSEmmanuel Vadot
325*84943d6fSEmmanuel Vadot	pinctrl_i2c0_gpio: i2c0-gpio-default {
326*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB31__GPIO>,
327*84943d6fSEmmanuel Vadot			 <PIN_PC0__GPIO>;
328*84943d6fSEmmanuel Vadot		bias-disable;
329*84943d6fSEmmanuel Vadot	};
330*84943d6fSEmmanuel Vadot
331*84943d6fSEmmanuel Vadot	pinctrl_i2c1_default: i2c1-default {
332*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD4__TWD1>,
333*84943d6fSEmmanuel Vadot			 <PIN_PD5__TWCK1>;
334*84943d6fSEmmanuel Vadot		bias-disable;
335*84943d6fSEmmanuel Vadot	};
336*84943d6fSEmmanuel Vadot
337*84943d6fSEmmanuel Vadot	pinctrl_i2c1_gpio: i2c1-gpio-default {
338*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD4__GPIO>,
339*84943d6fSEmmanuel Vadot			 <PIN_PD5__GPIO>;
340*84943d6fSEmmanuel Vadot		bias-disable;
341*84943d6fSEmmanuel Vadot	};
342*84943d6fSEmmanuel Vadot
343*84943d6fSEmmanuel Vadot	pinctrl_key_gpio_default: key-gpio-default {
344*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA17__GPIO>;
345*84943d6fSEmmanuel Vadot		bias-pull-up;
346*84943d6fSEmmanuel Vadot	};
347*84943d6fSEmmanuel Vadot
348*84943d6fSEmmanuel Vadot	pinctrl_led_gpio_default: led-gpio-default {
349*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA7__GPIO>,
350*84943d6fSEmmanuel Vadot			 <PIN_PA8__GPIO>,
351*84943d6fSEmmanuel Vadot			 <PIN_PA9__GPIO>;
352*84943d6fSEmmanuel Vadot		bias-pull-up;
353*84943d6fSEmmanuel Vadot	};
354*84943d6fSEmmanuel Vadot
355*84943d6fSEmmanuel Vadot	pinctrl_mikrobus1_pwm: mikrobus1-pwm {
356*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA31__PWML0>;
357*84943d6fSEmmanuel Vadot		bias-disable;
358*84943d6fSEmmanuel Vadot	};
359*84943d6fSEmmanuel Vadot
360*84943d6fSEmmanuel Vadot	pinctrl_mikrobus2_pwm: mikrobus2-pwm {
361*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB0__PWMH1>;
362*84943d6fSEmmanuel Vadot		bias-disable;
363*84943d6fSEmmanuel Vadot	};
364*84943d6fSEmmanuel Vadot
365*84943d6fSEmmanuel Vadot	pinctrl_mikrobus1_uart: mikrobus1-uart {
366*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB3__URXD4>,
367*84943d6fSEmmanuel Vadot			 <PIN_PB4__UTXD4>;
368*84943d6fSEmmanuel Vadot		bias-disable;
369*84943d6fSEmmanuel Vadot	};
370*84943d6fSEmmanuel Vadot
371*84943d6fSEmmanuel Vadot	pinctrl_mikrobus2_uart: mikrobus2-uart {
372*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB11__URXD3>,
373*84943d6fSEmmanuel Vadot			 <PIN_PB12__UTXD3>;
374*84943d6fSEmmanuel Vadot		bias-disable;
375*84943d6fSEmmanuel Vadot	};
376*84943d6fSEmmanuel Vadot
377*84943d6fSEmmanuel Vadot	pinctrl_qspi1_default: qspi1-default {
378*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB5__QSPI1_SCK>,
379*84943d6fSEmmanuel Vadot			 <PIN_PB6__QSPI1_CS>,
380*84943d6fSEmmanuel Vadot			 <PIN_PB7__QSPI1_IO0>,
381*84943d6fSEmmanuel Vadot			 <PIN_PB8__QSPI1_IO1>,
382*84943d6fSEmmanuel Vadot			 <PIN_PB9__QSPI1_IO2>,
383*84943d6fSEmmanuel Vadot			 <PIN_PB10__QSPI1_IO3>;
384*84943d6fSEmmanuel Vadot		bias-disable;
385*84943d6fSEmmanuel Vadot	};
386*84943d6fSEmmanuel Vadot
387*84943d6fSEmmanuel Vadot	pinctrl_rpi_spi: rpi-spi {
388*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD12__FLEXCOM4_IO0>,
389*84943d6fSEmmanuel Vadot			 <PIN_PD13__FLEXCOM4_IO1>,
390*84943d6fSEmmanuel Vadot			 <PIN_PD14__FLEXCOM4_IO2>,
391*84943d6fSEmmanuel Vadot			 <PIN_PD15__FLEXCOM4_IO3>,
392*84943d6fSEmmanuel Vadot			 <PIN_PD16__FLEXCOM4_IO4>;
393*84943d6fSEmmanuel Vadot		bias-disable;
394*84943d6fSEmmanuel Vadot	};
395*84943d6fSEmmanuel Vadot
396*84943d6fSEmmanuel Vadot	pinctrl_rpi_uart: rpi-uart {
397*84943d6fSEmmanuel Vadot		pinmux = <PIN_PD2__URXD1>,
398*84943d6fSEmmanuel Vadot			 <PIN_PD3__UTXD1>;
399*84943d6fSEmmanuel Vadot		bias-disable;
400*84943d6fSEmmanuel Vadot	};
401*84943d6fSEmmanuel Vadot
402*84943d6fSEmmanuel Vadot	pinctrl_sdmmc0_default: sdmmc0-default {
403*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA0__SDMMC0_CK>,
404*84943d6fSEmmanuel Vadot			 <PIN_PA1__SDMMC0_CMD>,
405*84943d6fSEmmanuel Vadot			 <PIN_PA2__SDMMC0_DAT0>,
406*84943d6fSEmmanuel Vadot			 <PIN_PA3__SDMMC0_DAT1>,
407*84943d6fSEmmanuel Vadot			 <PIN_PA4__SDMMC0_DAT2>,
408*84943d6fSEmmanuel Vadot			 <PIN_PA5__SDMMC0_DAT3>,
409*84943d6fSEmmanuel Vadot			 <PIN_PA11__SDMMC0_VDDSEL>,
410*84943d6fSEmmanuel Vadot			 <PIN_PA13__SDMMC0_CD>;
411*84943d6fSEmmanuel Vadot		bias-disable;
412*84943d6fSEmmanuel Vadot	};
413*84943d6fSEmmanuel Vadot
414*84943d6fSEmmanuel Vadot	pinctrl_sdmmc1_default: sdmmc1-default {
415*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA18__SDMMC1_DAT0>,
416*84943d6fSEmmanuel Vadot			 <PIN_PA19__SDMMC1_DAT1>,
417*84943d6fSEmmanuel Vadot			 <PIN_PA20__SDMMC1_DAT2>,
418*84943d6fSEmmanuel Vadot			 <PIN_PA21__SDMMC1_DAT3>,
419*84943d6fSEmmanuel Vadot			 <PIN_PA22__SDMMC1_CK>,
420*84943d6fSEmmanuel Vadot			 <PIN_PA28__SDMMC1_CMD>,
421*84943d6fSEmmanuel Vadot			 <PIN_PA30__SDMMC1_CD>;
422*84943d6fSEmmanuel Vadot		bias-disable;
423*84943d6fSEmmanuel Vadot	};
424*84943d6fSEmmanuel Vadot
425*84943d6fSEmmanuel Vadot	pinctrl_spi1_default: spi1-default {
426*84943d6fSEmmanuel Vadot		pinmux = <PIN_PC1__SPI1_SPCK>,
427*84943d6fSEmmanuel Vadot			 <PIN_PC2__SPI1_MOSI>,
428*84943d6fSEmmanuel Vadot			 <PIN_PC3__SPI1_MISO>,
429*84943d6fSEmmanuel Vadot			 <PIN_PC4__SPI1_NPCS0>,
430*84943d6fSEmmanuel Vadot			 <PIN_PC5__SPI1_NPCS1>,
431*84943d6fSEmmanuel Vadot			 <PIN_PC6__SPI1_NPCS2>,
432*84943d6fSEmmanuel Vadot			 <PIN_PC7__SPI1_NPCS3>;
433*84943d6fSEmmanuel Vadot		bias-disable;
434*84943d6fSEmmanuel Vadot	};
435*84943d6fSEmmanuel Vadot
436*84943d6fSEmmanuel Vadot	pinctrl_usb_default: usb-default {
437*84943d6fSEmmanuel Vadot		pinmux = <PIN_PA6__GPIO>;
438*84943d6fSEmmanuel Vadot		bias-disable;
439*84943d6fSEmmanuel Vadot	};
440*84943d6fSEmmanuel Vadot
441*84943d6fSEmmanuel Vadot	pinctrl_usba_vbus: usba-vbus {
442*84943d6fSEmmanuel Vadot		pinmux = <PIN_PB13__GPIO>;
443*84943d6fSEmmanuel Vadot		bias-disable;
444*84943d6fSEmmanuel Vadot	};
445*84943d6fSEmmanuel Vadot};
446*84943d6fSEmmanuel Vadot
447*84943d6fSEmmanuel Vadot&pwm0 {
448*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
449*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_mikrobus1_pwm &pinctrl_mikrobus2_pwm>;
450*84943d6fSEmmanuel Vadot	status = "okay";
451*84943d6fSEmmanuel Vadot};
452*84943d6fSEmmanuel Vadot
453*84943d6fSEmmanuel Vadot&qspi1 {
454*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
455*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_qspi1_default>;
456*84943d6fSEmmanuel Vadot	status = "okay";
457*84943d6fSEmmanuel Vadot
458*84943d6fSEmmanuel Vadot	flash@0 {
459*84943d6fSEmmanuel Vadot		#address-cells = <1>;
460*84943d6fSEmmanuel Vadot		#size-cells = <1>;
461*84943d6fSEmmanuel Vadot		compatible = "jedec,spi-nor";
462*84943d6fSEmmanuel Vadot		reg = <0>;
463*84943d6fSEmmanuel Vadot		spi-max-frequency = <80000000>;
464*84943d6fSEmmanuel Vadot		spi-tx-bus-width = <4>;
465*84943d6fSEmmanuel Vadot		spi-rx-bus-width = <4>;
466*84943d6fSEmmanuel Vadot		m25p,fast-read;
467*84943d6fSEmmanuel Vadot		label = "atmel_qspi1";
468*84943d6fSEmmanuel Vadot		status = "okay";
469*84943d6fSEmmanuel Vadot
470*84943d6fSEmmanuel Vadot		at91bootstrap@0 {
471*84943d6fSEmmanuel Vadot			label = "at91bootstrap";
472*84943d6fSEmmanuel Vadot			reg = <0x0 0x40000>;
473*84943d6fSEmmanuel Vadot		};
474*84943d6fSEmmanuel Vadot
475*84943d6fSEmmanuel Vadot		bootloader@40000 {
476*84943d6fSEmmanuel Vadot			label = "bootloader";
477*84943d6fSEmmanuel Vadot			reg = <0x40000 0xc0000>;
478*84943d6fSEmmanuel Vadot		};
479*84943d6fSEmmanuel Vadot
480*84943d6fSEmmanuel Vadot		bootloaderenvred@100000 {
481*84943d6fSEmmanuel Vadot			label = "bootloader env redundant";
482*84943d6fSEmmanuel Vadot			reg = <0x100000 0x40000>;
483*84943d6fSEmmanuel Vadot		};
484*84943d6fSEmmanuel Vadot
485*84943d6fSEmmanuel Vadot		bootloaderenv@140000 {
486*84943d6fSEmmanuel Vadot			label = "bootloader env";
487*84943d6fSEmmanuel Vadot			reg = <0x140000 0x40000>;
488*84943d6fSEmmanuel Vadot		};
489*84943d6fSEmmanuel Vadot
490*84943d6fSEmmanuel Vadot		dtb@180000 {
491*84943d6fSEmmanuel Vadot			label = "device tree";
492*84943d6fSEmmanuel Vadot			reg = <0x180000 0x80000>;
493*84943d6fSEmmanuel Vadot		};
494*84943d6fSEmmanuel Vadot
495*84943d6fSEmmanuel Vadot		kernel@200000 {
496*84943d6fSEmmanuel Vadot			label = "kernel";
497*84943d6fSEmmanuel Vadot			reg = <0x200000 0x600000>;
498*84943d6fSEmmanuel Vadot		};
499*84943d6fSEmmanuel Vadot	};
500*84943d6fSEmmanuel Vadot};
501*84943d6fSEmmanuel Vadot
502*84943d6fSEmmanuel Vadot&sdmmc0 {
503*84943d6fSEmmanuel Vadot	bus-width = <4>;
504*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
505*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdmmc0_default>;
506*84943d6fSEmmanuel Vadot	disable-wp;
507*84943d6fSEmmanuel Vadot	status = "okay";
508*84943d6fSEmmanuel Vadot};
509*84943d6fSEmmanuel Vadot
510*84943d6fSEmmanuel Vadot&sdmmc1 {
511*84943d6fSEmmanuel Vadot	bus-width = <4>;
512*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
513*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_sdmmc1_default>;
514*84943d6fSEmmanuel Vadot	disable-wp;
515*84943d6fSEmmanuel Vadot	status = "okay";
516*84943d6fSEmmanuel Vadot};
517*84943d6fSEmmanuel Vadot
518*84943d6fSEmmanuel Vadot&shutdown_controller {
519*84943d6fSEmmanuel Vadot	debounce-delay-us = <976>;
520*84943d6fSEmmanuel Vadot	atmel,wakeup-rtc-timer;
521*84943d6fSEmmanuel Vadot
522*84943d6fSEmmanuel Vadot	input@0 {
523*84943d6fSEmmanuel Vadot		reg = <0>;
524*84943d6fSEmmanuel Vadot	};
525*84943d6fSEmmanuel Vadot};
526*84943d6fSEmmanuel Vadot
527*84943d6fSEmmanuel Vadot&spi1 {
528*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
529*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_spi1_default>;
530*84943d6fSEmmanuel Vadot	status = "okay";
531*84943d6fSEmmanuel Vadot};
532*84943d6fSEmmanuel Vadot
533*84943d6fSEmmanuel Vadot&tcb0 {
534*84943d6fSEmmanuel Vadot	timer0: timer@0 {
535*84943d6fSEmmanuel Vadot		compatible = "atmel,tcb-timer";
536*84943d6fSEmmanuel Vadot		reg = <0>;
537*84943d6fSEmmanuel Vadot	};
538*84943d6fSEmmanuel Vadot
539*84943d6fSEmmanuel Vadot	timer1: timer@1 {
540*84943d6fSEmmanuel Vadot		compatible = "atmel,tcb-timer";
541*84943d6fSEmmanuel Vadot		reg = <1>;
542*84943d6fSEmmanuel Vadot	};
543*84943d6fSEmmanuel Vadot};
544*84943d6fSEmmanuel Vadot
545*84943d6fSEmmanuel Vadot&uart0 {
546*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
547*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_debug_uart>;
548*84943d6fSEmmanuel Vadot	atmel,use-dma-rx;
549*84943d6fSEmmanuel Vadot	atmel,use-dma-tx;
550*84943d6fSEmmanuel Vadot	status = "okay";
551*84943d6fSEmmanuel Vadot};
552*84943d6fSEmmanuel Vadot
553*84943d6fSEmmanuel Vadot&uart1 {
554*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
555*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_rpi_uart>;
556*84943d6fSEmmanuel Vadot	atmel,use-dma-rx;
557*84943d6fSEmmanuel Vadot	atmel,use-dma-tx;
558*84943d6fSEmmanuel Vadot	status = "okay";
559*84943d6fSEmmanuel Vadot};
560*84943d6fSEmmanuel Vadot
561*84943d6fSEmmanuel Vadot&uart3 {
562*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
563*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_mikrobus2_uart>;
564*84943d6fSEmmanuel Vadot	atmel,use-dma-rx;
565*84943d6fSEmmanuel Vadot	atmel,use-dma-tx;
566*84943d6fSEmmanuel Vadot	status = "okay";
567*84943d6fSEmmanuel Vadot};
568*84943d6fSEmmanuel Vadot
569*84943d6fSEmmanuel Vadot&uart4 {
570*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
571*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_mikrobus1_uart>;
572*84943d6fSEmmanuel Vadot	atmel,use-dma-rx;
573*84943d6fSEmmanuel Vadot	atmel,use-dma-tx;
574*84943d6fSEmmanuel Vadot	status = "okay";
575*84943d6fSEmmanuel Vadot};
576*84943d6fSEmmanuel Vadot
577*84943d6fSEmmanuel Vadot&usb0 {
578*84943d6fSEmmanuel Vadot	atmel,vbus-gpio = <&pioA PIN_PB13 GPIO_ACTIVE_HIGH>;
579*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
580*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usba_vbus>;
581*84943d6fSEmmanuel Vadot	status = "okay";
582*84943d6fSEmmanuel Vadot};
583*84943d6fSEmmanuel Vadot
584*84943d6fSEmmanuel Vadot&usb1 {
585*84943d6fSEmmanuel Vadot	num-ports = <3>;
586*84943d6fSEmmanuel Vadot	atmel,vbus-gpio = <0
587*84943d6fSEmmanuel Vadot			   &pioA PIN_PA6 GPIO_ACTIVE_HIGH
588*84943d6fSEmmanuel Vadot			   0>;
589*84943d6fSEmmanuel Vadot	pinctrl-names = "default";
590*84943d6fSEmmanuel Vadot	pinctrl-0 = <&pinctrl_usb_default>;
591*84943d6fSEmmanuel Vadot	status = "okay";
592*84943d6fSEmmanuel Vadot};
593*84943d6fSEmmanuel Vadot
594*84943d6fSEmmanuel Vadot&usb2 {
595*84943d6fSEmmanuel Vadot	status = "okay";
596*84943d6fSEmmanuel Vadot};
597*84943d6fSEmmanuel Vadot
598*84943d6fSEmmanuel Vadot&watchdog {
599*84943d6fSEmmanuel Vadot	status = "okay";
600*84943d6fSEmmanuel Vadot};
601