]>
Commit | Line | Data |
---|---|---|
2881e533 RS |
1 | /* |
2 | * SAMSUNG Snow board device tree source | |
3 | * | |
4 | * Copyright (c) 2012 Samsung Electronics Co., Ltd. | |
5 | * http://www.samsung.com | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License version 2 as | |
9 | * published by the Free Software Foundation. | |
f1ac35b7 | 10 | */ |
2881e533 RS |
11 | |
12 | /dts-v1/; | |
f1ac35b7 SG |
13 | #include <dt-bindings/gpio/gpio.h> |
14 | #include <dt-bindings/interrupt-controller/irq.h> | |
15 | #include <dt-bindings/input/input.h> | |
2fdd7d9e | 16 | #include "exynos5250.dtsi" |
2881e533 RS |
17 | |
18 | / { | |
19 | model = "Google Snow"; | |
f1ac35b7 | 20 | compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5"; |
2881e533 RS |
21 | |
22 | aliases { | |
f1ac35b7 SG |
23 | i2c0 = "/i2c@12C60000"; |
24 | i2c1 = "/i2c@12C70000"; | |
25 | i2c2 = "/i2c@12C80000"; | |
26 | i2c3 = "/i2c@12C90000"; | |
27 | i2c4 = "/i2c@12CA0000"; | |
a0942a6d | 28 | i2c104 = &i2c_104; |
f1ac35b7 SG |
29 | i2c5 = "/i2c@12CB0000"; |
30 | i2c6 = "/i2c@12CC0000"; | |
31 | i2c7 = "/i2c@12CD0000"; | |
2881e533 RS |
32 | spi0 = "/spi@12d20000"; |
33 | spi1 = "/spi@12d30000"; | |
34 | spi2 = "/spi@12d40000"; | |
35 | spi3 = "/spi@131a0000"; | |
36 | spi4 = "/spi@131b0000"; | |
b2f79412 SG |
37 | mmc0 = "/mmc@12200000"; |
38 | mmc1 = "/mmc@12210000"; | |
39 | mmc2 = "/mmc@12220000"; | |
40 | mmc3 = "/mmc@12230000"; | |
4603e8cf RS |
41 | serial0 = "/serial@12C30000"; |
42 | console = "/serial@12C30000"; | |
b7006a7f | 43 | i2s = "/sound@3830000"; |
2881e533 RS |
44 | }; |
45 | ||
59408eb2 SG |
46 | memory { |
47 | reg = <0x40000000 0x80000000>; | |
48 | }; | |
49 | ||
50 | chosen { | |
51 | bootargs = "console=tty1"; | |
52 | stdout-path = "serial3:115200n8"; | |
53 | }; | |
54 | ||
55 | iram { | |
56 | reg = <0x02020000 0x60000>; | |
57 | }; | |
58 | ||
59 | config { | |
60 | samsung,bl1-offset = <0x1400>; | |
61 | samsung,bl2-offset = <0x3400>; | |
62 | u-boot-memory = "/memory"; | |
63 | u-boot-offset = <0x3e00000 0x100000>; | |
64 | }; | |
65 | ||
66 | flash { | |
67 | reg = <0 0x100000>; | |
68 | #address-cells = <1>; | |
69 | #size-cells = <1>; | |
70 | pre-boot { | |
71 | label = "bl1 pre-boot"; | |
72 | reg = <0 0x2000>; | |
73 | read-only; | |
74 | filename = "e5250.nbl1.bin"; | |
75 | type = "blob exynos-bl1"; | |
76 | required; | |
77 | }; | |
78 | ||
79 | spl { | |
80 | label = "bl2 spl"; | |
81 | reg = <0x2000 0x4000>; | |
82 | read-only; | |
83 | filename = "bl2.bin"; | |
84 | type = "blob exynos-bl2 boot,dtb"; | |
85 | payload = "/flash/ro-boot"; | |
86 | required; | |
87 | }; | |
88 | ||
89 | ro-boot { | |
90 | label = "u-boot"; | |
91 | reg = <0x6000 0x9a000>; | |
92 | read-only; | |
93 | type = "blob boot,dtb"; | |
94 | required; | |
95 | }; | |
96 | }; | |
97 | ||
a0942a6d SG |
98 | i2c-arbitrator { |
99 | compatible = "i2c-arb-gpio-challenge"; | |
100 | #address-cells = <1>; | |
101 | #size-cells = <0>; | |
102 | ||
103 | i2c-parent = <&{/i2c@12CA0000}>; | |
104 | ||
105 | our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; | |
106 | their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; | |
107 | slew-delay-us = <10>; | |
108 | wait-retry-us = <3000>; | |
109 | wait-free-us = <50000>; | |
110 | ||
111 | /* Use ID 104 as a hint that we're on physical bus 4 */ | |
112 | i2c_104: i2c@0 { | |
113 | reg = <0>; | |
114 | #address-cells = <1>; | |
115 | #size-cells = <0>; | |
116 | ||
117 | battery: sbs-battery@b { | |
118 | compatible = "sbs,sbs-battery"; | |
119 | reg = <0xb>; | |
120 | sbs,poll-retry-count = <1>; | |
121 | }; | |
122 | ||
123 | cros_ec: embedded-controller { | |
124 | compatible = "google,cros-ec-i2c"; | |
125 | reg = <0x1e>; | |
126 | interrupts = <6 IRQ_TYPE_NONE>; | |
127 | interrupt-parent = <&gpx1>; | |
128 | wakeup-source; | |
129 | i2c-max-frequency = <100000>; | |
130 | u-boot,i2c-offset-len = <0>; | |
131 | ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; | |
132 | }; | |
133 | ||
134 | power-regulator { | |
135 | compatible = "ti,tps65090"; | |
136 | reg = <0x48>; | |
137 | ||
138 | regulators { | |
139 | dcdc1 { | |
140 | ti,enable-ext-control; | |
141 | }; | |
142 | dcdc2 { | |
143 | ti,enable-ext-control; | |
144 | }; | |
145 | dcdc3 { | |
146 | ti,enable-ext-control; | |
147 | }; | |
148 | fet1: fet1 { | |
149 | regulator-name = "vcd_led"; | |
150 | ti,overcurrent-wait = <3>; | |
151 | }; | |
152 | tps65090_fet2: fet2 { | |
153 | regulator-name = "video_mid"; | |
154 | regulator-always-on; | |
155 | ti,overcurrent-wait = <3>; | |
156 | }; | |
157 | fet3 { | |
158 | regulator-name = "wwan_r"; | |
159 | regulator-always-on; | |
160 | ti,overcurrent-wait = <3>; | |
161 | }; | |
162 | fet4 { | |
163 | regulator-name = "sdcard"; | |
164 | ti,overcurrent-wait = <3>; | |
165 | }; | |
166 | fet5 { | |
167 | regulator-name = "camout"; | |
168 | regulator-always-on; | |
169 | ti,overcurrent-wait = <3>; | |
170 | }; | |
171 | fet6: fet6 { | |
172 | regulator-name = "lcd_vdd"; | |
173 | ti,overcurrent-wait = <3>; | |
174 | }; | |
175 | tps65090_fet7: fet7 { | |
176 | regulator-name = "video_mid_1a"; | |
177 | regulator-always-on; | |
178 | ti,overcurrent-wait = <3>; | |
179 | }; | |
180 | ldo1 { | |
181 | }; | |
182 | ldo2 { | |
183 | }; | |
184 | }; | |
185 | ||
186 | charger { | |
187 | compatible = "ti,tps65090-charger"; | |
188 | }; | |
189 | }; | |
190 | }; | |
191 | }; | |
192 | ||
fa9ec45c SG |
193 | i2c@12CD0000 { |
194 | ptn3460: lvds-bridge@20 { | |
195 | compatible = "nxp,ptn3460"; | |
196 | reg = <0x20>; | |
197 | sleep-gpios = <&gpy2 5 GPIO_ACTIVE_LOW>; | |
198 | reset-gpios = <&gpx1 5 GPIO_ACTIVE_LOW>; | |
199 | hotplug-gpios = <&gpx0 7 GPIO_ACTIVE_HIGH>; | |
200 | edid-emulation = <5>; | |
f948f5de SG |
201 | |
202 | ports { | |
203 | port@0 { | |
204 | bridge_out: endpoint { | |
205 | remote-endpoint = <&panel_in>; | |
206 | }; | |
207 | }; | |
208 | ||
209 | port@1 { | |
210 | bridge_in: endpoint { | |
211 | remote-endpoint = <&dp_out>; | |
212 | }; | |
213 | }; | |
214 | }; | |
fa9ec45c SG |
215 | }; |
216 | ||
217 | soundcodec@22 { | |
218 | reg = <0x22>; | |
219 | compatible = "maxim,max98095-codec"; | |
220 | }; | |
221 | }; | |
222 | ||
6e474eab SG |
223 | i2c@12C90000 { |
224 | clock-frequency = <100000>; | |
225 | tpm@20 { | |
226 | reg = <0x20>; | |
227 | u-boot,i2c-offset-len = <0>; | |
228 | compatible = "infineon,slb9635tt"; | |
229 | }; | |
230 | }; | |
231 | ||
73186c94 SG |
232 | spi@12d30000 { |
233 | spi-max-frequency = <50000000>; | |
234 | firmware_storage_spi: flash@0 { | |
235 | compatible = "spi-flash"; | |
236 | reg = <0>; | |
237 | }; | |
238 | }; | |
239 | ||
f948f5de SG |
240 | backlight: backlight { |
241 | compatible = "pwm-backlight"; | |
242 | pwms = <&pwm 0 1000000 0>; | |
243 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | |
244 | default-brightness-level = <7>; | |
245 | enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>; | |
246 | power-supply = <&fet1>; | |
247 | }; | |
248 | ||
249 | panel: panel { | |
250 | compatible = "auo,b116xw03"; | |
251 | power-supply = <&fet6>; | |
252 | backlight = <&backlight>; | |
253 | ||
254 | port { | |
255 | panel_in: endpoint { | |
256 | remote-endpoint = <&bridge_out>; | |
257 | }; | |
258 | }; | |
259 | }; | |
260 | ||
60744a11 HT |
261 | spi@131b0000 { |
262 | spi-max-frequency = <1000000>; | |
263 | spi-deactivate-delay = <100>; | |
3fbb7871 | 264 | |
f1ac35b7 | 265 | /* Snow did support SPI but the released version used I2C */ |
3fbb7871 SG |
266 | embedded-controller { |
267 | compatible = "google,cros-ec-i2c"; | |
268 | reg = <0x1e>; | |
60744a11 | 269 | spi-max-frequency = <5000000>; |
6f755eb6 | 270 | ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>; |
60744a11 HT |
271 | optimise-flash-write; |
272 | status = "disabled"; | |
273 | }; | |
274 | }; | |
275 | ||
b7006a7f | 276 | sound@3830000 { |
2881e533 | 277 | samsung,codec-type = "max98095"; |
6f755eb6 | 278 | codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>; |
2881e533 RS |
279 | }; |
280 | ||
93e14596 WD |
281 | sound@12d60000 { |
282 | status = "disabled"; | |
283 | }; | |
b7006a7f | 284 | |
f1ac35b7 SG |
285 | i2c@12C60000 { |
286 | max77686@09 { | |
2881e533 | 287 | reg = <0x9>; |
f37df0f8 | 288 | compatible = "maxim,max77686"; |
2881e533 RS |
289 | }; |
290 | }; | |
f2e8a873 | 291 | |
b2f79412 SG |
292 | mmc@12200000 { |
293 | samsung,bus-width = <8>; | |
294 | samsung,timing = <1 3 3>; | |
295 | samsung,removable = <0>; | |
296 | }; | |
297 | ||
298 | mmc@12210000 { | |
299 | status = "disabled"; | |
300 | }; | |
301 | ||
302 | mmc@12220000 { | |
303 | samsung,bus-width = <4>; | |
304 | samsung,timing = <1 2 3>; | |
305 | samsung,removable = <1>; | |
306 | }; | |
307 | ||
308 | mmc@12230000 { | |
309 | status = "disabled"; | |
310 | }; | |
311 | ||
ec89e0a6 | 312 | ehci@12110000 { |
6f755eb6 | 313 | samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; |
243d7f15 | 314 | status = "okay"; |
ec89e0a6 JW |
315 | }; |
316 | ||
317 | xhci@12000000 { | |
6f755eb6 | 318 | samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; |
ec89e0a6 JW |
319 | }; |
320 | ||
f2e8a873 SG |
321 | tmu@10060000 { |
322 | samsung,min-temp = <25>; | |
323 | samsung,max-temp = <125>; | |
324 | samsung,start-warning = <95>; | |
325 | samsung,start-tripping = <105>; | |
326 | samsung,hw-tripping = <110>; | |
327 | samsung,efuse-min-value = <40>; | |
328 | samsung,efuse-value = <55>; | |
329 | samsung,efuse-max-value = <100>; | |
330 | samsung,slope = <274761730>; | |
331 | samsung,dc-value = <25>; | |
332 | }; | |
333 | ||
14ccc30b SG |
334 | fimd@14400000 { |
335 | samsung,vl-freq = <60>; | |
336 | samsung,vl-col = <1366>; | |
337 | samsung,vl-row = <768>; | |
338 | samsung,vl-width = <1366>; | |
339 | samsung,vl-height = <768>; | |
340 | ||
341 | samsung,vl-clkp; | |
342 | samsung,vl-dp; | |
343 | samsung,vl-hsp; | |
344 | samsung,vl-vsp; | |
345 | ||
346 | samsung,vl-bpix = <4>; | |
347 | ||
348 | samsung,vl-hspw = <32>; | |
349 | samsung,vl-hbpd = <80>; | |
350 | samsung,vl-hfpd = <48>; | |
351 | samsung,vl-vspw = <5>; | |
352 | samsung,vl-vbpd = <14>; | |
353 | samsung,vl-vfpd = <3>; | |
354 | samsung,vl-cmd-allow-len = <0xf>; | |
355 | ||
356 | samsung,winid = <0>; | |
357 | samsung,interface-mode = <1>; | |
358 | samsung,dp-enabled = <1>; | |
359 | samsung,dual-lcd-enabled = <0>; | |
360 | }; | |
361 | ||
362 | dp@145b0000 { | |
363 | samsung,lt-status = <0>; | |
364 | ||
365 | samsung,master-mode = <0>; | |
366 | samsung,bist-mode = <0>; | |
367 | samsung,bist-pattern = <0>; | |
368 | samsung,h-sync-polarity = <0>; | |
369 | samsung,v-sync-polarity = <0>; | |
370 | samsung,interlaced = <0>; | |
371 | samsung,color-space = <0>; | |
372 | samsung,dynamic-range = <0>; | |
373 | samsung,ycbcr-coeff = <0>; | |
374 | samsung,color-depth = <1>; | |
f948f5de SG |
375 | samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>; |
376 | ||
377 | ports { | |
378 | port@0 { | |
379 | dp_out: endpoint { | |
380 | remote-endpoint = <&bridge_in>; | |
381 | }; | |
382 | }; | |
383 | }; | |
14ccc30b SG |
384 | }; |
385 | ||
2881e533 | 386 | }; |
93322749 | 387 | |
1a17c39c SG |
388 | &i2c_0 { |
389 | status = "okay"; | |
390 | samsung,i2c-sda-delay = <100>; | |
391 | samsung,i2c-max-bus-freq = <378000>; | |
392 | ||
393 | max77686: max77686@09 { | |
394 | compatible = "maxim,max77686"; | |
395 | interrupt-parent = <&gpx3>; | |
396 | interrupts = <2 IRQ_TYPE_NONE>; | |
397 | wakeup-source; | |
398 | reg = <0x09>; | |
399 | #clock-cells = <1>; | |
400 | ||
401 | voltage-regulators { | |
402 | ldo1_reg: LDO1 { | |
403 | regulator-name = "P1.0V_LDO_OUT1"; | |
404 | regulator-min-microvolt = <1000000>; | |
405 | regulator-max-microvolt = <1000000>; | |
406 | regulator-always-on; | |
407 | }; | |
408 | ||
409 | ldo2_reg: LDO2 { | |
410 | regulator-name = "P1.8V_LDO_OUT2"; | |
411 | regulator-min-microvolt = <1800000>; | |
412 | regulator-max-microvolt = <1800000>; | |
413 | regulator-always-on; | |
414 | }; | |
415 | ||
416 | ldo3_reg: LDO3 { | |
417 | regulator-name = "P1.8V_LDO_OUT3"; | |
418 | regulator-min-microvolt = <1800000>; | |
419 | regulator-max-microvolt = <1800000>; | |
420 | regulator-always-on; | |
421 | }; | |
422 | ||
423 | ldo7_reg: LDO7 { | |
424 | regulator-name = "P1.1V_LDO_OUT7"; | |
425 | regulator-min-microvolt = <1100000>; | |
426 | regulator-max-microvolt = <1100000>; | |
427 | regulator-always-on; | |
428 | }; | |
429 | ||
430 | ldo8_reg: LDO8 { | |
431 | regulator-name = "P1.0V_LDO_OUT8"; | |
432 | regulator-min-microvolt = <1000000>; | |
433 | regulator-max-microvolt = <1000000>; | |
434 | regulator-always-on; | |
435 | }; | |
436 | ||
437 | ldo10_reg: LDO10 { | |
438 | regulator-name = "P1.8V_LDO_OUT10"; | |
439 | regulator-min-microvolt = <1800000>; | |
440 | regulator-max-microvolt = <1800000>; | |
441 | regulator-always-on; | |
442 | }; | |
443 | ||
444 | ldo12_reg: LDO12 { | |
445 | regulator-name = "P3.0V_LDO_OUT12"; | |
446 | regulator-min-microvolt = <3000000>; | |
447 | regulator-max-microvolt = <3000000>; | |
448 | regulator-always-on; | |
449 | }; | |
450 | ||
451 | ldo14_reg: LDO14 { | |
452 | regulator-name = "P1.8V_LDO_OUT14"; | |
453 | regulator-min-microvolt = <1800000>; | |
454 | regulator-max-microvolt = <1800000>; | |
455 | regulator-always-on; | |
456 | }; | |
457 | ||
458 | ldo15_reg: LDO15 { | |
459 | regulator-name = "P1.0V_LDO_OUT15"; | |
460 | regulator-min-microvolt = <1000000>; | |
461 | regulator-max-microvolt = <1000000>; | |
462 | regulator-always-on; | |
463 | }; | |
464 | ||
465 | ldo16_reg: LDO16 { | |
466 | regulator-name = "P1.8V_LDO_OUT16"; | |
467 | regulator-min-microvolt = <1800000>; | |
468 | regulator-max-microvolt = <1800000>; | |
469 | regulator-always-on; | |
470 | }; | |
471 | ||
472 | ldo17_reg: LDO17 { | |
473 | regulator-name = "vdd_mydp"; | |
474 | regulator-min-microvolt = <1200000>; | |
475 | regulator-max-microvolt = <1200000>; | |
476 | }; | |
477 | ||
478 | buck1_reg: BUCK1 { | |
479 | regulator-name = "vdd_mif"; | |
480 | regulator-min-microvolt = <950000>; | |
481 | regulator-max-microvolt = <1300000>; | |
482 | regulator-always-on; | |
483 | regulator-boot-on; | |
484 | }; | |
485 | ||
486 | buck2_reg: BUCK2 { | |
487 | regulator-name = "vdd_arm"; | |
488 | regulator-min-microvolt = <850000>; | |
489 | regulator-max-microvolt = <1350000>; | |
490 | regulator-always-on; | |
491 | regulator-boot-on; | |
492 | }; | |
493 | ||
494 | buck3_reg: BUCK3 { | |
495 | regulator-name = "vdd_int"; | |
496 | regulator-min-microvolt = <900000>; | |
497 | regulator-max-microvolt = <1200000>; | |
498 | regulator-always-on; | |
499 | regulator-boot-on; | |
500 | }; | |
501 | ||
502 | buck4_reg: BUCK4 { | |
503 | regulator-name = "vdd_g3d"; | |
504 | regulator-min-microvolt = <850000>; | |
505 | regulator-max-microvolt = <1300000>; | |
506 | regulator-always-on; | |
507 | regulator-boot-on; | |
508 | }; | |
509 | ||
510 | buck5_reg: BUCK5 { | |
511 | regulator-name = "P1.8V_BUCK_OUT5"; | |
512 | regulator-min-microvolt = <1800000>; | |
513 | regulator-max-microvolt = <1800000>; | |
514 | regulator-always-on; | |
515 | regulator-boot-on; | |
516 | }; | |
517 | ||
518 | buck6_reg: BUCK6 { | |
519 | regulator-name = "P1.35V_BUCK_OUT6"; | |
520 | regulator-min-microvolt = <1350000>; | |
521 | regulator-max-microvolt = <1350000>; | |
522 | regulator-always-on; | |
523 | }; | |
524 | ||
525 | buck7_reg: BUCK7 { | |
526 | regulator-name = "P2.0V_BUCK_OUT7"; | |
527 | regulator-min-microvolt = <2000000>; | |
528 | regulator-max-microvolt = <2000000>; | |
529 | regulator-always-on; | |
530 | }; | |
531 | ||
532 | buck8_reg: BUCK8 { | |
533 | regulator-name = "P2.85V_BUCK_OUT8"; | |
534 | regulator-min-microvolt = <2850000>; | |
535 | regulator-max-microvolt = <2850000>; | |
536 | regulator-always-on; | |
537 | }; | |
538 | }; | |
539 | }; | |
540 | }; | |
541 | ||
93322749 | 542 | #include "cros-ec-keyboard.dtsi" |