Linux Audio

Check our new training course

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