diff options
author | Javier Martinez Canillas <javier@osg.samsung.com> | 2015-09-30 02:53:55 -0400 |
---|---|---|
committer | Kukjin Kim <kgene@kernel.org> | 2015-09-30 02:54:14 -0400 |
commit | 6c6000c2ccfe69e5d17a2fba91954ce1e6f7df01 (patch) | |
tree | 74645a639e2c8241a2aa57cbf0473ecc36b8fbe3 | |
parent | 6658356014cbf772c7f11154adc0c46717b3322b (diff) |
ARM: dts: Add Exynos5250 Snow Rev5+ support on exynos5250-snow-rev5
There are 2 revisions of the Exynos5250 Snow Chromebook that were
shipped: Rev4 and Rev5. The only difference between these 2 revisions
is the codec, Rev4 has a max98095 codec while Rev5 has a max98090.
Mainline only supports Rev4 so this patch moves the common device
nodes to a DTSI file and adds a DTS for the Exynos5250 Snow Rev5.
The Snow Rev5 DTS is based on the DTS found in the ChromiumOS 3.8
tree.
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Tested-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Kukjin Kim <kgene@kernel.org>
-rw-r--r-- | arch/arm/boot/dts/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow-common.dtsi | 684 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow-rev5.dts | 47 | ||||
-rw-r--r-- | arch/arm/boot/dts/exynos5250-snow.dts | 671 |
4 files changed, 736 insertions, 667 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 3d27fe34647f..bc6649dcba5c 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile | |||
@@ -115,6 +115,7 @@ dtb-$(CONFIG_ARCH_EXYNOS5) += \ | |||
115 | exynos5250-arndale.dtb \ | 115 | exynos5250-arndale.dtb \ |
116 | exynos5250-smdk5250.dtb \ | 116 | exynos5250-smdk5250.dtb \ |
117 | exynos5250-snow.dtb \ | 117 | exynos5250-snow.dtb \ |
118 | exynos5250-snow-rev5.dtb \ | ||
118 | exynos5250-spring.dtb \ | 119 | exynos5250-spring.dtb \ |
119 | exynos5260-xyref5260.dtb \ | 120 | exynos5260-xyref5260.dtb \ |
120 | exynos5410-smdk5410.dtb \ | 121 | exynos5410-smdk5410.dtb \ |
diff --git a/arch/arm/boot/dts/exynos5250-snow-common.dtsi b/arch/arm/boot/dts/exynos5250-snow-common.dtsi new file mode 100644 index 000000000000..0a7f408824d8 --- /dev/null +++ b/arch/arm/boot/dts/exynos5250-snow-common.dtsi | |||
@@ -0,0 +1,684 @@ | |||
1 | /* | ||
2 | * Google Snow board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Google, Inc | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License version 2 as | ||
8 | * published by the Free Software Foundation. | ||
9 | */ | ||
10 | |||
11 | #include <dt-bindings/gpio/gpio.h> | ||
12 | #include <dt-bindings/clock/maxim,max77686.h> | ||
13 | #include <dt-bindings/interrupt-controller/irq.h> | ||
14 | #include <dt-bindings/input/input.h> | ||
15 | #include "exynos5250.dtsi" | ||
16 | |||
17 | / { | ||
18 | aliases { | ||
19 | i2c104 = &i2c_104; | ||
20 | }; | ||
21 | |||
22 | memory { | ||
23 | reg = <0x40000000 0x80000000>; | ||
24 | }; | ||
25 | |||
26 | chosen { | ||
27 | bootargs = "console=tty1"; | ||
28 | stdout-path = "serial3:115200n8"; | ||
29 | }; | ||
30 | |||
31 | gpio-keys { | ||
32 | compatible = "gpio-keys"; | ||
33 | pinctrl-names = "default"; | ||
34 | pinctrl-0 = <&power_key_irq &lid_irq>; | ||
35 | |||
36 | power { | ||
37 | label = "Power"; | ||
38 | gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; | ||
39 | linux,code = <KEY_POWER>; | ||
40 | gpio-key,wakeup; | ||
41 | }; | ||
42 | |||
43 | lid-switch { | ||
44 | label = "Lid"; | ||
45 | gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | ||
46 | linux,input-type = <5>; /* EV_SW */ | ||
47 | linux,code = <0>; /* SW_LID */ | ||
48 | debounce-interval = <1>; | ||
49 | gpio-key,wakeup; | ||
50 | }; | ||
51 | }; | ||
52 | |||
53 | vbat: vbat-fixed-regulator { | ||
54 | compatible = "regulator-fixed"; | ||
55 | regulator-name = "vbat-supply"; | ||
56 | regulator-boot-on; | ||
57 | }; | ||
58 | |||
59 | i2c-arbitrator { | ||
60 | compatible = "i2c-arb-gpio-challenge"; | ||
61 | #address-cells = <1>; | ||
62 | #size-cells = <0>; | ||
63 | |||
64 | i2c-parent = <&{/i2c@12CA0000}>; | ||
65 | |||
66 | our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; | ||
67 | their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; | ||
68 | slew-delay-us = <10>; | ||
69 | wait-retry-us = <3000>; | ||
70 | wait-free-us = <50000>; | ||
71 | |||
72 | pinctrl-names = "default"; | ||
73 | pinctrl-0 = <&arb_our_claim &arb_their_claim>; | ||
74 | |||
75 | /* Use ID 104 as a hint that we're on physical bus 4 */ | ||
76 | i2c_104: i2c@0 { | ||
77 | reg = <0>; | ||
78 | #address-cells = <1>; | ||
79 | #size-cells = <0>; | ||
80 | |||
81 | battery: sbs-battery@b { | ||
82 | compatible = "sbs,sbs-battery"; | ||
83 | reg = <0xb>; | ||
84 | sbs,poll-retry-count = <1>; | ||
85 | }; | ||
86 | |||
87 | cros_ec: embedded-controller { | ||
88 | compatible = "google,cros-ec-i2c"; | ||
89 | reg = <0x1e>; | ||
90 | interrupts = <6 IRQ_TYPE_NONE>; | ||
91 | interrupt-parent = <&gpx1>; | ||
92 | pinctrl-names = "default"; | ||
93 | pinctrl-0 = <&ec_irq>; | ||
94 | wakeup-source; | ||
95 | }; | ||
96 | |||
97 | power-regulator { | ||
98 | compatible = "ti,tps65090"; | ||
99 | reg = <0x48>; | ||
100 | |||
101 | /* | ||
102 | * Config irq to disable internal pulls | ||
103 | * even though we run in polling mode. | ||
104 | */ | ||
105 | pinctrl-names = "default"; | ||
106 | pinctrl-0 = <&tps65090_irq>; | ||
107 | |||
108 | vsys1-supply = <&vbat>; | ||
109 | vsys2-supply = <&vbat>; | ||
110 | vsys3-supply = <&vbat>; | ||
111 | infet1-supply = <&vbat>; | ||
112 | infet2-supply = <&vbat>; | ||
113 | infet3-supply = <&vbat>; | ||
114 | infet4-supply = <&vbat>; | ||
115 | infet5-supply = <&vbat>; | ||
116 | infet6-supply = <&vbat>; | ||
117 | infet7-supply = <&vbat>; | ||
118 | vsys-l1-supply = <&vbat>; | ||
119 | vsys-l2-supply = <&vbat>; | ||
120 | |||
121 | regulators { | ||
122 | dcdc1 { | ||
123 | ti,enable-ext-control; | ||
124 | }; | ||
125 | dcdc2 { | ||
126 | ti,enable-ext-control; | ||
127 | }; | ||
128 | dcdc3 { | ||
129 | ti,enable-ext-control; | ||
130 | }; | ||
131 | fet1: fet1 { | ||
132 | regulator-name = "vcd_led"; | ||
133 | ti,overcurrent-wait = <3>; | ||
134 | }; | ||
135 | tps65090_fet2: fet2 { | ||
136 | regulator-name = "video_mid"; | ||
137 | regulator-always-on; | ||
138 | ti,overcurrent-wait = <3>; | ||
139 | }; | ||
140 | fet3 { | ||
141 | regulator-name = "wwan_r"; | ||
142 | regulator-always-on; | ||
143 | ti,overcurrent-wait = <3>; | ||
144 | }; | ||
145 | fet4 { | ||
146 | regulator-name = "sdcard"; | ||
147 | ti,overcurrent-wait = <3>; | ||
148 | }; | ||
149 | fet5 { | ||
150 | regulator-name = "camout"; | ||
151 | regulator-always-on; | ||
152 | ti,overcurrent-wait = <3>; | ||
153 | }; | ||
154 | fet6: fet6 { | ||
155 | regulator-name = "lcd_vdd"; | ||
156 | ti,overcurrent-wait = <3>; | ||
157 | }; | ||
158 | tps65090_fet7: fet7 { | ||
159 | regulator-name = "video_mid_1a"; | ||
160 | regulator-always-on; | ||
161 | ti,overcurrent-wait = <3>; | ||
162 | }; | ||
163 | ldo1 { | ||
164 | }; | ||
165 | ldo2 { | ||
166 | }; | ||
167 | }; | ||
168 | |||
169 | charger { | ||
170 | compatible = "ti,tps65090-charger"; | ||
171 | }; | ||
172 | }; | ||
173 | }; | ||
174 | }; | ||
175 | |||
176 | sound { | ||
177 | samsung,i2s-controller = <&i2s0>; | ||
178 | }; | ||
179 | |||
180 | usb3_vbus_reg: regulator-usb3 { | ||
181 | compatible = "regulator-fixed"; | ||
182 | regulator-name = "P5.0V_USB3CON"; | ||
183 | regulator-min-microvolt = <5000000>; | ||
184 | regulator-max-microvolt = <5000000>; | ||
185 | gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; | ||
186 | pinctrl-names = "default"; | ||
187 | pinctrl-0 = <&usb3_vbus_en>; | ||
188 | enable-active-high; | ||
189 | }; | ||
190 | |||
191 | fixed-rate-clocks { | ||
192 | xxti { | ||
193 | compatible = "samsung,clock-xxti"; | ||
194 | clock-frequency = <24000000>; | ||
195 | }; | ||
196 | }; | ||
197 | |||
198 | backlight: backlight { | ||
199 | compatible = "pwm-backlight"; | ||
200 | pwms = <&pwm 0 1000000 0>; | ||
201 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | ||
202 | default-brightness-level = <7>; | ||
203 | enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>; | ||
204 | power-supply = <&fet1>; | ||
205 | pinctrl-0 = <&pwm0_out>; | ||
206 | pinctrl-names = "default"; | ||
207 | }; | ||
208 | |||
209 | panel: panel { | ||
210 | compatible = "auo,b116xw03"; | ||
211 | power-supply = <&fet6>; | ||
212 | backlight = <&backlight>; | ||
213 | |||
214 | port { | ||
215 | panel_in: endpoint { | ||
216 | remote-endpoint = <&bridge_out>; | ||
217 | }; | ||
218 | }; | ||
219 | }; | ||
220 | |||
221 | mmc3_pwrseq: mmc3_pwrseq { | ||
222 | compatible = "mmc-pwrseq-simple"; | ||
223 | reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */ | ||
224 | <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */ | ||
225 | clocks = <&max77686 MAX77686_CLK_PMIC>; | ||
226 | clock-names = "ext_clock"; | ||
227 | }; | ||
228 | }; | ||
229 | |||
230 | &cpu0 { | ||
231 | cpu0-supply = <&buck2_reg>; | ||
232 | }; | ||
233 | |||
234 | &dp { | ||
235 | status = "okay"; | ||
236 | pinctrl-names = "default"; | ||
237 | pinctrl-0 = <&dp_hpd>; | ||
238 | samsung,color-space = <0>; | ||
239 | samsung,dynamic-range = <0>; | ||
240 | samsung,ycbcr-coeff = <0>; | ||
241 | samsung,color-depth = <1>; | ||
242 | samsung,link-rate = <0x0a>; | ||
243 | samsung,lane-count = <2>; | ||
244 | samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>; | ||
245 | |||
246 | ports { | ||
247 | port@0 { | ||
248 | dp_out: endpoint { | ||
249 | remote-endpoint = <&bridge_in>; | ||
250 | }; | ||
251 | }; | ||
252 | }; | ||
253 | }; | ||
254 | |||
255 | &ehci { | ||
256 | samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; | ||
257 | }; | ||
258 | |||
259 | &fimd { | ||
260 | status = "okay"; | ||
261 | samsung,invert-vclk; | ||
262 | }; | ||
263 | |||
264 | &hdmi { | ||
265 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
266 | pinctrl-names = "default"; | ||
267 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
268 | phy = <&hdmiphy>; | ||
269 | ddc = <&i2c_2>; | ||
270 | hdmi-en-supply = <&tps65090_fet7>; | ||
271 | vdd-supply = <&ldo8_reg>; | ||
272 | vdd_osc-supply = <&ldo10_reg>; | ||
273 | vdd_pll-supply = <&ldo8_reg>; | ||
274 | }; | ||
275 | |||
276 | &i2c_0 { | ||
277 | status = "okay"; | ||
278 | samsung,i2c-sda-delay = <100>; | ||
279 | samsung,i2c-max-bus-freq = <378000>; | ||
280 | |||
281 | max77686: max77686@09 { | ||
282 | compatible = "maxim,max77686"; | ||
283 | interrupt-parent = <&gpx3>; | ||
284 | interrupts = <2 IRQ_TYPE_NONE>; | ||
285 | pinctrl-names = "default"; | ||
286 | pinctrl-0 = <&max77686_irq>; | ||
287 | wakeup-source; | ||
288 | reg = <0x09>; | ||
289 | #clock-cells = <1>; | ||
290 | |||
291 | voltage-regulators { | ||
292 | ldo1_reg: LDO1 { | ||
293 | regulator-name = "P1.0V_LDO_OUT1"; | ||
294 | regulator-min-microvolt = <1000000>; | ||
295 | regulator-max-microvolt = <1000000>; | ||
296 | regulator-always-on; | ||
297 | }; | ||
298 | |||
299 | ldo2_reg: LDO2 { | ||
300 | regulator-name = "P1.8V_LDO_OUT2"; | ||
301 | regulator-min-microvolt = <1800000>; | ||
302 | regulator-max-microvolt = <1800000>; | ||
303 | regulator-always-on; | ||
304 | }; | ||
305 | |||
306 | ldo3_reg: LDO3 { | ||
307 | regulator-name = "P1.8V_LDO_OUT3"; | ||
308 | regulator-min-microvolt = <1800000>; | ||
309 | regulator-max-microvolt = <1800000>; | ||
310 | regulator-always-on; | ||
311 | }; | ||
312 | |||
313 | ldo7_reg: LDO7 { | ||
314 | regulator-name = "P1.1V_LDO_OUT7"; | ||
315 | regulator-min-microvolt = <1100000>; | ||
316 | regulator-max-microvolt = <1100000>; | ||
317 | regulator-always-on; | ||
318 | }; | ||
319 | |||
320 | ldo8_reg: LDO8 { | ||
321 | regulator-name = "P1.0V_LDO_OUT8"; | ||
322 | regulator-min-microvolt = <1000000>; | ||
323 | regulator-max-microvolt = <1000000>; | ||
324 | regulator-always-on; | ||
325 | }; | ||
326 | |||
327 | ldo10_reg: LDO10 { | ||
328 | regulator-name = "P1.8V_LDO_OUT10"; | ||
329 | regulator-min-microvolt = <1800000>; | ||
330 | regulator-max-microvolt = <1800000>; | ||
331 | regulator-always-on; | ||
332 | }; | ||
333 | |||
334 | ldo12_reg: LDO12 { | ||
335 | regulator-name = "P3.0V_LDO_OUT12"; | ||
336 | regulator-min-microvolt = <3000000>; | ||
337 | regulator-max-microvolt = <3000000>; | ||
338 | regulator-always-on; | ||
339 | }; | ||
340 | |||
341 | ldo14_reg: LDO14 { | ||
342 | regulator-name = "P1.8V_LDO_OUT14"; | ||
343 | regulator-min-microvolt = <1800000>; | ||
344 | regulator-max-microvolt = <1800000>; | ||
345 | regulator-always-on; | ||
346 | }; | ||
347 | |||
348 | ldo15_reg: LDO15 { | ||
349 | regulator-name = "P1.0V_LDO_OUT15"; | ||
350 | regulator-min-microvolt = <1000000>; | ||
351 | regulator-max-microvolt = <1000000>; | ||
352 | regulator-always-on; | ||
353 | }; | ||
354 | |||
355 | ldo16_reg: LDO16 { | ||
356 | regulator-name = "P1.8V_LDO_OUT16"; | ||
357 | regulator-min-microvolt = <1800000>; | ||
358 | regulator-max-microvolt = <1800000>; | ||
359 | regulator-always-on; | ||
360 | }; | ||
361 | |||
362 | buck1_reg: BUCK1 { | ||
363 | regulator-name = "vdd_mif"; | ||
364 | regulator-min-microvolt = <950000>; | ||
365 | regulator-max-microvolt = <1300000>; | ||
366 | regulator-always-on; | ||
367 | regulator-boot-on; | ||
368 | }; | ||
369 | |||
370 | buck2_reg: BUCK2 { | ||
371 | regulator-name = "vdd_arm"; | ||
372 | regulator-min-microvolt = <850000>; | ||
373 | regulator-max-microvolt = <1350000>; | ||
374 | regulator-always-on; | ||
375 | regulator-boot-on; | ||
376 | }; | ||
377 | |||
378 | buck3_reg: BUCK3 { | ||
379 | regulator-name = "vdd_int"; | ||
380 | regulator-min-microvolt = <900000>; | ||
381 | regulator-max-microvolt = <1200000>; | ||
382 | regulator-always-on; | ||
383 | regulator-boot-on; | ||
384 | }; | ||
385 | |||
386 | buck4_reg: BUCK4 { | ||
387 | regulator-name = "vdd_g3d"; | ||
388 | regulator-min-microvolt = <850000>; | ||
389 | regulator-max-microvolt = <1300000>; | ||
390 | regulator-always-on; | ||
391 | regulator-boot-on; | ||
392 | }; | ||
393 | |||
394 | buck5_reg: BUCK5 { | ||
395 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
396 | regulator-min-microvolt = <1800000>; | ||
397 | regulator-max-microvolt = <1800000>; | ||
398 | regulator-always-on; | ||
399 | regulator-boot-on; | ||
400 | }; | ||
401 | |||
402 | buck6_reg: BUCK6 { | ||
403 | regulator-name = "P1.35V_BUCK_OUT6"; | ||
404 | regulator-min-microvolt = <1350000>; | ||
405 | regulator-max-microvolt = <1350000>; | ||
406 | regulator-always-on; | ||
407 | }; | ||
408 | |||
409 | buck7_reg: BUCK7 { | ||
410 | regulator-name = "P2.0V_BUCK_OUT7"; | ||
411 | regulator-min-microvolt = <2000000>; | ||
412 | regulator-max-microvolt = <2000000>; | ||
413 | regulator-always-on; | ||
414 | }; | ||
415 | |||
416 | buck8_reg: BUCK8 { | ||
417 | regulator-name = "P2.85V_BUCK_OUT8"; | ||
418 | regulator-min-microvolt = <2850000>; | ||
419 | regulator-max-microvolt = <2850000>; | ||
420 | regulator-always-on; | ||
421 | }; | ||
422 | }; | ||
423 | }; | ||
424 | }; | ||
425 | |||
426 | &i2c_1 { | ||
427 | status = "okay"; | ||
428 | samsung,i2c-sda-delay = <100>; | ||
429 | samsung,i2c-max-bus-freq = <378000>; | ||
430 | |||
431 | trackpad { | ||
432 | reg = <0x67>; | ||
433 | compatible = "cypress,cyapa"; | ||
434 | interrupts = <2 IRQ_TYPE_NONE>; | ||
435 | interrupt-parent = <&gpx1>; | ||
436 | wakeup-source; | ||
437 | }; | ||
438 | }; | ||
439 | |||
440 | /* | ||
441 | * Disabled pullups since external part has its own pullups and | ||
442 | * double-pulling gets us out of spec in some cases. | ||
443 | */ | ||
444 | &i2c2_bus { | ||
445 | samsung,pin-pud = <0>; | ||
446 | }; | ||
447 | |||
448 | &i2c_2 { | ||
449 | status = "okay"; | ||
450 | samsung,i2c-sda-delay = <100>; | ||
451 | samsung,i2c-max-bus-freq = <66000>; | ||
452 | |||
453 | hdmiddc@50 { | ||
454 | compatible = "samsung,exynos4210-hdmiddc"; | ||
455 | reg = <0x50>; | ||
456 | }; | ||
457 | }; | ||
458 | |||
459 | &i2c_3 { | ||
460 | status = "okay"; | ||
461 | samsung,i2c-sda-delay = <100>; | ||
462 | samsung,i2c-max-bus-freq = <66000>; | ||
463 | }; | ||
464 | |||
465 | &i2c_4 { | ||
466 | status = "okay"; | ||
467 | samsung,i2c-sda-delay = <100>; | ||
468 | samsung,i2c-max-bus-freq = <66000>; | ||
469 | }; | ||
470 | |||
471 | &i2c_5 { | ||
472 | status = "okay"; | ||
473 | samsung,i2c-sda-delay = <100>; | ||
474 | samsung,i2c-max-bus-freq = <66000>; | ||
475 | }; | ||
476 | |||
477 | &i2c_7 { | ||
478 | status = "okay"; | ||
479 | samsung,i2c-sda-delay = <100>; | ||
480 | samsung,i2c-max-bus-freq = <66000>; | ||
481 | |||
482 | ptn3460: lvds-bridge@20 { | ||
483 | compatible = "nxp,ptn3460"; | ||
484 | reg = <0x20>; | ||
485 | powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>; | ||
486 | reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>; | ||
487 | edid-emulation = <5>; | ||
488 | |||
489 | ports { | ||
490 | port@0 { | ||
491 | bridge_out: endpoint { | ||
492 | remote-endpoint = <&panel_in>; | ||
493 | }; | ||
494 | }; | ||
495 | |||
496 | port@1 { | ||
497 | bridge_in: endpoint { | ||
498 | remote-endpoint = <&dp_out>; | ||
499 | }; | ||
500 | }; | ||
501 | }; | ||
502 | }; | ||
503 | }; | ||
504 | |||
505 | &i2c_8 { | ||
506 | status = "okay"; | ||
507 | samsung,i2c-sda-delay = <100>; | ||
508 | samsung,i2c-max-bus-freq = <378000>; | ||
509 | |||
510 | hdmiphy: hdmiphy@38 { | ||
511 | compatible = "samsung,exynos4212-hdmiphy"; | ||
512 | reg = <0x38>; | ||
513 | }; | ||
514 | }; | ||
515 | |||
516 | &i2s0 { | ||
517 | status = "okay"; | ||
518 | }; | ||
519 | |||
520 | &mmc_0 { | ||
521 | status = "okay"; | ||
522 | num-slots = <1>; | ||
523 | broken-cd; | ||
524 | card-detect-delay = <200>; | ||
525 | samsung,dw-mshc-ciu-div = <3>; | ||
526 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
527 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
528 | pinctrl-names = "default"; | ||
529 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>; | ||
530 | bus-width = <8>; | ||
531 | cap-mmc-highspeed; | ||
532 | }; | ||
533 | |||
534 | &mmc_2 { | ||
535 | status = "okay"; | ||
536 | num-slots = <1>; | ||
537 | card-detect-delay = <200>; | ||
538 | samsung,dw-mshc-ciu-div = <3>; | ||
539 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
540 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
541 | pinctrl-names = "default"; | ||
542 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
543 | bus-width = <4>; | ||
544 | wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>; | ||
545 | cap-sd-highspeed; | ||
546 | }; | ||
547 | |||
548 | /* | ||
549 | * On Snow we've got SIP WiFi and so can keep drive strengths low to | ||
550 | * reduce EMI. | ||
551 | */ | ||
552 | &mmc_3 { | ||
553 | status = "okay"; | ||
554 | num-slots = <1>; | ||
555 | broken-cd; | ||
556 | cap-sdio-irq; | ||
557 | keep-power-in-suspend; | ||
558 | card-detect-delay = <200>; | ||
559 | samsung,dw-mshc-ciu-div = <3>; | ||
560 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
561 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
562 | pinctrl-names = "default"; | ||
563 | pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>; | ||
564 | bus-width = <4>; | ||
565 | cap-sd-highspeed; | ||
566 | mmc-pwrseq = <&mmc3_pwrseq>; | ||
567 | }; | ||
568 | |||
569 | &pinctrl_0 { | ||
570 | wifi_en: wifi-en { | ||
571 | samsung,pins = "gpx0-1"; | ||
572 | samsung,pin-function = <1>; | ||
573 | samsung,pin-pud = <0>; | ||
574 | samsung,pin-drv = <0>; | ||
575 | }; | ||
576 | |||
577 | wifi_rst: wifi-rst { | ||
578 | samsung,pins = "gpx0-2"; | ||
579 | samsung,pin-function = <1>; | ||
580 | samsung,pin-pud = <0>; | ||
581 | samsung,pin-drv = <0>; | ||
582 | }; | ||
583 | |||
584 | power_key_irq: power-key-irq { | ||
585 | samsung,pins = "gpx1-3"; | ||
586 | samsung,pin-function = <0xf>; | ||
587 | samsung,pin-pud = <0>; | ||
588 | samsung,pin-drv = <0>; | ||
589 | }; | ||
590 | |||
591 | ec_irq: ec-irq { | ||
592 | samsung,pins = "gpx1-6"; | ||
593 | samsung,pin-function = <0>; | ||
594 | samsung,pin-pud = <0>; | ||
595 | samsung,pin-drv = <0>; | ||
596 | }; | ||
597 | |||
598 | tps65090_irq: tps65090-irq { | ||
599 | samsung,pins = "gpx2-6"; | ||
600 | samsung,pin-function = <0>; | ||
601 | samsung,pin-pud = <0>; | ||
602 | samsung,pin-drv = <0>; | ||
603 | }; | ||
604 | |||
605 | usb3_vbus_en: usb3-vbus-en { | ||
606 | samsung,pins = "gpx2-7"; | ||
607 | samsung,pin-function = <1>; | ||
608 | samsung,pin-pud = <0>; | ||
609 | samsung,pin-drv = <0>; | ||
610 | }; | ||
611 | |||
612 | max77686_irq: max77686-irq { | ||
613 | samsung,pins = "gpx3-2"; | ||
614 | samsung,pin-function = <0>; | ||
615 | samsung,pin-pud = <0>; | ||
616 | samsung,pin-drv = <0>; | ||
617 | }; | ||
618 | |||
619 | lid_irq: lid-irq { | ||
620 | samsung,pins = "gpx3-5"; | ||
621 | samsung,pin-function = <0xf>; | ||
622 | samsung,pin-pud = <0>; | ||
623 | samsung,pin-drv = <0>; | ||
624 | }; | ||
625 | |||
626 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
627 | samsung,pins = "gpx3-7"; | ||
628 | samsung,pin-function = <0>; | ||
629 | samsung,pin-pud = <1>; | ||
630 | samsung,pin-drv = <0>; | ||
631 | }; | ||
632 | }; | ||
633 | |||
634 | &pinctrl_1 { | ||
635 | arb_their_claim: arb-their-claim { | ||
636 | samsung,pins = "gpe0-4"; | ||
637 | samsung,pin-function = <0>; | ||
638 | samsung,pin-pud = <3>; | ||
639 | samsung,pin-drv = <0>; | ||
640 | }; | ||
641 | |||
642 | arb_our_claim: arb-our-claim { | ||
643 | samsung,pins = "gpf0-3"; | ||
644 | samsung,pin-function = <1>; | ||
645 | samsung,pin-pud = <0>; | ||
646 | samsung,pin-drv = <0>; | ||
647 | }; | ||
648 | }; | ||
649 | |||
650 | &rtc { | ||
651 | status = "okay"; | ||
652 | clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; | ||
653 | clock-names = "rtc", "rtc_src"; | ||
654 | }; | ||
655 | |||
656 | &sd3_bus4 { | ||
657 | samsung,pin-drv = <0>; | ||
658 | }; | ||
659 | |||
660 | &sd3_clk { | ||
661 | samsung,pin-drv = <0>; | ||
662 | }; | ||
663 | |||
664 | &sd3_cmd { | ||
665 | samsung,pin-pud = <3>; | ||
666 | samsung,pin-drv = <0>; | ||
667 | }; | ||
668 | |||
669 | &spi_1 { | ||
670 | status = "okay"; | ||
671 | samsung,spi-src-clk = <0>; | ||
672 | num-cs = <1>; | ||
673 | cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; | ||
674 | }; | ||
675 | |||
676 | &usbdrd_dwc3 { | ||
677 | dr_mode = "host"; | ||
678 | }; | ||
679 | |||
680 | &usbdrd_phy { | ||
681 | vbus-supply = <&usb3_vbus_reg>; | ||
682 | }; | ||
683 | |||
684 | #include "cros-ec-keyboard.dtsi" | ||
diff --git a/arch/arm/boot/dts/exynos5250-snow-rev5.dts b/arch/arm/boot/dts/exynos5250-snow-rev5.dts new file mode 100644 index 000000000000..f811dc800660 --- /dev/null +++ b/arch/arm/boot/dts/exynos5250-snow-rev5.dts | |||
@@ -0,0 +1,47 @@ | |||
1 | /* | ||
2 | * Google Snow Rev 5+ board device tree source | ||
3 | * | ||
4 | * Copyright (c) 2012 Google, Inc | ||
5 | * Copyright (c) 2015 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 | /dts-v1/; | ||
14 | #include "exynos5250-snow-common.dtsi" | ||
15 | |||
16 | / { | ||
17 | model = "Google Snow Rev 5+"; | ||
18 | compatible = "google,snow-rev5", "samsung,exynos5250", | ||
19 | "samsung,exynos5"; | ||
20 | |||
21 | sound { | ||
22 | compatible = "google,snow-audio-max98090"; | ||
23 | |||
24 | samsung,model = "Snow-I2S-MAX98090"; | ||
25 | samsung,audio-codec = <&max98090>; | ||
26 | }; | ||
27 | }; | ||
28 | |||
29 | &i2c_7 { | ||
30 | max98090: codec@10 { | ||
31 | compatible = "maxim,max98090"; | ||
32 | reg = <0x10>; | ||
33 | interrupts = <4 IRQ_TYPE_NONE>; | ||
34 | interrupt-parent = <&gpx0>; | ||
35 | pinctrl-names = "default"; | ||
36 | pinctrl-0 = <&max98090_irq>; | ||
37 | }; | ||
38 | }; | ||
39 | |||
40 | &pinctrl_0 { | ||
41 | max98090_irq: max98090-irq { | ||
42 | samsung,pins = "gpx0-4"; | ||
43 | samsung,pin-function = <0>; | ||
44 | samsung,pin-pud = <0>; | ||
45 | samsung,pin-drv = <0>; | ||
46 | }; | ||
47 | }; | ||
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts index 0720caab5511..995c7ce6c12b 100644 --- a/arch/arm/boot/dts/exynos5250-snow.dts +++ b/arch/arm/boot/dts/exynos5250-snow.dts | |||
@@ -9,698 +9,35 @@ | |||
9 | */ | 9 | */ |
10 | 10 | ||
11 | /dts-v1/; | 11 | /dts-v1/; |
12 | #include <dt-bindings/gpio/gpio.h> | 12 | #include "exynos5250-snow-common.dtsi" |
13 | #include <dt-bindings/clock/maxim,max77686.h> | ||
14 | #include <dt-bindings/interrupt-controller/irq.h> | ||
15 | #include <dt-bindings/input/input.h> | ||
16 | #include "exynos5250.dtsi" | ||
17 | 13 | ||
18 | / { | 14 | / { |
19 | model = "Google Snow"; | 15 | model = "Google Snow"; |
20 | compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5"; | 16 | compatible = "google,snow-rev4", "google,snow", "samsung,exynos5250", |
21 | 17 | "samsung,exynos5"; | |
22 | aliases { | ||
23 | i2c104 = &i2c_104; | ||
24 | }; | ||
25 | |||
26 | memory { | ||
27 | reg = <0x40000000 0x80000000>; | ||
28 | }; | ||
29 | |||
30 | chosen { | ||
31 | bootargs = "console=tty1"; | ||
32 | stdout-path = "serial3:115200n8"; | ||
33 | }; | ||
34 | |||
35 | gpio-keys { | ||
36 | compatible = "gpio-keys"; | ||
37 | pinctrl-names = "default"; | ||
38 | pinctrl-0 = <&power_key_irq &lid_irq>; | ||
39 | |||
40 | power { | ||
41 | label = "Power"; | ||
42 | gpios = <&gpx1 3 GPIO_ACTIVE_LOW>; | ||
43 | linux,code = <KEY_POWER>; | ||
44 | gpio-key,wakeup; | ||
45 | }; | ||
46 | |||
47 | lid-switch { | ||
48 | label = "Lid"; | ||
49 | gpios = <&gpx3 5 GPIO_ACTIVE_LOW>; | ||
50 | linux,input-type = <5>; /* EV_SW */ | ||
51 | linux,code = <0>; /* SW_LID */ | ||
52 | debounce-interval = <1>; | ||
53 | gpio-key,wakeup; | ||
54 | }; | ||
55 | }; | ||
56 | |||
57 | vbat: vbat-fixed-regulator { | ||
58 | compatible = "regulator-fixed"; | ||
59 | regulator-name = "vbat-supply"; | ||
60 | regulator-boot-on; | ||
61 | }; | ||
62 | |||
63 | i2c-arbitrator { | ||
64 | compatible = "i2c-arb-gpio-challenge"; | ||
65 | #address-cells = <1>; | ||
66 | #size-cells = <0>; | ||
67 | |||
68 | i2c-parent = <&{/i2c@12CA0000}>; | ||
69 | |||
70 | our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>; | ||
71 | their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>; | ||
72 | slew-delay-us = <10>; | ||
73 | wait-retry-us = <3000>; | ||
74 | wait-free-us = <50000>; | ||
75 | |||
76 | pinctrl-names = "default"; | ||
77 | pinctrl-0 = <&arb_our_claim &arb_their_claim>; | ||
78 | |||
79 | /* Use ID 104 as a hint that we're on physical bus 4 */ | ||
80 | i2c_104: i2c@0 { | ||
81 | reg = <0>; | ||
82 | #address-cells = <1>; | ||
83 | #size-cells = <0>; | ||
84 | |||
85 | battery: sbs-battery@b { | ||
86 | compatible = "sbs,sbs-battery"; | ||
87 | reg = <0xb>; | ||
88 | sbs,poll-retry-count = <1>; | ||
89 | }; | ||
90 | |||
91 | cros_ec: embedded-controller { | ||
92 | compatible = "google,cros-ec-i2c"; | ||
93 | reg = <0x1e>; | ||
94 | interrupts = <6 IRQ_TYPE_NONE>; | ||
95 | interrupt-parent = <&gpx1>; | ||
96 | pinctrl-names = "default"; | ||
97 | pinctrl-0 = <&ec_irq>; | ||
98 | wakeup-source; | ||
99 | }; | ||
100 | |||
101 | power-regulator { | ||
102 | compatible = "ti,tps65090"; | ||
103 | reg = <0x48>; | ||
104 | |||
105 | /* | ||
106 | * Config irq to disable internal pulls | ||
107 | * even though we run in polling mode. | ||
108 | */ | ||
109 | pinctrl-names = "default"; | ||
110 | pinctrl-0 = <&tps65090_irq>; | ||
111 | |||
112 | vsys1-supply = <&vbat>; | ||
113 | vsys2-supply = <&vbat>; | ||
114 | vsys3-supply = <&vbat>; | ||
115 | infet1-supply = <&vbat>; | ||
116 | infet2-supply = <&vbat>; | ||
117 | infet3-supply = <&vbat>; | ||
118 | infet4-supply = <&vbat>; | ||
119 | infet5-supply = <&vbat>; | ||
120 | infet6-supply = <&vbat>; | ||
121 | infet7-supply = <&vbat>; | ||
122 | vsys-l1-supply = <&vbat>; | ||
123 | vsys-l2-supply = <&vbat>; | ||
124 | |||
125 | regulators { | ||
126 | dcdc1 { | ||
127 | ti,enable-ext-control; | ||
128 | }; | ||
129 | dcdc2 { | ||
130 | ti,enable-ext-control; | ||
131 | }; | ||
132 | dcdc3 { | ||
133 | ti,enable-ext-control; | ||
134 | }; | ||
135 | fet1: fet1 { | ||
136 | regulator-name = "vcd_led"; | ||
137 | ti,overcurrent-wait = <3>; | ||
138 | }; | ||
139 | tps65090_fet2: fet2 { | ||
140 | regulator-name = "video_mid"; | ||
141 | regulator-always-on; | ||
142 | ti,overcurrent-wait = <3>; | ||
143 | }; | ||
144 | fet3 { | ||
145 | regulator-name = "wwan_r"; | ||
146 | regulator-always-on; | ||
147 | ti,overcurrent-wait = <3>; | ||
148 | }; | ||
149 | fet4 { | ||
150 | regulator-name = "sdcard"; | ||
151 | ti,overcurrent-wait = <3>; | ||
152 | }; | ||
153 | fet5 { | ||
154 | regulator-name = "camout"; | ||
155 | regulator-always-on; | ||
156 | ti,overcurrent-wait = <3>; | ||
157 | }; | ||
158 | fet6: fet6 { | ||
159 | regulator-name = "lcd_vdd"; | ||
160 | ti,overcurrent-wait = <3>; | ||
161 | }; | ||
162 | tps65090_fet7: fet7 { | ||
163 | regulator-name = "video_mid_1a"; | ||
164 | regulator-always-on; | ||
165 | ti,overcurrent-wait = <3>; | ||
166 | }; | ||
167 | ldo1 { | ||
168 | }; | ||
169 | ldo2 { | ||
170 | }; | ||
171 | }; | ||
172 | |||
173 | charger { | ||
174 | compatible = "ti,tps65090-charger"; | ||
175 | }; | ||
176 | }; | ||
177 | }; | ||
178 | }; | ||
179 | 18 | ||
180 | sound { | 19 | sound { |
181 | compatible = "google,snow-audio-max98095"; | 20 | compatible = "google,snow-audio-max98095"; |
182 | 21 | ||
183 | samsung,model = "Snow-I2S-MAX98095"; | 22 | samsung,model = "Snow-I2S-MAX98095"; |
184 | samsung,i2s-controller = <&i2s0>; | ||
185 | samsung,audio-codec = <&max98095>; | 23 | samsung,audio-codec = <&max98095>; |
186 | }; | 24 | }; |
187 | |||
188 | usb3_vbus_reg: regulator-usb3 { | ||
189 | compatible = "regulator-fixed"; | ||
190 | regulator-name = "P5.0V_USB3CON"; | ||
191 | regulator-min-microvolt = <5000000>; | ||
192 | regulator-max-microvolt = <5000000>; | ||
193 | gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>; | ||
194 | pinctrl-names = "default"; | ||
195 | pinctrl-0 = <&usb3_vbus_en>; | ||
196 | enable-active-high; | ||
197 | }; | ||
198 | |||
199 | fixed-rate-clocks { | ||
200 | xxti { | ||
201 | compatible = "samsung,clock-xxti"; | ||
202 | clock-frequency = <24000000>; | ||
203 | }; | ||
204 | }; | ||
205 | |||
206 | backlight: backlight { | ||
207 | compatible = "pwm-backlight"; | ||
208 | pwms = <&pwm 0 1000000 0>; | ||
209 | brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; | ||
210 | default-brightness-level = <7>; | ||
211 | enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>; | ||
212 | power-supply = <&fet1>; | ||
213 | pinctrl-0 = <&pwm0_out>; | ||
214 | pinctrl-names = "default"; | ||
215 | }; | ||
216 | |||
217 | panel: panel { | ||
218 | compatible = "auo,b116xw03"; | ||
219 | power-supply = <&fet6>; | ||
220 | backlight = <&backlight>; | ||
221 | |||
222 | port { | ||
223 | panel_in: endpoint { | ||
224 | remote-endpoint = <&bridge_out>; | ||
225 | }; | ||
226 | }; | ||
227 | }; | ||
228 | |||
229 | mmc3_pwrseq: mmc3_pwrseq { | ||
230 | compatible = "mmc-pwrseq-simple"; | ||
231 | reset-gpios = <&gpx0 2 GPIO_ACTIVE_LOW>, /* WIFI_RSTn */ | ||
232 | <&gpx0 1 GPIO_ACTIVE_LOW>; /* WIFI_EN */ | ||
233 | clocks = <&max77686 MAX77686_CLK_PMIC>; | ||
234 | clock-names = "ext_clock"; | ||
235 | }; | ||
236 | }; | ||
237 | |||
238 | &cpu0 { | ||
239 | cpu0-supply = <&buck2_reg>; | ||
240 | }; | ||
241 | |||
242 | &dp { | ||
243 | status = "okay"; | ||
244 | pinctrl-names = "default"; | ||
245 | pinctrl-0 = <&dp_hpd>; | ||
246 | samsung,color-space = <0>; | ||
247 | samsung,dynamic-range = <0>; | ||
248 | samsung,ycbcr-coeff = <0>; | ||
249 | samsung,color-depth = <1>; | ||
250 | samsung,link-rate = <0x0a>; | ||
251 | samsung,lane-count = <2>; | ||
252 | samsung,hpd-gpio = <&gpx0 7 GPIO_ACTIVE_HIGH>; | ||
253 | |||
254 | ports { | ||
255 | port@0 { | ||
256 | dp_out: endpoint { | ||
257 | remote-endpoint = <&bridge_in>; | ||
258 | }; | ||
259 | }; | ||
260 | }; | ||
261 | }; | ||
262 | |||
263 | &ehci { | ||
264 | samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>; | ||
265 | }; | ||
266 | |||
267 | &fimd { | ||
268 | status = "okay"; | ||
269 | samsung,invert-vclk; | ||
270 | }; | ||
271 | |||
272 | &hdmi { | ||
273 | hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>; | ||
274 | pinctrl-names = "default"; | ||
275 | pinctrl-0 = <&hdmi_hpd_irq>; | ||
276 | phy = <&hdmiphy>; | ||
277 | ddc = <&i2c_2>; | ||
278 | hdmi-en-supply = <&tps65090_fet7>; | ||
279 | vdd-supply = <&ldo8_reg>; | ||
280 | vdd_osc-supply = <&ldo10_reg>; | ||
281 | vdd_pll-supply = <&ldo8_reg>; | ||
282 | }; | ||
283 | |||
284 | &i2c_0 { | ||
285 | status = "okay"; | ||
286 | samsung,i2c-sda-delay = <100>; | ||
287 | samsung,i2c-max-bus-freq = <378000>; | ||
288 | |||
289 | max77686: max77686@09 { | ||
290 | compatible = "maxim,max77686"; | ||
291 | interrupt-parent = <&gpx3>; | ||
292 | interrupts = <2 IRQ_TYPE_NONE>; | ||
293 | pinctrl-names = "default"; | ||
294 | pinctrl-0 = <&max77686_irq>; | ||
295 | wakeup-source; | ||
296 | reg = <0x09>; | ||
297 | #clock-cells = <1>; | ||
298 | |||
299 | voltage-regulators { | ||
300 | ldo1_reg: LDO1 { | ||
301 | regulator-name = "P1.0V_LDO_OUT1"; | ||
302 | regulator-min-microvolt = <1000000>; | ||
303 | regulator-max-microvolt = <1000000>; | ||
304 | regulator-always-on; | ||
305 | }; | ||
306 | |||
307 | ldo2_reg: LDO2 { | ||
308 | regulator-name = "P1.8V_LDO_OUT2"; | ||
309 | regulator-min-microvolt = <1800000>; | ||
310 | regulator-max-microvolt = <1800000>; | ||
311 | regulator-always-on; | ||
312 | }; | ||
313 | |||
314 | ldo3_reg: LDO3 { | ||
315 | regulator-name = "P1.8V_LDO_OUT3"; | ||
316 | regulator-min-microvolt = <1800000>; | ||
317 | regulator-max-microvolt = <1800000>; | ||
318 | regulator-always-on; | ||
319 | }; | ||
320 | |||
321 | ldo7_reg: LDO7 { | ||
322 | regulator-name = "P1.1V_LDO_OUT7"; | ||
323 | regulator-min-microvolt = <1100000>; | ||
324 | regulator-max-microvolt = <1100000>; | ||
325 | regulator-always-on; | ||
326 | }; | ||
327 | |||
328 | ldo8_reg: LDO8 { | ||
329 | regulator-name = "P1.0V_LDO_OUT8"; | ||
330 | regulator-min-microvolt = <1000000>; | ||
331 | regulator-max-microvolt = <1000000>; | ||
332 | regulator-always-on; | ||
333 | }; | ||
334 | |||
335 | ldo10_reg: LDO10 { | ||
336 | regulator-name = "P1.8V_LDO_OUT10"; | ||
337 | regulator-min-microvolt = <1800000>; | ||
338 | regulator-max-microvolt = <1800000>; | ||
339 | regulator-always-on; | ||
340 | }; | ||
341 | |||
342 | ldo12_reg: LDO12 { | ||
343 | regulator-name = "P3.0V_LDO_OUT12"; | ||
344 | regulator-min-microvolt = <3000000>; | ||
345 | regulator-max-microvolt = <3000000>; | ||
346 | regulator-always-on; | ||
347 | }; | ||
348 | |||
349 | ldo14_reg: LDO14 { | ||
350 | regulator-name = "P1.8V_LDO_OUT14"; | ||
351 | regulator-min-microvolt = <1800000>; | ||
352 | regulator-max-microvolt = <1800000>; | ||
353 | regulator-always-on; | ||
354 | }; | ||
355 | |||
356 | ldo15_reg: LDO15 { | ||
357 | regulator-name = "P1.0V_LDO_OUT15"; | ||
358 | regulator-min-microvolt = <1000000>; | ||
359 | regulator-max-microvolt = <1000000>; | ||
360 | regulator-always-on; | ||
361 | }; | ||
362 | |||
363 | ldo16_reg: LDO16 { | ||
364 | regulator-name = "P1.8V_LDO_OUT16"; | ||
365 | regulator-min-microvolt = <1800000>; | ||
366 | regulator-max-microvolt = <1800000>; | ||
367 | regulator-always-on; | ||
368 | }; | ||
369 | |||
370 | buck1_reg: BUCK1 { | ||
371 | regulator-name = "vdd_mif"; | ||
372 | regulator-min-microvolt = <950000>; | ||
373 | regulator-max-microvolt = <1300000>; | ||
374 | regulator-always-on; | ||
375 | regulator-boot-on; | ||
376 | }; | ||
377 | |||
378 | buck2_reg: BUCK2 { | ||
379 | regulator-name = "vdd_arm"; | ||
380 | regulator-min-microvolt = <850000>; | ||
381 | regulator-max-microvolt = <1350000>; | ||
382 | regulator-always-on; | ||
383 | regulator-boot-on; | ||
384 | }; | ||
385 | |||
386 | buck3_reg: BUCK3 { | ||
387 | regulator-name = "vdd_int"; | ||
388 | regulator-min-microvolt = <900000>; | ||
389 | regulator-max-microvolt = <1200000>; | ||
390 | regulator-always-on; | ||
391 | regulator-boot-on; | ||
392 | }; | ||
393 | |||
394 | buck4_reg: BUCK4 { | ||
395 | regulator-name = "vdd_g3d"; | ||
396 | regulator-min-microvolt = <850000>; | ||
397 | regulator-max-microvolt = <1300000>; | ||
398 | regulator-always-on; | ||
399 | regulator-boot-on; | ||
400 | }; | ||
401 | |||
402 | buck5_reg: BUCK5 { | ||
403 | regulator-name = "P1.8V_BUCK_OUT5"; | ||
404 | regulator-min-microvolt = <1800000>; | ||
405 | regulator-max-microvolt = <1800000>; | ||
406 | regulator-always-on; | ||
407 | regulator-boot-on; | ||
408 | }; | ||
409 | |||
410 | buck6_reg: BUCK6 { | ||
411 | regulator-name = "P1.35V_BUCK_OUT6"; | ||
412 | regulator-min-microvolt = <1350000>; | ||
413 | regulator-max-microvolt = <1350000>; | ||
414 | regulator-always-on; | ||
415 | }; | ||
416 | |||
417 | buck7_reg: BUCK7 { | ||
418 | regulator-name = "P2.0V_BUCK_OUT7"; | ||
419 | regulator-min-microvolt = <2000000>; | ||
420 | regulator-max-microvolt = <2000000>; | ||
421 | regulator-always-on; | ||
422 | }; | ||
423 | |||
424 | buck8_reg: BUCK8 { | ||
425 | regulator-name = "P2.85V_BUCK_OUT8"; | ||
426 | regulator-min-microvolt = <2850000>; | ||
427 | regulator-max-microvolt = <2850000>; | ||
428 | regulator-always-on; | ||
429 | }; | ||
430 | }; | ||
431 | }; | ||
432 | }; | ||
433 | |||
434 | &i2c_1 { | ||
435 | status = "okay"; | ||
436 | samsung,i2c-sda-delay = <100>; | ||
437 | samsung,i2c-max-bus-freq = <378000>; | ||
438 | |||
439 | trackpad { | ||
440 | reg = <0x67>; | ||
441 | compatible = "cypress,cyapa"; | ||
442 | interrupts = <2 IRQ_TYPE_NONE>; | ||
443 | interrupt-parent = <&gpx1>; | ||
444 | wakeup-source; | ||
445 | }; | ||
446 | }; | ||
447 | |||
448 | /* | ||
449 | * Disabled pullups since external part has its own pullups and | ||
450 | * double-pulling gets us out of spec in some cases. | ||
451 | */ | ||
452 | &i2c2_bus { | ||
453 | samsung,pin-pud = <0>; | ||
454 | }; | ||
455 | |||
456 | &i2c_2 { | ||
457 | status = "okay"; | ||
458 | samsung,i2c-sda-delay = <100>; | ||
459 | samsung,i2c-max-bus-freq = <66000>; | ||
460 | |||
461 | hdmiddc@50 { | ||
462 | compatible = "samsung,exynos4210-hdmiddc"; | ||
463 | reg = <0x50>; | ||
464 | }; | ||
465 | }; | ||
466 | |||
467 | &i2c_3 { | ||
468 | status = "okay"; | ||
469 | samsung,i2c-sda-delay = <100>; | ||
470 | samsung,i2c-max-bus-freq = <66000>; | ||
471 | }; | ||
472 | |||
473 | &i2c_4 { | ||
474 | status = "okay"; | ||
475 | samsung,i2c-sda-delay = <100>; | ||
476 | samsung,i2c-max-bus-freq = <66000>; | ||
477 | }; | ||
478 | |||
479 | &i2c_5 { | ||
480 | status = "okay"; | ||
481 | samsung,i2c-sda-delay = <100>; | ||
482 | samsung,i2c-max-bus-freq = <66000>; | ||
483 | }; | 25 | }; |
484 | 26 | ||
485 | &i2c_7 { | 27 | &i2c_7 { |
486 | status = "okay"; | ||
487 | samsung,i2c-sda-delay = <100>; | ||
488 | samsung,i2c-max-bus-freq = <66000>; | ||
489 | |||
490 | ptn3460: lvds-bridge@20 { | ||
491 | compatible = "nxp,ptn3460"; | ||
492 | reg = <0x20>; | ||
493 | powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>; | ||
494 | reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>; | ||
495 | edid-emulation = <5>; | ||
496 | |||
497 | ports { | ||
498 | port@0 { | ||
499 | bridge_out: endpoint { | ||
500 | remote-endpoint = <&panel_in>; | ||
501 | }; | ||
502 | }; | ||
503 | |||
504 | port@1 { | ||
505 | bridge_in: endpoint { | ||
506 | remote-endpoint = <&dp_out>; | ||
507 | }; | ||
508 | }; | ||
509 | }; | ||
510 | }; | ||
511 | |||
512 | max98095: codec@11 { | 28 | max98095: codec@11 { |
513 | compatible = "maxim,max98095"; | 29 | compatible = "maxim,max98095"; |
514 | reg = <0x11>; | 30 | reg = <0x11>; |
515 | pinctrl-0 = <&max98095_en>; | ||
516 | pinctrl-names = "default"; | 31 | pinctrl-names = "default"; |
32 | pinctrl-0 = <&max98095_en>; | ||
517 | }; | 33 | }; |
518 | }; | 34 | }; |
519 | 35 | ||
520 | &i2c_8 { | ||
521 | status = "okay"; | ||
522 | samsung,i2c-sda-delay = <100>; | ||
523 | samsung,i2c-max-bus-freq = <378000>; | ||
524 | |||
525 | hdmiphy: hdmiphy@38 { | ||
526 | compatible = "samsung,exynos4212-hdmiphy"; | ||
527 | reg = <0x38>; | ||
528 | }; | ||
529 | }; | ||
530 | |||
531 | &i2s0 { | ||
532 | status = "okay"; | ||
533 | }; | ||
534 | |||
535 | &mmc_0 { | ||
536 | status = "okay"; | ||
537 | num-slots = <1>; | ||
538 | broken-cd; | ||
539 | card-detect-delay = <200>; | ||
540 | samsung,dw-mshc-ciu-div = <3>; | ||
541 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
542 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
543 | pinctrl-names = "default"; | ||
544 | pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>; | ||
545 | bus-width = <8>; | ||
546 | cap-mmc-highspeed; | ||
547 | }; | ||
548 | |||
549 | &mmc_2 { | ||
550 | status = "okay"; | ||
551 | num-slots = <1>; | ||
552 | card-detect-delay = <200>; | ||
553 | samsung,dw-mshc-ciu-div = <3>; | ||
554 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
555 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
556 | pinctrl-names = "default"; | ||
557 | pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; | ||
558 | bus-width = <4>; | ||
559 | wp-gpios = <&gpc2 1 GPIO_ACTIVE_HIGH>; | ||
560 | cap-sd-highspeed; | ||
561 | }; | ||
562 | |||
563 | /* | ||
564 | * On Snow we've got SIP WiFi and so can keep drive strengths low to | ||
565 | * reduce EMI. | ||
566 | */ | ||
567 | &mmc_3 { | ||
568 | status = "okay"; | ||
569 | num-slots = <1>; | ||
570 | broken-cd; | ||
571 | cap-sdio-irq; | ||
572 | keep-power-in-suspend; | ||
573 | card-detect-delay = <200>; | ||
574 | samsung,dw-mshc-ciu-div = <3>; | ||
575 | samsung,dw-mshc-sdr-timing = <2 3>; | ||
576 | samsung,dw-mshc-ddr-timing = <1 2>; | ||
577 | pinctrl-names = "default"; | ||
578 | pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4 &wifi_en &wifi_rst>; | ||
579 | bus-width = <4>; | ||
580 | cap-sd-highspeed; | ||
581 | mmc-pwrseq = <&mmc3_pwrseq>; | ||
582 | }; | ||
583 | |||
584 | &pinctrl_0 { | 36 | &pinctrl_0 { |
585 | wifi_en: wifi-en { | ||
586 | samsung,pins = "gpx0-1"; | ||
587 | samsung,pin-function = <1>; | ||
588 | samsung,pin-pud = <0>; | ||
589 | samsung,pin-drv = <0>; | ||
590 | }; | ||
591 | |||
592 | wifi_rst: wifi-rst { | ||
593 | samsung,pins = "gpx0-2"; | ||
594 | samsung,pin-function = <1>; | ||
595 | samsung,pin-pud = <0>; | ||
596 | samsung,pin-drv = <0>; | ||
597 | }; | ||
598 | |||
599 | power_key_irq: power-key-irq { | ||
600 | samsung,pins = "gpx1-3"; | ||
601 | samsung,pin-function = <0xf>; | ||
602 | samsung,pin-pud = <0>; | ||
603 | samsung,pin-drv = <0>; | ||
604 | }; | ||
605 | |||
606 | ec_irq: ec-irq { | ||
607 | samsung,pins = "gpx1-6"; | ||
608 | samsung,pin-function = <0>; | ||
609 | samsung,pin-pud = <0>; | ||
610 | samsung,pin-drv = <0>; | ||
611 | }; | ||
612 | |||
613 | max98095_en: max98095-en { | 37 | max98095_en: max98095-en { |
614 | samsung,pins = "gpx1-7"; | 38 | samsung,pins = "gpx1-7"; |
615 | samsung,pin-function = <0>; | 39 | samsung,pin-function = <0>; |
616 | samsung,pin-pud = <3>; | 40 | samsung,pin-pud = <3>; |
617 | samsung,pin-drv = <0>; | 41 | samsung,pin-drv = <0>; |
618 | }; | 42 | }; |
619 | |||
620 | tps65090_irq: tps65090-irq { | ||
621 | samsung,pins = "gpx2-6"; | ||
622 | samsung,pin-function = <0>; | ||
623 | samsung,pin-pud = <0>; | ||
624 | samsung,pin-drv = <0>; | ||
625 | }; | ||
626 | |||
627 | usb3_vbus_en: usb3-vbus-en { | ||
628 | samsung,pins = "gpx2-7"; | ||
629 | samsung,pin-function = <1>; | ||
630 | samsung,pin-pud = <0>; | ||
631 | samsung,pin-drv = <0>; | ||
632 | }; | ||
633 | |||
634 | max77686_irq: max77686-irq { | ||
635 | samsung,pins = "gpx3-2"; | ||
636 | samsung,pin-function = <0>; | ||
637 | samsung,pin-pud = <0>; | ||
638 | samsung,pin-drv = <0>; | ||
639 | }; | ||
640 | |||
641 | lid_irq: lid-irq { | ||
642 | samsung,pins = "gpx3-5"; | ||
643 | samsung,pin-function = <0xf>; | ||
644 | samsung,pin-pud = <0>; | ||
645 | samsung,pin-drv = <0>; | ||
646 | }; | ||
647 | |||
648 | hdmi_hpd_irq: hdmi-hpd-irq { | ||
649 | samsung,pins = "gpx3-7"; | ||
650 | samsung,pin-function = <0>; | ||
651 | samsung,pin-pud = <1>; | ||
652 | samsung,pin-drv = <0>; | ||
653 | }; | ||
654 | }; | ||
655 | |||
656 | &pinctrl_1 { | ||
657 | arb_their_claim: arb-their-claim { | ||
658 | samsung,pins = "gpe0-4"; | ||
659 | samsung,pin-function = <0>; | ||
660 | samsung,pin-pud = <3>; | ||
661 | samsung,pin-drv = <0>; | ||
662 | }; | ||
663 | |||
664 | arb_our_claim: arb-our-claim { | ||
665 | samsung,pins = "gpf0-3"; | ||
666 | samsung,pin-function = <1>; | ||
667 | samsung,pin-pud = <0>; | ||
668 | samsung,pin-drv = <0>; | ||
669 | }; | ||
670 | }; | 43 | }; |
671 | |||
672 | &rtc { | ||
673 | status = "okay"; | ||
674 | clocks = <&clock CLK_RTC>, <&max77686 MAX77686_CLK_AP>; | ||
675 | clock-names = "rtc", "rtc_src"; | ||
676 | }; | ||
677 | |||
678 | &sd3_bus4 { | ||
679 | samsung,pin-drv = <0>; | ||
680 | }; | ||
681 | |||
682 | &sd3_clk { | ||
683 | samsung,pin-drv = <0>; | ||
684 | }; | ||
685 | |||
686 | &sd3_cmd { | ||
687 | samsung,pin-pud = <3>; | ||
688 | samsung,pin-drv = <0>; | ||
689 | }; | ||
690 | |||
691 | &spi_1 { | ||
692 | status = "okay"; | ||
693 | samsung,spi-src-clk = <0>; | ||
694 | num-cs = <1>; | ||
695 | cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>; | ||
696 | }; | ||
697 | |||
698 | &usbdrd_dwc3 { | ||
699 | dr_mode = "host"; | ||
700 | }; | ||
701 | |||
702 | &usbdrd_phy { | ||
703 | vbus-supply = <&usb3_vbus_reg>; | ||
704 | }; | ||
705 | |||
706 | #include "cros-ec-keyboard.dtsi" | ||