blob: 20fba5f067cea98f4b8f80d50d633b932f9ee8d8 [file] [log] [blame]
Wenyou Yang27ec9102017-03-24 09:18:42 +08001/*
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 u-boot,dm-pre-reloc;
18 stdout-path = &dbgu;
19 };
20
21 aliases {
22 spi0 = &spi0;
23 };
24
25 memory {
26 reg = <0x20000000 0x10000000>;
27 };
28
29 clocks {
30 slow_xtal {
31 clock-frequency = <32768>;
32 };
33
34 main_xtal {
35 clock-frequency = <12000000>;
36 };
37 };
38
Eugen Hristev2b238c62018-09-18 10:35:54 +030039 onewire_tm: onewire {
40 gpios = <&pioE 23 GPIO_ACTIVE_LOW>;
41 pinctrl-names = "default";
42 pinctrl-0 = <&pinctrl_onewire_tm_default>;
43 status = "okay";
44
45 w1_eeprom: w1_eeprom@0 {
46 compatible = "maxim,ds24b33";
47 status = "okay";
48 };
49 };
50
Wenyou Yang27ec9102017-03-24 09:18:42 +080051 ahb {
52 apb {
53 mmc0: mmc@f0000000 {
54 u-boot,dm-pre-reloc;
55 pinctrl-0 = <&pinctrl_mmc0_clk_cmd_dat0 &pinctrl_mmc0_dat1_3 &pinctrl_mmc0_dat4_7 &pinctrl_mmc0_cd>;
56 vmmc-supply = <&vcc_mmc0_reg>;
57 vqmmc-supply = <&vcc_3v3_reg>;
58 status = "okay";
59 slot@0 {
60 reg = <0>;
61 bus-width = <8>;
62 cd-gpios = <&pioE 0 GPIO_ACTIVE_LOW>;
63 };
64 };
65
66 mmc1: mmc@f8000000 {
67 u-boot,dm-pre-reloc;
68 vmmc-supply = <&vcc_3v3_reg>;
69 vqmmc-supply = <&vcc_3v3_reg>;
70 status = "disabled";
71 slot@0 {
72 reg = <0>;
73 bus-width = <4>;
74 cd-gpios = <&pioE 1 GPIO_ACTIVE_LOW>;
75 };
76 };
77
78 spi0: spi@f0004000 {
79 cs-gpios = <&pioD 13 0>, <0>, <0>, <&pioD 16 0>;
80 status = "okay";
81 };
82
83 can0: can@f000c000 {
84 status = "okay";
85 };
86
87 i2c0: i2c@f0014000 {
88 pinctrl-0 = <&pinctrl_i2c0_pu>;
89 status = "okay";
90 };
91
92 i2c1: i2c@f0018000 {
93 status = "okay";
94
95 pmic: act8865@5b {
96 compatible = "active-semi,act8865";
97 reg = <0x5b>;
98 status = "disabled";
99
100 regulators {
101 vcc_1v8_reg: DCDC_REG1 {
102 regulator-name = "VCC_1V8";
103 regulator-min-microvolt = <1800000>;
104 regulator-max-microvolt = <1800000>;
105 regulator-always-on;
106 };
107
108 vcc_1v2_reg: DCDC_REG2 {
109 regulator-name = "VCC_1V2";
110 regulator-min-microvolt = <1200000>;
111 regulator-max-microvolt = <1200000>;
112 regulator-always-on;
113 };
114
115 vcc_3v3_reg: DCDC_REG3 {
116 regulator-name = "VCC_3V3";
117 regulator-min-microvolt = <3300000>;
118 regulator-max-microvolt = <3300000>;
119 regulator-always-on;
120 };
121
122 vddfuse_reg: LDO_REG1 {
123 regulator-name = "FUSE_2V5";
124 regulator-min-microvolt = <2500000>;
125 regulator-max-microvolt = <2500000>;
126 };
127
128 vddana_reg: LDO_REG2 {
129 regulator-name = "VDDANA";
130 regulator-min-microvolt = <3300000>;
131 regulator-max-microvolt = <3300000>;
132 regulator-always-on;
133 };
134 };
135 };
136 };
137
138 macb0: ethernet@f0028000 {
139 phy-mode = "rgmii";
140 #address-cells = <1>;
141 #size-cells = <0>;
142 status = "okay";
143
144 ethernet-phy@7 {
145 reg = <0x7>;
146 };
147 };
148
149 pwm0: pwm@f002c000 {
150 pinctrl-names = "default";
151 pinctrl-0 = <&pinctrl_pwm0_pwmh0_0 &pinctrl_pwm0_pwmh1_0>;
152 status = "okay";
153 };
154
155 usart0: serial@f001c000 {
156 status = "okay";
157 };
158
159 usart1: serial@f0020000 {
160 pinctrl-0 = <&pinctrl_usart1 &pinctrl_usart1_rts_cts>;
161 status = "okay";
162 };
163
164 uart0: serial@f0024000 {
165 status = "okay";
166 };
167
168 mmc1: mmc@f8000000 {
169 pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>;
170 status = "okay";
171 slot@0 {
172 reg = <0>;
173 bus-width = <4>;
174 cd-gpios = <&pioE 1 GPIO_ACTIVE_HIGH>;
175 };
176 };
177
178 spi1: spi@f8008000 {
179 cs-gpios = <&pioC 25 0>;
180 status = "okay";
181 };
182
183 adc0: adc@f8018000 {
184 pinctrl-0 = <
185 &pinctrl_adc0_adtrg
186 &pinctrl_adc0_ad0
187 &pinctrl_adc0_ad1
188 &pinctrl_adc0_ad2
189 &pinctrl_adc0_ad3
190 &pinctrl_adc0_ad4
191 &pinctrl_adc0_ad5
192 &pinctrl_adc0_ad6
193 &pinctrl_adc0_ad7
194 &pinctrl_adc0_ad8
195 &pinctrl_adc0_ad9
196 >;
197 status = "okay";
198 };
199
200 i2c2: i2c@f801c000 {
201 dmas = <0>, <0>; /* Do not use DMA for i2c2 */
202 pinctrl-0 = <&pinctrl_i2c2_pu>;
203 status = "okay";
204 };
205
206 macb1: ethernet@f802c000 {
207 phy-mode = "rmii";
208 #address-cells = <1>;
209 #size-cells = <0>;
210 status = "okay";
211
212 ethernet-phy@1 {
213 reg = <0x1>;
214 };
215 };
216
217 dbgu: serial@ffffee00 {
218 u-boot,dm-pre-reloc;
219 status = "okay";
220 };
221
222 pinctrl@fffff200 {
223 board {
224 u-boot,dm-pre-reloc;
225 pinctrl_i2c0_pu: i2c0_pu {
226 atmel,pins =
227 <AT91_PIOA 30 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>,
228 <AT91_PIOA 31 AT91_PERIPH_A AT91_PINCTRL_PULL_UP>;
229 };
230
231 pinctrl_i2c2_pu: i2c2_pu {
232 atmel,pins =
233 <AT91_PIOA 18 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>,
234 <AT91_PIOA 19 AT91_PERIPH_B AT91_PINCTRL_PULL_UP>;
235 };
236
237 pinctrl_key_gpio: key_gpio_0 {
238 atmel,pins =
239 <AT91_PIOE 29 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
240 };
241
242 pinctrl_mmc0_cd: mmc0_cd {
243 u-boot,dm-pre-reloc;
244 atmel,pins =
245 <AT91_PIOE 0 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
246 };
247
248 pinctrl_mmc1_cd: mmc1_cd {
249 u-boot,dm-pre-reloc;
250 atmel,pins =
251 <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>;
252 };
253
254 pinctrl_usba_vbus: usba_vbus {
255 atmel,pins =
256 <AT91_PIOE 9 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; /* PE9, conflicts with A9 */
257 };
Eugen Hristev2b238c62018-09-18 10:35:54 +0300258
259 pinctrl_onewire_tm_default: onewire_tm_default {
260 atmel,pins =
261 <AT91_PIOE 23 AT91_PERIPH_GPIO AT91_PINCTRL_NONE>;
262 };
Wenyou Yang27ec9102017-03-24 09:18:42 +0800263 };
264 };
265 };
266
267 nand0: nand@60000000 {
268 nand-bus-width = <8>;
269 nand-ecc-mode = "hw";
270 atmel,has-pmecc;
271 atmel,pmecc-cap = <4>;
272 atmel,pmecc-sector-size = <512>;
273 nand-on-flash-bbt;
274 status = "okay";
275
276 at91bootstrap@0 {
277 label = "at91bootstrap";
278 reg = <0x0 0x40000>;
279 };
280
281 bootloader@40000 {
282 label = "bootloader";
283 reg = <0x40000 0x80000>;
284 };
285
286 bootloaderenv@c0000 {
287 label = "bootloader env";
288 reg = <0xc0000 0xc0000>;
289 };
290
291 dtb@180000 {
292 label = "device tree";
293 reg = <0x180000 0x80000>;
294 };
295
296 kernel@200000 {
297 label = "kernel";
298 reg = <0x200000 0x600000>;
299 };
300
301 rootfs@800000 {
302 label = "rootfs";
303 reg = <0x800000 0x0f800000>;
304 };
305 };
306
307 usb0: gadget@00500000 {
308 atmel,vbus-gpio = <&pioE 9 GPIO_ACTIVE_HIGH>; /* PE9, conflicts with A9 */
309 pinctrl-names = "default";
310 pinctrl-0 = <&pinctrl_usba_vbus>;
311 status = "okay";
312 };
313
314 usb1: ohci@00600000 {
315 num-ports = <3>;
316 atmel,vbus-gpio = <0
317 &pioE 3 GPIO_ACTIVE_LOW
318 &pioE 4 GPIO_ACTIVE_LOW
319 >;
320 status = "okay";
321 };
322
323 usb2: ehci@00700000 {
324 status = "okay";
325 };
326 };
327
328 vcc_mmc0_reg: fixedregulator@0 {
329 compatible = "regulator-fixed";
330 gpio = <&pioE 2 GPIO_ACTIVE_LOW>;
331 regulator-name = "mmc0-card-supply";
332 regulator-min-microvolt = <3300000>;
333 regulator-max-microvolt = <3300000>;
334 regulator-always-on;
335 };
336
337 gpio_keys {
338 compatible = "gpio-keys";
339
340 pinctrl-names = "default";
341 pinctrl-0 = <&pinctrl_key_gpio>;
342
343 bp3 {
344 label = "PB_USER";
345 gpios = <&pioE 29 GPIO_ACTIVE_LOW>;
346 linux,code = <0x104>;
347 wakeup-source;
348 };
349 };
350
351 leds {
352 compatible = "gpio-leds";
353
354 d2 {
355 label = "d2";
356 gpios = <&pioE 23 GPIO_ACTIVE_LOW>; /* PE23, conflicts with A23, CTS2 */
357 linux,default-trigger = "heartbeat";
358 };
359
360 d3 {
361 label = "d3";
362 gpios = <&pioE 24 GPIO_ACTIVE_HIGH>;
363 };
364 };
365};