]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
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>; | |
93743d24 TR |
295 | interrupt-parent = <&pioB>; |
296 | interrupts = <8 IRQ_TYPE_LEVEL_LOW>; | |
53633a89 TR |
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 */ | |
93743d24 | 470 | AT91_PIOB 8 AT91_PERIPH_GPIO AT91_PINCTRL_NONE /* PB8 IRQ GPIO */ |
53633a89 TR |
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 |