diff options
author | Krzysztof Kozlowski <k.kozlowski.k@gmail.com> | 2015-05-25 08:13:17 -0400 |
---|---|---|
committer | Kukjin Kim <kgene@kernel.org> | 2015-06-02 20:56:57 -0400 |
commit | 3a7c01d75febd5acab30a433723b2051a305f2cc (patch) | |
tree | cc164c0ace926273aac69655aad0a24137050c62 | |
parent | 6bebe8daa6cc35853d7a3c42709594f7e225015f (diff) |
ARM: dts: Add Odroid XU3 Lite support
The Odroid XU3 Lite is almost the same as XU3, except:
1. Lower CPU frequencies (1.8 GHz for A15 and 1.3 GHz for A7, instead of
2.0 GHz and 1.4 GHz).
2. No DisplayPort.
3. No TI INA231 energy measurement sensors.
This patch moves common nodes (which is almost everything) to a common
DTSI file and adds a new XU3 Lite DTS.
Currently in comparison to XU3, only the INA231 sensors are disabled to
remove the warning:
ina2xx 0-0040: error configuring the device: -6
Signed-off-by: Krzysztof Kozlowski <k.kozlowski.k@gmail.com>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | 479 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts | 20 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5422-odroidxu3.dts | 466 |
4 files changed, 501 insertions, 465 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 992736b5229b..a0fa23d3aec5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -113,6 +113,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \ | |||
113 | exynos5420-peach-pit.dtb \ | 113 | exynos5420-peach-pit.dtb \ |
114 | exynos5420-smdk5420.dtb \ | 114 | exynos5420-smdk5420.dtb \ |
115 | exynos5422-odroidxu3.dtb \ | 115 | exynos5422-odroidxu3.dtb \ |
116 | exynos5422-odroidxu3-lite.dtb \ | ||
116 | exynos5440-sd5v1.dtb \ | 117 | exynos5440-sd5v1.dtb \ |
117 | exynos5440-ssdk5440.dtb \ | 118 | exynos5440-ssdk5440.dtb \ |
118 | exynos5800-peach-pi.dtb | 119 | exynos5800-peach-pi.dtb |
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi new file mode 100644 index 000000000000..8adf455744e9 --- /dev/null +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-common.dtsi | |||
@@ -0,0 +1,479 @@ | |||
1 | /* | ||
2 | * Hardkernel Odroid XU3 board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Collabora Ltd. | ||
5 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. | ||
6 | * http://www.samsung.com | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | */ | ||
12 | |||
13 | #include <dt-bindings/clock/samsung,s2mps11.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | #include <dt-bindings/gpio/gpio.h> | ||
16 | #include <dt-bindings/sound/samsung-i2s.h> | ||
17 | #include "exynos5800.dtsi" | ||
18 | |||
19 | / { | ||
20 | memory { | ||
21 | reg = <0x40000000 0x7EA00000>; | ||
22 | }; | ||
23 | |||
24 | chosen { | ||
25 | linux,stdout-path = &serial_2; | ||
26 | }; | ||
27 | |||
28 | firmware@02073000 { | ||
29 | compatible = "samsung,secure-firmware"; | ||
30 | reg = <0x02073000 0x1000>; | ||
31 | }; | ||
32 | |||
33 | fixed-rate-clocks { | ||
34 | oscclk { | ||
35 | compatible = "samsung,exynos5420-oscclk"; | ||
36 | clock-frequency = <24000000>; | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | emmc_pwrseq: pwrseq { | ||
41 | pinctrl-0 = <&emmc_nrst_pin>; | ||
42 | pinctrl-names = "default"; | ||
43 | compatible = "mmc-pwrseq-emmc"; | ||
44 | reset-gpios = <&gpd1 0 1>; | ||
45 | }; | ||
46 | |||
47 | pwmleds { | ||
48 | compatible = "pwm-leds"; | ||
49 | |||
50 | greenled { | ||
51 | label = "green:mmc0"; | ||
52 | pwms = <&pwm 1 2000000 0>; | ||
53 | pwm-names = "pwm1"; | ||
54 | /* | ||
55 | * Green LED is much brighter than the others | ||
56 | * so limit its max brightness | ||
57 | */ | ||
58 | max_brightness = <127>; | ||
59 | linux,default-trigger = "mmc0"; | ||
60 | }; | ||
61 | |||
62 | blueled { | ||
63 | label = "blue:heartbeat"; | ||
64 | pwms = <&pwm 2 2000000 0>; | ||
65 | pwm-names = "pwm2"; | ||
66 | max_brightness = <255>; | ||
67 | linux,default-trigger = "heartbeat"; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | gpioleds { | ||
72 | compatible = "gpio-leds"; | ||
73 | redled { | ||
74 | label = "red:microSD"; | ||
75 | gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>; | ||
76 | default-state = "off"; | ||
77 | linux,default-trigger = "mmc1"; | ||
78 | }; | ||
79 | }; | ||
80 | |||
81 | sound: sound { | ||
82 | compatible = "simple-audio-card"; | ||
83 | |||
84 | simple-audio-card,name = "Odroid-XU3"; | ||
85 | simple-audio-card,widgets = | ||
86 | "Headphone", "Headphone Jack", | ||
87 | "Speakers", "Speakers"; | ||
88 | simple-audio-card,routing = | ||
89 | "Headphone Jack", "HPL", | ||
90 | "Headphone Jack", "HPR", | ||
91 | "Headphone Jack", "MICBIAS", | ||
92 | "IN1", "Headphone Jack", | ||
93 | "Speakers", "SPKL", | ||
94 | "Speakers", "SPKR"; | ||
95 | |||
96 | simple-audio-card,format = "i2s"; | ||
97 | simple-audio-card,bitclock-master = <&link0_codec>; | ||
98 | simple-audio-card,frame-master = <&link0_codec>; | ||
99 | |||
100 | simple-audio-card,cpu { | ||
101 | sound-dai = <&i2s0 0>; | ||
102 | system-clock-frequency = <19200000>; | ||
103 | }; | ||
104 | |||
105 | link0_codec: simple-audio-card,codec { | ||
106 | sound-dai = <&max98090>; | ||
107 | clocks = <&i2s0 CLK_I2S_CDCLK>; | ||
108 | }; | ||
109 | }; | ||
110 | }; | ||
111 | |||
112 | &clock_audss { | ||
113 | assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, | ||
114 | <&clock_audss EXYNOS_MOUT_I2S>, | ||
115 | <&clock_audss EXYNOS_DOUT_AUD_BUS>; | ||
116 | assigned-clock-parents = <&clock CLK_FIN_PLL>, | ||
117 | <&clock_audss EXYNOS_MOUT_AUDSS>; | ||
118 | assigned-clock-rates = <0>, | ||
119 | <0>, | ||
120 | <19200000>; | ||
121 | }; | ||
122 | |||
123 | &fimd { | ||
124 | status = "okay"; | ||
125 | }; | ||
126 | |||
127 | |||
128 | &hdmi { | ||
129 | status = "okay"; | ||
130 | hpd-gpio = <&gpx3 7 0>; | ||
131 | pinctrl-names = "default"; | ||
132 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
133 | |||
134 | vdd_osc-supply = <&ldo7_reg>; | ||
135 | vdd_pll-supply = <&ldo6_reg>; | ||
136 | vdd-supply = <&ldo6_reg>; | ||
137 | }; | ||
138 | |||
139 | &hsi2c_4 { | ||
140 | status = "okay"; | ||
141 | |||
142 | s2mps11_pmic@66 { | ||
143 | compatible = "samsung,s2mps11-pmic"; | ||
144 | reg = <0x66>; | ||
145 | s2mps11,buck2-ramp-delay = <12>; | ||
146 | s2mps11,buck34-ramp-delay = <12>; | ||
147 | s2mps11,buck16-ramp-delay = <12>; | ||
148 | s2mps11,buck6-ramp-enable = <1>; | ||
149 | s2mps11,buck2-ramp-enable = <1>; | ||
150 | s2mps11,buck3-ramp-enable = <1>; | ||
151 | s2mps11,buck4-ramp-enable = <1>; | ||
152 | |||
153 | interrupt-parent = <&gpx0>; | ||
154 | interrupts = <4 IRQ_TYPE_EDGE_FALLING>; | ||
155 | pinctrl-names = "default"; | ||
156 | pinctrl-0 = <&s2mps11_irq>; | ||
157 | |||
158 | s2mps11_osc: clocks { | ||
159 | #clock-cells = <1>; | ||
160 | clock-output-names = "s2mps11_ap", | ||
161 | "s2mps11_cp", "s2mps11_bt"; | ||
162 | }; | ||
163 | |||
164 | regulators { | ||
165 | ldo1_reg: LDO1 { | ||
166 | regulator-name = "vdd_ldo1"; | ||
167 | regulator-min-microvolt = <1000000>; | ||
168 | regulator-max-microvolt = <1000000>; | ||
169 | regulator-always-on; | ||
170 | }; | ||
171 | |||
172 | ldo3_reg: LDO3 { | ||
173 | regulator-name = "vdd_ldo3"; | ||
174 | regulator-min-microvolt = <1800000>; | ||
175 | regulator-max-microvolt = <1800000>; | ||
176 | regulator-always-on; | ||
177 | }; | ||
178 | |||
179 | ldo5_reg: LDO5 { | ||
180 | regulator-name = "vdd_ldo5"; | ||
181 | regulator-min-microvolt = <1800000>; | ||
182 | regulator-max-microvolt = <1800000>; | ||
183 | regulator-always-on; | ||
184 | }; | ||
185 | |||
186 | ldo6_reg: LDO6 { | ||
187 | regulator-name = "vdd_ldo6"; | ||
188 | regulator-min-microvolt = <1000000>; | ||
189 | regulator-max-microvolt = <1000000>; | ||
190 | regulator-always-on; | ||
191 | }; | ||
192 | |||
193 | ldo7_reg: LDO7 { | ||
194 | regulator-name = "vdd_ldo7"; | ||
195 | regulator-min-microvolt = <1800000>; | ||
196 | regulator-max-microvolt = <1800000>; | ||
197 | regulator-always-on; | ||
198 | }; | ||
199 | |||
200 | ldo8_reg: LDO8 { | ||
201 | regulator-name = "vdd_ldo8"; | ||
202 | regulator-min-microvolt = <1800000>; | ||
203 | regulator-max-microvolt = <1800000>; | ||
204 | regulator-always-on; | ||
205 | }; | ||
206 | |||
207 | ldo9_reg: LDO9 { | ||
208 | regulator-name = "vdd_ldo9"; | ||
209 | regulator-min-microvolt = <3000000>; | ||
210 | regulator-max-microvolt = <3000000>; | ||
211 | regulator-always-on; | ||
212 | }; | ||
213 | |||
214 | ldo10_reg: LDO10 { | ||
215 | regulator-name = "vdd_ldo10"; | ||
216 | regulator-min-microvolt = <1800000>; | ||
217 | regulator-max-microvolt = <1800000>; | ||
218 | regulator-always-on; | ||
219 | }; | ||
220 | |||
221 | ldo11_reg: LDO11 { | ||
222 | regulator-name = "vdd_ldo11"; | ||
223 | regulator-min-microvolt = <1000000>; | ||
224 | regulator-max-microvolt = <1000000>; | ||
225 | regulator-always-on; | ||
226 | }; | ||
227 | |||
228 | ldo12_reg: LDO12 { | ||
229 | regulator-name = "vdd_ldo12"; | ||
230 | regulator-min-microvolt = <1800000>; | ||
231 | regulator-max-microvolt = <1800000>; | ||
232 | regulator-always-on; | ||
233 | }; | ||
234 | |||
235 | ldo13_reg: LDO13 { | ||
236 | regulator-name = "vdd_ldo13"; | ||
237 | regulator-min-microvolt = <2800000>; | ||
238 | regulator-max-microvolt = <2800000>; | ||
239 | regulator-always-on; | ||
240 | }; | ||
241 | |||
242 | ldo15_reg: LDO15 { | ||
243 | regulator-name = "vdd_ldo15"; | ||
244 | regulator-min-microvolt = <3100000>; | ||
245 | regulator-max-microvolt = <3100000>; | ||
246 | regulator-always-on; | ||
247 | }; | ||
248 | |||
249 | ldo16_reg: LDO16 { | ||
250 | regulator-name = "vdd_ldo16"; | ||
251 | regulator-min-microvolt = <2200000>; | ||
252 | regulator-max-microvolt = <2200000>; | ||
253 | regulator-always-on; | ||
254 | }; | ||
255 | |||
256 | ldo17_reg: LDO17 { | ||
257 | regulator-name = "tsp_avdd"; | ||
258 | regulator-min-microvolt = <3300000>; | ||
259 | regulator-max-microvolt = <3300000>; | ||
260 | regulator-always-on; | ||
261 | }; | ||
262 | |||
263 | ldo19_reg: LDO19 { | ||
264 | regulator-name = "vdd_sd"; | ||
265 | regulator-min-microvolt = <2800000>; | ||
266 | regulator-max-microvolt = <2800000>; | ||
267 | regulator-always-on; | ||
268 | }; | ||
269 | |||
270 | ldo24_reg: LDO24 { | ||
271 | regulator-name = "tsp_io"; | ||
272 | regulator-min-microvolt = <2800000>; | ||
273 | regulator-max-microvolt = <2800000>; | ||
274 | regulator-always-on; | ||
275 | }; | ||
276 | |||
277 | ldo26_reg: LDO26 { | ||
278 | regulator-name = "vdd_ldo26"; | ||
279 | regulator-min-microvolt = <3000000>; | ||
280 | regulator-max-microvolt = <3000000>; | ||
281 | regulator-always-on; | ||
282 | }; | ||
283 | |||
284 | buck1_reg: BUCK1 { | ||
285 | regulator-name = "vdd_mif"; | ||
286 | regulator-min-microvolt = <800000>; | ||
287 | regulator-max-microvolt = <1300000>; | ||
288 | regulator-always-on; | ||
289 | regulator-boot-on; | ||
290 | }; | ||
291 | |||
292 | buck2_reg: BUCK2 { | ||
293 | regulator-name = "vdd_arm"; | ||
294 | regulator-min-microvolt = <800000>; | ||
295 | regulator-max-microvolt = <1500000>; | ||
296 | regulator-always-on; | ||
297 | regulator-boot-on; | ||
298 | }; | ||
299 | |||
300 | buck3_reg: BUCK3 { | ||
301 | regulator-name = "vdd_int"; | ||
302 | regulator-min-microvolt = <800000>; | ||
303 | regulator-max-microvolt = <1400000>; | ||
304 | regulator-always-on; | ||
305 | regulator-boot-on; | ||
306 | }; | ||
307 | |||
308 | buck4_reg: BUCK4 { | ||
309 | regulator-name = "vdd_g3d"; | ||
310 | regulator-min-microvolt = <800000>; | ||
311 | regulator-max-microvolt = <1400000>; | ||
312 | regulator-always-on; | ||
313 | regulator-boot-on; | ||
314 | }; | ||
315 | |||
316 | buck5_reg: BUCK5 { | ||
317 | regulator-name = "vdd_mem"; | ||
318 | regulator-min-microvolt = <800000>; | ||
319 | regulator-max-microvolt = <1400000>; | ||
320 | regulator-always-on; | ||
321 | regulator-boot-on; | ||
322 | }; | ||
323 | |||
324 | buck6_reg: BUCK6 { | ||
325 | regulator-name = "vdd_kfc"; | ||
326 | regulator-min-microvolt = <800000>; | ||
327 | regulator-max-microvolt = <1500000>; | ||
328 | regulator-always-on; | ||
329 | regulator-boot-on; | ||
330 | }; | ||
331 | |||
332 | buck7_reg: BUCK7 { | ||
333 | regulator-name = "vdd_1.0v_ldo"; | ||
334 | regulator-min-microvolt = <800000>; | ||
335 | regulator-max-microvolt = <1500000>; | ||
336 | regulator-always-on; | ||
337 | regulator-boot-on; | ||
338 | }; | ||
339 | |||
340 | buck8_reg: BUCK8 { | ||
341 | regulator-name = "vdd_1.8v_ldo"; | ||
342 | regulator-min-microvolt = <800000>; | ||
343 | regulator-max-microvolt = <1500000>; | ||
344 | regulator-always-on; | ||
345 | regulator-boot-on; | ||
346 | }; | ||
347 | |||
348 | buck9_reg: BUCK9 { | ||
349 | regulator-name = "vdd_2.8v_ldo"; | ||
350 | regulator-min-microvolt = <3000000>; | ||
351 | regulator-max-microvolt = <3750000>; | ||
352 | regulator-always-on; | ||
353 | regulator-boot-on; | ||
354 | }; | ||
355 | |||
356 | buck10_reg: BUCK10 { | ||
357 | regulator-name = "vdd_vmem"; | ||
358 | regulator-min-microvolt = <2850000>; | ||
359 | regulator-max-microvolt = <2850000>; | ||
360 | regulator-always-on; | ||
361 | regulator-boot-on; | ||
362 | }; | ||
363 | }; | ||
364 | }; | ||
365 | }; | ||
366 | |||
367 | &hsi2c_5 { | ||
368 | status = "okay"; | ||
369 | max98090: max98090@10 { | ||
370 | compatible = "maxim,max98090"; | ||
371 | reg = <0x10>; | ||
372 | interrupt-parent = <&gpx3>; | ||
373 | interrupts = <2 0>; | ||
374 | clocks = <&i2s0 CLK_I2S_CDCLK>; | ||
375 | clock-names = "mclk"; | ||
376 | #sound-dai-cells = <0>; | ||
377 | }; | ||
378 | }; | ||
379 | |||
380 | &i2c_2 { | ||
381 | samsung,i2c-sda-delay = <100>; | ||
382 | samsung,i2c-max-bus-freq = <66000>; | ||
383 | status = "okay"; | ||
384 | |||
385 | hdmiddc@50 { | ||
386 | compatible = "samsung,exynos4210-hdmiddc"; | ||
387 | reg = <0x50>; | ||
388 | }; | ||
389 | }; | ||
390 | |||
391 | &i2s0 { | ||
392 | status = "okay"; | ||
393 | }; | ||
394 | |||
395 | &mfc { | ||
396 | samsung,mfc-r = <0x43000000 0x800000>; | ||
397 | samsung,mfc-l = <0x51000000 0x800000>; | ||
398 | }; | ||
399 | |||
400 | &mmc_0 { | ||
401 | status = "okay"; | ||
402 | mmc-pwrseq = <&emmc_pwrseq>; | ||
403 | cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>; | ||
404 | card-detect-delay = <200>; | ||
405 | samsung,dw-mshc-ciu-div = <3>; | ||
406 | samsung,dw-mshc-sdr-timing = <0 4>; | ||
407 | samsung,dw-mshc-ddr-timing = <0 2>; | ||
408 | samsung,dw-mshc-hs400-timing = <0 2>; | ||
409 | samsung,read-strobe-delay = <90>; | ||
410 | pinctrl-names = "default"; | ||
411 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>; | ||
412 | bus-width = <8>; | ||
413 | cap-mmc-highspeed; | ||
414 | mmc-hs200-1_8v; | ||
415 | mmc-hs400-1_8v; | ||
416 | }; | ||
417 | |||
418 | &mmc_2 { | ||
419 | status = "okay"; | ||
420 | card-detect-delay = <200>; | ||
421 | samsung,dw-mshc-ciu-div = <3>; | ||
422 | samsung,dw-mshc-sdr-timing = <0 4>; | ||
423 | samsung,dw-mshc-ddr-timing = <0 2>; | ||
424 | pinctrl-names = "default"; | ||
425 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; | ||
426 | bus-width = <4>; | ||
427 | cap-sd-highspeed; | ||
428 | }; | ||
429 | |||
430 | &pinctrl_0 { | ||
431 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
432 | samsung,pins = "gpx3-7"; | ||
433 | samsung,pin-function = <0>; | ||
434 | samsung,pin-pud = <1>; | ||
435 | samsung,pin-drv = <0>; | ||
436 | }; | ||
437 | |||
438 | s2mps11_irq: s2mps11-irq { | ||
439 | samsung,pins = "gpx0-4"; | ||
440 | samsung,pin-function = <0xf>; | ||
441 | samsung,pin-pud = <0>; | ||
442 | samsung,pin-drv = <0>; | ||
443 | }; | ||
444 | }; | ||
445 | |||
446 | &pinctrl_1 { | ||
447 | emmc_nrst_pin: emmc-nrst { | ||
448 | samsung,pins = "gpd1-0"; | ||
449 | samsung,pin-function = <0>; | ||
450 | samsung,pin-pud = <0>; | ||
451 | samsung,pin-drv = <0>; | ||
452 | }; | ||
453 | }; | ||
454 | |||
455 | &pwm { | ||
456 | /* | ||
457 | * PWM 0 -- fan | ||
458 | * PWM 1 -- Green LED | ||
459 | * PWM 2 -- Blue LED | ||
460 | * PWM 3 -- on MIPI connector for backlight | ||
461 | */ | ||
462 | pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>; | ||
463 | pinctrl-names = "default"; | ||
464 | status = "okay"; | ||
465 | }; | ||
466 | |||
467 | &rtc { | ||
468 | status = "okay"; | ||
469 | clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>; | ||
470 | clock-names = "rtc", "rtc_src"; | ||
471 | }; | ||
472 | |||
473 | &usbdrd_dwc3_0 { | ||
474 | dr_mode = "host"; | ||
475 | }; | ||
476 | |||
477 | &usbdrd_dwc3_1 { | ||
478 | dr_mode = "otg"; | ||
479 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts new file mode 100644 index 000000000000..c06882bbb822 --- /dev/null +++ b/arch/arm/boot/dts/exynos5422-odroidxu3-lite.dts | |||
@@ -0,0 +1,20 @@ | |||
1 | /* | ||
2 | * Hardkernel Odroid XU3-Lite board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2015 Krzysztof Kozlowski | ||
5 | * Copyright (c) 2014 Collabora Ltd. | ||
6 | * Copyright (c) 2013 Samsung Electronics Co., Ltd. | ||
7 | * http://www.samsung.com | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License version 2 as | ||
11 | * published by the Free Software Foundation. | ||
12 | */ | ||
13 | |||
14 | /dts-v1/; | ||
15 | #include "exynos5422-odroidxu3-common.dtsi" | ||
16 | |||
17 | / { | ||
18 | model = "Hardkernel Odroid XU3 Lite"; | ||
19 | compatible = "hardkernel,odroid-xu3-lite", "samsung,exynos5800", "samsung,exynos5"; | ||
20 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu3.dts b/arch/arm/boot/dts/exynos5422-odroidxu3.dts index 1df2f38e2fcb..78e6a502f320 100644 --- a/arch/arm/boot/dts/exynos5422-odroidxu3.dts +++ b/arch/arm/boot/dts/exynos5422-odroidxu3.dts | |||
@@ -11,374 +11,11 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | /dts-v1/; | 13 | /dts-v1/; |
14 | #include <dt-bindings/clock/samsung,s2mps11.h> | 14 | #include "exynos5422-odroidxu3-common.dtsi" |
15 | #include <dt-bindings/interrupt-controller/irq.h> | ||
16 | #include <dt-bindings/gpio/gpio.h> | ||
17 | #include <dt-bindings/sound/samsung-i2s.h> | ||
18 | #include "exynos5800.dtsi" | ||
19 | 15 | ||
20 | / { | 16 | / { |
21 | model = "Hardkernel Odroid XU3"; | 17 | model = "Hardkernel Odroid XU3"; |
22 | compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5"; | 18 | compatible = "hardkernel,odroid-xu3", "samsung,exynos5800", "samsung,exynos5"; |
23 | |||
24 | memory { | ||
25 | reg = <0x40000000 0x7EA00000>; | ||
26 | }; | ||
27 | |||
28 | chosen { | ||
29 | linux,stdout-path = &serial_2; | ||
30 | }; | ||
31 | |||
32 | firmware@02073000 { | ||
33 | compatible = "samsung,secure-firmware"; | ||
34 | reg = <0x02073000 0x1000>; | ||
35 | }; | ||
36 | |||
37 | fixed-rate-clocks { | ||
38 | oscclk { | ||
39 | compatible = "samsung,exynos5420-oscclk"; | ||
40 | clock-frequency = <24000000>; | ||
41 | }; | ||
42 | }; | ||
43 | |||
44 | emmc_pwrseq: pwrseq { | ||
45 | pinctrl-0 = <&emmc_nrst_pin>; | ||
46 | pinctrl-names = "default"; | ||
47 | compatible = "mmc-pwrseq-emmc"; | ||
48 | reset-gpios = <&gpd1 0 1>; | ||
49 | }; | ||
50 | |||
51 | pwmleds { | ||
52 | compatible = "pwm-leds"; | ||
53 | |||
54 | greenled { | ||
55 | label = "green:mmc0"; | ||
56 | pwms = <&pwm 1 2000000 0>; | ||
57 | pwm-names = "pwm1"; | ||
58 | /* | ||
59 | * Green LED is much brighter than the others | ||
60 | * so limit its max brightness | ||
61 | */ | ||
62 | max_brightness = <127>; | ||
63 | linux,default-trigger = "mmc0"; | ||
64 | }; | ||
65 | |||
66 | blueled { | ||
67 | label = "blue:heartbeat"; | ||
68 | pwms = <&pwm 2 2000000 0>; | ||
69 | pwm-names = "pwm2"; | ||
70 | max_brightness = <255>; | ||
71 | linux,default-trigger = "heartbeat"; | ||
72 | }; | ||
73 | }; | ||
74 | |||
75 | gpioleds { | ||
76 | compatible = "gpio-leds"; | ||
77 | redled { | ||
78 | label = "red:microSD"; | ||
79 | gpios = <&gpx2 3 GPIO_ACTIVE_HIGH>; | ||
80 | default-state = "off"; | ||
81 | linux,default-trigger = "mmc1"; | ||
82 | }; | ||
83 | }; | ||
84 | |||
85 | sound: sound { | ||
86 | compatible = "simple-audio-card"; | ||
87 | |||
88 | simple-audio-card,name = "Odroid-XU3"; | ||
89 | simple-audio-card,widgets = | ||
90 | "Headphone", "Headphone Jack", | ||
91 | "Speakers", "Speakers"; | ||
92 | simple-audio-card,routing = | ||
93 | "Headphone Jack", "HPL", | ||
94 | "Headphone Jack", "HPR", | ||
95 | "Headphone Jack", "MICBIAS", | ||
96 | "IN1", "Headphone Jack", | ||
97 | "Speakers", "SPKL", | ||
98 | "Speakers", "SPKR"; | ||
99 | |||
100 | simple-audio-card,format = "i2s"; | ||
101 | simple-audio-card,bitclock-master = <&link0_codec>; | ||
102 | simple-audio-card,frame-master = <&link0_codec>; | ||
103 | |||
104 | simple-audio-card,cpu { | ||
105 | sound-dai = <&i2s0 0>; | ||
106 | system-clock-frequency = <19200000>; | ||
107 | }; | ||
108 | |||
109 | link0_codec: simple-audio-card,codec { | ||
110 | sound-dai = <&max98090>; | ||
111 | clocks = <&i2s0 CLK_I2S_CDCLK>; | ||
112 | }; | ||
113 | }; | ||
114 | }; | ||
115 | |||
116 | &clock_audss { | ||
117 | assigned-clocks = <&clock_audss EXYNOS_MOUT_AUDSS>, | ||
118 | <&clock_audss EXYNOS_MOUT_I2S>, | ||
119 | <&clock_audss EXYNOS_DOUT_AUD_BUS>; | ||
120 | assigned-clock-parents = <&clock CLK_FIN_PLL>, | ||
121 | <&clock_audss EXYNOS_MOUT_AUDSS>; | ||
122 | assigned-clock-rates = <0>, | ||
123 | <0>, | ||
124 | <19200000>; | ||
125 | }; | ||
126 | |||
127 | &fimd { | ||
128 | status = "okay"; | ||
129 | }; | ||
130 | |||
131 | |||
132 | &hdmi { | ||
133 | status = "okay"; | ||
134 | hpd-gpio = <&gpx3 7 0>; | ||
135 | pinctrl-names = "default"; | ||
136 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
137 | |||
138 | vdd_osc-supply = <&ldo7_reg>; | ||
139 | vdd_pll-supply = <&ldo6_reg>; | ||
140 | vdd-supply = <&ldo6_reg>; | ||
141 | }; | ||
142 | |||
143 | &hsi2c_4 { | ||
144 | status = "okay"; | ||
145 | |||
146 | s2mps11_pmic@66 { | ||
147 | compatible = "samsung,s2mps11-pmic"; | ||
148 | reg = <0x66>; | ||
149 | s2mps11,buck2-ramp-delay = <12>; | ||
150 | s2mps11,buck34-ramp-delay = <12>; | ||
151 | s2mps11,buck16-ramp-delay = <12>; | ||
152 | s2mps11,buck6-ramp-enable = <1>; | ||
153 | s2mps11,buck2-ramp-enable = <1>; | ||
154 | s2mps11,buck3-ramp-enable = <1>; | ||
155 | s2mps11,buck4-ramp-enable = <1>; | ||
156 | |||
157 | interrupt-parent = <&gpx0>; | ||
158 | interrupts = <4 IRQ_TYPE_EDGE_FALLING>; | ||
159 | pinctrl-names = "default"; | ||
160 | pinctrl-0 = <&s2mps11_irq>; | ||
161 | |||
162 | s2mps11_osc: clocks { | ||
163 | #clock-cells = <1>; | ||
164 | clock-output-names = "s2mps11_ap", | ||
165 | "s2mps11_cp", "s2mps11_bt"; | ||
166 | }; | ||
167 | |||
168 | regulators { | ||
169 | ldo1_reg: LDO1 { | ||
170 | regulator-name = "vdd_ldo1"; | ||
171 | regulator-min-microvolt = <1000000>; | ||
172 | regulator-max-microvolt = <1000000>; | ||
173 | regulator-always-on; | ||
174 | }; | ||
175 | |||
176 | ldo3_reg: LDO3 { | ||
177 | regulator-name = "vdd_ldo3"; | ||
178 | regulator-min-microvolt = <1800000>; | ||
179 | regulator-max-microvolt = <1800000>; | ||
180 | regulator-always-on; | ||
181 | }; | ||
182 | |||
183 | ldo5_reg: LDO5 { | ||
184 | regulator-name = "vdd_ldo5"; | ||
185 | regulator-min-microvolt = <1800000>; | ||
186 | regulator-max-microvolt = <1800000>; | ||
187 | regulator-always-on; | ||
188 | }; | ||
189 | |||
190 | ldo6_reg: LDO6 { | ||
191 | regulator-name = "vdd_ldo6"; | ||
192 | regulator-min-microvolt = <1000000>; | ||
193 | regulator-max-microvolt = <1000000>; | ||
194 | regulator-always-on; | ||
195 | }; | ||
196 | |||
197 | ldo7_reg: LDO7 { | ||
198 | regulator-name = "vdd_ldo7"; | ||
199 | regulator-min-microvolt = <1800000>; | ||
200 | regulator-max-microvolt = <1800000>; | ||
201 | regulator-always-on; | ||
202 | }; | ||
203 | |||
204 | ldo8_reg: LDO8 { | ||
205 | regulator-name = "vdd_ldo8"; | ||
206 | regulator-min-microvolt = <1800000>; | ||
207 | regulator-max-microvolt = <1800000>; | ||
208 | regulator-always-on; | ||
209 | }; | ||
210 | |||
211 | ldo9_reg: LDO9 { | ||
212 | regulator-name = "vdd_ldo9"; | ||
213 | regulator-min-microvolt = <3000000>; | ||
214 | regulator-max-microvolt = <3000000>; | ||
215 | regulator-always-on; | ||
216 | }; | ||
217 | |||
218 | ldo10_reg: LDO10 { | ||
219 | regulator-name = "vdd_ldo10"; | ||
220 | regulator-min-microvolt = <1800000>; | ||
221 | regulator-max-microvolt = <1800000>; | ||
222 | regulator-always-on; | ||
223 | }; | ||
224 | |||
225 | ldo11_reg: LDO11 { | ||
226 | regulator-name = "vdd_ldo11"; | ||
227 | regulator-min-microvolt = <1000000>; | ||
228 | regulator-max-microvolt = <1000000>; | ||
229 | regulator-always-on; | ||
230 | }; | ||
231 | |||
232 | ldo12_reg: LDO12 { | ||
233 | regulator-name = "vdd_ldo12"; | ||
234 | regulator-min-microvolt = <1800000>; | ||
235 | regulator-max-microvolt = <1800000>; | ||
236 | regulator-always-on; | ||
237 | }; | ||
238 | |||
239 | ldo13_reg: LDO13 { | ||
240 | regulator-name = "vdd_ldo13"; | ||
241 | regulator-min-microvolt = <2800000>; | ||
242 | regulator-max-microvolt = <2800000>; | ||
243 | regulator-always-on; | ||
244 | }; | ||
245 | |||
246 | ldo15_reg: LDO15 { | ||
247 | regulator-name = "vdd_ldo15"; | ||
248 | regulator-min-microvolt = <3100000>; | ||
249 | regulator-max-microvolt = <3100000>; | ||
250 | regulator-always-on; | ||
251 | }; | ||
252 | |||
253 | ldo16_reg: LDO16 { | ||
254 | regulator-name = "vdd_ldo16"; | ||
255 | regulator-min-microvolt = <2200000>; | ||
256 | regulator-max-microvolt = <2200000>; | ||
257 | regulator-always-on; | ||
258 | }; | ||
259 | |||
260 | ldo17_reg: LDO17 { | ||
261 | regulator-name = "tsp_avdd"; | ||
262 | regulator-min-microvolt = <3300000>; | ||
263 | regulator-max-microvolt = <3300000>; | ||
264 | regulator-always-on; | ||
265 | }; | ||
266 | |||
267 | ldo19_reg: LDO19 { | ||
268 | regulator-name = "vdd_sd"; | ||
269 | regulator-min-microvolt = <2800000>; | ||
270 | regulator-max-microvolt = <2800000>; | ||
271 | regulator-always-on; | ||
272 | }; | ||
273 | |||
274 | ldo24_reg: LDO24 { | ||
275 | regulator-name = "tsp_io"; | ||
276 | regulator-min-microvolt = <2800000>; | ||
277 | regulator-max-microvolt = <2800000>; | ||
278 | regulator-always-on; | ||
279 | }; | ||
280 | |||
281 | ldo26_reg: LDO26 { | ||
282 | regulator-name = "vdd_ldo26"; | ||
283 | regulator-min-microvolt = <3000000>; | ||
284 | regulator-max-microvolt = <3000000>; | ||
285 | regulator-always-on; | ||
286 | }; | ||
287 | |||
288 | buck1_reg: BUCK1 { | ||
289 | regulator-name = "vdd_mif"; | ||
290 | regulator-min-microvolt = <800000>; | ||
291 | regulator-max-microvolt = <1300000>; | ||
292 | regulator-always-on; | ||
293 | regulator-boot-on; | ||
294 | }; | ||
295 | |||
296 | buck2_reg: BUCK2 { | ||
297 | regulator-name = "vdd_arm"; | ||
298 | regulator-min-microvolt = <800000>; | ||
299 | regulator-max-microvolt = <1500000>; | ||
300 | regulator-always-on; | ||
301 | regulator-boot-on; | ||
302 | }; | ||
303 | |||
304 | buck3_reg: BUCK3 { | ||
305 | regulator-name = "vdd_int"; | ||
306 | regulator-min-microvolt = <800000>; | ||
307 | regulator-max-microvolt = <1400000>; | ||
308 | regulator-always-on; | ||
309 | regulator-boot-on; | ||
310 | }; | ||
311 | |||
312 | buck4_reg: BUCK4 { | ||
313 | regulator-name = "vdd_g3d"; | ||
314 | regulator-min-microvolt = <800000>; | ||
315 | regulator-max-microvolt = <1400000>; | ||
316 | regulator-always-on; | ||
317 | regulator-boot-on; | ||
318 | }; | ||
319 | |||
320 | buck5_reg: BUCK5 { | ||
321 | regulator-name = "vdd_mem"; | ||
322 | regulator-min-microvolt = <800000>; | ||
323 | regulator-max-microvolt = <1400000>; | ||
324 | regulator-always-on; | ||
325 | regulator-boot-on; | ||
326 | }; | ||
327 | |||
328 | buck6_reg: BUCK6 { | ||
329 | regulator-name = "vdd_kfc"; | ||
330 | regulator-min-microvolt = <800000>; | ||
331 | regulator-max-microvolt = <1500000>; | ||
332 | regulator-always-on; | ||
333 | regulator-boot-on; | ||
334 | }; | ||
335 | |||
336 | buck7_reg: BUCK7 { | ||
337 | regulator-name = "vdd_1.0v_ldo"; | ||
338 | regulator-min-microvolt = <800000>; | ||
339 | regulator-max-microvolt = <1500000>; | ||
340 | regulator-always-on; | ||
341 | regulator-boot-on; | ||
342 | }; | ||
343 | |||
344 | buck8_reg: BUCK8 { | ||
345 | regulator-name = "vdd_1.8v_ldo"; | ||
346 | regulator-min-microvolt = <800000>; | ||
347 | regulator-max-microvolt = <1500000>; | ||
348 | regulator-always-on; | ||
349 | regulator-boot-on; | ||
350 | }; | ||
351 | |||
352 | buck9_reg: BUCK9 { | ||
353 | regulator-name = "vdd_2.8v_ldo"; | ||
354 | regulator-min-microvolt = <3000000>; | ||
355 | regulator-max-microvolt = <3750000>; | ||
356 | regulator-always-on; | ||
357 | regulator-boot-on; | ||
358 | }; | ||
359 | |||
360 | buck10_reg: BUCK10 { | ||
361 | regulator-name = "vdd_vmem"; | ||
362 | regulator-min-microvolt = <2850000>; | ||
363 | regulator-max-microvolt = <2850000>; | ||
364 | regulator-always-on; | ||
365 | regulator-boot-on; | ||
366 | }; | ||
367 | }; | ||
368 | }; | ||
369 | }; | ||
370 | |||
371 | &hsi2c_5 { | ||
372 | status = "okay"; | ||
373 | max98090: max98090@10 { | ||
374 | compatible = "maxim,max98090"; | ||
375 | reg = <0x10>; | ||
376 | interrupt-parent = <&gpx3>; | ||
377 | interrupts = <2 0>; | ||
378 | clocks = <&i2s0 CLK_I2S_CDCLK>; | ||
379 | clock-names = "mclk"; | ||
380 | #sound-dai-cells = <0>; | ||
381 | }; | ||
382 | }; | 19 | }; |
383 | 20 | ||
384 | &i2c_0 { | 21 | &i2c_0 { |
@@ -412,104 +49,3 @@ | |||
412 | shunt-resistor = <10000>; | 49 | shunt-resistor = <10000>; |
413 | }; | 50 | }; |
414 | }; | 51 | }; |
415 | |||
416 | &i2c_2 { | ||
417 | samsung,i2c-sda-delay = <100>; | ||
418 | samsung,i2c-max-bus-freq = <66000>; | ||
419 | status = "okay"; | ||
420 | |||
421 | hdmiddc@50 { | ||
422 | compatible = "samsung,exynos4210-hdmiddc"; | ||
423 | reg = <0x50>; | ||
424 | }; | ||
425 | }; | ||
426 | |||
427 | &i2s0 { | ||
428 | status = "okay"; | ||
429 | }; | ||
430 | |||
431 | &mfc { | ||
432 | samsung,mfc-r = <0x43000000 0x800000>; | ||
433 | samsung,mfc-l = <0x51000000 0x800000>; | ||
434 | }; | ||
435 | |||
436 | &mmc_0 { | ||
437 | status = "okay"; | ||
438 | mmc-pwrseq = <&emmc_pwrseq>; | ||
439 | cd-gpios = <&gpc0 2 GPIO_ACTIVE_LOW>; | ||
440 | card-detect-delay = <200>; | ||
441 | samsung,dw-mshc-ciu-div = <3>; | ||
442 | samsung,dw-mshc-sdr-timing = <0 4>; | ||
443 | samsung,dw-mshc-ddr-timing = <0 2>; | ||
444 | samsung,dw-mshc-hs400-timing = <0 2>; | ||
445 | samsung,read-strobe-delay = <90>; | ||
446 | pinctrl-names = "default"; | ||
447 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_cd &sd0_rclk>; | ||
448 | bus-width = <8>; | ||
449 | cap-mmc-highspeed; | ||
450 | mmc-hs200-1_8v; | ||
451 | mmc-hs400-1_8v; | ||
452 | }; | ||
453 | |||
454 | &mmc_2 { | ||
455 | status = "okay"; | ||
456 | card-detect-delay = <200>; | ||
457 | samsung,dw-mshc-ciu-div = <3>; | ||
458 | samsung,dw-mshc-sdr-timing = <0 4>; | ||
459 | samsung,dw-mshc-ddr-timing = <0 2>; | ||
460 | pinctrl-names = "default"; | ||
461 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; | ||
462 | bus-width = <4>; | ||
463 | cap-sd-highspeed; | ||
464 | }; | ||
465 | |||
466 | &pinctrl_0 { | ||
467 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
468 | samsung,pins = "gpx3-7"; | ||
469 | samsung,pin-function = <0>; | ||
470 | samsung,pin-pud = <1>; | ||
471 | samsung,pin-drv = <0>; | ||
472 | }; | ||
473 | |||
474 | s2mps11_irq: s2mps11-irq { | ||
475 | samsung,pins = "gpx0-4"; | ||
476 | samsung,pin-function = <0xf>; | ||
477 | samsung,pin-pud = <0>; | ||
478 | samsung,pin-drv = <0>; | ||
479 | }; | ||
480 | }; | ||
481 | |||
482 | &pinctrl_1 { | ||
483 | emmc_nrst_pin: emmc-nrst { | ||
484 | samsung,pins = "gpd1-0"; | ||
485 | samsung,pin-function = <0>; | ||
486 | samsung,pin-pud = <0>; | ||
487 | samsung,pin-drv = <0>; | ||
488 | }; | ||
489 | }; | ||
490 | |||
491 | &pwm { | ||
492 | /* | ||
493 | * PWM 0 -- fan | ||
494 | * PWM 1 -- Green LED | ||
495 | * PWM 2 -- Blue LED | ||
496 | * PWM 3 -- on MIPI connector for backlight | ||
497 | */ | ||
498 | pinctrl-0 = <&pwm0_out &pwm1_out &pwm2_out &pwm3_out>; | ||
499 | pinctrl-names = "default"; | ||
500 | status = "okay"; | ||
501 | }; | ||
502 | |||
503 | &rtc { | ||
504 | status = "okay"; | ||
505 | clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>; | ||
506 | clock-names = "rtc", "rtc_src"; | ||
507 | }; | ||
508 | |||
509 | &usbdrd_dwc3_0 { | ||
510 | dr_mode = "host"; | ||
511 | }; | ||
512 | |||
513 | &usbdrd_dwc3_1 { | ||
514 | dr_mode = "otg"; | ||
515 | }; | ||