1*724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*724ba675SRob Herring/*
3*724ba675SRob Herring * at91-sam9x60ek.dts - Device Tree file for Microchip SAM9X60-EK board
4*724ba675SRob Herring *
5*724ba675SRob Herring * Copyright (C) 2019 Microchip Technology Inc. and its subsidiaries
6*724ba675SRob Herring *
7*724ba675SRob Herring * Author: Sandeep Sheriker M <sandeepsheriker.mallikarjun@microchip.com>
8*724ba675SRob Herring */
9*724ba675SRob Herring/dts-v1/;
10*724ba675SRob Herring#include "sam9x60.dtsi"
11*724ba675SRob Herring#include <dt-bindings/input/input.h>
12*724ba675SRob Herring
13*724ba675SRob Herring/ {
14*724ba675SRob Herring	model = "Microchip SAM9X60-EK";
15*724ba675SRob Herring	compatible = "microchip,sam9x60ek", "microchip,sam9x60", "atmel,at91sam9";
16*724ba675SRob Herring
17*724ba675SRob Herring	aliases {
18*724ba675SRob Herring		i2c0 = &i2c0;
19*724ba675SRob Herring		i2c1 = &i2c6;
20*724ba675SRob Herring		serial1 = &uart5;
21*724ba675SRob Herring	};
22*724ba675SRob Herring
23*724ba675SRob Herring	chosen {
24*724ba675SRob Herring		stdout-path = "serial0:115200n8";
25*724ba675SRob Herring	};
26*724ba675SRob Herring
27*724ba675SRob Herring	clocks {
28*724ba675SRob Herring		slow_xtal {
29*724ba675SRob Herring			clock-frequency = <32768>;
30*724ba675SRob Herring		};
31*724ba675SRob Herring
32*724ba675SRob Herring		main_xtal {
33*724ba675SRob Herring			clock-frequency = <24000000>;
34*724ba675SRob Herring		};
35*724ba675SRob Herring	};
36*724ba675SRob Herring
37*724ba675SRob Herring	gpio-keys {
38*724ba675SRob Herring		compatible = "gpio-keys";
39*724ba675SRob Herring		pinctrl-names = "default";
40*724ba675SRob Herring		pinctrl-0 = <&pinctrl_key_gpio_default>;
41*724ba675SRob Herring
42*724ba675SRob Herring		button-1 {
43*724ba675SRob Herring			label = "SW1";
44*724ba675SRob Herring			gpios = <&pioD 18 GPIO_ACTIVE_LOW>;
45*724ba675SRob Herring			linux,code = <KEY_PROG1>;
46*724ba675SRob Herring			wakeup-source;
47*724ba675SRob Herring		};
48*724ba675SRob Herring	};
49*724ba675SRob Herring
50*724ba675SRob Herring	leds {
51*724ba675SRob Herring		compatible = "gpio-leds";
52*724ba675SRob Herring		pinctrl-names = "default";
53*724ba675SRob Herring		pinctrl-0 = <&pinctrl_gpio_leds>;
54*724ba675SRob Herring		status = "okay"; /* Conflict with pwm0. */
55*724ba675SRob Herring
56*724ba675SRob Herring		red {
57*724ba675SRob Herring			label = "red";
58*724ba675SRob Herring			gpios = <&pioB 11 GPIO_ACTIVE_HIGH>;
59*724ba675SRob Herring		};
60*724ba675SRob Herring
61*724ba675SRob Herring		green {
62*724ba675SRob Herring			label = "green";
63*724ba675SRob Herring			gpios = <&pioB 12 GPIO_ACTIVE_HIGH>;
64*724ba675SRob Herring		};
65*724ba675SRob Herring
66*724ba675SRob Herring		blue {
67*724ba675SRob Herring			label = "blue";
68*724ba675SRob Herring			gpios = <&pioB 13 GPIO_ACTIVE_HIGH>;
69*724ba675SRob Herring			linux,default-trigger = "heartbeat";
70*724ba675SRob Herring		};
71*724ba675SRob Herring	};
72*724ba675SRob Herring
73*724ba675SRob Herring	vdd_1v8: fixed-regulator-vdd_1v8 {
74*724ba675SRob Herring		compatible = "regulator-fixed";
75*724ba675SRob Herring		regulator-name = "VDD_1V8";
76*724ba675SRob Herring		regulator-min-microvolt = <1800000>;
77*724ba675SRob Herring		regulator-max-microvolt = <1800000>;
78*724ba675SRob Herring		regulator-always-on;
79*724ba675SRob Herring	};
80*724ba675SRob Herring
81*724ba675SRob Herring	vdd_1v15: fixed-regulator-vdd_1v15 {
82*724ba675SRob Herring		compatible = "regulator-fixed";
83*724ba675SRob Herring		regulator-name = "VDD_1V15";
84*724ba675SRob Herring		regulator-min-microvolt = <1150000>;
85*724ba675SRob Herring		regulator-max-microvolt = <1150000>;
86*724ba675SRob Herring		regulator-always-on;
87*724ba675SRob Herring	};
88*724ba675SRob Herring
89*724ba675SRob Herring	vdd1_3v3: fixed-regulator-vdd1_3v3 {
90*724ba675SRob Herring		compatible = "regulator-fixed";
91*724ba675SRob Herring		regulator-name = "VDD1_3V3";
92*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
93*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
94*724ba675SRob Herring		regulator-always-on;
95*724ba675SRob Herring	};
96*724ba675SRob Herring
97*724ba675SRob Herring	vdd2_3v3: regulator-fixed-vdd2_3v3 {
98*724ba675SRob Herring		compatible = "regulator-fixed";
99*724ba675SRob Herring		regulator-name = "VDD2_3V3";
100*724ba675SRob Herring		regulator-min-microvolt = <3300000>;
101*724ba675SRob Herring		regulator-max-microvolt = <3300000>;
102*724ba675SRob Herring		regulator-always-on;
103*724ba675SRob Herring	};
104*724ba675SRob Herring};
105*724ba675SRob Herring
106*724ba675SRob Herring&adc {
107*724ba675SRob Herring	vddana-supply = <&vdd1_3v3>;
108*724ba675SRob Herring	vref-supply = <&vdd1_3v3>;
109*724ba675SRob Herring	pinctrl-names = "default";
110*724ba675SRob Herring	pinctrl-0 = <&pinctrl_adc_default &pinctrl_adtrg_default>;
111*724ba675SRob Herring	status = "okay";
112*724ba675SRob Herring};
113*724ba675SRob Herring
114*724ba675SRob Herring&can0 {
115*724ba675SRob Herring	pinctrl-names = "default";
116*724ba675SRob Herring	pinctrl-0 = <&pinctrl_can0_rx_tx>;
117*724ba675SRob Herring	status = "disabled"; /* Conflict with dbgu. */
118*724ba675SRob Herring};
119*724ba675SRob Herring
120*724ba675SRob Herring&can1 {
121*724ba675SRob Herring	pinctrl-names = "default";
122*724ba675SRob Herring	pinctrl-0 = <&pinctrl_can1_rx_tx>;
123*724ba675SRob Herring	status = "okay";
124*724ba675SRob Herring};
125*724ba675SRob Herring
126*724ba675SRob Herring&classd {
127*724ba675SRob Herring	pinctrl-names = "default";
128*724ba675SRob Herring	pinctrl-0 = <&pinctrl_classd_default>;
129*724ba675SRob Herring	atmel,pwm-type = "diff";
130*724ba675SRob Herring	atmel,non-overlap-time = <10>;
131*724ba675SRob Herring	status = "okay";
132*724ba675SRob Herring};
133*724ba675SRob Herring
134*724ba675SRob Herring&dbgu {
135*724ba675SRob Herring	pinctrl-names = "default";
136*724ba675SRob Herring	pinctrl-0 = <&pinctrl_dbgu>;
137*724ba675SRob Herring	status = "okay"; /* Conflict with can0. */
138*724ba675SRob Herring};
139*724ba675SRob Herring
140*724ba675SRob Herring&ebi {
141*724ba675SRob Herring	pinctrl-names = "default";
142*724ba675SRob Herring	pinctrl-0 = <&pinctrl_ebi_addr_nand &pinctrl_ebi_data_0_7>;
143*724ba675SRob Herring	status = "okay";
144*724ba675SRob Herring
145*724ba675SRob Herring	nand_controller: nand-controller {
146*724ba675SRob Herring		pinctrl-names = "default";
147*724ba675SRob Herring		pinctrl-0 = <&pinctrl_nand_oe_we &pinctrl_nand_cs &pinctrl_nand_rb>;
148*724ba675SRob Herring		status = "okay";
149*724ba675SRob Herring
150*724ba675SRob Herring		nand@3 {
151*724ba675SRob Herring			reg = <0x3 0x0 0x800000>;
152*724ba675SRob Herring			rb-gpios = <&pioD 5 GPIO_ACTIVE_HIGH>;
153*724ba675SRob Herring			cs-gpios = <&pioD 4 GPIO_ACTIVE_HIGH>;
154*724ba675SRob Herring			nand-bus-width = <8>;
155*724ba675SRob Herring			nand-ecc-mode = "hw";
156*724ba675SRob Herring			nand-ecc-strength = <8>;
157*724ba675SRob Herring			nand-ecc-step-size = <512>;
158*724ba675SRob Herring			nand-on-flash-bbt;
159*724ba675SRob Herring			label = "atmel_nand";
160*724ba675SRob Herring
161*724ba675SRob Herring			partitions {
162*724ba675SRob Herring				compatible = "fixed-partitions";
163*724ba675SRob Herring				#address-cells = <1>;
164*724ba675SRob Herring				#size-cells = <1>;
165*724ba675SRob Herring
166*724ba675SRob Herring				at91bootstrap@0 {
167*724ba675SRob Herring					label = "at91bootstrap";
168*724ba675SRob Herring					reg = <0x0 0x40000>;
169*724ba675SRob Herring				};
170*724ba675SRob Herring
171*724ba675SRob Herring				uboot@40000 {
172*724ba675SRob Herring					label = "u-boot";
173*724ba675SRob Herring					reg = <0x40000 0xc0000>;
174*724ba675SRob Herring				};
175*724ba675SRob Herring
176*724ba675SRob Herring				ubootenvred@100000 {
177*724ba675SRob Herring					label = "U-Boot Env Redundant";
178*724ba675SRob Herring					reg = <0x100000 0x40000>;
179*724ba675SRob Herring				};
180*724ba675SRob Herring
181*724ba675SRob Herring				ubootenv@140000 {
182*724ba675SRob Herring					label = "U-Boot Env";
183*724ba675SRob Herring					reg = <0x140000 0x40000>;
184*724ba675SRob Herring				};
185*724ba675SRob Herring
186*724ba675SRob Herring				dtb@180000 {
187*724ba675SRob Herring					label = "device tree";
188*724ba675SRob Herring					reg = <0x180000 0x80000>;
189*724ba675SRob Herring				};
190*724ba675SRob Herring
191*724ba675SRob Herring				kernel@200000 {
192*724ba675SRob Herring					label = "kernel";
193*724ba675SRob Herring					reg = <0x200000 0x600000>;
194*724ba675SRob Herring				};
195*724ba675SRob Herring
196*724ba675SRob Herring				rootfs@800000 {
197*724ba675SRob Herring					label = "rootfs";
198*724ba675SRob Herring					reg = <0x800000 0x1f800000>;
199*724ba675SRob Herring				};
200*724ba675SRob Herring			};
201*724ba675SRob Herring		};
202*724ba675SRob Herring	};
203*724ba675SRob Herring};
204*724ba675SRob Herring
205*724ba675SRob Herring&flx0 {
206*724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
207*724ba675SRob Herring	status = "okay";
208*724ba675SRob Herring
209*724ba675SRob Herring	i2c0: i2c@600 {
210*724ba675SRob Herring		#address-cells = <1>;
211*724ba675SRob Herring		#size-cells = <0>;
212*724ba675SRob Herring		dmas = <0>, <0>;
213*724ba675SRob Herring		pinctrl-names = "default";
214*724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx0_default>;
215*724ba675SRob Herring		i2c-analog-filter;
216*724ba675SRob Herring		i2c-digital-filter;
217*724ba675SRob Herring		i2c-digital-filter-width-ns = <35>;
218*724ba675SRob Herring		status = "okay";
219*724ba675SRob Herring
220*724ba675SRob Herring		eeprom@53 {
221*724ba675SRob Herring			compatible = "atmel,24c02";
222*724ba675SRob Herring			reg = <0x53>;
223*724ba675SRob Herring			pagesize = <16>;
224*724ba675SRob Herring			status = "okay";
225*724ba675SRob Herring		};
226*724ba675SRob Herring	};
227*724ba675SRob Herring};
228*724ba675SRob Herring
229*724ba675SRob Herring&flx4 {
230*724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_SPI>;
231*724ba675SRob Herring	status = "disabled";
232*724ba675SRob Herring
233*724ba675SRob Herring	spi4: spi@400 {
234*724ba675SRob Herring		dmas = <0>, <0>;
235*724ba675SRob Herring		pinctrl-names = "default";
236*724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx4_default>;
237*724ba675SRob Herring		status = "disabled";
238*724ba675SRob Herring	};
239*724ba675SRob Herring};
240*724ba675SRob Herring
241*724ba675SRob Herring&flx5 {
242*724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_USART>;
243*724ba675SRob Herring	status = "okay";
244*724ba675SRob Herring
245*724ba675SRob Herring	uart5: serial@200 {
246*724ba675SRob Herring		pinctrl-names = "default";
247*724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx5_default>;
248*724ba675SRob Herring		status = "okay";
249*724ba675SRob Herring	};
250*724ba675SRob Herring};
251*724ba675SRob Herring
252*724ba675SRob Herring&flx6 {
253*724ba675SRob Herring	atmel,flexcom-mode = <ATMEL_FLEXCOM_MODE_TWI>;
254*724ba675SRob Herring	status = "okay";
255*724ba675SRob Herring
256*724ba675SRob Herring	i2c6: i2c@600 {
257*724ba675SRob Herring		#address-cells = <1>;
258*724ba675SRob Herring		#size-cells = <0>;
259*724ba675SRob Herring		dmas = <0>, <0>;
260*724ba675SRob Herring		pinctrl-names = "default";
261*724ba675SRob Herring		pinctrl-0 = <&pinctrl_flx6_default>;
262*724ba675SRob Herring		i2c-analog-filter;
263*724ba675SRob Herring		i2c-digital-filter;
264*724ba675SRob Herring		i2c-digital-filter-width-ns = <35>;
265*724ba675SRob Herring		status = "okay";
266*724ba675SRob Herring
267*724ba675SRob Herring		gpio_exp: mcp23008@20 {
268*724ba675SRob Herring			compatible = "microchip,mcp23008";
269*724ba675SRob Herring			reg = <0x20>;
270*724ba675SRob Herring		};
271*724ba675SRob Herring	};
272*724ba675SRob Herring};
273*724ba675SRob Herring
274*724ba675SRob Herring&gpbr {
275*724ba675SRob Herring	status = "okay";
276*724ba675SRob Herring};
277*724ba675SRob Herring
278*724ba675SRob Herring&i2s {
279*724ba675SRob Herring	pinctrl-names = "default";
280*724ba675SRob Herring	pinctrl-0 = <&pinctrl_i2s_default>;
281*724ba675SRob Herring	#sound-dai-cells = <0>;
282*724ba675SRob Herring	status = "disabled"; /* Conflict with QSPI. */
283*724ba675SRob Herring};
284*724ba675SRob Herring
285*724ba675SRob Herring&macb0 {
286*724ba675SRob Herring	phy-mode = "rmii";
287*724ba675SRob Herring	#address-cells = <1>;
288*724ba675SRob Herring	#size-cells = <0>;
289*724ba675SRob Herring	pinctrl-names = "default";
290*724ba675SRob Herring	pinctrl-0 = <&pinctrl_macb0_rmii>;
291*724ba675SRob Herring	status = "okay";
292*724ba675SRob Herring
293*724ba675SRob Herring	ethernet-phy@0 {
294*724ba675SRob Herring		reg = <0x0>;
295*724ba675SRob Herring	};
296*724ba675SRob Herring};
297*724ba675SRob Herring
298*724ba675SRob Herring&pinctrl {
299*724ba675SRob Herring	adc {
300*724ba675SRob Herring		pinctrl_adc_default: adc_default {
301*724ba675SRob Herring			atmel,pins = <AT91_PIOB 15 AT91_PERIPH_A AT91_PINCTRL_NONE>;
302*724ba675SRob Herring		};
303*724ba675SRob Herring
304*724ba675SRob Herring		pinctrl_adtrg_default: adtrg_default {
305*724ba675SRob Herring			atmel,pins = <AT91_PIOB 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
306*724ba675SRob Herring		};
307*724ba675SRob Herring	};
308*724ba675SRob Herring
309*724ba675SRob Herring	dbgu {
310*724ba675SRob Herring		pinctrl_dbgu: dbgu-0 {
311*724ba675SRob Herring			atmel,pins = <AT91_PIOA 9 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
312*724ba675SRob Herring				      AT91_PIOA 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;
313*724ba675SRob Herring		};
314*724ba675SRob Herring	};
315*724ba675SRob Herring
316*724ba675SRob Herring	i2s {
317*724ba675SRob Herring		pinctrl_i2s_default: i2s {
318*724ba675SRob Herring			atmel,pins =
319*724ba675SRob Herring				<AT91_PIOB 19 AT91_PERIPH_B AT91_PINCTRL_NONE		/* I2SCK */
320*724ba675SRob Herring				 AT91_PIOB 20 AT91_PERIPH_B AT91_PINCTRL_NONE		/* I2SWS */
321*724ba675SRob Herring				 AT91_PIOB 21 AT91_PERIPH_B AT91_PINCTRL_NONE		/* I2SDIN */
322*724ba675SRob Herring				 AT91_PIOB 22 AT91_PERIPH_B AT91_PINCTRL_NONE		/* I2SDOUT */
323*724ba675SRob Herring				 AT91_PIOB 23 AT91_PERIPH_B AT91_PINCTRL_NONE>;		/* I2SMCK */
324*724ba675SRob Herring		};
325*724ba675SRob Herring	};
326*724ba675SRob Herring
327*724ba675SRob Herring	qspi {
328*724ba675SRob Herring		pinctrl_qspi: qspi {
329*724ba675SRob Herring			atmel,pins =
330*724ba675SRob Herring				<AT91_PIOB 19 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
331*724ba675SRob Herring				 AT91_PIOB 20 AT91_PERIPH_A AT91_PINCTRL_SLEWRATE_DIS
332*724ba675SRob Herring				 AT91_PIOB 21 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
333*724ba675SRob Herring				 AT91_PIOB 22 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
334*724ba675SRob Herring				 AT91_PIOB 23 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)
335*724ba675SRob Herring				 AT91_PIOB 24 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_SLEWRATE_DIS)>;
336*724ba675SRob Herring		};
337*724ba675SRob Herring	};
338*724ba675SRob Herring
339*724ba675SRob Herring	nand {
340*724ba675SRob Herring		pinctrl_nand_oe_we: nand-oe-we-0 {
341*724ba675SRob Herring			atmel,pins =
342*724ba675SRob Herring				<AT91_PIOD 0 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
343*724ba675SRob Herring				 AT91_PIOD 1 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
344*724ba675SRob Herring		};
345*724ba675SRob Herring
346*724ba675SRob Herring		pinctrl_nand_rb: nand-rb-0 {
347*724ba675SRob Herring			atmel,pins =
348*724ba675SRob Herring				<AT91_PIOD 5 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
349*724ba675SRob Herring		};
350*724ba675SRob Herring
351*724ba675SRob Herring		pinctrl_nand_cs: nand-cs-0 {
352*724ba675SRob Herring			atmel,pins =
353*724ba675SRob Herring				<AT91_PIOD 4 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP>;
354*724ba675SRob Herring		};
355*724ba675SRob Herring	};
356*724ba675SRob Herring
357*724ba675SRob Herring	ebi {
358*724ba675SRob Herring		pinctrl_ebi_data_0_7: ebi-data-lsb-0 {
359*724ba675SRob Herring			atmel,pins =
360*724ba675SRob Herring				<AT91_PIOD 6 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
361*724ba675SRob Herring				 AT91_PIOD 7 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
362*724ba675SRob Herring				 AT91_PIOD 8 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
363*724ba675SRob Herring				 AT91_PIOD 9 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
364*724ba675SRob Herring				 AT91_PIOD 10 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
365*724ba675SRob Herring				 AT91_PIOD 11 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
366*724ba675SRob Herring				 AT91_PIOD 12 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
367*724ba675SRob Herring				 AT91_PIOD 13 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
368*724ba675SRob Herring		};
369*724ba675SRob Herring
370*724ba675SRob Herring		pinctrl_ebi_data_0_15: ebi-data-msb-0 {
371*724ba675SRob Herring			atmel,pins =
372*724ba675SRob Herring				<AT91_PIOD 6 AT91_PERIPH_A AT91_PINCTRL_NONE
373*724ba675SRob Herring				 AT91_PIOD 7 AT91_PERIPH_A AT91_PINCTRL_NONE
374*724ba675SRob Herring				 AT91_PIOD 8 AT91_PERIPH_A AT91_PINCTRL_NONE
375*724ba675SRob Herring				 AT91_PIOD 9 AT91_PERIPH_A AT91_PINCTRL_NONE
376*724ba675SRob Herring				 AT91_PIOD 10 AT91_PERIPH_A AT91_PINCTRL_NONE
377*724ba675SRob Herring				 AT91_PIOD 11 AT91_PERIPH_A AT91_PINCTRL_NONE
378*724ba675SRob Herring				 AT91_PIOD 12 AT91_PERIPH_A AT91_PINCTRL_NONE
379*724ba675SRob Herring				 AT91_PIOD 13 AT91_PERIPH_A AT91_PINCTRL_NONE
380*724ba675SRob Herring				 AT91_PIOD 14 AT91_PERIPH_A AT91_PINCTRL_NONE
381*724ba675SRob Herring				 AT91_PIOD 15 AT91_PERIPH_A AT91_PINCTRL_NONE
382*724ba675SRob Herring				 AT91_PIOD 16 AT91_PERIPH_A AT91_PINCTRL_NONE
383*724ba675SRob Herring				 AT91_PIOD 17 AT91_PERIPH_A AT91_PINCTRL_NONE
384*724ba675SRob Herring				 AT91_PIOD 18 AT91_PERIPH_A AT91_PINCTRL_NONE
385*724ba675SRob Herring				 AT91_PIOD 19 AT91_PERIPH_A AT91_PINCTRL_NONE
386*724ba675SRob Herring				 AT91_PIOD 20 AT91_PERIPH_A AT91_PINCTRL_NONE
387*724ba675SRob Herring				 AT91_PIOD 21 AT91_PERIPH_A AT91_PINCTRL_NONE>;
388*724ba675SRob Herring		};
389*724ba675SRob Herring
390*724ba675SRob Herring		pinctrl_ebi_addr_nand: ebi-addr-0 {
391*724ba675SRob Herring			atmel,pins =
392*724ba675SRob Herring				<AT91_PIOD 2 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)
393*724ba675SRob Herring				 AT91_PIOD 3 AT91_PERIPH_A (AT91_PINCTRL_NONE | AT91_PINCTRL_SLEWRATE_DIS)>;
394*724ba675SRob Herring		};
395*724ba675SRob Herring	};
396*724ba675SRob Herring
397*724ba675SRob Herring	flexcom {
398*724ba675SRob Herring		pinctrl_flx0_default: flx0_twi {
399*724ba675SRob Herring			atmel,pins =
400*724ba675SRob Herring				<AT91_PIOA 0 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
401*724ba675SRob Herring				 AT91_PIOA 1 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
402*724ba675SRob Herring		};
403*724ba675SRob Herring
404*724ba675SRob Herring		pinctrl_flx4_default: flx4_spi {
405*724ba675SRob Herring			atmel,pins =
406*724ba675SRob Herring				<AT91_PIOA 11 AT91_PERIPH_A AT91_PINCTRL_NONE
407*724ba675SRob Herring				 AT91_PIOA 12 AT91_PERIPH_A AT91_PINCTRL_NONE
408*724ba675SRob Herring				 AT91_PIOA 13 AT91_PERIPH_A AT91_PINCTRL_NONE
409*724ba675SRob Herring				 AT91_PIOA 14 AT91_PERIPH_A AT91_PINCTRL_NONE>;
410*724ba675SRob Herring		};
411*724ba675SRob Herring
412*724ba675SRob Herring		pinctrl_flx5_default: flx5_uart {
413*724ba675SRob Herring			atmel,pins =
414*724ba675SRob Herring				<AT91_PIOA 7 AT91_PERIPH_C AT91_PINCTRL_NONE
415*724ba675SRob Herring				 AT91_PIOA 8 AT91_PERIPH_B AT91_PINCTRL_NONE
416*724ba675SRob Herring				 AT91_PIOA 21 AT91_PERIPH_B AT91_PINCTRL_NONE
417*724ba675SRob Herring				 AT91_PIOA 22 AT91_PERIPH_B AT91_PINCTRL_NONE>;
418*724ba675SRob Herring		};
419*724ba675SRob Herring
420*724ba675SRob Herring		pinctrl_flx6_default: flx6_twi {
421*724ba675SRob Herring			atmel,pins =
422*724ba675SRob Herring				<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP
423*724ba675SRob Herring				 AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
424*724ba675SRob Herring		};
425*724ba675SRob Herring	};
426*724ba675SRob Herring
427*724ba675SRob Herring	classd {
428*724ba675SRob Herring		pinctrl_classd_default: classd {
429*724ba675SRob Herring			atmel,pins =
430*724ba675SRob Herring				<AT91_PIOA 24 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
431*724ba675SRob Herring				 AT91_PIOA 25 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN
432*724ba675SRob Herring				 AT91_PIOA 26 AT91_PERIPH_C AT91_PINCTRL_PULL_UP
433*724ba675SRob Herring				 AT91_PIOA 27 AT91_PERIPH_C AT91_PINCTRL_PULL_DOWN>;
434*724ba675SRob Herring		};
435*724ba675SRob Herring	};
436*724ba675SRob Herring
437*724ba675SRob Herring	can0 {
438*724ba675SRob Herring		pinctrl_can0_rx_tx: can0_rx_tx {
439*724ba675SRob Herring			atmel,pins =
440*724ba675SRob Herring				<AT91_PIOA 9 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX0 */
441*724ba675SRob Herring				 AT91_PIOA 10 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX0 */
442*724ba675SRob Herring				 AT91_PIOD 20 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN	/* Enable CAN0 mux */
443*724ba675SRob Herring				 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
444*724ba675SRob Herring		};
445*724ba675SRob Herring	};
446*724ba675SRob Herring
447*724ba675SRob Herring	can1 {
448*724ba675SRob Herring		pinctrl_can1_rx_tx: can1_rx_tx {
449*724ba675SRob Herring			atmel,pins =
450*724ba675SRob Herring				<AT91_PIOA 6 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANRX1 RXD1 */
451*724ba675SRob Herring				 AT91_PIOA 5 AT91_PERIPH_B AT91_PINCTRL_NONE	/* CANTX1 TXD1 */
452*724ba675SRob Herring				 AT91_PIOD 19 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN	/* Enable CAN1 mux */
453*724ba675SRob Herring				 AT91_PIOD 21 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_DOWN>;	/* Enable CAN Transceivers */
454*724ba675SRob Herring		};
455*724ba675SRob Herring	};
456*724ba675SRob Herring
457*724ba675SRob Herring	macb0 {
458*724ba675SRob Herring		pinctrl_macb0_rmii: macb0_rmii-0 {
459*724ba675SRob Herring			atmel,pins =
460*724ba675SRob Herring				<AT91_PIOB 0 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB0 periph A */
461*724ba675SRob Herring				 AT91_PIOB 1 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB1 periph A */
462*724ba675SRob Herring				 AT91_PIOB 2 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB2 periph A */
463*724ba675SRob Herring				 AT91_PIOB 3 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB3 periph A */
464*724ba675SRob Herring				 AT91_PIOB 4 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB4 periph A */
465*724ba675SRob Herring				 AT91_PIOB 5 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB5 periph A */
466*724ba675SRob Herring				 AT91_PIOB 6 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB6 periph A */
467*724ba675SRob Herring				 AT91_PIOB 7 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB7 periph A */
468*724ba675SRob Herring				 AT91_PIOB 9 AT91_PERIPH_A AT91_PINCTRL_NONE	/* PB9 periph A */
469*724ba675SRob Herring				 AT91_PIOB 10 AT91_PERIPH_A AT91_PINCTRL_NONE>;	/* PB10 periph A */
470*724ba675SRob Herring		};
471*724ba675SRob Herring	};
472*724ba675SRob Herring
473*724ba675SRob Herring	pwm0 {
474*724ba675SRob Herring		pinctrl_pwm0_0: pwm0_0 {
475*724ba675SRob Herring			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_B AT91_PINCTRL_NONE>;
476*724ba675SRob Herring		};
477*724ba675SRob Herring
478*724ba675SRob Herring		pinctrl_pwm0_1: pwm0_1 {
479*724ba675SRob Herring			atmel,pins = <AT91_PIOB 12 AT91_PERIPH_B AT91_PINCTRL_NONE>;
480*724ba675SRob Herring		};
481*724ba675SRob Herring
482*724ba675SRob Herring		pinctrl_pwm0_2: pwm0_2 {
483*724ba675SRob Herring			atmel,pins = <AT91_PIOB 13 AT91_PERIPH_B AT91_PINCTRL_NONE>;
484*724ba675SRob Herring		};
485*724ba675SRob Herring
486*724ba675SRob Herring		pinctrl_pwm0_3: pwm0_3 {
487*724ba675SRob Herring			atmel,pins = <AT91_PIOB 14 AT91_PERIPH_B AT91_PINCTRL_NONE>;
488*724ba675SRob Herring		};
489*724ba675SRob Herring	};
490*724ba675SRob Herring
491*724ba675SRob Herring	sdmmc0 {
492*724ba675SRob Herring		pinctrl_sdmmc0_default: sdmmc0 {
493*724ba675SRob Herring			atmel,pins =
494*724ba675SRob Herring				<AT91_PIOA 17 AT91_PERIPH_A (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA17 CK  periph A with pullup */
495*724ba675SRob Herring				 AT91_PIOA 16 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA16 CMD periph A with pullup */
496*724ba675SRob Herring				 AT91_PIOA 15 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA15 DAT0 periph A */
497*724ba675SRob Herring				 AT91_PIOA 18 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA18 DAT1 periph A with pullup */
498*724ba675SRob Herring				 AT91_PIOA 19 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA19 DAT2 periph A with pullup */
499*724ba675SRob Herring				 AT91_PIOA 20 AT91_PERIPH_A (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA20 DAT3 periph A with pullup */
500*724ba675SRob Herring		};
501*724ba675SRob Herring		pinctrl_sdmmc0_cd: sdmmc0_cd {
502*724ba675SRob Herring			atmel,pins =
503*724ba675SRob Herring				<AT91_PIOA 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
504*724ba675SRob Herring		};
505*724ba675SRob Herring	};
506*724ba675SRob Herring
507*724ba675SRob Herring	sdmmc1 {
508*724ba675SRob Herring		pinctrl_sdmmc1_default: sdmmc1 {
509*724ba675SRob Herring			atmel,pins =
510*724ba675SRob Herring				<AT91_PIOA 13 AT91_PERIPH_B (AT91_PINCTRL_DRIVE_STRENGTH_HI)				/* PA13 CK periph B */
511*724ba675SRob Herring				 AT91_PIOA 12 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA12 CMD periph B with pullup */
512*724ba675SRob Herring				 AT91_PIOA 11 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA11 DAT0 periph B with pullup */
513*724ba675SRob Herring				 AT91_PIOA  2 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA2 DAT1 periph B with pullup */
514*724ba675SRob Herring				 AT91_PIOA  3 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)	/* PA3 DAT2 periph B with pullup */
515*724ba675SRob Herring				 AT91_PIOA  4 AT91_PERIPH_B (AT91_PINCTRL_PULL_UP | AT91_PINCTRL_DRIVE_STRENGTH_HI)>;	/* PA4 DAT3 periph B with pullup */
516*724ba675SRob Herring		};
517*724ba675SRob Herring	};
518*724ba675SRob Herring
519*724ba675SRob Herring	gpio_keys {
520*724ba675SRob Herring		pinctrl_key_gpio_default: pinctrl_key_gpio {
521*724ba675SRob Herring			atmel,pins = <AT91_PIOD 18 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
522*724ba675SRob Herring		};
523*724ba675SRob Herring	};
524*724ba675SRob Herring
525*724ba675SRob Herring	usb0 {
526*724ba675SRob Herring		pinctrl_usba_vbus: usba_vbus {
527*724ba675SRob Herring			atmel,pins = <AT91_PIOB 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
528*724ba675SRob Herring		};
529*724ba675SRob Herring	};
530*724ba675SRob Herring
531*724ba675SRob Herring	usb1 {
532*724ba675SRob Herring		pinctrl_usb_default: usb_default {
533*724ba675SRob Herring			atmel,pins = <AT91_PIOD 15 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
534*724ba675SRob Herring				      AT91_PIOD 16 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
535*724ba675SRob Herring		};
536*724ba675SRob Herring	};
537*724ba675SRob Herring
538*724ba675SRob Herring	leds {
539*724ba675SRob Herring		pinctrl_gpio_leds: gpio_leds {
540*724ba675SRob Herring			atmel,pins = <AT91_PIOB 11 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
541*724ba675SRob Herring				      AT91_PIOB 12 AT91_PERIPH_GPIO AT91_PINCTRL_NONE
542*724ba675SRob Herring				      AT91_PIOB 13 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
543*724ba675SRob Herring		};
544*724ba675SRob Herring	};
545*724ba675SRob Herring}; /* pinctrl */
546*724ba675SRob Herring
547*724ba675SRob Herring&pwm0 {
548*724ba675SRob Herring	pinctrl-names = "default";
549*724ba675SRob Herring	pinctrl-0 = <&pinctrl_pwm0_0 &pinctrl_pwm0_1 &pinctrl_pwm0_2 &pinctrl_pwm0_3>;
550*724ba675SRob Herring	status = "disabled"; /* Conflict with leds. */
551*724ba675SRob Herring};
552*724ba675SRob Herring
553*724ba675SRob Herring&sdmmc0 {
554*724ba675SRob Herring	bus-width = <4>;
555*724ba675SRob Herring	pinctrl-names = "default";
556*724ba675SRob Herring	pinctrl-0 = <&pinctrl_sdmmc0_default &pinctrl_sdmmc0_cd>;
557*724ba675SRob Herring	status = "okay";
558*724ba675SRob Herring	cd-gpios = <&pioA 23 GPIO_ACTIVE_LOW>;
559*724ba675SRob Herring	disable-wp;
560*724ba675SRob Herring};
561*724ba675SRob Herring
562*724ba675SRob Herring&sdmmc1 {
563*724ba675SRob Herring	bus-width = <4>;
564*724ba675SRob Herring	pinctrl-names = "default";
565*724ba675SRob Herring	pinctrl-0 = <&pinctrl_sdmmc1_default>;
566*724ba675SRob Herring	no-1-8-v;
567*724ba675SRob Herring	non-removable;
568*724ba675SRob Herring	status = "disabled"; /* Conflict with flx4. */
569*724ba675SRob Herring};
570*724ba675SRob Herring
571*724ba675SRob Herring&qspi {
572*724ba675SRob Herring	pinctrl-names = "default";
573*724ba675SRob Herring	pinctrl-0 = <&pinctrl_qspi>;
574*724ba675SRob Herring	status = "okay"; /* Conflict with i2s. */
575*724ba675SRob Herring
576*724ba675SRob Herring	flash@0 {
577*724ba675SRob Herring		#address-cells = <1>;
578*724ba675SRob Herring		#size-cells = <1>;
579*724ba675SRob Herring		compatible = "jedec,spi-nor";
580*724ba675SRob Herring		reg = <0>;
581*724ba675SRob Herring		spi-max-frequency = <104000000>;
582*724ba675SRob Herring		spi-cs-setup-ns = <7>;
583*724ba675SRob Herring		spi-tx-bus-width = <4>;
584*724ba675SRob Herring		spi-rx-bus-width = <4>;
585*724ba675SRob Herring		m25p,fast-read;
586*724ba675SRob Herring
587*724ba675SRob Herring		at91bootstrap@0 {
588*724ba675SRob Herring			label = "qspi: at91bootstrap";
589*724ba675SRob Herring			reg = <0x0 0x40000>;
590*724ba675SRob Herring		};
591*724ba675SRob Herring
592*724ba675SRob Herring		bootloader@40000 {
593*724ba675SRob Herring			label = "qspi: bootloader";
594*724ba675SRob Herring			reg = <0x40000 0xc0000>;
595*724ba675SRob Herring		};
596*724ba675SRob Herring
597*724ba675SRob Herring		bootloaderenvred@100000 {
598*724ba675SRob Herring			label = "qspi: bootloader env redundant";
599*724ba675SRob Herring			reg = <0x100000 0x40000>;
600*724ba675SRob Herring		};
601*724ba675SRob Herring
602*724ba675SRob Herring		bootloaderenv@140000 {
603*724ba675SRob Herring			label = "qspi: bootloader env";
604*724ba675SRob Herring			reg = <0x140000 0x40000>;
605*724ba675SRob Herring		};
606*724ba675SRob Herring
607*724ba675SRob Herring		dtb@180000 {
608*724ba675SRob Herring			label = "qspi: device tree";
609*724ba675SRob Herring			reg = <0x180000 0x80000>;
610*724ba675SRob Herring		};
611*724ba675SRob Herring
612*724ba675SRob Herring		kernel@200000 {
613*724ba675SRob Herring			label = "qspi: kernel";
614*724ba675SRob Herring			reg = <0x200000 0x600000>;
615*724ba675SRob Herring		};
616*724ba675SRob Herring	};
617*724ba675SRob Herring};
618*724ba675SRob Herring
619*724ba675SRob Herring&rtt {
620*724ba675SRob Herring	atmel,rtt-rtc-time-reg = <&gpbr 0x0>;
621*724ba675SRob Herring	status = "okay";
622*724ba675SRob Herring};
623*724ba675SRob Herring
624*724ba675SRob Herring&shutdown_controller {
625*724ba675SRob Herring	debounce-delay-us = <976>;
626*724ba675SRob Herring	status = "okay";
627*724ba675SRob Herring
628*724ba675SRob Herring	input@0 {
629*724ba675SRob Herring		reg = <0>;
630*724ba675SRob Herring	};
631*724ba675SRob Herring};
632*724ba675SRob Herring
633*724ba675SRob Herring&tcb0 {
634*724ba675SRob Herring	timer0: timer@0 {
635*724ba675SRob Herring		compatible = "atmel,tcb-timer";
636*724ba675SRob Herring		reg = <0>;
637*724ba675SRob Herring	};
638*724ba675SRob Herring
639*724ba675SRob Herring	timer1: timer@1 {
640*724ba675SRob Herring		compatible = "atmel,tcb-timer";
641*724ba675SRob Herring		reg = <1>;
642*724ba675SRob Herring	};
643*724ba675SRob Herring};
644*724ba675SRob Herring
645*724ba675SRob Herring&usb0 {
646*724ba675SRob Herring	atmel,vbus-gpio = <&pioB 16 GPIO_ACTIVE_HIGH>;
647*724ba675SRob Herring	pinctrl-names = "default";
648*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usba_vbus>;
649*724ba675SRob Herring	status = "okay";
650*724ba675SRob Herring};
651*724ba675SRob Herring
652*724ba675SRob Herring&usb1 {
653*724ba675SRob Herring	num-ports = <3>;
654*724ba675SRob Herring	atmel,vbus-gpio = <0
655*724ba675SRob Herring			   &pioD 15 GPIO_ACTIVE_HIGH
656*724ba675SRob Herring			   &pioD 16 GPIO_ACTIVE_HIGH>;
657*724ba675SRob Herring	pinctrl-names = "default";
658*724ba675SRob Herring	pinctrl-0 = <&pinctrl_usb_default>;
659*724ba675SRob Herring	status = "okay";
660*724ba675SRob Herring};
661*724ba675SRob Herring
662*724ba675SRob Herring&usb2 {
663*724ba675SRob Herring	status = "okay";
664*724ba675SRob Herring};
665*724ba675SRob Herring
666*724ba675SRob Herring&watchdog {
667*724ba675SRob Herring	status = "okay";
668*724ba675SRob Herring};
669*724ba675SRob Herring
670