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