ARM: dts: enable PCIe support for Cygnus
[deliverable/linux.git] / arch / arm / boot / dts / exynos4412-odroid-common.dtsi
CommitLineData
ec601ff3
MS
1/*
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
3635acef 10#include <dt-bindings/sound/samsung-i2s.h>
081a15e3 11#include <dt-bindings/input/input.h>
ec601ff3
MS
12#include "exynos4412.dtsi"
13
14/ {
62d38099
TF
15 chosen {
16 stdout-path = &serial_1;
17 };
18
ec601ff3
MS
19 firmware@0204F000 {
20 compatible = "samsung,secure-firmware";
21 reg = <0x0204F000 0x1000>;
22 };
23
081a15e3
MS
24 gpio_keys {
25 compatible = "gpio-keys";
26 pinctrl-names = "default";
27 pinctrl-0 = <&gpio_power_key>;
28
29 power_key {
30 interrupt-parent = <&gpx1>;
31 interrupts = <3 0>;
32 gpios = <&gpx1 3 1>;
33 linux,code = <KEY_POWER>;
34 label = "power key";
35 debounce-interval = <10>;
36 gpio-key,wakeup;
37 };
38 };
39
5a852743
SN
40 i2s0: i2s@03830000 {
41 pinctrl-0 = <&i2s0_bus>;
42 pinctrl-names = "default";
43 status = "okay";
44 clocks = <&clock_audss EXYNOS_I2S_BUS>,
3635acef
SN
45 <&clock_audss EXYNOS_DOUT_AUD_BUS>,
46 <&clock_audss EXYNOS_SCLK_I2S>;
47 clock-names = "iis", "i2s_opclk0", "i2s_opclk1";
5a852743
SN
48 };
49
50 sound: sound {
16696337 51 compatible = "simple-audio-card";
59760009
SN
52 assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>,
53 <&clock_audss EXYNOS_MOUT_I2S>,
54 <&clock_audss EXYNOS_DOUT_SRP>,
55 <&clock_audss EXYNOS_DOUT_AUD_BUS>;
56 assigned-clock-parents = <&clock CLK_FOUT_EPLL>,
57 <&clock_audss EXYNOS_MOUT_AUDSS>;
58 assigned-clock-rates = <0>,
59 <0>,
60 <192000000>,
61 <19200000>;
16696337
SN
62
63 simple-audio-card,format = "i2s";
64 simple-audio-card,bitclock-master = <&link0_codec>;
65 simple-audio-card,frame-master = <&link0_codec>;
66
67 simple-audio-card,cpu {
68 sound-dai = <&i2s0 0>;
69 system-clock-frequency = <19200000>;
70 };
71
72 link0_codec: simple-audio-card,codec {
73 sound-dai = <&max98090>;
74 clocks = <&i2s0 CLK_I2S_CDCLK>;
75 };
5a852743
SN
76 };
77
ec601ff3
MS
78 mmc@12550000 {
79 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
80 pinctrl-names = "default";
81 vmmc-supply = <&ldo20_reg &buck8_reg>;
82 status = "okay";
83
84 num-slots = <1>;
ec601ff3
MS
85 broken-cd;
86 card-detect-delay = <200>;
87 samsung,dw-mshc-ciu-div = <3>;
88 samsung,dw-mshc-sdr-timing = <2 3>;
89 samsung,dw-mshc-ddr-timing = <1 2>;
aaa25a5a
JC
90 bus-width = <8>;
91 cap-mmc-highspeed;
ec601ff3
MS
92 };
93
94 watchdog@10060000 {
95 status = "okay";
96 };
97
98 rtc@10070000 {
99 status = "okay";
100 };
101
102 g2d@10800000 {
103 status = "okay";
104 };
105
106 camera {
107 status = "okay";
108 pinctrl-names = "default";
109 pinctrl-0 = <>;
110
111 fimc_0: fimc@11800000 {
112 status = "okay";
0357a443
SN
113 assigned-clocks = <&clock CLK_MOUT_FIMC0>,
114 <&clock CLK_SCLK_FIMC0>;
115 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
116 assigned-clock-rates = <0>, <176000000>;
ec601ff3
MS
117 };
118
119 fimc_1: fimc@11810000 {
120 status = "okay";
0357a443
SN
121 assigned-clocks = <&clock CLK_MOUT_FIMC1>,
122 <&clock CLK_SCLK_FIMC1>;
123 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
124 assigned-clock-rates = <0>, <176000000>;
ec601ff3
MS
125 };
126
127 fimc_2: fimc@11820000 {
128 status = "okay";
0357a443
SN
129 assigned-clocks = <&clock CLK_MOUT_FIMC2>,
130 <&clock CLK_SCLK_FIMC2>;
131 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
132 assigned-clock-rates = <0>, <176000000>;
ec601ff3
MS
133 };
134
135 fimc_3: fimc@11830000 {
136 status = "okay";
0357a443
SN
137 assigned-clocks = <&clock CLK_MOUT_FIMC3>,
138 <&clock CLK_SCLK_FIMC3>;
139 assigned-clock-parents = <&clock CLK_MOUT_MPLL_USER_T>;
140 assigned-clock-rates = <0>, <176000000>;
ec601ff3
MS
141 };
142 };
143
144 sdhci@12530000 {
145 bus-width = <4>;
146 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
147 pinctrl-names = "default";
148 vmmc-supply = <&ldo4_reg &ldo21_reg>;
78f54db1
MS
149 cd-gpios = <&gpk2 2 0>;
150 cd-inverted;
ec601ff3
MS
151 status = "okay";
152 };
153
154 serial@13800000 {
155 status = "okay";
156 };
157
158 serial@13810000 {
159 status = "okay";
160 };
161
162 fixed-rate-clocks {
163 xxti {
164 compatible = "samsung,clock-xxti";
165 clock-frequency = <0>;
166 };
167
168 xusbxti {
169 compatible = "samsung,clock-xusbxti";
170 clock-frequency = <24000000>;
171 };
172 };
173
174 i2c@13860000 {
175 pinctrl-0 = <&i2c0_bus>;
176 pinctrl-names = "default";
cc3fe7ab
DD
177 samsung,i2c-sda-delay = <100>;
178 samsung,i2c-max-bus-freq = <400000>;
ec601ff3
MS
179 status = "okay";
180
181 usb3503: usb3503@08 {
182 compatible = "smsc,usb3503";
183 reg = <0x08>;
184
185 intn-gpios = <&gpx3 0 0>;
186 connect-gpios = <&gpx3 4 0>;
187 reset-gpios = <&gpx3 5 0>;
188 initial-mode = <1>;
189 };
190
191 max77686: pmic@09 {
192 compatible = "maxim,max77686";
eea6653a
DD
193 interrupt-parent = <&gpx3>;
194 interrupts = <2 0>;
195 pinctrl-names = "default";
196 pinctrl-0 = <&max77686_irq>;
ec601ff3
MS
197 reg = <0x09>;
198 #clock-cells = <1>;
199
200 voltage-regulators {
201 ldo1_reg: LDO1 {
202 regulator-name = "VDD_ALIVE_1.0V";
203 regulator-min-microvolt = <1000000>;
204 regulator-max-microvolt = <1000000>;
205 regulator-always-on;
206 };
207
208 ldo2_reg: LDO2 {
209 regulator-name = "VDDQ_M1_2_1.8V";
210 regulator-min-microvolt = <1800000>;
211 regulator-max-microvolt = <1800000>;
212 regulator-always-on;
213 };
214
215 ldo3_reg: LDO3 {
216 regulator-name = "VDDQ_EXT_1.8V";
217 regulator-min-microvolt = <1800000>;
218 regulator-max-microvolt = <1800000>;
219 regulator-always-on;
220 };
221
222 ldo4_reg: LDO4 {
223 regulator-name = "VDDQ_MMC2_2.8V";
224 regulator-min-microvolt = <2800000>;
225 regulator-max-microvolt = <2800000>;
226 regulator-always-on;
227 regulator-boot-on;
228 };
229
230 ldo5_reg: LDO5 {
231 regulator-name = "VDDQ_MMC1_3_1.8V";
232 regulator-min-microvolt = <1800000>;
233 regulator-max-microvolt = <1800000>;
234 regulator-always-on;
235 regulator-boot-on;
236 };
237
238 ldo6_reg: LDO6 {
239 regulator-name = "VDD10_MPLL_1.0V";
240 regulator-min-microvolt = <1000000>;
241 regulator-max-microvolt = <1000000>;
242 regulator-always-on;
243 };
244
245 ldo7_reg: LDO7 {
246 regulator-name = "VDD10_XPLL_1.0V";
247 regulator-min-microvolt = <1000000>;
248 regulator-max-microvolt = <1000000>;
249 regulator-always-on;
250 };
251
252 ldo11_reg: LDO11 {
253 regulator-name = "VDD18_ABB1_1.8V";
254 regulator-min-microvolt = <1800000>;
255 regulator-max-microvolt = <1800000>;
256 regulator-always-on;
257 };
258
259 ldo12_reg: LDO12 {
260 regulator-name = "VDD33_USB_3.3V";
261 regulator-min-microvolt = <3300000>;
262 regulator-max-microvolt = <3300000>;
263 regulator-always-on;
264 regulator-boot-on;
265 };
266
267 ldo13_reg: LDO13 {
268 regulator-name = "VDDQ_C2C_W_1.8V";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
271 regulator-always-on;
272 regulator-boot-on;
273 };
274
275 ldo14_reg: LDO14 {
276 regulator-name = "VDD18_ABB0_2_1.8V";
277 regulator-min-microvolt = <1800000>;
278 regulator-max-microvolt = <1800000>;
279 regulator-always-on;
280 regulator-boot-on;
281 };
282
283 ldo15_reg: LDO15 {
284 regulator-name = "VDD10_HSIC_1.0V";
285 regulator-min-microvolt = <1000000>;
286 regulator-max-microvolt = <1000000>;
287 regulator-always-on;
288 regulator-boot-on;
289 };
290
291 ldo16_reg: LDO16 {
292 regulator-name = "VDD18_HSIC_1.8V";
293 regulator-min-microvolt = <1800000>;
294 regulator-max-microvolt = <1800000>;
295 regulator-always-on;
296 regulator-boot-on;
297 };
298
299 ldo20_reg: LDO20 {
300 regulator-name = "LDO20_1.8V";
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
303 regulator-boot-on;
304 };
305
306 ldo21_reg: LDO21 {
307 regulator-name = "LDO21_3.3V";
308 regulator-min-microvolt = <3300000>;
309 regulator-max-microvolt = <3300000>;
310 regulator-always-on;
311 regulator-boot-on;
312 };
313
314 ldo25_reg: LDO25 {
315 regulator-name = "VDDQ_LCD_1.8V";
316 regulator-min-microvolt = <1800000>;
317 regulator-max-microvolt = <1800000>;
318 regulator-always-on;
319 regulator-boot-on;
320 };
321
322 buck1_reg: BUCK1 {
323 regulator-name = "vdd_mif";
324 regulator-min-microvolt = <1000000>;
325 regulator-max-microvolt = <1000000>;
326 regulator-always-on;
327 regulator-boot-on;
328 };
329
330 buck2_reg: BUCK2 {
331 regulator-name = "vdd_arm";
332 regulator-min-microvolt = <900000>;
333 regulator-max-microvolt = <1350000>;
334 regulator-always-on;
335 regulator-boot-on;
336 };
337
338 buck3_reg: BUCK3 {
339 regulator-name = "vdd_int";
340 regulator-min-microvolt = <1000000>;
341 regulator-max-microvolt = <1000000>;
342 regulator-always-on;
343 regulator-boot-on;
344 };
345
346 buck4_reg: BUCK4 {
347 regulator-name = "vdd_g3d";
348 regulator-min-microvolt = <900000>;
349 regulator-max-microvolt = <1100000>;
350 regulator-microvolt-offset = <50000>;
351 };
352
353 buck5_reg: BUCK5 {
354 regulator-name = "VDDQ_CKEM1_2_1.2V";
355 regulator-min-microvolt = <1200000>;
356 regulator-max-microvolt = <1200000>;
357 regulator-always-on;
358 regulator-boot-on;
359 };
360
361 buck6_reg: BUCK6 {
362 regulator-name = "BUCK6_1.35V";
363 regulator-min-microvolt = <1350000>;
364 regulator-max-microvolt = <1350000>;
365 regulator-always-on;
366 regulator-boot-on;
367 };
368
369 buck7_reg: BUCK7 {
370 regulator-name = "BUCK7_2.0V";
371 regulator-min-microvolt = <2000000>;
372 regulator-max-microvolt = <2000000>;
373 regulator-always-on;
374 };
375
376 buck8_reg: BUCK8 {
377 regulator-name = "BUCK8_2.8V";
378 regulator-min-microvolt = <2800000>;
379 regulator-max-microvolt = <2800000>;
ec601ff3
MS
380 };
381 };
382 };
383 };
384
5a852743
SN
385 i2c@13870000 {
386 pinctrl-names = "default";
387 pinctrl-0 = <&i2c1_bus>;
388 status = "okay";
389 max98090: max98090@10 {
390 compatible = "maxim,max98090";
391 reg = <0x10>;
392 interrupt-parent = <&gpx0>;
393 interrupts = <0 0>;
3635acef
SN
394 clocks = <&i2s0 CLK_I2S_CDCLK>;
395 clock-names = "mclk";
16696337 396 #sound-dai-cells = <0>;
5a852743
SN
397 };
398 };
399
ec601ff3
MS
400 exynos-usbphy@125B0000 {
401 status = "okay";
402 };
403
404 hsotg@12480000 {
32f144f2 405 dr_mode = "peripheral";
ec601ff3
MS
406 status = "okay";
407 vusb_d-supply = <&ldo15_reg>;
408 vusb_a-supply = <&ldo12_reg>;
409 };
410
411 ehci: ehci@12580000 {
412 status = "okay";
413 };
414};
081a15e3
MS
415
416&pinctrl_1 {
417 gpio_power_key: power_key {
418 samsung,pins = "gpx1-3";
419 samsung,pin-pud = <0>;
420 };
eea6653a
DD
421
422 max77686_irq: max77686-irq {
423 samsung,pins = "gpx3-2";
424 samsung,pin-function = <0>;
425 samsung,pin-pud = <0>;
426 samsung,pin-drv = <0>;
427 };
081a15e3 428};
This page took 0.071059 seconds and 5 git commands to generate.