blob: cb6f55f24ccfbdc88c9f90bcd4d8ac2a4d6d3647 [file] [log] [blame]
Marek Szyprowskiec601ff2014-07-16 02:54:07 +09001/*
2 * Common definition for Hardkernel's Exynos4412 based ODROID-X/X2/U2/U3 boards
3 * device tree source
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
8*/
9
Marek Szyprowski081a15e2014-07-16 02:54:07 +090010#include <dt-bindings/input/input.h>
Marek Szyprowskiec601ff2014-07-16 02:54:07 +090011#include "exynos4412.dtsi"
12
13/ {
14 firmware@0204F000 {
15 compatible = "samsung,secure-firmware";
16 reg = <0x0204F000 0x1000>;
17 };
18
Marek Szyprowski081a15e2014-07-16 02:54:07 +090019 gpio_keys {
20 compatible = "gpio-keys";
21 pinctrl-names = "default";
22 pinctrl-0 = <&gpio_power_key>;
23
24 power_key {
25 interrupt-parent = <&gpx1>;
26 interrupts = <3 0>;
27 gpios = <&gpx1 3 1>;
28 linux,code = <KEY_POWER>;
29 label = "power key";
30 debounce-interval = <10>;
31 gpio-key,wakeup;
32 };
33 };
34
Sylwester Nawrocki5a852742014-07-16 03:16:44 +090035 i2s0: i2s@03830000 {
36 pinctrl-0 = <&i2s0_bus>;
37 pinctrl-names = "default";
38 status = "okay";
39 clocks = <&clock_audss EXYNOS_I2S_BUS>,
40 <&clock_audss EXYNOS_DOUT_AUD_BUS>;
41 clock-names = "iis", "i2s_opclk0";
42 };
43
44 sound: sound {
45 compatible = "samsung,odroidx2-audio";
46 samsung,i2s-controller = <&i2s0>;
47 samsung,audio-codec = <&max98090>;
48 };
49
Marek Szyprowskiec601ff2014-07-16 02:54:07 +090050 mmc@12550000 {
51 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
52 pinctrl-names = "default";
53 vmmc-supply = <&ldo20_reg &buck8_reg>;
54 status = "okay";
55
56 num-slots = <1>;
57 supports-highspeed;
58 broken-cd;
59 card-detect-delay = <200>;
60 samsung,dw-mshc-ciu-div = <3>;
61 samsung,dw-mshc-sdr-timing = <2 3>;
62 samsung,dw-mshc-ddr-timing = <1 2>;
63
64 slot@0 {
65 reg = <0>;
66 bus-width = <8>;
67 };
68 };
69
70 watchdog@10060000 {
71 status = "okay";
72 };
73
74 rtc@10070000 {
75 status = "okay";
76 };
77
78 g2d@10800000 {
79 status = "okay";
80 };
81
82 camera {
83 status = "okay";
84 pinctrl-names = "default";
85 pinctrl-0 = <>;
86
87 fimc_0: fimc@11800000 {
88 status = "okay";
89 };
90
91 fimc_1: fimc@11810000 {
92 status = "okay";
93 };
94
95 fimc_2: fimc@11820000 {
96 status = "okay";
97 };
98
99 fimc_3: fimc@11830000 {
100 status = "okay";
101 };
102 };
103
104 sdhci@12530000 {
105 bus-width = <4>;
106 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
107 pinctrl-names = "default";
108 vmmc-supply = <&ldo4_reg &ldo21_reg>;
Marek Szyprowski78f54db2014-07-16 02:54:07 +0900109 cd-gpios = <&gpk2 2 0>;
110 cd-inverted;
Marek Szyprowskiec601ff2014-07-16 02:54:07 +0900111 status = "okay";
112 };
113
114 serial@13800000 {
115 status = "okay";
116 };
117
118 serial@13810000 {
119 status = "okay";
120 };
121
122 fixed-rate-clocks {
123 xxti {
124 compatible = "samsung,clock-xxti";
125 clock-frequency = <0>;
126 };
127
128 xusbxti {
129 compatible = "samsung,clock-xusbxti";
130 clock-frequency = <24000000>;
131 };
132 };
133
134 i2c@13860000 {
135 pinctrl-0 = <&i2c0_bus>;
136 pinctrl-names = "default";
137 status = "okay";
138
139 usb3503: usb3503@08 {
140 compatible = "smsc,usb3503";
141 reg = <0x08>;
142
143 intn-gpios = <&gpx3 0 0>;
144 connect-gpios = <&gpx3 4 0>;
145 reset-gpios = <&gpx3 5 0>;
146 initial-mode = <1>;
147 };
148
149 max77686: pmic@09 {
150 compatible = "maxim,max77686";
Daniel Drakeeea66532014-08-18 11:39:50 -0500151 interrupt-parent = <&gpx3>;
152 interrupts = <2 0>;
153 pinctrl-names = "default";
154 pinctrl-0 = <&max77686_irq>;
Marek Szyprowskiec601ff2014-07-16 02:54:07 +0900155 reg = <0x09>;
156 #clock-cells = <1>;
157
158 voltage-regulators {
159 ldo1_reg: LDO1 {
160 regulator-name = "VDD_ALIVE_1.0V";
161 regulator-min-microvolt = <1000000>;
162 regulator-max-microvolt = <1000000>;
163 regulator-always-on;
164 };
165
166 ldo2_reg: LDO2 {
167 regulator-name = "VDDQ_M1_2_1.8V";
168 regulator-min-microvolt = <1800000>;
169 regulator-max-microvolt = <1800000>;
170 regulator-always-on;
171 };
172
173 ldo3_reg: LDO3 {
174 regulator-name = "VDDQ_EXT_1.8V";
175 regulator-min-microvolt = <1800000>;
176 regulator-max-microvolt = <1800000>;
177 regulator-always-on;
178 };
179
180 ldo4_reg: LDO4 {
181 regulator-name = "VDDQ_MMC2_2.8V";
182 regulator-min-microvolt = <2800000>;
183 regulator-max-microvolt = <2800000>;
184 regulator-always-on;
185 regulator-boot-on;
186 };
187
188 ldo5_reg: LDO5 {
189 regulator-name = "VDDQ_MMC1_3_1.8V";
190 regulator-min-microvolt = <1800000>;
191 regulator-max-microvolt = <1800000>;
192 regulator-always-on;
193 regulator-boot-on;
194 };
195
196 ldo6_reg: LDO6 {
197 regulator-name = "VDD10_MPLL_1.0V";
198 regulator-min-microvolt = <1000000>;
199 regulator-max-microvolt = <1000000>;
200 regulator-always-on;
201 };
202
203 ldo7_reg: LDO7 {
204 regulator-name = "VDD10_XPLL_1.0V";
205 regulator-min-microvolt = <1000000>;
206 regulator-max-microvolt = <1000000>;
207 regulator-always-on;
208 };
209
210 ldo11_reg: LDO11 {
211 regulator-name = "VDD18_ABB1_1.8V";
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <1800000>;
214 regulator-always-on;
215 };
216
217 ldo12_reg: LDO12 {
218 regulator-name = "VDD33_USB_3.3V";
219 regulator-min-microvolt = <3300000>;
220 regulator-max-microvolt = <3300000>;
221 regulator-always-on;
222 regulator-boot-on;
223 };
224
225 ldo13_reg: LDO13 {
226 regulator-name = "VDDQ_C2C_W_1.8V";
227 regulator-min-microvolt = <1800000>;
228 regulator-max-microvolt = <1800000>;
229 regulator-always-on;
230 regulator-boot-on;
231 };
232
233 ldo14_reg: LDO14 {
234 regulator-name = "VDD18_ABB0_2_1.8V";
235 regulator-min-microvolt = <1800000>;
236 regulator-max-microvolt = <1800000>;
237 regulator-always-on;
238 regulator-boot-on;
239 };
240
241 ldo15_reg: LDO15 {
242 regulator-name = "VDD10_HSIC_1.0V";
243 regulator-min-microvolt = <1000000>;
244 regulator-max-microvolt = <1000000>;
245 regulator-always-on;
246 regulator-boot-on;
247 };
248
249 ldo16_reg: LDO16 {
250 regulator-name = "VDD18_HSIC_1.8V";
251 regulator-min-microvolt = <1800000>;
252 regulator-max-microvolt = <1800000>;
253 regulator-always-on;
254 regulator-boot-on;
255 };
256
257 ldo20_reg: LDO20 {
258 regulator-name = "LDO20_1.8V";
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <1800000>;
261 regulator-boot-on;
262 };
263
264 ldo21_reg: LDO21 {
265 regulator-name = "LDO21_3.3V";
266 regulator-min-microvolt = <3300000>;
267 regulator-max-microvolt = <3300000>;
268 regulator-always-on;
269 regulator-boot-on;
270 };
271
272 ldo25_reg: LDO25 {
273 regulator-name = "VDDQ_LCD_1.8V";
274 regulator-min-microvolt = <1800000>;
275 regulator-max-microvolt = <1800000>;
276 regulator-always-on;
277 regulator-boot-on;
278 };
279
280 buck1_reg: BUCK1 {
281 regulator-name = "vdd_mif";
282 regulator-min-microvolt = <1000000>;
283 regulator-max-microvolt = <1000000>;
284 regulator-always-on;
285 regulator-boot-on;
286 };
287
288 buck2_reg: BUCK2 {
289 regulator-name = "vdd_arm";
290 regulator-min-microvolt = <900000>;
291 regulator-max-microvolt = <1350000>;
292 regulator-always-on;
293 regulator-boot-on;
294 };
295
296 buck3_reg: BUCK3 {
297 regulator-name = "vdd_int";
298 regulator-min-microvolt = <1000000>;
299 regulator-max-microvolt = <1000000>;
300 regulator-always-on;
301 regulator-boot-on;
302 };
303
304 buck4_reg: BUCK4 {
305 regulator-name = "vdd_g3d";
306 regulator-min-microvolt = <900000>;
307 regulator-max-microvolt = <1100000>;
308 regulator-microvolt-offset = <50000>;
309 };
310
311 buck5_reg: BUCK5 {
312 regulator-name = "VDDQ_CKEM1_2_1.2V";
313 regulator-min-microvolt = <1200000>;
314 regulator-max-microvolt = <1200000>;
315 regulator-always-on;
316 regulator-boot-on;
317 };
318
319 buck6_reg: BUCK6 {
320 regulator-name = "BUCK6_1.35V";
321 regulator-min-microvolt = <1350000>;
322 regulator-max-microvolt = <1350000>;
323 regulator-always-on;
324 regulator-boot-on;
325 };
326
327 buck7_reg: BUCK7 {
328 regulator-name = "BUCK7_2.0V";
329 regulator-min-microvolt = <2000000>;
330 regulator-max-microvolt = <2000000>;
331 regulator-always-on;
332 };
333
334 buck8_reg: BUCK8 {
335 regulator-name = "BUCK8_2.8V";
336 regulator-min-microvolt = <2800000>;
337 regulator-max-microvolt = <2800000>;
Marek Szyprowskiec601ff2014-07-16 02:54:07 +0900338 };
339 };
340 };
341 };
342
Sylwester Nawrocki5a852742014-07-16 03:16:44 +0900343 i2c@13870000 {
344 pinctrl-names = "default";
345 pinctrl-0 = <&i2c1_bus>;
346 status = "okay";
347 max98090: max98090@10 {
348 compatible = "maxim,max98090";
349 reg = <0x10>;
350 interrupt-parent = <&gpx0>;
351 interrupts = <0 0>;
352 };
353 };
354
Marek Szyprowskiec601ff2014-07-16 02:54:07 +0900355 exynos-usbphy@125B0000 {
356 status = "okay";
357 };
358
359 hsotg@12480000 {
360 status = "okay";
361 vusb_d-supply = <&ldo15_reg>;
362 vusb_a-supply = <&ldo12_reg>;
363 };
364
365 ehci: ehci@12580000 {
366 status = "okay";
367 };
368};
Marek Szyprowski081a15e2014-07-16 02:54:07 +0900369
370&pinctrl_1 {
371 gpio_power_key: power_key {
372 samsung,pins = "gpx1-3";
373 samsung,pin-pud = <0>;
374 };
Daniel Drakeeea66532014-08-18 11:39:50 -0500375
376 max77686_irq: max77686-irq {
377 samsung,pins = "gpx3-2";
378 samsung,pin-function = <0>;
379 samsung,pin-pud = <0>;
380 samsung,pin-drv = <0>;
381 };
Marek Szyprowski081a15e2014-07-16 02:54:07 +0900382};