blob: 3596b4c31ad78e80a05425dcd712deda152a4c86 [file] [log] [blame]
Nicolas Ferreb7c2b612014-02-04 15:05:55 +01001/*
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
Alexandre Belloni334394c2014-06-17 15:30:20 +020024 clocks {
25 slow_xtal {
26 clock-frequency = <32768>;
27 };
Boris BREZILLON58a5c3d2014-04-22 15:12:36 +020028
Alexandre Belloni334394c2014-06-17 15:30:20 +020029 main_xtal {
30 clock-frequency = <12000000>;
31 };
Boris BREZILLON58a5c3d2014-04-22 15:12:36 +020032 };
33
Nicolas Ferreb7c2b612014-02-04 15:05:55 +010034 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>;
Ben Dooksed8d1772015-04-27 15:19:11 +020038 vqmmc-supply = <&vcc_3v3_reg>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +010039 status = "okay";
40 slot@0 {
41 reg = <0>;
42 bus-width = <8>;
43 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
44 };
45 };
46
Ben Dooks6f4728c52015-04-27 15:19:10 +020047 mmc1: mmc@f8000000 {
48 vmmc-supply = <&vcc_3v3_reg>;
49 vqmmc-supply = <&vcc_3v3_reg>;
50 status = "disabled";
51 slot@0 {
52 reg = <0>;
53 bus-width = <4>;
54 cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
55 };
56 };
57
Nicolas Ferreb7c2b612014-02-04 15:05:55 +010058 spi0: spi@f0004000 {
Bo Shend44db492014-04-01 15:12:43 +080059 cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +010060 status = "okay";
61 };
62
63 can0: can@f000c000 {
64 status = "okay";
65 };
66
67 i2c0: i2c@f0014000 {
Nicolas Ferrea3b8a7c2014-03-27 11:44:11 +010068 pinctrl-0 = <&pinctrl_i2c0_pu>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +010069 status = "okay";
70 };
71
72 i2c1: i2c@f0018000 {
73 status = "okay";
Wenyou Yanga93f9c82014-04-21 12:29:07 +080074
75 pmic: act8865@5b {
76 compatible = "active-semi,act8865";
77 reg = <0x5b>;
78 status = "okay";
79
80 regulators {
81 vcc_1v8_reg: DCDC_REG1 {
82 regulator-name = "VCC_1V8";
83 regulator-min-microvolt = <1800000>;
84 regulator-max-microvolt = <1800000>;
85 regulator-always-on;
86 };
87
88 vcc_1v2_reg: DCDC_REG2 {
89 regulator-name = "VCC_1V2";
90 regulator-min-microvolt = <1200000>;
91 regulator-max-microvolt = <1200000>;
92 regulator-always-on;
93 };
94
95 vcc_3v3_reg: DCDC_REG3 {
96 regulator-name = "VCC_3V3";
97 regulator-min-microvolt = <3300000>;
98 regulator-max-microvolt = <3300000>;
99 regulator-always-on;
100 };
101
102 vddfuse_reg: LDO_REG1 {
103 regulator-name = "FUSE_2V5";
104 regulator-min-microvolt = <2500000>;
105 regulator-max-microvolt = <2500000>;
106 };
107
108 vddana_reg: LDO_REG2 {
109 regulator-name = "VDDANA";
110 regulator-min-microvolt = <3300000>;
111 regulator-max-microvolt = <3300000>;
112 regulator-always-on;
113 };
114 };
115 };
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100116 };
117
118 macb0: ethernet@f0028000 {
119 phy-mode = "rgmii";
Nicolas Ferre9e65adb2015-03-31 11:01:12 +0200120 #address-cells = <1>;
121 #size-cells = <0>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100122 status = "okay";
Nicolas Ferre9e65adb2015-03-31 11:01:12 +0200123
124 ethernet-phy@7 {
125 reg = <0x7>;
126 };
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100127 };
128
Nicolas Ferre0da40f32014-04-24 17:34:14 +0200129 pwm0: pwm@f002c000 {
130 pinctrl-names = "default";
131 pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
132 status = "okay";
133 };
134
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100135 usart0: serial@f001c000 {
136 status = "okay";
137 };
138
139 usart1: serial@f0020000 {
140 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
141 status = "okay";
142 };
143
144 uart0: serial@f0024000 {
145 status = "okay";
146 };
147
148 mmc1: mmc@f8000000 {
149 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
150 status = "okay";
151 slot@0 {
152 reg = <0>;
153 bus-width = <4>;
154 cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
155 };
156 };
157
158 spi1: spi@f8008000 {
Bo Shend44db492014-04-01 15:12:43 +0800159 cs-gpios = <&pioC 25 0>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100160 status = "okay";
161 };
162
163 adc0: adc@f8018000 {
164 pinctrl-0 = <
165 &pinctrl_adc0_adtrg
166 &pinctrl_adc0_ad0
167 &pinctrl_adc0_ad1
168 &pinctrl_adc0_ad2
169 &pinctrl_adc0_ad3
170 &pinctrl_adc0_ad4
171 &pinctrl_adc0_ad5
172 &pinctrl_adc0_ad6
173 &pinctrl_adc0_ad7
174 &pinctrl_adc0_ad8
175 &pinctrl_adc0_ad9
176 >;
177 status = "okay";
178 };
179
180 i2c2: i2c@f801c000 {
181 dmas = <0>, <0>; /* Do not use DMA for i2c2 */
Nicolas Ferrea3b8a7c2014-03-27 11:44:11 +0100182 pinctrl-0 = <&pinctrl_i2c2_pu>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100183 status = "okay";
184 };
185
186 macb1: ethernet@f802c000 {
187 phy-mode = "rmii";
Nicolas Ferre98b80982015-03-31 10:56:10 +0200188 #address-cells = <1>;
189 #size-cells = <0>;
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100190 status = "okay";
Nicolas Ferre98b80982015-03-31 10:56:10 +0200191
192 ethernet-phy@1 {
193 reg = <0x1>;
194 };
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100195 };
196
197 dbgu: serial@ffffee00 {
198 status = "okay";
199 };
200
201 pinctrl@fffff200 {
202 board {
Nicolas Ferrea3b8a7c2014-03-27 11:44:11 +0100203 pinctrl_i2c0_pu: i2c0_pu {
204 atmel,pins =
205 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
206 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
207 };
208
209 pinctrl_i2c2_pu: i2c2_pu {
210 atmel,pins =
211 <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
212 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
213 };
214
Wenyou Yang6d39bb02014-08-13 12:58:21 +0800215 pinctrl_key_gpio: key_gpio_0 {
216 atmel,pins =
217 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
218 };
219
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100220 pinctrl_mmc0_cd: mmc0_cd {
221 atmel,pins =
222 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
223 };
224
225 pinctrl_mmc1_cd: mmc1_cd {
226 atmel,pins =
227 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
228 };
229
230 pinctrl_usba_vbus: usba_vbus {
231 atmel,pins =
232 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
233 };
234 };
235 };
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100236 };
237
238 nand0: nand@60000000 {
239 nand-bus-width = <8>;
240 nand-ecc-mode = "hw";
241 atmel,has-pmecc;
242 atmel,pmecc-cap = <4>;
243 atmel,pmecc-sector-size = <512>;
244 nand-on-flash-bbt;
245 status = "okay";
246
247 at91bootstrap@0 {
248 label = "at91bootstrap";
249 reg = <0x0 0x40000>;
250 };
251
252 bootloader@40000 {
253 label = "bootloader";
254 reg = <0x40000 0x80000>;
255 };
256
257 bootloaderenv@c0000 {
258 label = "bootloader env";
259 reg = <0xc0000 0xc0000>;
260 };
261
262 dtb@180000 {
263 label = "device tree";
264 reg = <0x180000 0x80000>;
265 };
266
267 kernel@200000 {
268 label = "kernel";
269 reg = <0x200000 0x600000>;
270 };
271
272 rootfs@800000 {
273 label = "rootfs";
274 reg = <0x800000 0x0f800000>;
275 };
276 };
277
278 usb0: gadget@00500000 {
279 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */
280 pinctrl-names = "default";
281 pinctrl-0 = <&pinctrl_usba_vbus>;
282 status = "okay";
283 };
284
285 usb1: ohci@00600000 {
286 num-ports = <3>;
287 atmel,vbus-gpio = <0
288 &pioE 3 GPIO_ACTIVE_LOW
289 &pioE 4 GPIO_ACTIVE_LOW
290 >;
291 status = "okay";
292 };
293
294 usb2: ehci@00700000 {
295 status = "okay";
296 };
297 };
298
299 gpio_keys {
300 compatible = "gpio-keys";
301
Wenyou Yang6d39bb02014-08-13 12:58:21 +0800302 pinctrl-names = "default";
303 pinctrl-0 = <&pinctrl_key_gpio>;
304
Nicolas Ferreb7c2b612014-02-04 15:05:55 +0100305 bp3 {
306 label = "PB_USER";
307 gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
308 linux,code = <0x104>;
309 gpio-key,wakeup;
310 };
311 };
312
313 leds {
314 compatible = "gpio-leds";
315
316 d2 {
317 label = "d2";
318 gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */
319 linux,default-trigger = "heartbeat";
320 };
321
322 d3 {
323 label = "d3";
324 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
325 };
326 };
327};