at91-sama5d3_xplained.dts revision 284090
1/*
2 * at91-sama5d3_xplained.dts - Device Tree file for the SAMA5D3 Xplained board
3 *
4 *  Copyright (C) 2014 Atmel,
5 *		  2014 Nicolas Ferre <nicolas.ferre@atmel.com>
6 *
7 * Licensed under GPLv2 or later.
8 */
9/dts-v1/;
10#include "sama5d36.dtsi"
11
12/ {
13	model = "SAMA5D3 Xplained";
14	compatible = "atmel,sama5d3-xplained", "atmel,sama5d3", "atmel,sama5";
15
16	chosen {
17		bootargs = "console=ttyS0,115200";
18	};
19
20	memory {
21		reg = <0x20000000 0x10000000>;
22	};
23
24	clocks {
25		slow_xtal {
26			clock-frequency = <32768>;
27		};
28
29		main_xtal {
30			clock-frequency = <12000000>;
31		};
32	};
33
34	ahb {
35		apb {
36			mmc0: mmc@f0000000 {
37				pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
38				status = "okay";
39				slot@0 {
40					reg = <0>;
41					bus-width = <8>;
42					cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
43				};
44			};
45
46			spi0: spi@f0004000 {
47				cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
48				status = "okay";
49			};
50
51			can0: can@f000c000 {
52				status = "okay";
53			};
54
55			i2c0: i2c@f0014000 {
56				pinctrl-0 = <&pinctrl_i2c0_pu>;
57				status = "okay";
58			};
59
60			i2c1: i2c@f0018000 {
61				status = "okay";
62
63				pmic: act8865@5b {
64					compatible = "active-semi,act8865";
65					reg = <0x5b>;
66					status = "okay";
67
68					regulators {
69						vcc_1v8_reg: DCDC_REG1 {
70							regulator-name = "VCC_1V8";
71							regulator-min-microvolt = <1800000>;
72							regulator-max-microvolt = <1800000>;
73							regulator-always-on;
74						};
75
76						vcc_1v2_reg: DCDC_REG2 {
77							regulator-name = "VCC_1V2";
78							regulator-min-microvolt = <1200000>;
79							regulator-max-microvolt = <1200000>;
80							regulator-always-on;
81						};
82
83						vcc_3v3_reg: DCDC_REG3 {
84							regulator-name = "VCC_3V3";
85							regulator-min-microvolt = <3300000>;
86							regulator-max-microvolt = <3300000>;
87							regulator-always-on;
88						};
89
90						vddfuse_reg: LDO_REG1 {
91							regulator-name = "FUSE_2V5";
92							regulator-min-microvolt = <2500000>;
93							regulator-max-microvolt = <2500000>;
94						};
95
96						vddana_reg: LDO_REG2 {
97							regulator-name = "VDDANA";
98							regulator-min-microvolt = <3300000>;
99							regulator-max-microvolt = <3300000>;
100							regulator-always-on;
101						};
102					};
103				};
104			};
105
106			macb0: ethernet@f0028000 {
107				phy-mode = "rgmii";
108				status = "okay";
109			};
110
111			pwm0: pwm@f002c000 {
112				pinctrl-names = "default";
113				pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
114				status = "okay";
115			};
116
117			usart0: serial@f001c000 {
118				status = "okay";
119			};
120
121			usart1: serial@f0020000 {
122				pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
123				status = "okay";
124			};
125
126			uart0: serial@f0024000 {
127				status = "okay";
128			};
129
130			mmc1: mmc@f8000000 {
131				pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
132				status = "okay";
133				slot@0 {
134					reg = <0>;
135					bus-width = <4>;
136					cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
137				};
138			};
139
140			spi1: spi@f8008000 {
141				cs-gpios = <&pioC 25 0>;
142				status = "okay";
143			};
144
145			adc0: adc@f8018000 {
146				pinctrl-0 = <
147					&pinctrl_adc0_adtrg
148					&pinctrl_adc0_ad0
149					&pinctrl_adc0_ad1
150					&pinctrl_adc0_ad2
151					&pinctrl_adc0_ad3
152					&pinctrl_adc0_ad4
153					&pinctrl_adc0_ad5
154					&pinctrl_adc0_ad6
155					&pinctrl_adc0_ad7
156					&pinctrl_adc0_ad8
157					&pinctrl_adc0_ad9
158					>;
159				status = "okay";
160			};
161
162			i2c2: i2c@f801c000 {
163				dmas = <0>, <0>;	/* Do not use DMA for i2c2 */
164				pinctrl-0 = <&pinctrl_i2c2_pu>;
165				status = "okay";
166			};
167
168			macb1: ethernet@f802c000 {
169				phy-mode = "rmii";
170				status = "okay";
171			};
172
173			dbgu: serial@ffffee00 {
174				status = "okay";
175			};
176
177			pinctrl@fffff200 {
178				board {
179					pinctrl_i2c0_pu: i2c0_pu {
180						atmel,pins =
181							<AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
182							<AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
183					};
184
185					pinctrl_i2c2_pu: i2c2_pu {
186						atmel,pins =
187							<AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
188							<AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
189					};
190
191					pinctrl_mmc0_cd: mmc0_cd {
192						atmel,pins =
193							<AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
194					};
195
196					pinctrl_mmc1_cd: mmc1_cd {
197						atmel,pins =
198							<AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
199					};
200
201					pinctrl_usba_vbus: usba_vbus {
202						atmel,pins =
203							<AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>;	/* PE9, conflicts with A9 */
204					};
205				};
206			};
207
208			pmc: pmc@fffffc00 {
209				main: mainck {
210					clock-frequency = <12000000>;
211				};
212			};
213		};
214
215		nand0: nand@60000000 {
216			nand-bus-width = <8>;
217			nand-ecc-mode = "hw";
218			atmel,has-pmecc;
219			atmel,pmecc-cap = <4>;
220			atmel,pmecc-sector-size = <512>;
221			nand-on-flash-bbt;
222			status = "okay";
223
224			at91bootstrap@0 {
225				label = "at91bootstrap";
226				reg = <0x0 0x40000>;
227			};
228
229			bootloader@40000 {
230				label = "bootloader";
231				reg = <0x40000 0x80000>;
232			};
233
234			bootloaderenv@c0000 {
235				label = "bootloader env";
236				reg = <0xc0000 0xc0000>;
237			};
238
239			dtb@180000 {
240				label = "device tree";
241				reg = <0x180000 0x80000>;
242			};
243
244			kernel@200000 {
245				label = "kernel";
246				reg = <0x200000 0x600000>;
247			};
248
249			rootfs@800000 {
250				label = "rootfs";
251				reg = <0x800000 0x0f800000>;
252			};
253		};
254
255		usb0: gadget@00500000 {
256			atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>;	/* PE9, conflicts with A9 */
257			pinctrl-names = "default";
258			pinctrl-0 = <&pinctrl_usba_vbus>;
259			status = "okay";
260		};
261
262		usb1: ohci@00600000 {
263			num-ports = <3>;
264			atmel,vbus-gpio = <0
265					   &pioE 3 GPIO_ACTIVE_LOW
266					   &pioE 4 GPIO_ACTIVE_LOW
267					  >;
268			status = "okay";
269		};
270
271		usb2: ehci@00700000 {
272			status = "okay";
273		};
274	};
275
276	gpio_keys {
277		compatible = "gpio-keys";
278
279		bp3 {
280			label = "PB_USER";
281			gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
282			linux,code = <0x104>;
283			gpio-key,wakeup;
284		};
285	};
286
287	leds {
288		compatible = "gpio-leds";
289
290		d2 {
291			label = "d2";
292			gpios = <&pioE 23 GPIO_ACTIVE_LOW>;	/* PE23, conflicts with A23, CTS2 */
293			linux,default-trigger = "heartbeat";
294		};
295
296		d3 {
297			label = "d3";
298			gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
299		};
300	};
301};
302