Commit | Line | Data |
---|---|---|
43216d05 | 1 | // SPDX-License-Identifier: (GPL-2.0+ OR MIT) |
38153a01 JW |
2 | /* |
3 | * at91-sama5d4_xplained.dts - Device Tree file for SAMA5D4 Xplained board | |
4 | * | |
5 | * Copyright (C) 2015 Atmel, | |
6 | * 2015 Josh Wu <josh.wu@atmel.com> | |
38153a01 JW |
7 | */ |
8 | /dts-v1/; | |
9 | #include "sama5d4.dtsi" | |
10 | ||
11 | / { | |
12 | model = "Atmel SAMA5D4 Xplained"; | |
13 | compatible = "atmel,sama5d4-xplained", "atmel,sama5d4", "atmel,sama5"; | |
14 | ||
15 | chosen { | |
e1e6c322 | 16 | stdout-path = "serial0:115200n8"; |
38153a01 JW |
17 | }; |
18 | ||
19 | memory { | |
20 | reg = <0x20000000 0x20000000>; | |
21 | }; | |
22 | ||
23 | clocks { | |
38153a01 JW |
24 | slow_xtal { |
25 | clock-frequency = <32768>; | |
26 | }; | |
27 | ||
28 | main_xtal { | |
29 | clock-frequency = <12000000>; | |
30 | }; | |
31 | }; | |
32 | ||
33 | ahb { | |
34 | apb { | |
0d98013d NF |
35 | uart0: serial@f8004000 { |
36 | atmel,use-dma-rx; | |
37 | atmel,use-dma-tx; | |
38 | status = "okay"; | |
39 | }; | |
40 | ||
38153a01 JW |
41 | spi0: spi@f8010000 { |
42 | cs-gpios = <&pioC 3 0>, <0>, <0>, <0>; | |
43 | status = "okay"; | |
44 | m25p80@0 { | |
45 | compatible = "atmel,at25df321a"; | |
46 | spi-max-frequency = <50000000>; | |
47 | reg = <0>; | |
48 | }; | |
49 | }; | |
50 | ||
df99d08c | 51 | i2c0: i2c@f8014000 { |
1860523d | 52 | i2c-digital-filter; |
df99d08c NF |
53 | status = "okay"; |
54 | }; | |
55 | ||
38153a01 JW |
56 | macb0: ethernet@f8020000 { |
57 | phy-mode = "rmii"; | |
58 | status = "okay"; | |
f505dba7 AB |
59 | pinctrl-names = "default"; |
60 | pinctrl-0 = <&pinctrl_macb0_rmii &pinctrl_macb0_phy_irq>; | |
38153a01 JW |
61 | |
62 | phy0: ethernet-phy@1 { | |
63 | interrupt-parent = <&pioE>; | |
e873cc02 | 64 | interrupts = <1 IRQ_TYPE_LEVEL_LOW>; |
38153a01 JW |
65 | reg = <1>; |
66 | }; | |
67 | }; | |
68 | ||
69 | mmc1: mmc@fc000000 { | |
70 | pinctrl-names = "default"; | |
71 | pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3 &pinctrl_mmc1_cd>; | |
8d545f32 LD |
72 | vmmc-supply = <&vcc_mmc1_reg>; |
73 | vqmmc-supply = <&vcc_3v3_reg>; | |
38153a01 JW |
74 | status = "okay"; |
75 | slot@0 { | |
76 | reg = <0>; | |
77 | bus-width = <4>; | |
78 | cd-gpios = <&pioE 3 0>; | |
79 | }; | |
80 | }; | |
81 | ||
82 | usart3: serial@fc00c000 { | |
ef8d02d4 AB |
83 | atmel,use-dma-rx; |
84 | atmel,use-dma-tx; | |
38153a01 JW |
85 | status = "okay"; |
86 | }; | |
87 | ||
88 | usart4: serial@fc010000 { | |
89 | status = "okay"; | |
90 | }; | |
91 | ||
50f2472a NF |
92 | spi1: spi@fc018000 { |
93 | cs-gpios = <&pioB 21 0>; | |
94 | status = "okay"; | |
95 | }; | |
96 | ||
41ef8165 AB |
97 | tcb2: timer@fc024000 { |
98 | timer0: timer@0 { | |
99 | compatible = "atmel,tcb-timer"; | |
100 | reg = <0>; | |
101 | }; | |
102 | ||
103 | timer1: timer@1 { | |
104 | compatible = "atmel,tcb-timer"; | |
105 | reg = <1>; | |
106 | }; | |
107 | }; | |
108 | ||
38153a01 | 109 | adc0: adc@fc034000 { |
0f17c97e AB |
110 | pinctrl-names = "default"; |
111 | pinctrl-0 = < | |
112 | /* external trigger conflicts with USBA_VBUS */ | |
113 | &pinctrl_adc0_ad0 | |
114 | &pinctrl_adc0_ad1 | |
115 | &pinctrl_adc0_ad2 | |
116 | &pinctrl_adc0_ad3 | |
117 | &pinctrl_adc0_ad4 | |
118 | >; | |
38153a01 JW |
119 | atmel,adc-vref = <3300>; |
120 | status = "okay"; | |
121 | }; | |
122 | ||
123 | watchdog@fc068640 { | |
124 | status = "okay"; | |
125 | }; | |
126 | ||
127 | pinctrl@fc06a000 { | |
128 | board { | |
129 | pinctrl_mmc1_cd: mmc1_cd { | |
130 | atmel,pins = | |
131 | <AT91_PIOE 3 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | |
132 | }; | |
133 | pinctrl_usba_vbus: usba_vbus { | |
134 | atmel,pins = | |
135 | <AT91_PIOE 31 AT91_PERIPH_GPIO AT91_PINCTRL_DEGLITCH>; | |
136 | }; | |
137 | pinctrl_key_gpio: key_gpio_0 { | |
138 | atmel,pins = | |
139 | <AT91_PIOE 8 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | |
f505dba7 AB |
140 | }; |
141 | pinctrl_macb0_phy_irq: macb0_phy_irq_0 { | |
142 | atmel,pins = | |
143 | <AT91_PIOE 1 AT91_PERIPH_GPIO AT91_PINCTRL_PULL_UP_DEGLITCH>; | |
38153a01 JW |
144 | }; |
145 | }; | |
146 | }; | |
147 | }; | |
148 | ||
8dccafaa | 149 | usb0: gadget@400000 { |
38153a01 JW |
150 | atmel,vbus-gpio = <&pioE 31 GPIO_ACTIVE_HIGH>; |
151 | pinctrl-names = "default"; | |
152 | pinctrl-0 = <&pinctrl_usba_vbus>; | |
153 | status = "okay"; | |
154 | }; | |
155 | ||
8dccafaa | 156 | usb1: ohci@500000 { |
38153a01 JW |
157 | num-ports = <3>; |
158 | atmel,vbus-gpio = <0 | |
159 | &pioE 11 GPIO_ACTIVE_HIGH | |
160 | &pioE 14 GPIO_ACTIVE_HIGH | |
161 | >; | |
162 | status = "okay"; | |
163 | }; | |
164 | ||
8dccafaa | 165 | usb2: ehci@600000 { |
38153a01 JW |
166 | status = "okay"; |
167 | }; | |
168 | ||
1004a297 BB |
169 | ebi: ebi@10000000 { |
170 | pinctrl-0 = <&pinctrl_ebi_cs3 &pinctrl_ebi_nrd_nandoe | |
171 | &pinctrl_ebi_nwe_nandwe &pinctrl_ebi_nandrdy | |
172 | &pinctrl_ebi_data_0_7 &pinctrl_ebi_nand_addr>; | |
173 | pinctrl-names = "default"; | |
38153a01 JW |
174 | status = "okay"; |
175 | ||
1004a297 BB |
176 | nand_controller: nand-controller { |
177 | status = "okay"; | |
38153a01 | 178 | |
1004a297 BB |
179 | nand@3 { |
180 | reg = <0x3 0x0 0x2>; | |
181 | atmel,rb = <0>; | |
182 | nand-bus-width = <8>; | |
183 | nand-ecc-mode = "hw"; | |
184 | nand-on-flash-bbt; | |
185 | label = "atmel_nand"; | |
186 | ||
187 | partitions { | |
188 | compatible = "fixed-partitions"; | |
189 | #address-cells = <1>; | |
190 | #size-cells = <1>; | |
191 | ||
192 | at91bootstrap@0 { | |
193 | label = "at91bootstrap"; | |
194 | reg = <0x0 0x40000>; | |
195 | }; | |
196 | ||
197 | bootloader@40000 { | |
198 | label = "bootloader"; | |
767466b6 | 199 | reg = <0x40000 0xc0000>; |
1004a297 BB |
200 | }; |
201 | ||
767466b6 TA |
202 | bootloaderenvred@100000 { |
203 | label = "bootloader env redundant"; | |
204 | reg = <0x100000 0x40000>; | |
205 | }; | |
206 | ||
207 | bootloaderenv@140000 { | |
1004a297 | 208 | label = "bootloader env"; |
767466b6 | 209 | reg = <0x140000 0x40000>; |
1004a297 BB |
210 | }; |
211 | ||
212 | dtb@180000 { | |
213 | label = "device tree"; | |
214 | reg = <0x180000 0x80000>; | |
215 | }; | |
216 | ||
217 | kernel@200000 { | |
218 | label = "kernel"; | |
219 | reg = <0x200000 0x600000>; | |
220 | }; | |
221 | ||
222 | rootfs@800000 { | |
223 | label = "rootfs"; | |
df90fc64 | 224 | reg = <0x800000 0x1f800000>; |
1004a297 BB |
225 | }; |
226 | }; | |
227 | }; | |
38153a01 JW |
228 | }; |
229 | }; | |
230 | }; | |
231 | ||
232 | gpio_keys { | |
233 | compatible = "gpio-keys"; | |
234 | ||
235 | pinctrl-names = "default"; | |
236 | pinctrl-0 = <&pinctrl_key_gpio>; | |
237 | ||
238 | pb_user1 { | |
239 | label = "pb_user1"; | |
240 | gpios = <&pioE 8 GPIO_ACTIVE_HIGH>; | |
241 | linux,code = <0x100>; | |
67ae8b9b | 242 | wakeup-source; |
38153a01 JW |
243 | }; |
244 | }; | |
245 | ||
246 | leds { | |
247 | compatible = "gpio-leds"; | |
248 | status = "okay"; | |
249 | ||
250 | d8 { | |
251 | label = "d8"; | |
252 | gpios = <&pioD 30 GPIO_ACTIVE_HIGH>; | |
4a43c3b8 | 253 | default-state = "on"; |
38153a01 JW |
254 | }; |
255 | ||
256 | d10 { | |
257 | label = "d10"; | |
258 | gpios = <&pioE 15 GPIO_ACTIVE_LOW>; | |
259 | linux,default-trigger = "heartbeat"; | |
260 | }; | |
261 | }; | |
8d545f32 | 262 | |
17995e60 | 263 | vcc_3v3_reg: fixedregulator_3v3 { |
8d545f32 LD |
264 | compatible = "regulator-fixed"; |
265 | regulator-name = "VCC 3V3"; | |
266 | regulator-min-microvolt = <3300000>; | |
267 | regulator-max-microvolt = <3300000>; | |
268 | regulator-boot-on; | |
269 | regulator-always-on; | |
270 | }; | |
271 | ||
17995e60 | 272 | vcc_mmc1_reg: fixedregulator_mmc1 { |
8d545f32 LD |
273 | compatible = "regulator-fixed"; |
274 | gpio = <&pioE 4 GPIO_ACTIVE_LOW>; | |
275 | regulator-name = "VDD MCI1"; | |
276 | regulator-min-microvolt = <3300000>; | |
277 | regulator-max-microvolt = <3300000>; | |
278 | vin-supply = <&vcc_3v3_reg>; | |
b02acd4e | 279 | regulator-always-on; |
8d545f32 | 280 | }; |
38153a01 | 281 | }; |