diff options
author | Chanwoo Choi <cw00.choi@samsung.com> | 2014-11-06 18:10:12 -0500 |
---|---|---|
committer | Kukjin Kim <kgene.kim@samsung.com> | 2014-11-06 18:10:12 -0500 |
commit | faaf348ef468389b1ee4cfe91bcea1c22fe2d9b2 (patch) | |
tree | 918f71eca0cea4e431e81f02b2d7e202417d8059 | |
parent | e540920cf21c2764047b8a6ddaeaa0683624e46e (diff) |
ARM: dts: Add board dts file for exynos3250-rinato
This patch adds support for device tree source for Samsung Rinato
board (Gear 2) based on Exynos3250 SoC.
This dts file support following features:
- eMMC
- Main PMIC (Samsung S2MPS14)
- Interface PMIC (Maxim MAX77836, MUIC, fuel-gauge, charger)
- RTC of Exynos3250
- ADC of Exynos3250 with NTC thermistor
- I2S of Exynos3250
- TMU of Exynos3250
- MFC of Exynos3250
- Secure firmware for Exynos3250 secondary cpu boot
- Serial ports of Exynos3250
- gpio-key for power key
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 3 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos3250-rinato.dts | 424 |
2 files changed, 426 insertions, 1 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 4a75e293cd40..91cd4d08b7f1 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -67,7 +67,8 @@ dtb-$(CONFIG_ARCH_BRCMSTB) += \ | |||
67 | dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ | 67 | dtb-$(CONFIG_ARCH_DAVINCI) += da850-enbw-cmc.dtb \ |
68 | da850-evm.dtb | 68 | da850-evm.dtb |
69 | dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb | 69 | dtb-$(CONFIG_ARCH_EFM32) += efm32gg-dk3750.dtb |
70 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \ | 70 | dtb-$(CONFIG_ARCH_EXYNOS) += exynos3250-rinato.dtb \ |
71 | exynos4210-origen.dtb \ | ||
71 | exynos4210-smdkv310.dtb \ | 72 | exynos4210-smdkv310.dtb \ |
72 | exynos4210-trats.dtb \ | 73 | exynos4210-trats.dtb \ |
73 | exynos4210-universal_c210.dtb \ | 74 | exynos4210-universal_c210.dtb \ |
diff --git a/arch/arm/boot/dts/exynos3250-rinato.dts b/arch/arm/boot/dts/exynos3250-rinato.dts new file mode 100644 index 000000000000..8a18e68707f1 --- /dev/null +++ b/arch/arm/boot/dts/exynos3250-rinato.dts | |||
@@ -0,0 +1,424 @@ | |||
1 | /* | ||
2 | * Samsung's Exynos3250 based Rinato board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2014 Samsung Electronics Co., Ltd. | ||
5 | * http://www.samsung.com | ||
6 | * | ||
7 | * Device tree source file for Samsung's Rinato board which is based on | ||
8 | * Samsung Exynos3250 SoC. | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License version 2 as | ||
12 | * published by the Free Software Foundation. | ||
13 | */ | ||
14 | |||
15 | /dts-v1/; | ||
16 | #include "exynos3250.dtsi" | ||
17 | #include <dt-bindings/input/input.h> | ||
18 | |||
19 | / { | ||
20 | model = "Samsung Rinato board"; | ||
21 | compatible = "samsung,rinato", "samsung,exynos3250", "samsung,exynos3"; | ||
22 | |||
23 | aliases { | ||
24 | i2c7 = &i2c_max77836; | ||
25 | }; | ||
26 | |||
27 | memory { | ||
28 | reg = <0x40000000 0x1ff00000>; | ||
29 | }; | ||
30 | |||
31 | chosen { | ||
32 | bootargs = "console=ttySAC1,115200N8 root=/dev/mmcblk0p15 rootwait earlyprintk panic=5"; | ||
33 | }; | ||
34 | |||
35 | firmware@0205F000 { | ||
36 | compatible = "samsung,secure-firmware"; | ||
37 | reg = <0x0205F000 0x1000>; | ||
38 | }; | ||
39 | |||
40 | gpio_keys { | ||
41 | compatible = "gpio-keys"; | ||
42 | |||
43 | power_key { | ||
44 | interrupt-parent = <&gpx2>; | ||
45 | interrupts = <7 0>; | ||
46 | gpios = <&gpx2 7 1>; | ||
47 | linux,code = <KEY_POWER>; | ||
48 | label = "power key"; | ||
49 | debounce-interval = <10>; | ||
50 | gpio-key,wakeup; | ||
51 | }; | ||
52 | }; | ||
53 | |||
54 | i2c_max77836: i2c-gpio-0 { | ||
55 | compatible = "i2c-gpio"; | ||
56 | gpios = <&gpd0 2 0>, <&gpd0 3 0>; | ||
57 | #address-cells = <1>; | ||
58 | #size-cells = <0>; | ||
59 | |||
60 | max77836: subpmic@25 { | ||
61 | compatible = "maxim,max77836"; | ||
62 | interrupt-parent = <&gpx1>; | ||
63 | interrupts = <5 0>; | ||
64 | reg = <0x25>; | ||
65 | wakeup; | ||
66 | |||
67 | muic: max77836-muic { | ||
68 | compatible = "maxim,max77836-muic"; | ||
69 | }; | ||
70 | |||
71 | regulators { | ||
72 | compatible = "maxim,max77836-regulator"; | ||
73 | safeout_reg: SAFEOUT { | ||
74 | regulator-name = "SAFEOUT"; | ||
75 | }; | ||
76 | |||
77 | charger_reg: CHARGER { | ||
78 | regulator-name = "CHARGER"; | ||
79 | regulator-min-microamp = <45000>; | ||
80 | regulator-max-microamp = <475000>; | ||
81 | regulator-boot-on; | ||
82 | }; | ||
83 | |||
84 | motor_reg: LDO1 { | ||
85 | regulator-name = "MOT_2.7V"; | ||
86 | regulator-min-microvolt = <1100000>; | ||
87 | regulator-max-microvolt = <2700000>; | ||
88 | }; | ||
89 | |||
90 | LDO2 { | ||
91 | regulator-name = "UNUSED_LDO2"; | ||
92 | regulator-min-microvolt = <800000>; | ||
93 | regulator-max-microvolt = <3950000>; | ||
94 | }; | ||
95 | }; | ||
96 | |||
97 | charger { | ||
98 | compatible = "maxim,max77836-charger"; | ||
99 | |||
100 | maxim,constant-uvolt = <4350000>; | ||
101 | maxim,fast-charge-uamp = <225000>; | ||
102 | maxim,eoc-uamp = <7500>; | ||
103 | maxim,ovp-uvolt = <6500000>; | ||
104 | }; | ||
105 | }; | ||
106 | }; | ||
107 | }; | ||
108 | |||
109 | &adc { | ||
110 | vdd-supply = <&ldo3_reg>; | ||
111 | status = "okay"; | ||
112 | assigned-clocks = <&cmu CLK_SCLK_TSADC>; | ||
113 | assigned-clock-rates = <6000000>; | ||
114 | |||
115 | thermistor-ap { | ||
116 | compatible = "ntc,ncp15wb473"; | ||
117 | pullup-uv = <1800000>; | ||
118 | pullup-ohm = <100000>; | ||
119 | pulldown-ohm = <100000>; | ||
120 | io-channels = <&adc 0>; | ||
121 | }; | ||
122 | |||
123 | thermistor-battery { | ||
124 | compatible = "ntc,ncp15wb473"; | ||
125 | pullup-uv = <1800000>; | ||
126 | pullup-ohm = <100000>; | ||
127 | pulldown-ohm = <100000>; | ||
128 | io-channels = <&adc 1>; | ||
129 | }; | ||
130 | }; | ||
131 | |||
132 | &i2c_0 { | ||
133 | #address-cells = <1>; | ||
134 | #size-cells = <0>; | ||
135 | samsung,i2c-sda-delay = <100>; | ||
136 | samsung,i2c-slave-addr = <0x10>; | ||
137 | samsung,i2c-max-bus-freq = <100000>; | ||
138 | status = "okay"; | ||
139 | |||
140 | s2mps14_pmic@66 { | ||
141 | compatible = "samsung,s2mps14-pmic"; | ||
142 | interrupt-parent = <&gpx0>; | ||
143 | interrupts = <7 0>; | ||
144 | reg = <0x66>; | ||
145 | wakeup; | ||
146 | |||
147 | s2mps14_osc: clocks { | ||
148 | compatible = "samsung,s2mps14-clk"; | ||
149 | #clock-cells = <1>; | ||
150 | clock-output-names = "s2mps14_ap", "unused", | ||
151 | "s2mps14_bt"; | ||
152 | }; | ||
153 | |||
154 | regulators { | ||
155 | ldo1_reg: LDO1 { | ||
156 | regulator-name = "VAP_ALIVE_1.0V"; | ||
157 | regulator-min-microvolt = <1000000>; | ||
158 | regulator-max-microvolt = <1000000>; | ||
159 | regulator-always-on; | ||
160 | }; | ||
161 | |||
162 | ldo2_reg: LDO2 { | ||
163 | regulator-name = "VAP_M1_1.2V"; | ||
164 | regulator-min-microvolt = <1200000>; | ||
165 | regulator-max-microvolt = <1200000>; | ||
166 | regulator-always-on; | ||
167 | }; | ||
168 | |||
169 | ldo3_reg: LDO3 { | ||
170 | regulator-name = "VCC_AP_1.8V"; | ||
171 | regulator-min-microvolt = <1800000>; | ||
172 | regulator-max-microvolt = <1800000>; | ||
173 | regulator-always-on; | ||
174 | }; | ||
175 | |||
176 | ldo4_reg: LDO4 { | ||
177 | regulator-name = "VAP_AVDD_PLL1"; | ||
178 | regulator-min-microvolt = <1800000>; | ||
179 | regulator-max-microvolt = <1800000>; | ||
180 | regulator-always-on; | ||
181 | }; | ||
182 | |||
183 | ldo5_reg: LDO5 { | ||
184 | regulator-name = "VAP_PLL_ISO_1.0V"; | ||
185 | regulator-min-microvolt = <1000000>; | ||
186 | regulator-max-microvolt = <1000000>; | ||
187 | regulator-always-on; | ||
188 | }; | ||
189 | |||
190 | ldo6_reg: LDO6 { | ||
191 | regulator-name = "VAP_VMIPI_1.0V"; | ||
192 | regulator-min-microvolt = <1000000>; | ||
193 | regulator-max-microvolt = <1000000>; | ||
194 | regulator-always-on; | ||
195 | }; | ||
196 | |||
197 | ldo7_reg: LDO7 { | ||
198 | regulator-name = "VAP_AVDD_1.8V"; | ||
199 | regulator-min-microvolt = <1800000>; | ||
200 | regulator-max-microvolt = <1800000>; | ||
201 | regulator-always-on; | ||
202 | }; | ||
203 | |||
204 | ldo8_reg: LDO8 { | ||
205 | regulator-name = "VAP_USB_3.0V"; | ||
206 | regulator-min-microvolt = <3000000>; | ||
207 | regulator-max-microvolt = <3000000>; | ||
208 | regulator-always-on; | ||
209 | }; | ||
210 | |||
211 | ldo9_reg: LDO9 { | ||
212 | regulator-name = "V_LPDDR_1.2V"; | ||
213 | regulator-min-microvolt = <1200000>; | ||
214 | regulator-max-microvolt = <1200000>; | ||
215 | regulator-always-on; | ||
216 | }; | ||
217 | |||
218 | ldo10_reg: LDO10 { | ||
219 | regulator-name = "UNUSED_LDO10"; | ||
220 | regulator-min-microvolt = <1000000>; | ||
221 | regulator-max-microvolt = <1000000>; | ||
222 | }; | ||
223 | |||
224 | ldo11_reg: LDO11 { | ||
225 | regulator-name = "V_EMMC_1.8V"; | ||
226 | regulator-min-microvolt = <1800000>; | ||
227 | regulator-max-microvolt = <1800000>; | ||
228 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
229 | }; | ||
230 | |||
231 | ldo12_reg: LDO12 { | ||
232 | regulator-name = "V_EMMC_2.8V"; | ||
233 | regulator-min-microvolt = <2800000>; | ||
234 | regulator-max-microvolt = <2800000>; | ||
235 | samsung,ext-control-gpios = <&gpk0 2 0>; | ||
236 | }; | ||
237 | |||
238 | ldo13_reg: LDO13 { | ||
239 | regulator-name = "CAM_AVDD_2.8V"; | ||
240 | regulator-min-microvolt = <2800000>; | ||
241 | regulator-max-microvolt = <2800000>; | ||
242 | }; | ||
243 | |||
244 | ldo14_reg: LDO14 { | ||
245 | regulator-name = "UNUSED_LDO14"; | ||
246 | regulator-min-microvolt = <2700000>; | ||
247 | regulator-max-microvolt = <2700000>; | ||
248 | }; | ||
249 | |||
250 | ldo15_reg: LDO15 { | ||
251 | regulator-name = "TSP_AVDD_3.3V"; | ||
252 | regulator-min-microvolt = <3300000>; | ||
253 | regulator-max-microvolt = <3300000>; | ||
254 | }; | ||
255 | |||
256 | ldo16_reg: LDO16 { | ||
257 | regulator-name = "LCD_VDD_3.3V"; | ||
258 | regulator-min-microvolt = <3300000>; | ||
259 | regulator-max-microvolt = <3300000>; | ||
260 | }; | ||
261 | |||
262 | ldo17_reg: LDO17 { | ||
263 | regulator-name = "V_IRLED_3.3V"; | ||
264 | regulator-min-microvolt = <3300000>; | ||
265 | regulator-max-microvolt = <3300000>; | ||
266 | }; | ||
267 | |||
268 | ldo18_reg: LDO18 { | ||
269 | regulator-name = "CAM_AF_2.8V"; | ||
270 | regulator-min-microvolt = <2800000>; | ||
271 | regulator-max-microvolt = <2800000>; | ||
272 | }; | ||
273 | |||
274 | ldo19_reg: LDO19 { | ||
275 | regulator-name = "TSP_VDD_1.8V"; | ||
276 | regulator-min-microvolt = <1800000>; | ||
277 | regulator-max-microvolt = <1800000>; | ||
278 | }; | ||
279 | |||
280 | ldo20_reg: LDO20 { | ||
281 | regulator-name = "LCD_VDD_1.8V"; | ||
282 | regulator-min-microvolt = <1800000>; | ||
283 | regulator-max-microvolt = <1800000>; | ||
284 | }; | ||
285 | |||
286 | ldo21_reg: LDO21 { | ||
287 | regulator-name = "CAM_IO_1.8V"; | ||
288 | regulator-min-microvolt = <1800000>; | ||
289 | regulator-max-microvolt = <1800000>; | ||
290 | }; | ||
291 | |||
292 | ldo22_reg: LDO22 { | ||
293 | regulator-name = "CAM_DVDD_1.2V"; | ||
294 | regulator-min-microvolt = <1200000>; | ||
295 | regulator-max-microvolt = <1200000>; | ||
296 | }; | ||
297 | |||
298 | ldo23_reg: LDO23 { | ||
299 | regulator-name = "HRM_VCC_1.8V"; | ||
300 | regulator-min-microvolt = <1800000>; | ||
301 | regulator-max-microvolt = <1800000>; | ||
302 | regulator-always-on; | ||
303 | }; | ||
304 | |||
305 | ldo24_reg: LDO24 { | ||
306 | regulator-name = "HRM_VCC_3.3V"; | ||
307 | regulator-min-microvolt = <3000000>; | ||
308 | regulator-max-microvolt = <3000000>; | ||
309 | }; | ||
310 | |||
311 | ldo25_reg: LDO25 { | ||
312 | regulator-name = "UNUSED_LDO25"; | ||
313 | regulator-min-microvolt = <3000000>; | ||
314 | regulator-max-microvolt = <3000000>; | ||
315 | }; | ||
316 | |||
317 | buck1_reg: BUCK1 { | ||
318 | regulator-name = "VAP_MIF_1.0V"; | ||
319 | regulator-min-microvolt = <800000>; | ||
320 | regulator-max-microvolt = <900000>; | ||
321 | regulator-always-on; | ||
322 | }; | ||
323 | |||
324 | buck2_reg: BUCK2 { | ||
325 | regulator-name = "VAP_ARM_1.0V"; | ||
326 | regulator-min-microvolt = <850000>; | ||
327 | regulator-max-microvolt = <1150000>; | ||
328 | regulator-always-on; | ||
329 | }; | ||
330 | |||
331 | buck3_reg: BUCK3 { | ||
332 | regulator-name = "VAP_INT3D_1.0V"; | ||
333 | regulator-min-microvolt = <850000>; | ||
334 | regulator-max-microvolt = <1000000>; | ||
335 | regulator-always-on; | ||
336 | }; | ||
337 | |||
338 | buck4_reg: BUCK4 { | ||
339 | regulator-name = "VCC_SUB_1.95V"; | ||
340 | regulator-min-microvolt = <1950000>; | ||
341 | regulator-max-microvolt = <1950000>; | ||
342 | regulator-always-on; | ||
343 | }; | ||
344 | |||
345 | buck5_reg: BUCK5 { | ||
346 | regulator-name = "VCC_SUB_1.35V"; | ||
347 | regulator-min-microvolt = <1350000>; | ||
348 | regulator-max-microvolt = <1350000>; | ||
349 | regulator-always-on; | ||
350 | }; | ||
351 | }; | ||
352 | }; | ||
353 | }; | ||
354 | |||
355 | &i2c_1 { | ||
356 | #address-cells = <1>; | ||
357 | #size-cells = <0>; | ||
358 | samsung,i2c-sda-delay = <100>; | ||
359 | samsung,i2c-slave-addr = <0x10>; | ||
360 | samsung,i2c-max-bus-freq = <400000>; | ||
361 | status = "okay"; | ||
362 | |||
363 | fuelgauge@36 { | ||
364 | compatible = "maxim,max77836-battery"; | ||
365 | interrupt-parent = <&gpx1>; | ||
366 | interrupts = <2 8>; | ||
367 | reg = <0x36>; | ||
368 | }; | ||
369 | }; | ||
370 | |||
371 | &i2s2 { | ||
372 | status = "okay"; | ||
373 | }; | ||
374 | |||
375 | &mfc { | ||
376 | status = "okay"; | ||
377 | }; | ||
378 | |||
379 | &mshc_0 { | ||
380 | #address-cells = <1>; | ||
381 | #size-cells = <0>; | ||
382 | num-slots = <1>; | ||
383 | broken-cd; | ||
384 | non-removable; | ||
385 | cap-mmc-highspeed; | ||
386 | desc-num = <4>; | ||
387 | mmc-hs200-1_8v; | ||
388 | card-detect-delay = <200>; | ||
389 | vmmc-supply = <&ldo12_reg>; | ||
390 | clock-frequency = <100000000>; | ||
391 | clock-freq-min-max = <400000 100000000>; | ||
392 | samsung,dw-mshc-ciu-div = <1>; | ||
393 | samsung,dw-mshc-sdr-timing = <0 1>; | ||
394 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
395 | pinctrl-names = "default"; | ||
396 | pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; | ||
397 | bus-width = <8>; | ||
398 | status = "okay"; | ||
399 | }; | ||
400 | |||
401 | &serial_0 { | ||
402 | assigned-clocks = <&cmu CLK_SCLK_UART0>; | ||
403 | assigned-clock-rates = <100000000>; | ||
404 | status = "okay"; | ||
405 | }; | ||
406 | |||
407 | &serial_1 { | ||
408 | status = "okay"; | ||
409 | }; | ||
410 | |||
411 | &tmu { | ||
412 | vtmu-supply = <&ldo7_reg>; | ||
413 | status = "okay"; | ||
414 | }; | ||
415 | |||
416 | &rtc { | ||
417 | clocks = <&cmu CLK_RTC>, <&s2mps14_osc 0>; | ||
418 | clock-names = "rtc", "rtc_src"; | ||
419 | status = "okay"; | ||
420 | }; | ||
421 | |||
422 | &xusbxti { | ||
423 | clock-frequency = <24000000>; | ||
424 | }; | ||