]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* | |
3 | * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree | |
4 | * | |
5 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | |
6 | * http://www.samsung.com | |
7 | * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com> | |
8 | * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net> | |
9 | */ | |
10 | ||
11 | /dts-v1/; | |
12 | #include "exynos4210.dtsi" | |
13 | #include "exynos4412-ppmu-common.dtsi" | |
14 | ||
15 | #include <dt-bindings/gpio/gpio.h> | |
16 | #include <dt-bindings/input/linux-event-codes.h> | |
17 | ||
18 | / { | |
19 | model = "Samsung Galaxy S2 (GT-I9100)"; | |
20 | compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4"; | |
21 | chassis-type = "handset"; | |
22 | ||
23 | memory@40000000 { | |
24 | device_type = "memory"; | |
25 | reg = <0x40000000 0x40000000>; | |
26 | }; | |
27 | ||
28 | aliases { | |
29 | mmc0 = &sdhci_0; | |
30 | mmc1 = &sdhci_2; | |
31 | mmc2 = &sdhci_3; | |
32 | }; | |
33 | ||
34 | chosen { | |
35 | stdout-path = "serial2:115200n8"; | |
36 | }; | |
37 | ||
38 | vemmc_reg: regulator-0 { | |
39 | compatible = "regulator-fixed"; | |
40 | regulator-name = "VMEM_VDD_2.8V"; | |
41 | regulator-min-microvolt = <2800000>; | |
42 | regulator-max-microvolt = <2800000>; | |
43 | gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>; | |
44 | enable-active-high; | |
45 | }; | |
46 | ||
47 | tsp_reg: regulator-1 { | |
48 | compatible = "regulator-fixed"; | |
49 | regulator-name = "TSP_FIXED_VOLTAGES"; | |
50 | regulator-min-microvolt = <3300000>; | |
51 | regulator-max-microvolt = <3300000>; | |
52 | gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>; | |
53 | startup-delay-us = <70000>; | |
54 | enable-active-high; | |
55 | regulator-boot-on; | |
56 | regulator-always-on; | |
57 | }; | |
58 | ||
59 | cam_af_28v_reg: regulator-2 { | |
60 | compatible = "regulator-fixed"; | |
61 | regulator-name = "8M_AF_2.8V_EN"; | |
62 | regulator-min-microvolt = <2800000>; | |
63 | regulator-max-microvolt = <2800000>; | |
64 | gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>; | |
65 | enable-active-high; | |
66 | }; | |
67 | ||
68 | cam_io_en_reg: regulator-3 { | |
69 | compatible = "regulator-fixed"; | |
70 | regulator-name = "CAM_IO_EN"; | |
71 | regulator-min-microvolt = <2800000>; | |
72 | regulator-max-microvolt = <2800000>; | |
73 | gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>; | |
74 | enable-active-high; | |
75 | }; | |
76 | ||
77 | cam_io_12v_reg: regulator-4 { | |
78 | compatible = "regulator-fixed"; | |
79 | regulator-name = "8M_1.2V_EN"; | |
80 | regulator-min-microvolt = <1200000>; | |
81 | regulator-max-microvolt = <1200000>; | |
82 | gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>; | |
83 | enable-active-high; | |
84 | }; | |
85 | ||
86 | vt_core_15v_reg: regulator-5 { | |
87 | compatible = "regulator-fixed"; | |
88 | regulator-name = "VT_CORE_1.5V"; | |
89 | regulator-min-microvolt = <1500000>; | |
90 | regulator-max-microvolt = <1500000>; | |
91 | gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>; | |
92 | enable-active-high; | |
93 | }; | |
94 | ||
95 | gpio-keys { | |
96 | compatible = "gpio-keys"; | |
97 | ||
98 | key-vol-down { | |
99 | gpios = <&gpx2 1 GPIO_ACTIVE_LOW>; | |
100 | linux,code = <KEY_VOLUMEDOWN>; | |
101 | label = "volume down"; | |
102 | debounce-interval = <10>; | |
103 | }; | |
104 | ||
105 | key-vol-up { | |
106 | gpios = <&gpx2 0 GPIO_ACTIVE_LOW>; | |
107 | linux,code = <KEY_VOLUMEUP>; | |
108 | label = "volume up"; | |
109 | debounce-interval = <10>; | |
110 | }; | |
111 | ||
112 | key-power { | |
113 | gpios = <&gpx2 7 GPIO_ACTIVE_LOW>; | |
114 | linux,code = <KEY_POWER>; | |
115 | label = "power"; | |
116 | debounce-interval = <10>; | |
117 | wakeup-source; | |
118 | }; | |
119 | ||
120 | key-ok { | |
121 | gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | |
122 | linux,code = <KEY_OK>; | |
123 | label = "ok"; | |
124 | debounce-interval = <10>; | |
125 | }; | |
126 | }; | |
127 | ||
128 | wlan_pwrseq: sdhci3-pwrseq { | |
129 | compatible = "mmc-pwrseq-simple"; | |
130 | reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>; | |
131 | }; | |
132 | ||
133 | i2c_max17042_fuel: i2c-gpio-0 { | |
134 | compatible = "i2c-gpio"; | |
135 | #address-cells = <1>; | |
136 | #size-cells = <0>; | |
137 | ||
138 | sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
139 | scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
140 | i2c-gpio,delay-us = <5>; | |
141 | ||
142 | battery@36 { | |
143 | compatible = "maxim,max17042"; | |
144 | ||
145 | interrupt-parent = <&gpx2>; | |
146 | interrupts = <3 IRQ_TYPE_LEVEL_LOW>; | |
147 | ||
148 | pinctrl-0 = <&max17042_fuel_irq>; | |
149 | pinctrl-names = "default"; | |
150 | ||
151 | reg = <0x36>; | |
152 | maxim,over-heat-temp = <700>; | |
153 | maxim,over-volt = <4500>; | |
154 | }; | |
155 | }; | |
156 | ||
157 | i2c_s5k5baf: i2c-gpio-1 { | |
158 | compatible = "i2c-gpio"; | |
159 | #address-cells = <1>; | |
160 | #size-cells = <0>; | |
161 | ||
162 | sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
163 | scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
164 | i2c-gpio,delay-us = <2>; | |
165 | ||
166 | image-sensor@2d { | |
167 | compatible = "samsung,s5k5baf"; | |
168 | reg = <0x2d>; | |
169 | vdda-supply = <&cam_io_en_reg>; | |
170 | vddreg-supply = <&vt_core_15v_reg>; | |
171 | vddio-supply = <&vtcam_reg>; | |
172 | clocks = <&camera 0>; | |
173 | clock-names = "mclk"; | |
174 | stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>; | |
175 | rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>; | |
176 | clock-frequency = <24000000>; | |
177 | ||
178 | port { | |
179 | s5k5bafx_ep: endpoint { | |
180 | remote-endpoint = <&csis1_ep>; | |
181 | data-lanes = <1>; | |
182 | }; | |
183 | }; | |
184 | }; | |
185 | }; | |
186 | ||
93743d24 TR |
187 | i2c-gpio-2 { |
188 | compatible = "i2c-gpio"; | |
189 | #address-cells = <1>; | |
190 | #size-cells = <0>; | |
191 | ||
192 | sda-gpios = <&gpk1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
193 | scl-gpios = <&gpk1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>; | |
194 | i2c-gpio,delay-us = <2>; | |
195 | ||
196 | touchscreen@20 { | |
197 | compatible = "cypress,aries-touchkey"; | |
198 | reg = <0x20>; | |
199 | ||
200 | interrupt-parent = <&gpl0>; | |
201 | interrupts = <5 IRQ_TYPE_EDGE_FALLING>; | |
202 | ||
203 | vdd-supply = <&vtouchled_reg>; | |
204 | vcc-supply = <&vtouch_reg>; | |
205 | linux,keycodes = <KEY_MENU>, <KEY_BACK>; | |
206 | }; | |
207 | }; | |
208 | ||
53633a89 TR |
209 | spi-3 { |
210 | compatible = "spi-gpio"; | |
211 | #address-cells = <1>; | |
212 | #size-cells = <0>; | |
213 | ||
214 | num-chipselects = <1>; | |
215 | cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>; | |
216 | sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>; | |
217 | mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>; | |
218 | ||
219 | lcd@0 { | |
220 | compatible = "samsung,ld9040"; | |
221 | reg = <0>; | |
222 | ||
223 | spi-max-frequency = <1200000>; | |
224 | ||
225 | vdd3-supply = <&vmipi_reg>; | |
226 | vci-supply = <&vcclcd_reg>; | |
227 | ||
228 | reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>; | |
229 | power-on-delay = <10>; | |
230 | reset-delay = <10>; | |
231 | ||
232 | panel-width-mm = <56>; | |
233 | panel-height-mm = <93>; | |
234 | ||
235 | display-timings { | |
236 | timing { | |
237 | clock-frequency = <23492370>; | |
238 | hactive = <480>; | |
239 | vactive = <800>; | |
240 | hback-porch = <16>; | |
241 | hfront-porch = <16>; | |
242 | vback-porch = <2>; | |
243 | vfront-porch = <28>; | |
244 | hsync-len = <2>; | |
245 | vsync-len = <1>; | |
246 | hsync-active = <0>; | |
247 | vsync-active = <0>; | |
248 | de-active = <0>; | |
249 | pixelclk-active = <0>; | |
250 | }; | |
251 | }; | |
252 | ||
253 | port { | |
254 | lcd_ep: endpoint { | |
255 | remote-endpoint = <&fimd_dpi_ep>; | |
256 | }; | |
257 | }; | |
258 | }; | |
259 | }; | |
260 | ||
261 | fixed-rate-clocks { | |
262 | xxti { | |
263 | compatible = "samsung,clock-xxti"; | |
264 | clock-frequency = <0>; | |
265 | }; | |
266 | ||
267 | xusbxti { | |
268 | compatible = "samsung,clock-xusbxti"; | |
269 | clock-frequency = <24000000>; | |
270 | }; | |
271 | ||
272 | pmic_ap_clk: pmic-ap-clk { | |
273 | /* Workaround for missing clock on max8997 PMIC */ | |
274 | compatible = "fixed-clock"; | |
275 | #clock-cells = <0>; | |
276 | clock-frequency = <32768>; | |
277 | }; | |
278 | }; | |
279 | }; | |
280 | ||
281 | &camera { | |
282 | pinctrl-0 = <&cam_port_a_clk_active>; | |
283 | pinctrl-names = "default"; | |
284 | status = "okay"; | |
285 | assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>; | |
286 | assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>; | |
287 | }; | |
288 | ||
289 | &csis_1 { | |
290 | status = "okay"; | |
291 | vddcore-supply = <&vusb_reg>; | |
292 | vddio-supply = <&vmipi_reg>; | |
293 | clock-frequency = <160000000>; | |
294 | #address-cells = <1>; | |
295 | #size-cells = <0>; | |
296 | ||
297 | port@4 { | |
298 | reg = <4>; | |
299 | csis1_ep: endpoint { | |
300 | remote-endpoint = <&s5k5bafx_ep>; | |
301 | data-lanes = <1>; | |
302 | samsung,csis-hs-settle = <6>; | |
303 | }; | |
304 | }; | |
305 | }; | |
306 | ||
307 | &cpu0 { | |
308 | cpu0-supply = <&varm_breg>; | |
309 | }; | |
310 | ||
311 | &cpu_thermal { | |
312 | cooling-maps { | |
313 | map0 { | |
314 | /* Corresponds to 800MHz */ | |
315 | cooling-device = <&cpu0 2 2>; | |
316 | }; | |
317 | map1 { | |
318 | /* Corresponds to 200MHz */ | |
319 | cooling-device = <&cpu0 4 4>; | |
320 | }; | |
321 | }; | |
322 | }; | |
323 | ||
324 | &ehci { | |
325 | status = "okay"; | |
326 | ||
327 | phys = <&exynos_usbphy 1>; | |
328 | phy-names = "host"; | |
329 | }; | |
330 | ||
331 | &exynos_usbphy { | |
332 | status = "okay"; | |
333 | ||
334 | vbus-supply = <&safe1_sreg>; | |
335 | }; | |
336 | ||
337 | &fimc_0 { | |
338 | status = "okay"; | |
339 | ||
340 | assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>; | |
341 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | |
342 | assigned-clock-rates = <0>, <160000000>; | |
343 | }; | |
344 | ||
345 | &fimc_1 { | |
346 | /* Back camera not implemented */ | |
347 | status = "disabled"; | |
348 | ||
349 | assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>; | |
350 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | |
351 | assigned-clock-rates = <0>, <160000000>; | |
352 | }; | |
353 | ||
354 | &fimc_2 { | |
355 | status = "okay"; | |
356 | ||
357 | assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>; | |
358 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | |
359 | assigned-clock-rates = <0>, <160000000>; | |
360 | }; | |
361 | ||
362 | &fimc_3 { | |
363 | /* Back camera not implemented */ | |
364 | status = "disabled"; | |
365 | ||
366 | assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>; | |
367 | assigned-clock-parents = <&clock CLK_SCLK_MPLL>; | |
368 | assigned-clock-rates = <0>, <160000000>; | |
369 | }; | |
370 | ||
371 | &fimd { | |
372 | status = "okay"; | |
373 | #address-cells = <1>; | |
374 | #size-cells = <0>; | |
375 | ||
376 | samsung,invert-vden; | |
377 | samsung,invert-vclk; | |
378 | ||
379 | pinctrl-0 = <&lcd_clk>, <&lcd_data24>; | |
380 | pinctrl-names = "default"; | |
381 | ||
382 | port@3 { | |
383 | reg = <3>; | |
384 | ||
385 | fimd_dpi_ep: endpoint { | |
386 | remote-endpoint = <&lcd_ep>; | |
387 | }; | |
388 | }; | |
389 | }; | |
390 | ||
391 | &gpu { | |
392 | status = "okay"; | |
393 | ||
394 | mali-supply = <&vg3d_breg>; | |
395 | }; | |
396 | ||
397 | &hsotg { | |
398 | status = "okay"; | |
399 | ||
400 | dr_mode = "otg"; | |
401 | vusb_d-supply = <&vusb_reg>; | |
402 | vusb_a-supply = <&vusbdac_reg>; | |
403 | }; | |
404 | ||
93743d24 TR |
405 | &i2c_1 { |
406 | status = "okay"; | |
407 | ||
408 | samsung,i2c-sda-delay = <100>; | |
409 | samsung,i2c-slave-addr = <0x10>; | |
410 | samsung,i2c-max-bus-freq = <100000>; | |
411 | ||
412 | lis3dh: accelerometer@19 { | |
413 | compatible = "st,lis3dh-accel"; | |
414 | reg = <0x19>; | |
415 | ||
416 | mount-matrix = "0", "-1", "0", | |
417 | "1", "0", "0", | |
418 | "0", "0", "1"; | |
419 | }; | |
420 | }; | |
421 | ||
53633a89 TR |
422 | &i2c_3 { |
423 | status = "okay"; | |
424 | ||
425 | samsung,i2c-sda-delay = <100>; | |
426 | samsung,i2c-slave-addr = <0x10>; | |
427 | samsung,i2c-max-bus-freq = <100000>; | |
428 | ||
429 | pinctrl-0 = <&i2c3_bus>; | |
430 | pinctrl-names = "default"; | |
431 | ||
432 | touchscreen@4a { | |
433 | compatible = "atmel,maxtouch"; | |
434 | reg = <0x4a>; | |
435 | ||
436 | interrupt-parent = <&gpx0>; | |
437 | interrupts = <4 IRQ_TYPE_EDGE_FALLING>; | |
438 | }; | |
439 | }; | |
440 | ||
441 | &i2c_5 { | |
442 | status = "okay"; | |
443 | ||
444 | samsung,i2c-sda-delay = <100>; | |
445 | samsung,i2c-slave-addr = <0x10>; | |
446 | samsung,i2c-max-bus-freq = <100000>; | |
447 | ||
448 | pinctrl-0 = <&i2c5_bus>; | |
449 | pinctrl-names = "default"; | |
450 | ||
451 | pmic@66 { | |
452 | compatible = "maxim,max8997-pmic"; | |
453 | reg = <0x66>; | |
454 | ||
455 | interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>, | |
456 | <&gpx2 3 IRQ_TYPE_EDGE_FALLING>; | |
457 | ||
458 | max8997,pmic-buck1-uses-gpio-dvs; | |
459 | max8997,pmic-buck2-uses-gpio-dvs; | |
460 | max8997,pmic-buck5-uses-gpio-dvs; | |
461 | ||
462 | max8997,pmic-ignore-gpiodvs-side-effect; | |
463 | max8997,pmic-buck125-default-dvs-idx = <0>; | |
464 | ||
465 | max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>, | |
466 | <&gpx0 6 GPIO_ACTIVE_HIGH>, | |
467 | <&gpl0 0 GPIO_ACTIVE_HIGH>; | |
468 | ||
469 | max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>, | |
470 | <1250000>, <1200000>, | |
471 | <1150000>, <1100000>, | |
472 | <1000000>, <950000>; | |
473 | ||
474 | max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>, | |
475 | <950000>, <900000>, | |
476 | <1100000>, <1000000>, | |
477 | <950000>, <900000>; | |
478 | ||
479 | max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>, | |
480 | <1200000>, <1200000>, | |
481 | <1200000>, <1200000>, | |
482 | <1200000>, <1200000>; | |
483 | ||
484 | pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>; | |
485 | pinctrl-names = "default"; | |
486 | ||
487 | charger-supply = <&charger_reg>; | |
488 | ||
489 | regulators { | |
490 | vadc_reg: LDO1 { | |
491 | regulator-name = "VADC_3.3V_C210"; | |
492 | regulator-min-microvolt = <3300000>; | |
493 | regulator-max-microvolt = <3300000>; | |
494 | regulator-always-on; | |
495 | ||
496 | }; | |
497 | valive_reg: LDO2 { | |
498 | regulator-name = "VALIVE_1.1V_C210"; | |
499 | regulator-min-microvolt = <1100000>; | |
500 | regulator-max-microvolt = <1100000>; | |
501 | regulator-always-on; | |
502 | ||
503 | }; | |
504 | ||
505 | vusb_reg: LDO3 { | |
506 | regulator-name = "VUSB_1.1V_C210"; | |
507 | regulator-min-microvolt = <1100000>; | |
508 | regulator-max-microvolt = <1100000>; | |
509 | }; | |
510 | ||
511 | vmipi_reg: LDO4 { | |
512 | regulator-name = "VMIPI_1.8V"; | |
513 | regulator-min-microvolt = <1800000>; | |
514 | regulator-max-microvolt = <1800000>; | |
515 | regulator-always-on; | |
516 | }; | |
517 | ||
518 | vhsic_reg: LDO5 { | |
519 | regulator-name = "VHSIC_1.2V"; | |
520 | regulator-min-microvolt = <1200000>; | |
521 | regulator-max-microvolt = <1200000>; | |
522 | regulator-always-on; | |
523 | }; | |
524 | ||
525 | vpda_reg: LDO6 { | |
526 | regulator-name = "VCC_1.8V_PDA"; | |
527 | regulator-min-microvolt = <1800000>; | |
528 | regulator-max-microvolt = <1800000>; | |
529 | regulator-always-on; | |
530 | }; | |
531 | ||
532 | vcam_reg: LDO7 { | |
533 | regulator-name = "CAM_ISP_1.8V"; | |
534 | regulator-min-microvolt = <1800000>; | |
535 | regulator-max-microvolt = <1800000>; | |
536 | }; | |
537 | ||
538 | vusbdac_reg: LDO8 { | |
539 | regulator-name = "VUSB+VDAC_3.3V_C210"; | |
540 | regulator-min-microvolt = <3300000>; | |
541 | regulator-max-microvolt = <3300000>; | |
542 | }; | |
543 | ||
544 | vccpda_reg: LDO9 { | |
545 | regulator-name = "VCC_2.8V_PDA"; | |
546 | regulator-min-microvolt = <2800000>; | |
547 | regulator-max-microvolt = <2800000>; | |
548 | regulator-always-on; | |
549 | }; | |
550 | ||
551 | vtouch_reg: LDO11 { | |
552 | regulator-name = "TOUCH_2.8V"; | |
553 | regulator-min-microvolt = <2800000>; | |
554 | regulator-max-microvolt = <2800000>; | |
53633a89 TR |
555 | }; |
556 | ||
557 | vpll_reg: LDO10 { | |
558 | regulator-name = "VPLL_1.1V"; | |
559 | regulator-min-microvolt = <1100000>; | |
560 | regulator-max-microvolt = <1100000>; | |
561 | regulator-always-on; | |
562 | }; | |
563 | ||
564 | vtcam_reg: LDO12 { | |
565 | regulator-name = "VT_CAM_1.8V"; | |
566 | regulator-min-microvolt = <1800000>; | |
567 | regulator-max-microvolt = <1800000>; | |
93743d24 TR |
568 | |
569 | /* | |
570 | * Force-enable this regulator; otherwise the | |
571 | * kernel hangs very early in the boot process | |
572 | * for about 12 seconds, without apparent | |
573 | * reason. | |
574 | */ | |
575 | regulator-always-on; | |
53633a89 TR |
576 | }; |
577 | ||
578 | vcclcd_reg: LDO13 { | |
579 | regulator-name = "VCC_3.0V_LCD"; | |
580 | regulator-min-microvolt = <3000000>; | |
581 | regulator-max-microvolt = <3000000>; | |
582 | }; | |
583 | ||
584 | vmotor_reg: LDO14 { | |
585 | regulator-name = "VCC_2.8V_MOTOR"; | |
586 | regulator-min-microvolt = <2800000>; | |
587 | regulator-max-microvolt = <2800000>; | |
588 | }; | |
589 | ||
590 | vled_reg: LDO15 { | |
591 | regulator-name = "LED_A_2.8V"; | |
592 | regulator-min-microvolt = <2800000>; | |
593 | regulator-max-microvolt = <2800000>; | |
594 | }; | |
595 | ||
596 | camsensor_reg: LDO16 { | |
597 | regulator-name = "CAM_SENSOR_IO_1.8V"; | |
598 | regulator-min-microvolt = <1800000>; | |
599 | regulator-max-microvolt = <1800000>; | |
600 | }; | |
601 | ||
602 | vtf_reg: LDO17 { | |
603 | regulator-name = "VTF_2.8V"; | |
604 | regulator-min-microvolt = <2800000>; | |
605 | regulator-max-microvolt = <2800000>; | |
606 | }; | |
607 | ||
608 | vtouchled_reg: LDO18 { | |
609 | regulator-name = "TOUCH_LED_3.3V"; | |
610 | regulator-min-microvolt = <2500000>; | |
611 | regulator-max-microvolt = <3300000>; | |
612 | }; | |
613 | ||
614 | vddq_reg: LDO21 { | |
615 | regulator-name = "VDDQ_M1M2_1.2V"; | |
616 | regulator-min-microvolt = <1200000>; | |
617 | regulator-max-microvolt = <1200000>; | |
618 | regulator-always-on; | |
619 | }; | |
620 | ||
621 | varm_breg: BUCK1 { | |
622 | regulator-name = "VARM_1.2V_C210"; | |
623 | regulator-min-microvolt = <65000>; | |
624 | regulator-max-microvolt = <2225000>; | |
625 | regulator-always-on; | |
626 | }; | |
627 | ||
628 | vint_breg: BUCK2 { | |
629 | regulator-name = "VINT_1.1V_C210"; | |
630 | regulator-min-microvolt = <65000>; | |
631 | regulator-max-microvolt = <2225000>; | |
632 | regulator-always-on; | |
633 | }; | |
634 | ||
635 | vg3d_breg: BUCK3 { | |
636 | regulator-name = "G3D_1.1V"; | |
637 | regulator-min-microvolt = <900000>; | |
638 | regulator-max-microvolt = <1200000>; | |
639 | regulator-microvolt-offset = <50000>; | |
640 | regulator-always-on; | |
641 | }; | |
642 | ||
643 | camisp_breg: BUCK4 { | |
644 | regulator-name = "CAM_ISP_CORE_1.2V"; | |
645 | regulator-min-microvolt = <1200000>; | |
646 | regulator-max-microvolt = <1200000>; | |
647 | }; | |
648 | ||
649 | vmem_breg: BUCK5 { | |
650 | regulator-name = "VMEM_1.2V"; | |
651 | regulator-min-microvolt = <1200000>; | |
652 | regulator-max-microvolt = <1200000>; | |
653 | regulator-always-on; | |
654 | }; | |
655 | ||
656 | vccsub_breg: BUCK7 { | |
657 | regulator-name = "VCC_SUB_2.0V"; | |
658 | regulator-min-microvolt = <2000000>; | |
659 | regulator-max-microvolt = <2000000>; | |
660 | regulator-always-on; | |
661 | }; | |
662 | ||
663 | safe1_sreg: ESAFEOUT1 { | |
664 | regulator-name = "SAFEOUT1"; | |
665 | }; | |
666 | ||
667 | safe2_sreg: ESAFEOUT2 { | |
668 | regulator-name = "SAFEOUT2"; | |
669 | regulator-boot-on; | |
670 | }; | |
671 | ||
672 | EN32KHZ_AP { | |
673 | regulator-name = "EN32KHZ_AP"; | |
674 | regulator-always-on; | |
675 | }; | |
676 | ||
677 | EN32KHZ_CP { | |
678 | regulator-name = "EN32KHZ_CP"; | |
679 | regulator-always-on; | |
680 | }; | |
681 | ||
682 | charger_reg: CHARGER { | |
683 | regulator-name = "CHARGER"; | |
684 | regulator-min-microamp = <200000>; | |
685 | regulator-max-microamp = <950000>; | |
686 | }; | |
687 | ||
688 | chargercv_reg: CHARGER_CV { | |
689 | regulator-name = "CHARGER_CV"; | |
690 | regulator-min-microvolt = <4200000>; | |
691 | regulator-max-microvolt = <4200000>; | |
692 | regulator-always-on; | |
693 | }; | |
694 | ||
695 | CHARGER_TOPOFF { | |
696 | regulator-name = "CHARGER_TOPOFF"; | |
697 | regulator-min-microamp = <200000>; | |
698 | regulator-max-microamp = <200000>; | |
699 | regulator-always-on; | |
700 | }; | |
701 | }; | |
702 | }; | |
703 | }; | |
704 | ||
705 | &i2c_7 { | |
706 | status = "okay"; | |
707 | ||
708 | samsung,i2c-sda-delay = <100>; | |
709 | samsung,i2c-slave-addr = <0x10>; | |
710 | samsung,i2c-max-bus-freq = <400000>; | |
711 | ||
712 | pinctrl-0 = <&i2c7_bus>; | |
713 | pinctrl-names = "default"; | |
714 | ||
715 | magnetometer@c { | |
716 | compatible = "asahi-kasei,ak8975"; | |
717 | reg = <0x0c>; | |
718 | ||
719 | gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>; | |
720 | }; | |
721 | }; | |
722 | ||
723 | &pinctrl_0 { | |
724 | pinctrl-names = "default"; | |
725 | pinctrl-0 = <&sleep0>; | |
726 | ||
727 | sleep0: sleep-state { | |
728 | gpa0-0-pin { | |
729 | samsung,pins = "gpa0-0"; | |
730 | samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; | |
731 | samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | |
732 | }; | |
733 | ||
734 | gpa0-1-pin { | |
735 | samsung,pins = "gpa0-1"; | |
736 | samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>; | |
737 | samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | |
738 | }; | |
739 | ||
740 | gpa0-2-pin { | |
741 | samsung,pins = "gpa0-2"; | |
742 | samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>; | |
743 | samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | |
744 | }; | |
745 | ||
746 | gpa0-3-pin { | |
747 | samsung,pins = "gpa0-3"; | |
748 | samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>; | |
749 | samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>; | |
750 | }; | |
751 | }; | |
752 | }; | |
753 | ||
754 | &pinctrl_1 { | |
755 | mhl_int: mhl-int-pins { | |
756 | samsung,pins = "gpf3-5"; | |
757 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
758 | }; | |
759 | ||
760 | i2c_mhl_bus: i2c-mhl-bus-pins { | |
761 | samsung,pins = "gpf0-4", "gpf0-6"; | |
762 | samsung,pin-function = <EXYNOS_PIN_FUNC_2>; | |
763 | samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>; | |
764 | samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | |
765 | }; | |
766 | ||
767 | usb_sel: usb-sel-pins { | |
768 | samsung,pins = "gpl0-6"; | |
769 | samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | |
770 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
771 | samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | |
772 | samsung,pin-val = <0>; | |
773 | }; | |
774 | ||
775 | bt_en: bt-en-pins { | |
776 | samsung,pins = "gpl0-4"; | |
777 | samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | |
778 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
779 | samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; | |
780 | samsung,pin-val = <0>; | |
781 | }; | |
782 | ||
783 | bt_res: bt-res-pins { | |
784 | samsung,pins = "gpl1-0"; | |
785 | samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | |
786 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
787 | samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>; | |
788 | samsung,pin-val = <0>; | |
789 | }; | |
790 | ||
791 | otg_gp: otg-gp-pins { | |
792 | samsung,pins = "gpx3-3"; | |
793 | samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>; | |
794 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
795 | samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>; | |
796 | samsung,pin-val = <0>; | |
797 | }; | |
798 | ||
799 | mag_mhl_gpio: mag-mhl-pins { | |
800 | samsung,pins = "gpd0-2"; | |
801 | samsung,pin-function = <EXYNOS_PIN_FUNC_3>; | |
802 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
803 | }; | |
804 | ||
805 | max8997_irq: max8997-irq-pins { | |
806 | samsung,pins = "gpx0-7"; | |
807 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
808 | }; | |
809 | ||
810 | max17042_fuel_irq: max17042-fuel-irq-pins { | |
811 | samsung,pins = "gpx2-3"; | |
812 | samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; | |
813 | }; | |
814 | ||
815 | tsp224_irq: tsp224-irq-pins { | |
816 | samsung,pins = "gpx0-4"; | |
817 | samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; | |
818 | }; | |
819 | }; | |
820 | ||
821 | &rtc { | |
822 | status = "okay"; | |
823 | clocks = <&clock CLK_RTC>, <&pmic_ap_clk>; | |
824 | clock-names = "rtc", "rtc_src"; | |
825 | }; | |
826 | ||
827 | &sdhci_0 { | |
828 | status = "okay"; | |
829 | ||
830 | bus-width = <8>; | |
831 | non-removable; | |
832 | vmmc-supply = <&vemmc_reg>; | |
833 | ||
834 | pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>; | |
835 | pinctrl-names = "default"; | |
836 | }; | |
837 | ||
838 | &sdhci_2 { | |
839 | status = "okay"; | |
840 | ||
841 | bus-width = <4>; | |
842 | cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>; | |
843 | vmmc-supply = <&vtf_reg>; | |
844 | ||
845 | pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>; | |
846 | pinctrl-names = "default"; | |
847 | }; | |
848 | ||
849 | &sdhci_3 { | |
850 | status = "okay"; | |
851 | ||
852 | #address-cells = <1>; | |
853 | #size-cells = <0>; | |
854 | ||
855 | non-removable; | |
856 | bus-width = <4>; | |
857 | mmc-pwrseq = <&wlan_pwrseq>; | |
858 | vmmc-supply = <&vtf_reg>; | |
859 | ||
860 | pinctrl-names = "default"; | |
861 | pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>; | |
862 | ||
863 | brcmf: wifi@1 { | |
864 | compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac"; | |
865 | reg = <1>; | |
866 | ||
867 | interrupt-parent = <&gpx2>; | |
868 | interrupts = <5 IRQ_TYPE_LEVEL_HIGH>; | |
869 | interrupt-names = "host-wake"; | |
870 | }; | |
871 | }; | |
872 | ||
873 | &serial_0 { | |
874 | status = "okay"; | |
875 | ||
876 | pinctrl-names = "default"; | |
877 | pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>; | |
878 | ||
879 | bluetooth { | |
880 | compatible = "brcm,bcm4330-bt"; | |
881 | ||
882 | shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>; | |
883 | reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>; | |
884 | device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>; | |
885 | ||
886 | interrupt-parent = <&gpx2>; | |
887 | interrupts = <6 IRQ_TYPE_EDGE_FALLING>; | |
888 | interrupt-names = "host-wakeup"; | |
889 | }; | |
890 | }; | |
891 | ||
892 | &serial_1 { | |
893 | status = "okay"; | |
894 | }; | |
895 | ||
896 | &serial_2 { | |
897 | status = "okay"; | |
898 | }; | |
899 | ||
900 | &serial_3 { | |
901 | status = "okay"; | |
902 | }; | |
903 | ||
904 | &tmu { | |
905 | status = "okay"; | |
906 | }; |