aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2014-09-25 18:51:53 -0400
committerArnd Bergmann <arnd@arndb.de>2014-09-25 18:51:53 -0400
commit01eacbb84c29db2fb9a844b88f7d4874ed565d11 (patch)
tree99a643c08e46fd444f27bd30a290c37b7a169144
parent8446cef1ca030792bae45dd3d7cd8bbbb96c7e62 (diff)
parent9b02732643d9f4b92b14f5ec041c166bd36033fc (diff)
Merge tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/dt
Pull "Samsung DT update for 3.18" from Kukjin Kim: - un-use slot-node and deprecate the supports-highspped for dw-mmc - remove old USB2 PHY node for exynos5250 - exynos4412-odroid-common enable PMIC interrupt and i2c improvements - exynos5250-snow fold exynos5250-cros-common update display related nodes - Peach Pit and Pi improve power scheme, add support max77802 PMIC, add hdmi regulators add thermistor, ISL29018 sensor, set i2c clock at 400kHz, add support Atmel touchpad, update display related nodes Signed-off-by: Arnd Bergmann <arnd@arndb.de> * tag 'samsung-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: ARM: dts: remove old USB2 PHY node for exynos5250 ARM: dts: remove old USB2 PHY node hook for exynos5250-arndale ARM: dts: update display related nodes for exynos5800-peach-pi ARM: dts: update display related nodes for exynos5420-peach-pit ARM: dts: update display related nodes for exynos5250-snow ARM: dts: Add support Atmel touchpad for exynos5800-peach-pi ARM: dts: Add support Atmel touchpad for exynos5420-peach-pit ARM: dts: Set i2c7 clock at 400kHz for exynos based Peach boards ARM: dts: Add ISL29018 sensor for exynos based Peach boards ARM: dts: Add thermistor dts fragment used by exynos based Peach boards ARM: dts: add hdmi regulators for exynos5420-peach-pit ARM: dts: add hdmi regulators for exynos5800-peach-pi ARM: dts: Add support max77802 PMIC for exynos based Peach boards ARM: dts: Improve Peach Pit and Pi power scheme ARM: dts: unuse the slot-node and deprecate the supports-highspeed for dw-mmc in exynos ARM: dts: Fold exynos5250-cros-common into exynos5250-snow ARM: dts: Fix MMC pinctrl for exynos5250-snow ARM: dts: ODROID i2c improvements for exynos4412-odroid-common ARM: dts: Enable PMIC interrupts for exynos4412-odroid-common
-rw-r--r--arch/arm/boot/dts/cros-adc-thermistors.dtsi44
-rw-r--r--arch/arm/boot/dts/exynos4412-odroid-common.dtsi8
-rw-r--r--arch/arm/boot/dts/exynos4412-origen.dts8
-rw-r--r--arch/arm/boot/dts/exynos4412-trats2.dts8
-rw-r--r--arch/arm/boot/dts/exynos5250-arndale.dts22
-rw-r--r--arch/arm/boot/dts/exynos5250-cros-common.dtsi164
-rw-r--r--arch/arm/boot/dts/exynos5250-smdk5250.dts18
-rw-r--r--arch/arm/boot/dts/exynos5250-snow.dts195
-rw-r--r--arch/arm/boot/dts/exynos5250.dtsi15
-rw-r--r--arch/arm/boot/dts/exynos5260-xyref5260.dts18
-rw-r--r--arch/arm/boot/dts/exynos5410-smdk5410.dts18
-rw-r--r--arch/arm/boot/dts/exynos5420-arndale-octa.dts16
-rw-r--r--arch/arm/boot/dts/exynos5420-peach-pit.dts482
-rw-r--r--arch/arm/boot/dts/exynos5420-smdk5420.dts16
-rw-r--r--arch/arm/boot/dts/exynos5800-peach-pi.dts472
15 files changed, 1117 insertions, 387 deletions
diff --git a/arch/arm/boot/dts/cros-adc-thermistors.dtsi b/arch/arm/boot/dts/cros-adc-thermistors.dtsi
new file mode 100644
index 000000000000..acd4fe1833f2
--- /dev/null
+++ b/arch/arm/boot/dts/cros-adc-thermistors.dtsi
@@ -0,0 +1,44 @@
1/*
2 * Thermistor dts fragment for devices that use Thermistors as
3 * children of the IIO based ADC.
4 *
5 * Currently, used by Exynos5420 based Peach PIT and
6 * Exynos5800 based Peach PI.
7 *
8 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
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&adc {
16 ncp15wb473@3 {
17 compatible = "murata,ncp15wb473";
18 pullup-uv = <1800000>;
19 pullup-ohm = <47000>;
20 pulldown-ohm = <0>;
21 io-channels = <&adc 3>;
22 };
23 ncp15wb473@4 {
24 compatible = "murata,ncp15wb473";
25 pullup-uv = <1800000>;
26 pullup-ohm = <47000>;
27 pulldown-ohm = <0>;
28 io-channels = <&adc 4>;
29 };
30 ncp15wb473@5 {
31 compatible = "murata,ncp15wb473";
32 pullup-uv = <1800000>;
33 pullup-ohm = <47000>;
34 pulldown-ohm = <0>;
35 io-channels = <&adc 5>;
36 };
37 ncp15wb473@6 {
38 compatible = "murata,ncp15wb473";
39 pullup-uv = <1800000>;
40 pullup-ohm = <47000>;
41 pulldown-ohm = <0>;
42 io-channels = <&adc 6>;
43 };
44};
diff --git a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
index adadaf97ac01..c697ff01ae8d 100644
--- a/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
+++ b/arch/arm/boot/dts/exynos4412-odroid-common.dtsi
@@ -54,17 +54,13 @@
54 status = "okay"; 54 status = "okay";
55 55
56 num-slots = <1>; 56 num-slots = <1>;
57 supports-highspeed;
58 broken-cd; 57 broken-cd;
59 card-detect-delay = <200>; 58 card-detect-delay = <200>;
60 samsung,dw-mshc-ciu-div = <3>; 59 samsung,dw-mshc-ciu-div = <3>;
61 samsung,dw-mshc-sdr-timing = <2 3>; 60 samsung,dw-mshc-sdr-timing = <2 3>;
62 samsung,dw-mshc-ddr-timing = <1 2>; 61 samsung,dw-mshc-ddr-timing = <1 2>;
63 62 bus-width = <8>;
64 slot@0 { 63 cap-mmc-highspeed;
65 reg = <0>;
66 bus-width = <8>;
67 };
68 }; 64 };
69 65
70 watchdog@10060000 { 66 watchdog@10060000 {
diff --git a/arch/arm/boot/dts/exynos4412-origen.dts b/arch/arm/boot/dts/exynos4412-origen.dts
index e925c9fbfb07..de15114fd07c 100644
--- a/arch/arm/boot/dts/exynos4412-origen.dts
+++ b/arch/arm/boot/dts/exynos4412-origen.dts
@@ -137,17 +137,13 @@
137 status = "okay"; 137 status = "okay";
138 138
139 num-slots = <1>; 139 num-slots = <1>;
140 supports-highspeed;
141 broken-cd; 140 broken-cd;
142 card-detect-delay = <200>; 141 card-detect-delay = <200>;
143 samsung,dw-mshc-ciu-div = <3>; 142 samsung,dw-mshc-ciu-div = <3>;
144 samsung,dw-mshc-sdr-timing = <2 3>; 143 samsung,dw-mshc-sdr-timing = <2 3>;
145 samsung,dw-mshc-ddr-timing = <1 2>; 144 samsung,dw-mshc-ddr-timing = <1 2>;
146 145 bus-width = <8>;
147 slot@0 { 146 cap-mmc-highspeed;
148 reg = <0>;
149 bus-width = <8>;
150 };
151 }; 147 };
152 148
153 codec@13400000 { 149 codec@13400000 {
diff --git a/arch/arm/boot/dts/exynos4412-trats2.dts b/arch/arm/boot/dts/exynos4412-trats2.dts
index 11967f4561e0..5e066cd87f66 100644
--- a/arch/arm/boot/dts/exynos4412-trats2.dts
+++ b/arch/arm/boot/dts/exynos4412-trats2.dts
@@ -520,7 +520,6 @@
520 520
521 mmc@12550000 { 521 mmc@12550000 {
522 num-slots = <1>; 522 num-slots = <1>;
523 supports-highspeed;
524 broken-cd; 523 broken-cd;
525 non-removable; 524 non-removable;
526 card-detect-delay = <200>; 525 card-detect-delay = <200>;
@@ -532,11 +531,8 @@
532 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>; 531 pinctrl-0 = <&sd4_clk &sd4_cmd &sd4_bus4 &sd4_bus8>;
533 pinctrl-names = "default"; 532 pinctrl-names = "default";
534 status = "okay"; 533 status = "okay";
535 534 bus-width = <8>;
536 slot@0 { 535 cap-mmc-highspeed;
537 reg = <0>;
538 bus-width = <8>;
539 };
540 }; 536 };
541 537
542 serial@13800000 { 538 serial@13800000 {
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
index d0de1f50d15b..3acd97eb6630 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -401,7 +401,6 @@
401 mmc_0: mmc@12200000 { 401 mmc_0: mmc@12200000 {
402 status = "okay"; 402 status = "okay";
403 num-slots = <1>; 403 num-slots = <1>;
404 supports-highspeed;
405 broken-cd; 404 broken-cd;
406 card-detect-delay = <200>; 405 card-detect-delay = <200>;
407 samsung,dw-mshc-ciu-div = <3>; 406 samsung,dw-mshc-ciu-div = <3>;
@@ -410,17 +409,13 @@
410 vmmc-supply = <&mmc_reg>; 409 vmmc-supply = <&mmc_reg>;
411 pinctrl-names = "default"; 410 pinctrl-names = "default";
412 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 411 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
413 412 bus-width = <8>;
414 slot@0 { 413 cap-mmc-highspeed;
415 reg = <0>;
416 bus-width = <8>;
417 };
418 }; 414 };
419 415
420 mmc_2: mmc@12220000 { 416 mmc_2: mmc@12220000 {
421 status = "okay"; 417 status = "okay";
422 num-slots = <1>; 418 num-slots = <1>;
423 supports-highspeed;
424 card-detect-delay = <200>; 419 card-detect-delay = <200>;
425 samsung,dw-mshc-ciu-div = <3>; 420 samsung,dw-mshc-ciu-div = <3>;
426 samsung,dw-mshc-sdr-timing = <2 3>; 421 samsung,dw-mshc-sdr-timing = <2 3>;
@@ -428,12 +423,9 @@
428 vmmc-supply = <&mmc_reg>; 423 vmmc-supply = <&mmc_reg>;
429 pinctrl-names = "default"; 424 pinctrl-names = "default";
430 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 425 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
431 426 bus-width = <4>;
432 slot@0 { 427 disable-wp;
433 reg = <0>; 428 cap-sd-highspeed;
434 bus-width = <4>;
435 disable-wp;
436 };
437 }; 429 };
438 430
439 i2s0: i2s@03830000 { 431 i2s0: i2s@03830000 {
@@ -570,8 +562,4 @@
570 connect-gpios = <&gpd1 7 1>; 562 connect-gpios = <&gpd1 7 1>;
571 }; 563 };
572 }; 564 };
573
574 usb@12110000 {
575 usb-phy = <&usb2_phy>;
576 };
577}; 565};
diff --git a/arch/arm/boot/dts/exynos5250-cros-common.dtsi b/arch/arm/boot/dts/exynos5250-cros-common.dtsi
deleted file mode 100644
index e603e9c70142..000000000000
--- a/arch/arm/boot/dts/exynos5250-cros-common.dtsi
+++ /dev/null
@@ -1,164 +0,0 @@
1/*
2 * Common device tree include for all Exynos 5250 boards based off of Daisy.
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/ {
12 aliases {
13 };
14
15 memory {
16 reg = <0x40000000 0x80000000>;
17 };
18
19 chosen {
20 };
21
22 pinctrl@11400000 {
23 /*
24 * Disabled pullups since external part has its own pullups and
25 * double-pulling gets us out of spec in some cases.
26 */
27 i2c2_bus: i2c2-bus {
28 samsung,pin-pud = <0>;
29 };
30 };
31
32 i2c@12C60000 {
33 status = "okay";
34 samsung,i2c-sda-delay = <100>;
35 samsung,i2c-max-bus-freq = <378000>;
36 };
37
38 i2c@12C70000 {
39 status = "okay";
40 samsung,i2c-sda-delay = <100>;
41 samsung,i2c-max-bus-freq = <378000>;
42 };
43
44 i2c@12C80000 {
45 status = "okay";
46 samsung,i2c-sda-delay = <100>;
47 samsung,i2c-max-bus-freq = <66000>;
48
49 hdmiddc@50 {
50 compatible = "samsung,exynos4210-hdmiddc";
51 reg = <0x50>;
52 };
53 };
54
55 i2c@12C90000 {
56 status = "okay";
57 samsung,i2c-sda-delay = <100>;
58 samsung,i2c-max-bus-freq = <66000>;
59 };
60
61 i2c@12CA0000 {
62 status = "okay";
63 samsung,i2c-sda-delay = <100>;
64 samsung,i2c-max-bus-freq = <66000>;
65 };
66
67 i2c@12CB0000 {
68 status = "okay";
69 samsung,i2c-sda-delay = <100>;
70 samsung,i2c-max-bus-freq = <66000>;
71 };
72
73 i2c@12CD0000 {
74 status = "okay";
75 samsung,i2c-sda-delay = <100>;
76 samsung,i2c-max-bus-freq = <66000>;
77 };
78
79 i2c@12CE0000 {
80 status = "okay";
81 samsung,i2c-sda-delay = <100>;
82 samsung,i2c-max-bus-freq = <378000>;
83
84 hdmiphy: hdmiphy@38 {
85 compatible = "samsung,exynos4212-hdmiphy";
86 reg = <0x38>;
87 };
88 };
89
90 mmc@12200000 {
91 num-slots = <1>;
92 supports-highspeed;
93 broken-cd;
94 card-detect-delay = <200>;
95 samsung,dw-mshc-ciu-div = <3>;
96 samsung,dw-mshc-sdr-timing = <2 3>;
97 samsung,dw-mshc-ddr-timing = <1 2>;
98 pinctrl-names = "default";
99 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
100
101 slot@0 {
102 reg = <0>;
103 bus-width = <8>;
104 };
105 };
106
107 mmc@12220000 {
108 num-slots = <1>;
109 supports-highspeed;
110 card-detect-delay = <200>;
111 samsung,dw-mshc-ciu-div = <3>;
112 samsung,dw-mshc-sdr-timing = <2 3>;
113 samsung,dw-mshc-ddr-timing = <1 2>;
114 pinctrl-names = "default";
115 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
116
117 slot@0 {
118 reg = <0>;
119 bus-width = <4>;
120 wp-gpios = <&gpc2 1 0>;
121 };
122 };
123
124 mmc@12230000 {
125 num-slots = <1>;
126 supports-highspeed;
127 broken-cd;
128 card-detect-delay = <200>;
129 samsung,dw-mshc-ciu-div = <3>;
130 samsung,dw-mshc-sdr-timing = <2 3>;
131 samsung,dw-mshc-ddr-timing = <1 2>;
132 /* See board-specific dts files for pin setup */
133
134 slot@0 {
135 reg = <0>;
136 bus-width = <4>;
137 };
138 };
139
140 spi_1: spi@12d30000 {
141 status = "okay";
142 samsung,spi-src-clk = <0>;
143 num-cs = <1>;
144 };
145
146 hdmi {
147 hpd-gpio = <&gpx3 7 0>;
148 pinctrl-names = "default";
149 pinctrl-0 = <&hdmi_hpd_irq>;
150 phy = <&hdmiphy>;
151 ddc = <&i2c_2>;
152 };
153
154 gpio-keys {
155 compatible = "gpio-keys";
156
157 power {
158 label = "Power";
159 gpios = <&gpx1 3 1>;
160 linux,code = <116>; /* KEY_POWER */
161 gpio-key,wakeup;
162 };
163 };
164};
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index b4b35adae565..6a0f4c0ff763 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -284,7 +284,6 @@
284 mmc@12200000 { 284 mmc@12200000 {
285 status = "okay"; 285 status = "okay";
286 num-slots = <1>; 286 num-slots = <1>;
287 supports-highspeed;
288 broken-cd; 287 broken-cd;
289 card-detect-delay = <200>; 288 card-detect-delay = <200>;
290 samsung,dw-mshc-ciu-div = <3>; 289 samsung,dw-mshc-ciu-div = <3>;
@@ -292,29 +291,22 @@
292 samsung,dw-mshc-ddr-timing = <1 2>; 291 samsung,dw-mshc-ddr-timing = <1 2>;
293 pinctrl-names = "default"; 292 pinctrl-names = "default";
294 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 293 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
295 294 bus-width = <8>;
296 slot@0 { 295 cap-mmc-highspeed;
297 reg = <0>;
298 bus-width = <8>;
299 };
300 }; 296 };
301 297
302 mmc@12220000 { 298 mmc@12220000 {
303 status = "okay"; 299 status = "okay";
304 num-slots = <1>; 300 num-slots = <1>;
305 supports-highspeed;
306 card-detect-delay = <200>; 301 card-detect-delay = <200>;
307 samsung,dw-mshc-ciu-div = <3>; 302 samsung,dw-mshc-ciu-div = <3>;
308 samsung,dw-mshc-sdr-timing = <2 3>; 303 samsung,dw-mshc-sdr-timing = <2 3>;
309 samsung,dw-mshc-ddr-timing = <1 2>; 304 samsung,dw-mshc-ddr-timing = <1 2>;
310 pinctrl-names = "default"; 305 pinctrl-names = "default";
311 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 306 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
312 307 bus-width = <4>;
313 slot@0 { 308 disable-wp;
314 reg = <0>; 309 cap-sd-highspeed;
315 bus-width = <4>;
316 disable-wp;
317 };
318 }; 310 };
319 311
320 spi_1: spi@12d30000 { 312 spi_1: spi@12d30000 {
diff --git a/arch/arm/boot/dts/exynos5250-snow.dts b/arch/arm/boot/dts/exynos5250-snow.dts
index f2b8c4116541..e51fcef884a4 100644
--- a/arch/arm/boot/dts/exynos5250-snow.dts
+++ b/arch/arm/boot/dts/exynos5250-snow.dts
@@ -9,8 +9,8 @@
9*/ 9*/
10 10
11/dts-v1/; 11/dts-v1/;
12#include <dt-bindings/gpio/gpio.h>
12#include "exynos5250.dtsi" 13#include "exynos5250.dtsi"
13#include "exynos5250-cros-common.dtsi"
14 14
15/ { 15/ {
16 model = "Google Snow"; 16 model = "Google Snow";
@@ -20,6 +20,13 @@
20 i2c104 = &i2c_104; 20 i2c104 = &i2c_104;
21 }; 21 };
22 22
23 memory {
24 reg = <0x40000000 0x80000000>;
25 };
26
27 chosen {
28 };
29
23 rtc@101E0000 { 30 rtc@101E0000 {
24 status = "okay"; 31 status = "okay";
25 }; 32 };
@@ -93,6 +100,13 @@
93 gpio-keys { 100 gpio-keys {
94 compatible = "gpio-keys"; 101 compatible = "gpio-keys";
95 102
103 power {
104 label = "Power";
105 gpios = <&gpx1 3 1>;
106 linux,code = <116>; /* KEY_POWER */
107 gpio-key,wakeup;
108 };
109
96 lid-switch { 110 lid-switch {
97 label = "Lid"; 111 label = "Lid";
98 gpios = <&gpx3 5 1>; 112 gpios = <&gpx3 5 1>;
@@ -181,7 +195,7 @@
181 dcdc3 { 195 dcdc3 {
182 ti,enable-ext-control; 196 ti,enable-ext-control;
183 }; 197 };
184 fet1 { 198 fet1: fet1 {
185 regulator-name = "vcd_led"; 199 regulator-name = "vcd_led";
186 ti,overcurrent-wait = <3>; 200 ti,overcurrent-wait = <3>;
187 }; 201 };
@@ -204,7 +218,7 @@
204 regulator-always-on; 218 regulator-always-on;
205 ti,overcurrent-wait = <3>; 219 ti,overcurrent-wait = <3>;
206 }; 220 };
207 fet6 { 221 fet6: fet6 {
208 regulator-name = "lcd_vdd"; 222 regulator-name = "lcd_vdd";
209 ti,overcurrent-wait = <3>; 223 ti,overcurrent-wait = <3>;
210 }; 224 };
@@ -226,26 +240,6 @@
226 }; 240 };
227 }; 241 };
228 242
229 mmc@12200000 {
230 status = "okay";
231 };
232
233 mmc@12220000 {
234 status = "okay";
235 };
236
237 /*
238 * On Snow we've got SIP WiFi and so can keep drive strengths low to
239 * reduce EMI.
240 */
241 mmc@12230000 {
242 status = "okay";
243 slot@0 {
244 pinctrl-names = "default";
245 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
246 };
247 };
248
249 i2c@12CD0000 { 243 i2c@12CD0000 {
250 max98095: codec@11 { 244 max98095: codec@11 {
251 compatible = "maxim,max98095"; 245 compatible = "maxim,max98095";
@@ -253,6 +247,15 @@
253 pinctrl-0 = <&max98095_en>; 247 pinctrl-0 = <&max98095_en>;
254 pinctrl-names = "default"; 248 pinctrl-names = "default";
255 }; 249 };
250
251 ptn3460: lvds-bridge@20 {
252 compatible = "nxp,ptn3460";
253 reg = <0x20>;
254 powerdown-gpios = <&gpy2 5 GPIO_ACTIVE_HIGH>;
255 reset-gpios = <&gpx1 5 GPIO_ACTIVE_HIGH>;
256 edid-emulation = <5>;
257 panel = <&panel>;
258 };
256 }; 259 };
257 260
258 i2s0: i2s@03830000 { 261 i2s0: i2s@03830000 {
@@ -294,17 +297,24 @@
294 }; 297 };
295 298
296 hdmi { 299 hdmi {
300 hpd-gpio = <&gpx3 7 0>;
301 pinctrl-names = "default";
302 pinctrl-0 = <&hdmi_hpd_irq>;
303 phy = <&hdmiphy>;
304 ddc = <&i2c_2>;
297 hdmi-en-supply = <&tps65090_fet7>; 305 hdmi-en-supply = <&tps65090_fet7>;
298 vdd-supply = <&ldo8_reg>; 306 vdd-supply = <&ldo8_reg>;
299 vdd_osc-supply = <&ldo10_reg>; 307 vdd_osc-supply = <&ldo10_reg>;
300 vdd_pll-supply = <&ldo8_reg>; 308 vdd_pll-supply = <&ldo8_reg>;
301 }; 309 };
302 310
303 backlight { 311 backlight: backlight {
304 compatible = "pwm-backlight"; 312 compatible = "pwm-backlight";
305 pwms = <&pwm 0 1000000 0>; 313 pwms = <&pwm 0 1000000 0>;
306 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 314 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
307 default-brightness-level = <7>; 315 default-brightness-level = <7>;
316 enable-gpios = <&gpx3 0 GPIO_ACTIVE_HIGH>;
317 power-supply = <&fet1>;
308 pinctrl-0 = <&pwm0_out>; 318 pinctrl-0 = <&pwm0_out>;
309 pinctrl-names = "default"; 319 pinctrl-names = "default";
310 }; 320 };
@@ -314,6 +324,12 @@
314 samsung,invert-vclk; 324 samsung,invert-vclk;
315 }; 325 };
316 326
327 panel: panel {
328 compatible = "auo,b116xw03";
329 power-supply = <&fet6>;
330 backlight = <&backlight>;
331 };
332
317 dp-controller@145B0000 { 333 dp-controller@145B0000 {
318 status = "okay"; 334 status = "okay";
319 pinctrl-names = "default"; 335 pinctrl-names = "default";
@@ -325,26 +341,15 @@
325 samsung,link-rate = <0x0a>; 341 samsung,link-rate = <0x0a>;
326 samsung,lane-count = <2>; 342 samsung,lane-count = <2>;
327 samsung,hpd-gpio = <&gpx0 7 0>; 343 samsung,hpd-gpio = <&gpx0 7 0>;
328 344 bridge = <&ptn3460>;
329 display-timings {
330 native-mode = <&timing1>;
331
332 timing1: timing@1 {
333 clock-frequency = <70589280>;
334 hactive = <1366>;
335 vactive = <768>;
336 hfront-porch = <40>;
337 hback-porch = <40>;
338 hsync-len = <32>;
339 vback-porch = <10>;
340 vfront-porch = <12>;
341 vsync-len = <6>;
342 };
343 };
344 }; 345 };
345}; 346};
346 347
347&i2c_0 { 348&i2c_0 {
349 status = "okay";
350 samsung,i2c-sda-delay = <100>;
351 samsung,i2c-max-bus-freq = <378000>;
352
348 max77686@09 { 353 max77686@09 {
349 compatible = "maxim,max77686"; 354 compatible = "maxim,max77686";
350 interrupt-parent = <&gpx3>; 355 interrupt-parent = <&gpx3>;
@@ -491,6 +496,10 @@
491}; 496};
492 497
493&i2c_1 { 498&i2c_1 {
499 status = "okay";
500 samsung,i2c-sda-delay = <100>;
501 samsung,i2c-max-bus-freq = <378000>;
502
494 trackpad { 503 trackpad {
495 reg = <0x67>; 504 reg = <0x67>;
496 compatible = "cypress,cyapa"; 505 compatible = "cypress,cyapa";
@@ -500,6 +509,106 @@
500 }; 509 };
501}; 510};
502 511
512/*
513 * Disabled pullups since external part has its own pullups and
514 * double-pulling gets us out of spec in some cases.
515 */
516&i2c2_bus {
517 samsung,pin-pud = <0>;
518};
519
520&i2c_2 {
521 status = "okay";
522 samsung,i2c-sda-delay = <100>;
523 samsung,i2c-max-bus-freq = <66000>;
524
525 hdmiddc@50 {
526 compatible = "samsung,exynos4210-hdmiddc";
527 reg = <0x50>;
528 };
529};
530
531&i2c_3 {
532 status = "okay";
533 samsung,i2c-sda-delay = <100>;
534 samsung,i2c-max-bus-freq = <66000>;
535};
536
537&i2c_4 {
538 status = "okay";
539 samsung,i2c-sda-delay = <100>;
540 samsung,i2c-max-bus-freq = <66000>;
541};
542
543&i2c_5 {
544 status = "okay";
545 samsung,i2c-sda-delay = <100>;
546 samsung,i2c-max-bus-freq = <66000>;
547};
548
549&i2c_7 {
550 status = "okay";
551 samsung,i2c-sda-delay = <100>;
552 samsung,i2c-max-bus-freq = <66000>;
553};
554
555&i2c_8 {
556 status = "okay";
557 samsung,i2c-sda-delay = <100>;
558 samsung,i2c-max-bus-freq = <378000>;
559
560 hdmiphy: hdmiphy@38 {
561 compatible = "samsung,exynos4212-hdmiphy";
562 reg = <0x38>;
563 };
564};
565
566&mmc_0 {
567 status = "okay";
568 num-slots = <1>;
569 broken-cd;
570 card-detect-delay = <200>;
571 samsung,dw-mshc-ciu-div = <3>;
572 samsung,dw-mshc-sdr-timing = <2 3>;
573 samsung,dw-mshc-ddr-timing = <1 2>;
574 pinctrl-names = "default";
575 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_cd &sd0_bus4 &sd0_bus8>;
576 bus-width = <8>;
577 cap-mmc-highspeed;
578};
579
580&mmc_2 {
581 status = "okay";
582 num-slots = <1>;
583 card-detect-delay = <200>;
584 samsung,dw-mshc-ciu-div = <3>;
585 samsung,dw-mshc-sdr-timing = <2 3>;
586 samsung,dw-mshc-ddr-timing = <1 2>;
587 pinctrl-names = "default";
588 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
589 bus-width = <4>;
590 wp-gpios = <&gpc2 1 0>;
591 cap-sd-highspeed;
592};
593
594/*
595 * On Snow we've got SIP WiFi and so can keep drive strengths low to
596 * reduce EMI.
597 */
598&mmc_3 {
599 status = "okay";
600 num-slots = <1>;
601 broken-cd;
602 card-detect-delay = <200>;
603 samsung,dw-mshc-ciu-div = <3>;
604 samsung,dw-mshc-sdr-timing = <2 3>;
605 samsung,dw-mshc-ddr-timing = <1 2>;
606 pinctrl-names = "default";
607 pinctrl-0 = <&sd3_clk &sd3_cmd &sd3_bus4>;
608 bus-width = <4>;
609 cap-sd-highspeed;
610};
611
503&pinctrl_0 { 612&pinctrl_0 {
504 max77686_irq: max77686-irq { 613 max77686_irq: max77686-irq {
505 samsung,pins = "gpx3-2"; 614 samsung,pins = "gpx3-2";
@@ -509,4 +618,10 @@
509 }; 618 };
510}; 619};
511 620
621&spi_1 {
622 status = "okay";
623 samsung,spi-src-clk = <0>;
624 num-cs = <1>;
625};
626
512#include "cros-ec-keyboard.dtsi" 627#include "cros-ec-keyboard.dtsi"
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 492e1eff37bd..f21b9aa00fbb 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -603,21 +603,6 @@
603 }; 603 };
604 }; 604 };
605 605
606 usb2_phy: usbphy@12130000 {
607 compatible = "samsung,exynos5250-usb2phy";
608 reg = <0x12130000 0x100>;
609 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_USB2>;
610 clock-names = "ext_xtal", "usbhost";
611 #address-cells = <1>;
612 #size-cells = <1>;
613 ranges;
614
615 usbphy-sys {
616 reg = <0x10040704 0x8>,
617 <0x10050230 0x4>;
618 };
619 };
620
621 usb2_phy_gen: phy@12130000 { 606 usb2_phy_gen: phy@12130000 {
622 compatible = "samsung,exynos5250-usb2-phy"; 607 compatible = "samsung,exynos5250-usb2-phy";
623 reg = <0x12130000 0x100>; 608 reg = <0x12130000 0x100>;
diff --git a/arch/arm/boot/dts/exynos5260-xyref5260.dts b/arch/arm/boot/dts/exynos5260-xyref5260.dts
index 8c84ab27c19b..a803b605051b 100644
--- a/arch/arm/boot/dts/exynos5260-xyref5260.dts
+++ b/arch/arm/boot/dts/exynos5260-xyref5260.dts
@@ -69,7 +69,7 @@
69 num-slots = <1>; 69 num-slots = <1>;
70 broken-cd; 70 broken-cd;
71 bypass-smu; 71 bypass-smu;
72 supports-highspeed; 72 cap-mmc-highspeed;
73 supports-hs200-mode; /* 200 Mhz */ 73 supports-hs200-mode; /* 200 Mhz */
74 card-detect-delay = <200>; 74 card-detect-delay = <200>;
75 samsung,dw-mshc-ciu-div = <3>; 75 samsung,dw-mshc-ciu-div = <3>;
@@ -77,27 +77,19 @@
77 samsung,dw-mshc-ddr-timing = <0 2>; 77 samsung,dw-mshc-ddr-timing = <0 2>;
78 pinctrl-names = "default"; 78 pinctrl-names = "default";
79 pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>; 79 pinctrl-0 = <&sd0_rdqs &sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
80 80 bus-width = <8>;
81 slot@0 {
82 reg = <0>;
83 bus-width = <8>;
84 };
85}; 81};
86 82
87&mmc_2 { 83&mmc_2 {
88 status = "okay"; 84 status = "okay";
89 num-slots = <1>; 85 num-slots = <1>;
90 supports-highspeed; 86 cap-sd-highspeed;
91 card-detect-delay = <200>; 87 card-detect-delay = <200>;
92 samsung,dw-mshc-ciu-div = <3>; 88 samsung,dw-mshc-ciu-div = <3>;
93 samsung,dw-mshc-sdr-timing = <2 3>; 89 samsung,dw-mshc-sdr-timing = <2 3>;
94 samsung,dw-mshc-ddr-timing = <1 2>; 90 samsung,dw-mshc-ddr-timing = <1 2>;
95 pinctrl-names = "default"; 91 pinctrl-names = "default";
96 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>; 92 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
97 93 bus-width = <4>;
98 slot@0 { 94 disable-wp;
99 reg = <0>;
100 bus-width = <4>;
101 disable-wp;
102 };
103}; 95};
diff --git a/arch/arm/boot/dts/exynos5410-smdk5410.dts b/arch/arm/boot/dts/exynos5410-smdk5410.dts
index 7275bbd6fc4b..be3e02530b42 100644
--- a/arch/arm/boot/dts/exynos5410-smdk5410.dts
+++ b/arch/arm/boot/dts/exynos5410-smdk5410.dts
@@ -40,33 +40,25 @@
40&mmc_0 { 40&mmc_0 {
41 status = "okay"; 41 status = "okay";
42 num-slots = <1>; 42 num-slots = <1>;
43 supports-highspeed; 43 cap-mmc-highspeed;
44 broken-cd; 44 broken-cd;
45 card-detect-delay = <200>; 45 card-detect-delay = <200>;
46 samsung,dw-mshc-ciu-div = <3>; 46 samsung,dw-mshc-ciu-div = <3>;
47 samsung,dw-mshc-sdr-timing = <2 3>; 47 samsung,dw-mshc-sdr-timing = <2 3>;
48 samsung,dw-mshc-ddr-timing = <1 2>; 48 samsung,dw-mshc-ddr-timing = <1 2>;
49 49 bus-width = <8>;
50 slot@0 {
51 reg = <0>;
52 bus-width = <8>;
53 };
54}; 50};
55 51
56&mmc_2 { 52&mmc_2 {
57 status = "okay"; 53 status = "okay";
58 num-slots = <1>; 54 num-slots = <1>;
59 supports-highspeed; 55 cap-sd-highspeed;
60 card-detect-delay = <200>; 56 card-detect-delay = <200>;
61 samsung,dw-mshc-ciu-div = <3>; 57 samsung,dw-mshc-ciu-div = <3>;
62 samsung,dw-mshc-sdr-timing = <2 3>; 58 samsung,dw-mshc-sdr-timing = <2 3>;
63 samsung,dw-mshc-ddr-timing = <1 2>; 59 samsung,dw-mshc-ddr-timing = <1 2>;
64 60 bus-width = <4>;
65 slot@0 { 61 disable-wp;
66 reg = <0>;
67 bus-width = <4>;
68 disable-wp;
69 };
70}; 62};
71 63
72&uart0 { 64&uart0 {
diff --git a/arch/arm/boot/dts/exynos5420-arndale-octa.dts b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
index 434fd9d3e09d..70a559cf1a3d 100644
--- a/arch/arm/boot/dts/exynos5420-arndale-octa.dts
+++ b/arch/arm/boot/dts/exynos5420-arndale-octa.dts
@@ -50,7 +50,6 @@
50 mmc@12200000 { 50 mmc@12200000 {
51 status = "okay"; 51 status = "okay";
52 broken-cd; 52 broken-cd;
53 supports-highspeed;
54 card-detect-delay = <200>; 53 card-detect-delay = <200>;
55 samsung,dw-mshc-ciu-div = <3>; 54 samsung,dw-mshc-ciu-div = <3>;
56 samsung,dw-mshc-sdr-timing = <0 4>; 55 samsung,dw-mshc-sdr-timing = <0 4>;
@@ -58,16 +57,12 @@
58 pinctrl-names = "default"; 57 pinctrl-names = "default";
59 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 58 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
60 vmmc-supply = <&ldo10_reg>; 59 vmmc-supply = <&ldo10_reg>;
61 60 bus-width = <8>;
62 slot@0 { 61 cap-mmc-highspeed;
63 reg = <0>;
64 bus-width = <8>;
65 };
66 }; 62 };
67 63
68 mmc@12220000 { 64 mmc@12220000 {
69 status = "okay"; 65 status = "okay";
70 supports-highspeed;
71 card-detect-delay = <200>; 66 card-detect-delay = <200>;
72 samsung,dw-mshc-ciu-div = <3>; 67 samsung,dw-mshc-ciu-div = <3>;
73 samsung,dw-mshc-sdr-timing = <2 3>; 68 samsung,dw-mshc-sdr-timing = <2 3>;
@@ -75,11 +70,8 @@
75 pinctrl-names = "default"; 70 pinctrl-names = "default";
76 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 71 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
77 vmmc-supply = <&ldo10_reg>; 72 vmmc-supply = <&ldo10_reg>;
78 73 bus-width = <4>;
79 slot@0 { 74 cap-sd-highspeed;
80 reg = <0>;
81 bus-width = <4>;
82 };
83 }; 75 };
84 76
85 hsi2c_4: i2c@12CA0000 { 77 hsi2c_4: i2c@12CA0000 {
diff --git a/arch/arm/boot/dts/exynos5420-peach-pit.dts b/arch/arm/boot/dts/exynos5420-peach-pit.dts
index 228a6b1e0aa1..9a233828539c 100644
--- a/arch/arm/boot/dts/exynos5420-peach-pit.dts
+++ b/arch/arm/boot/dts/exynos5420-peach-pit.dts
@@ -11,6 +11,7 @@
11/dts-v1/; 11/dts-v1/;
12#include <dt-bindings/input/input.h> 12#include <dt-bindings/input/input.h>
13#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
14#include "exynos5420.dtsi" 15#include "exynos5420.dtsi"
15 16
16/ { 17/ {
@@ -30,11 +31,12 @@
30 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; 31 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
31 }; 32 };
32 33
33 backlight { 34 backlight: backlight {
34 compatible = "pwm-backlight"; 35 compatible = "pwm-backlight";
35 pwms = <&pwm 0 1000000 0>; 36 pwms = <&pwm 0 1000000 0>;
36 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 37 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
37 default-brightness-level = <7>; 38 default-brightness-level = <7>;
39 power-supply = <&tps65090_fet1>;
38 pinctrl-0 = <&pwm0_out>; 40 pinctrl-0 = <&pwm0_out>;
39 pinctrl-names = "default"; 41 pinctrl-names = "default";
40 }; 42 };
@@ -100,6 +102,17 @@
100 regulator-boot-on; 102 regulator-boot-on;
101 regulator-always-on; 103 regulator-always-on;
102 }; 104 };
105
106 panel: panel {
107 compatible = "auo,b116xw03";
108 power-supply = <&tps65090_fet6>;
109 backlight = <&backlight>;
110 };
111};
112
113&adc {
114 status = "okay";
115 vdd-supply = <&ldo9_reg>;
103}; 116};
104 117
105&dp { 118&dp {
@@ -113,22 +126,7 @@
113 samsung,link-rate = <0x06>; 126 samsung,link-rate = <0x06>;
114 samsung,lane-count = <2>; 127 samsung,lane-count = <2>;
115 samsung,hpd-gpio = <&gpx2 6 0>; 128 samsung,hpd-gpio = <&gpx2 6 0>;
116 129 bridge = <&ps8625>;
117 display-timings {
118 native-mode = <&timing1>;
119
120 timing1: timing@1 {
121 clock-frequency = <70589280>;
122 hactive = <1366>;
123 vactive = <768>;
124 hfront-porch = <40>;
125 hback-porch = <40>;
126 hsync-len = <32>;
127 vback-porch = <10>;
128 vfront-porch = <12>;
129 vsync-len = <6>;
130 };
131 };
132}; 130};
133 131
134&fimd { 132&fimd {
@@ -142,10 +140,348 @@
142 pinctrl-names = "default"; 140 pinctrl-names = "default";
143 pinctrl-0 = <&hdmi_hpd_irq>; 141 pinctrl-0 = <&hdmi_hpd_irq>;
144 ddc = <&i2c_2>; 142 ddc = <&i2c_2>;
143
144 hdmi-en-supply = <&tps65090_fet7>;
145 vdd-supply = <&ldo8_reg>;
146 vdd_osc-supply = <&ldo10_reg>;
147 vdd_pll-supply = <&ldo8_reg>;
148};
149
150&hsi2c_4 {
151 status = "okay";
152 clock-frequency = <400000>;
153
154 max77802-pmic@9 {
155 compatible = "maxim,max77802";
156 interrupt-parent = <&gpx3>;
157 interrupts = <1 IRQ_TYPE_NONE>;
158 pinctrl-names = "default";
159 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
160 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
161 wakeup-source;
162 reg = <0x9>;
163 #clock-cells = <1>;
164
165 inb1-supply = <&tps65090_dcdc2>;
166 inb2-supply = <&tps65090_dcdc1>;
167 inb3-supply = <&tps65090_dcdc2>;
168 inb4-supply = <&tps65090_dcdc2>;
169 inb5-supply = <&tps65090_dcdc1>;
170 inb6-supply = <&tps65090_dcdc2>;
171 inb7-supply = <&tps65090_dcdc1>;
172 inb8-supply = <&tps65090_dcdc1>;
173 inb9-supply = <&tps65090_dcdc1>;
174 inb10-supply = <&tps65090_dcdc1>;
175
176 inl1-supply = <&buck5_reg>;
177 inl2-supply = <&buck7_reg>;
178 inl3-supply = <&buck9_reg>;
179 inl4-supply = <&buck9_reg>;
180 inl5-supply = <&buck9_reg>;
181 inl6-supply = <&tps65090_dcdc2>;
182 inl7-supply = <&buck9_reg>;
183 inl9-supply = <&tps65090_dcdc2>;
184 inl10-supply = <&buck7_reg>;
185
186 regulators {
187 buck1_reg: BUCK1 {
188 regulator-name = "vdd_mif";
189 regulator-min-microvolt = <800000>;
190 regulator-max-microvolt = <1300000>;
191 regulator-always-on;
192 regulator-boot-on;
193 regulator-ramp-delay = <12500>;
194 };
195
196 buck2_reg: BUCK2 {
197 regulator-name = "vdd_arm";
198 regulator-min-microvolt = <800000>;
199 regulator-max-microvolt = <1500000>;
200 regulator-always-on;
201 regulator-boot-on;
202 regulator-ramp-delay = <12500>;
203 };
204
205 buck3_reg: BUCK3 {
206 regulator-name = "vdd_int";
207 regulator-min-microvolt = <800000>;
208 regulator-max-microvolt = <1400000>;
209 regulator-always-on;
210 regulator-boot-on;
211 regulator-ramp-delay = <12500>;
212 };
213
214 buck4_reg: BUCK4 {
215 regulator-name = "vdd_g3d";
216 regulator-min-microvolt = <700000>;
217 regulator-max-microvolt = <1400000>;
218 regulator-always-on;
219 regulator-boot-on;
220 regulator-ramp-delay = <12500>;
221 };
222
223 buck5_reg: BUCK5 {
224 regulator-name = "vdd_1v2";
225 regulator-min-microvolt = <1200000>;
226 regulator-max-microvolt = <1200000>;
227 regulator-always-on;
228 regulator-boot-on;
229 };
230
231 buck6_reg: BUCK6 {
232 regulator-name = "vdd_kfc";
233 regulator-min-microvolt = <800000>;
234 regulator-max-microvolt = <1500000>;
235 regulator-always-on;
236 regulator-boot-on;
237 regulator-ramp-delay = <12500>;
238 };
239
240 buck7_reg: BUCK7 {
241 regulator-name = "vdd_1v35";
242 regulator-min-microvolt = <1350000>;
243 regulator-max-microvolt = <1350000>;
244 regulator-always-on;
245 regulator-boot-on;
246 };
247
248 buck8_reg: BUCK8 {
249 regulator-name = "vdd_emmc";
250 regulator-min-microvolt = <2850000>;
251 regulator-max-microvolt = <2850000>;
252 regulator-always-on;
253 regulator-boot-on;
254 };
255
256 buck9_reg: BUCK9 {
257 regulator-name = "vdd_2v";
258 regulator-min-microvolt = <2000000>;
259 regulator-max-microvolt = <2000000>;
260 regulator-always-on;
261 regulator-boot-on;
262 };
263
264 buck10_reg: BUCK10 {
265 regulator-name = "vdd_1v8";
266 regulator-min-microvolt = <1800000>;
267 regulator-max-microvolt = <1800000>;
268 regulator-always-on;
269 regulator-boot-on;
270 };
271
272 ldo1_reg: LDO1 {
273 regulator-name = "vdd_1v0";
274 regulator-min-microvolt = <1000000>;
275 regulator-max-microvolt = <1000000>;
276 regulator-always-on;
277 };
278
279 ldo2_reg: LDO2 {
280 regulator-name = "vdd_1v2_2";
281 regulator-min-microvolt = <1200000>;
282 regulator-max-microvolt = <1200000>;
283 };
284
285 ldo3_reg: LDO3 {
286 regulator-name = "vdd_1v8_3";
287 regulator-min-microvolt = <1800000>;
288 regulator-max-microvolt = <1800000>;
289 regulator-always-on;
290 };
291
292 vqmmc_sdcard: ldo4_reg: LDO4 {
293 regulator-name = "vdd_sd";
294 regulator-min-microvolt = <1800000>;
295 regulator-max-microvolt = <2800000>;
296 regulator-always-on;
297 };
298
299 ldo5_reg: LDO5 {
300 regulator-name = "vdd_1v8_5";
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
303 regulator-always-on;
304 };
305
306 ldo6_reg: LDO6 {
307 regulator-name = "vdd_1v8_6";
308 regulator-min-microvolt = <1800000>;
309 regulator-max-microvolt = <1800000>;
310 regulator-always-on;
311 };
312
313 ldo7_reg: LDO7 {
314 regulator-name = "vdd_1v8_7";
315 regulator-min-microvolt = <1800000>;
316 regulator-max-microvolt = <1800000>;
317 };
318
319 ldo8_reg: LDO8 {
320 regulator-name = "vdd_ldo8";
321 regulator-min-microvolt = <1000000>;
322 regulator-max-microvolt = <1000000>;
323 regulator-always-on;
324 };
325
326 ldo9_reg: LDO9 {
327 regulator-name = "vdd_ldo9";
328 regulator-min-microvolt = <1800000>;
329 regulator-max-microvolt = <1800000>;
330 regulator-always-on;
331 };
332
333 ldo10_reg: LDO10 {
334 regulator-name = "vdd_ldo10";
335 regulator-min-microvolt = <1800000>;
336 regulator-max-microvolt = <1800000>;
337 regulator-always-on;
338 };
339
340 ldo11_reg: LDO11 {
341 regulator-name = "vdd_ldo11";
342 regulator-min-microvolt = <1800000>;
343 regulator-max-microvolt = <1800000>;
344 regulator-always-on;
345 };
346
347 ldo12_reg: LDO12 {
348 regulator-name = "vdd_ldo12";
349 regulator-min-microvolt = <3000000>;
350 regulator-max-microvolt = <3000000>;
351 regulator-always-on;
352 };
353
354 ldo13_reg: LDO13 {
355 regulator-name = "vdd_ldo13";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <1800000>;
358 regulator-always-on;
359 };
360
361 ldo14_reg: LDO14 {
362 regulator-name = "vdd_ldo14";
363 regulator-min-microvolt = <1800000>;
364 regulator-max-microvolt = <1800000>;
365 regulator-always-on;
366 };
367
368 ldo15_reg: LDO15 {
369 regulator-name = "vdd_ldo15";
370 regulator-min-microvolt = <1000000>;
371 regulator-max-microvolt = <1000000>;
372 regulator-always-on;
373 };
374
375 ldo17_reg: LDO17 {
376 regulator-name = "vdd_g3ds";
377 regulator-min-microvolt = <900000>;
378 regulator-max-microvolt = <1400000>;
379 regulator-always-on;
380 };
381
382 ldo18_reg: LDO18 {
383 regulator-name = "ldo_18";
384 regulator-min-microvolt = <1800000>;
385 regulator-max-microvolt = <1800000>;
386 };
387
388 ldo19_reg: LDO19 {
389 regulator-name = "ldo_19";
390 regulator-min-microvolt = <1800000>;
391 regulator-max-microvolt = <1800000>;
392 };
393
394 ldo20_reg: LDO20 {
395 regulator-name = "ldo_20";
396 regulator-min-microvolt = <1800000>;
397 regulator-max-microvolt = <1800000>;
398 regulator-always-on;
399 };
400
401 ldo21_reg: LDO21 {
402 regulator-name = "ldo_21";
403 regulator-min-microvolt = <2800000>;
404 regulator-max-microvolt = <2800000>;
405 };
406
407 ldo23_reg: LDO23 {
408 regulator-name = "ldo_23";
409 regulator-min-microvolt = <3300000>;
410 regulator-max-microvolt = <3300000>;
411 };
412 ldo24_reg: LDO24 {
413 regulator-name = "ldo_24";
414 regulator-min-microvolt = <2800000>;
415 regulator-max-microvolt = <2800000>;
416 };
417
418 ldo25_reg: LDO25 {
419 regulator-name = "ldo_25";
420 regulator-min-microvolt = <3300000>;
421 regulator-max-microvolt = <3300000>;
422 };
423
424 ldo26_reg: LDO26 {
425 regulator-name = "ldo_26";
426 regulator-min-microvolt = <1200000>;
427 regulator-max-microvolt = <1200000>;
428 };
429
430 ldo27_reg: LDO27 {
431 regulator-name = "ldo_27";
432 regulator-min-microvolt = <1200000>;
433 regulator-max-microvolt = <1200000>;
434 };
435
436 ldo28_reg: LDO28 {
437 regulator-name = "ldo_28";
438 regulator-min-microvolt = <1800000>;
439 regulator-max-microvolt = <1800000>;
440 };
441
442 ldo29_reg: LDO29 {
443 regulator-name = "ldo_29";
444 regulator-min-microvolt = <1800000>;
445 regulator-max-microvolt = <1800000>;
446 };
447
448 ldo30_reg: LDO30 {
449 regulator-name = "vdd_mifs";
450 regulator-min-microvolt = <1000000>;
451 regulator-max-microvolt = <1000000>;
452 regulator-always-on;
453 };
454
455 ldo32_reg: LDO32 {
456 regulator-name = "ldo_32";
457 regulator-min-microvolt = <3000000>;
458 regulator-max-microvolt = <3000000>;
459 };
460
461 ldo33_reg: LDO33 {
462 regulator-name = "ldo_33";
463 regulator-min-microvolt = <2800000>;
464 regulator-max-microvolt = <2800000>;
465 };
466
467 ldo34_reg: LDO34 {
468 regulator-name = "ldo_34";
469 regulator-min-microvolt = <3000000>;
470 regulator-max-microvolt = <3000000>;
471 };
472
473 ldo35_reg: LDO35 {
474 regulator-name = "ldo_35";
475 regulator-min-microvolt = <1200000>;
476 regulator-max-microvolt = <1200000>;
477 };
478 };
479 };
145}; 480};
146 481
147&hsi2c_7 { 482&hsi2c_7 {
148 status = "okay"; 483 status = "okay";
484 clock-frequency = <400000>;
149 485
150 max98090: codec@10 { 486 max98090: codec@10 {
151 compatible = "maxim,max98090"; 487 compatible = "maxim,max98090";
@@ -155,6 +491,44 @@
155 pinctrl-names = "default"; 491 pinctrl-names = "default";
156 pinctrl-0 = <&max98090_irq>; 492 pinctrl-0 = <&max98090_irq>;
157 }; 493 };
494
495 light-sensor@44 {
496 compatible = "isil,isl29018";
497 reg = <0x44>;
498 vcc-supply = <&tps65090_fet5>;
499 };
500
501 ps8625: lvds-bridge@48 {
502 compatible = "parade,ps8625";
503 reg = <0x48>;
504 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
505 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
506 lane-count = <2>;
507 panel = <&panel>;
508 use-external-pwm;
509 };
510};
511
512&hsi2c_8 {
513 status = "okay";
514 clock-frequency = <333000>;
515
516 /* Atmel mXT336S */
517 trackpad@4b {
518 compatible = "atmel,maxtouch";
519 reg = <0x4b>;
520 interrupt-parent = <&gpx1>;
521 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
522 wakeup-source;
523 pinctrl-names = "default";
524 pinctrl-0 = <&trackpad_irq>;
525 linux,gpio-keymap = <KEY_RESERVED
526 KEY_RESERVED
527 KEY_RESERVED /* GPIO0 */
528 KEY_RESERVED /* GPIO1 */
529 KEY_RESERVED /* GPIO2 */
530 BTN_LEFT>; /* GPIO3 */
531 };
158}; 532};
159 533
160&hsi2c_9 { 534&hsi2c_9 {
@@ -187,7 +561,7 @@
187 num-slots = <1>; 561 num-slots = <1>;
188 broken-cd; 562 broken-cd;
189 caps2-mmc-hs200-1_8v; 563 caps2-mmc-hs200-1_8v;
190 supports-highspeed; 564 cap-mmc-highspeed;
191 non-removable; 565 non-removable;
192 card-detect-delay = <200>; 566 card-detect-delay = <200>;
193 clock-frequency = <400000000>; 567 clock-frequency = <400000000>;
@@ -196,17 +570,13 @@
196 samsung,dw-mshc-ddr-timing = <0 2>; 570 samsung,dw-mshc-ddr-timing = <0 2>;
197 pinctrl-names = "default"; 571 pinctrl-names = "default";
198 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 572 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
199 573 bus-width = <8>;
200 slot@0 {
201 reg = <0>;
202 bus-width = <8>;
203 };
204}; 574};
205 575
206&mmc_2 { 576&mmc_2 {
207 status = "okay"; 577 status = "okay";
208 num-slots = <1>; 578 num-slots = <1>;
209 supports-highspeed; 579 cap-sd-highspeed;
210 card-detect-delay = <200>; 580 card-detect-delay = <200>;
211 clock-frequency = <400000000>; 581 clock-frequency = <400000000>;
212 samsung,dw-mshc-ciu-div = <3>; 582 samsung,dw-mshc-ciu-div = <3>;
@@ -214,11 +584,7 @@
214 samsung,dw-mshc-ddr-timing = <1 2>; 584 samsung,dw-mshc-ddr-timing = <1 2>;
215 pinctrl-names = "default"; 585 pinctrl-names = "default";
216 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 586 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
217 587 bus-width = <4>;
218 slot@0 {
219 reg = <0>;
220 bus-width = <4>;
221 };
222}; 588};
223 589
224 590
@@ -249,6 +615,13 @@
249 samsung,pin-drv = <0>; 615 samsung,pin-drv = <0>;
250 }; 616 };
251 617
618 trackpad_irq: trackpad-irq {
619 samsung,pins = "gpx1-1";
620 samsung,pin-function = <0xf>;
621 samsung,pin-pud = <0>;
622 samsung,pin-drv = <0>;
623 };
624
252 power_key_irq: power-key-irq { 625 power_key_irq: power-key-irq {
253 samsung,pins = "gpx1-2"; 626 samsung,pins = "gpx1-2";
254 samsung,pin-function = <0>; 627 samsung,pin-function = <0>;
@@ -277,12 +650,42 @@
277 samsung,pin-drv = <0>; 650 samsung,pin-drv = <0>;
278 }; 651 };
279 652
653 max77802_irq: max77802-irq {
654 samsung,pins = "gpx3-1";
655 samsung,pin-function = <0>;
656 samsung,pin-pud = <0>;
657 samsung,pin-drv = <0>;
658 };
659
280 hdmi_hpd_irq: hdmi-hpd-irq { 660 hdmi_hpd_irq: hdmi-hpd-irq {
281 samsung,pins = "gpx3-7"; 661 samsung,pins = "gpx3-7";
282 samsung,pin-function = <0>; 662 samsung,pin-function = <0>;
283 samsung,pin-pud = <1>; 663 samsung,pin-pud = <1>;
284 samsung,pin-drv = <0>; 664 samsung,pin-drv = <0>;
285 }; 665 };
666
667 pmic_dvs_1: pmic-dvs-1 {
668 samsung,pins = "gpy7-6";
669 samsung,pin-function = <1>;
670 samsung,pin-pud = <0>;
671 samsung,pin-drv = <0>;
672 };
673};
674
675&pinctrl_2 {
676 pmic_dvs_2: pmic-dvs-2 {
677 samsung,pins = "gpj4-2";
678 samsung,pin-function = <1>;
679 samsung,pin-pud = <0>;
680 samsung,pin-drv = <0>;
681 };
682
683 pmic_dvs_3: pmic-dvs-3 {
684 samsung,pins = "gpj4-3";
685 samsung,pin-function = <1>;
686 samsung,pin-pud = <0>;
687 samsung,pin-drv = <0>;
688 };
286}; 689};
287 690
288&pinctrl_3 { 691&pinctrl_3 {
@@ -312,6 +715,14 @@
312 samsung,pin-pud = <0>; 715 samsung,pin-pud = <0>;
313 samsung,pin-drv = <0>; 716 samsung,pin-drv = <0>;
314 }; 717 };
718
719 pmic_selb: pmic-selb {
720 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
721 "gph0-6";
722 samsung,pin-function = <1>;
723 samsung,pin-pud = <0>;
724 samsung,pin-drv = <0>;
725 };
315}; 726};
316 727
317&rtc { 728&rtc {
@@ -365,12 +776,12 @@
365 vsys2-supply = <&vbat>; 776 vsys2-supply = <&vbat>;
366 vsys3-supply = <&vbat>; 777 vsys3-supply = <&vbat>;
367 infet1-supply = <&vbat>; 778 infet1-supply = <&vbat>;
368 infet2-supply = <&vbat>; 779 infet2-supply = <&tps65090_dcdc1>;
369 infet3-supply = <&vbat>; 780 infet3-supply = <&tps65090_dcdc2>;
370 infet4-supply = <&vbat>; 781 infet4-supply = <&tps65090_dcdc2>;
371 infet5-supply = <&vbat>; 782 infet5-supply = <&tps65090_dcdc2>;
372 infet6-supply = <&vbat>; 783 infet6-supply = <&tps65090_dcdc2>;
373 infet7-supply = <&vbat>; 784 infet7-supply = <&tps65090_dcdc1>;
374 vsys-l1-supply = <&vbat>; 785 vsys-l1-supply = <&vbat>;
375 vsys-l2-supply = <&vbat>; 786 vsys-l2-supply = <&vbat>;
376 787
@@ -445,3 +856,4 @@
445}; 856};
446 857
447#include "cros-ec-keyboard.dtsi" 858#include "cros-ec-keyboard.dtsi"
859#include "cros-adc-thermistors.dtsi"
diff --git a/arch/arm/boot/dts/exynos5420-smdk5420.dts b/arch/arm/boot/dts/exynos5420-smdk5420.dts
index 6052aa9c5659..8be3d7b489ff 100644
--- a/arch/arm/boot/dts/exynos5420-smdk5420.dts
+++ b/arch/arm/boot/dts/exynos5420-smdk5420.dts
@@ -76,34 +76,26 @@
76 mmc@12200000 { 76 mmc@12200000 {
77 status = "okay"; 77 status = "okay";
78 broken-cd; 78 broken-cd;
79 supports-highspeed;
80 card-detect-delay = <200>; 79 card-detect-delay = <200>;
81 samsung,dw-mshc-ciu-div = <3>; 80 samsung,dw-mshc-ciu-div = <3>;
82 samsung,dw-mshc-sdr-timing = <0 4>; 81 samsung,dw-mshc-sdr-timing = <0 4>;
83 samsung,dw-mshc-ddr-timing = <0 2>; 82 samsung,dw-mshc-ddr-timing = <0 2>;
84 pinctrl-names = "default"; 83 pinctrl-names = "default";
85 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 84 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
86 85 bus-width = <8>;
87 slot@0 { 86 cap-mmc-highspeed;
88 reg = <0>;
89 bus-width = <8>;
90 };
91 }; 87 };
92 88
93 mmc@12220000 { 89 mmc@12220000 {
94 status = "okay"; 90 status = "okay";
95 supports-highspeed;
96 card-detect-delay = <200>; 91 card-detect-delay = <200>;
97 samsung,dw-mshc-ciu-div = <3>; 92 samsung,dw-mshc-ciu-div = <3>;
98 samsung,dw-mshc-sdr-timing = <2 3>; 93 samsung,dw-mshc-sdr-timing = <2 3>;
99 samsung,dw-mshc-ddr-timing = <1 2>; 94 samsung,dw-mshc-ddr-timing = <1 2>;
100 pinctrl-names = "default"; 95 pinctrl-names = "default";
101 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 96 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
102 97 bus-width = <4>;
103 slot@0 { 98 cap-sd-highspeed;
104 reg = <0>;
105 bus-width = <4>;
106 };
107 }; 99 };
108 100
109 dp-controller@145B0000 { 101 dp-controller@145B0000 {
diff --git a/arch/arm/boot/dts/exynos5800-peach-pi.dts b/arch/arm/boot/dts/exynos5800-peach-pi.dts
index f3ee48bbe05f..1d31c8132558 100644
--- a/arch/arm/boot/dts/exynos5800-peach-pi.dts
+++ b/arch/arm/boot/dts/exynos5800-peach-pi.dts
@@ -11,6 +11,7 @@
11/dts-v1/; 11/dts-v1/;
12#include <dt-bindings/input/input.h> 12#include <dt-bindings/input/input.h>
13#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
14#include "exynos5800.dtsi" 15#include "exynos5800.dtsi"
15 16
16/ { 17/ {
@@ -28,11 +29,13 @@
28 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel"; 29 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
29 }; 30 };
30 31
31 backlight { 32 backlight: backlight {
32 compatible = "pwm-backlight"; 33 compatible = "pwm-backlight";
33 pwms = <&pwm 0 1000000 0>; 34 pwms = <&pwm 0 1000000 0>;
34 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>; 35 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
35 default-brightness-level = <7>; 36 default-brightness-level = <7>;
37 enable-gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
38 power-supply = <&tps65090_fet1>;
36 pinctrl-0 = <&pwm0_out>; 39 pinctrl-0 = <&pwm0_out>;
37 pinctrl-names = "default"; 40 pinctrl-names = "default";
38 }; 41 };
@@ -98,6 +101,17 @@
98 regulator-boot-on; 101 regulator-boot-on;
99 regulator-always-on; 102 regulator-always-on;
100 }; 103 };
104
105 panel: panel {
106 compatible = "auo,b133htn01";
107 power-supply = <&tps65090_fet6>;
108 backlight = <&backlight>;
109 };
110};
111
112&adc {
113 status = "okay";
114 vdd-supply = <&ldo9_reg>;
101}; 115};
102 116
103&dp { 117&dp {
@@ -111,22 +125,7 @@
111 samsung,link-rate = <0x0a>; 125 samsung,link-rate = <0x0a>;
112 samsung,lane-count = <2>; 126 samsung,lane-count = <2>;
113 samsung,hpd-gpio = <&gpx2 6 0>; 127 samsung,hpd-gpio = <&gpx2 6 0>;
114 128 panel = <&panel>;
115 display-timings {
116 native-mode = <&timing1>;
117
118 timing1: timing@1 {
119 clock-frequency = <150660000>;
120 hactive = <1920>;
121 vactive = <1080>;
122 hfront-porch = <60>;
123 hback-porch = <172>;
124 hsync-len = <80>;
125 vback-porch = <25>;
126 vfront-porch = <10>;
127 vsync-len = <10>;
128 };
129 };
130}; 129};
131 130
132&fimd { 131&fimd {
@@ -140,10 +139,348 @@
140 pinctrl-names = "default"; 139 pinctrl-names = "default";
141 pinctrl-0 = <&hdmi_hpd_irq>; 140 pinctrl-0 = <&hdmi_hpd_irq>;
142 ddc = <&i2c_2>; 141 ddc = <&i2c_2>;
142
143 hdmi-en-supply = <&tps65090_fet7>;
144 vdd-supply = <&ldo8_reg>;
145 vdd_osc-supply = <&ldo10_reg>;
146 vdd_pll-supply = <&ldo8_reg>;
147};
148
149&hsi2c_4 {
150 status = "okay";
151 clock-frequency = <400000>;
152
153 max77802-pmic@9 {
154 compatible = "maxim,max77802";
155 interrupt-parent = <&gpx3>;
156 interrupts = <1 IRQ_TYPE_NONE>;
157 pinctrl-names = "default";
158 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
159 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
160 wakeup-source;
161 reg = <0x9>;
162 #clock-cells = <1>;
163
164 inb1-supply = <&tps65090_dcdc2>;
165 inb2-supply = <&tps65090_dcdc1>;
166 inb3-supply = <&tps65090_dcdc2>;
167 inb4-supply = <&tps65090_dcdc2>;
168 inb5-supply = <&tps65090_dcdc1>;
169 inb6-supply = <&tps65090_dcdc2>;
170 inb7-supply = <&tps65090_dcdc1>;
171 inb8-supply = <&tps65090_dcdc1>;
172 inb9-supply = <&tps65090_dcdc1>;
173 inb10-supply = <&tps65090_dcdc1>;
174
175 inl1-supply = <&buck5_reg>;
176 inl2-supply = <&buck7_reg>;
177 inl3-supply = <&buck9_reg>;
178 inl4-supply = <&buck9_reg>;
179 inl5-supply = <&buck9_reg>;
180 inl6-supply = <&tps65090_dcdc2>;
181 inl7-supply = <&buck9_reg>;
182 inl9-supply = <&tps65090_dcdc2>;
183 inl10-supply = <&buck7_reg>;
184
185 regulators {
186 buck1_reg: BUCK1 {
187 regulator-name = "vdd_mif";
188 regulator-min-microvolt = <800000>;
189 regulator-max-microvolt = <1300000>;
190 regulator-always-on;
191 regulator-boot-on;
192 regulator-ramp-delay = <12500>;
193 };
194
195 buck2_reg: BUCK2 {
196 regulator-name = "vdd_arm";
197 regulator-min-microvolt = <800000>;
198 regulator-max-microvolt = <1500000>;
199 regulator-always-on;
200 regulator-boot-on;
201 regulator-ramp-delay = <12500>;
202 };
203
204 buck3_reg: BUCK3 {
205 regulator-name = "vdd_int";
206 regulator-min-microvolt = <800000>;
207 regulator-max-microvolt = <1400000>;
208 regulator-always-on;
209 regulator-boot-on;
210 regulator-ramp-delay = <12500>;
211 };
212
213 buck4_reg: BUCK4 {
214 regulator-name = "vdd_g3d";
215 regulator-min-microvolt = <700000>;
216 regulator-max-microvolt = <1400000>;
217 regulator-always-on;
218 regulator-boot-on;
219 regulator-ramp-delay = <12500>;
220 };
221
222 buck5_reg: BUCK5 {
223 regulator-name = "vdd_1v2";
224 regulator-min-microvolt = <1200000>;
225 regulator-max-microvolt = <1200000>;
226 regulator-always-on;
227 regulator-boot-on;
228 };
229
230 buck6_reg: BUCK6 {
231 regulator-name = "vdd_kfc";
232 regulator-min-microvolt = <800000>;
233 regulator-max-microvolt = <1500000>;
234 regulator-always-on;
235 regulator-boot-on;
236 regulator-ramp-delay = <12500>;
237 };
238
239 buck7_reg: BUCK7 {
240 regulator-name = "vdd_1v35";
241 regulator-min-microvolt = <1350000>;
242 regulator-max-microvolt = <1350000>;
243 regulator-always-on;
244 regulator-boot-on;
245 };
246
247 buck8_reg: BUCK8 {
248 regulator-name = "vdd_emmc";
249 regulator-min-microvolt = <2850000>;
250 regulator-max-microvolt = <2850000>;
251 regulator-always-on;
252 regulator-boot-on;
253 };
254
255 buck9_reg: BUCK9 {
256 regulator-name = "vdd_2v";
257 regulator-min-microvolt = <2000000>;
258 regulator-max-microvolt = <2000000>;
259 regulator-always-on;
260 regulator-boot-on;
261 };
262
263 buck10_reg: BUCK10 {
264 regulator-name = "vdd_1v8";
265 regulator-min-microvolt = <1800000>;
266 regulator-max-microvolt = <1800000>;
267 regulator-always-on;
268 regulator-boot-on;
269 };
270
271 ldo1_reg: LDO1 {
272 regulator-name = "vdd_1v0";
273 regulator-min-microvolt = <1000000>;
274 regulator-max-microvolt = <1000000>;
275 regulator-always-on;
276 };
277
278 ldo2_reg: LDO2 {
279 regulator-name = "vdd_1v2_2";
280 regulator-min-microvolt = <1200000>;
281 regulator-max-microvolt = <1200000>;
282 };
283
284 ldo3_reg: LDO3 {
285 regulator-name = "vdd_1v8_3";
286 regulator-min-microvolt = <1800000>;
287 regulator-max-microvolt = <1800000>;
288 regulator-always-on;
289 };
290
291 vqmmc_sdcard: ldo4_reg: LDO4 {
292 regulator-name = "vdd_sd";
293 regulator-min-microvolt = <1800000>;
294 regulator-max-microvolt = <2800000>;
295 regulator-always-on;
296 };
297
298 ldo5_reg: LDO5 {
299 regulator-name = "vdd_1v8_5";
300 regulator-min-microvolt = <1800000>;
301 regulator-max-microvolt = <1800000>;
302 regulator-always-on;
303 };
304
305 ldo6_reg: LDO6 {
306 regulator-name = "vdd_1v8_6";
307 regulator-min-microvolt = <1800000>;
308 regulator-max-microvolt = <1800000>;
309 regulator-always-on;
310 };
311
312 ldo7_reg: LDO7 {
313 regulator-name = "vdd_1v8_7";
314 regulator-min-microvolt = <1800000>;
315 regulator-max-microvolt = <1800000>;
316 };
317
318 ldo8_reg: LDO8 {
319 regulator-name = "vdd_ldo8";
320 regulator-min-microvolt = <1000000>;
321 regulator-max-microvolt = <1000000>;
322 regulator-always-on;
323 };
324
325 ldo9_reg: LDO9 {
326 regulator-name = "vdd_ldo9";
327 regulator-min-microvolt = <1800000>;
328 regulator-max-microvolt = <1800000>;
329 regulator-always-on;
330 };
331
332 ldo10_reg: LDO10 {
333 regulator-name = "vdd_ldo10";
334 regulator-min-microvolt = <1800000>;
335 regulator-max-microvolt = <1800000>;
336 regulator-always-on;
337 };
338
339 ldo11_reg: LDO11 {
340 regulator-name = "vdd_ldo11";
341 regulator-min-microvolt = <1800000>;
342 regulator-max-microvolt = <1800000>;
343 regulator-always-on;
344 };
345
346 ldo12_reg: LDO12 {
347 regulator-name = "vdd_ldo12";
348 regulator-min-microvolt = <3000000>;
349 regulator-max-microvolt = <3000000>;
350 regulator-always-on;
351 };
352
353 ldo13_reg: LDO13 {
354 regulator-name = "vdd_ldo13";
355 regulator-min-microvolt = <1800000>;
356 regulator-max-microvolt = <1800000>;
357 regulator-always-on;
358 };
359
360 ldo14_reg: LDO14 {
361 regulator-name = "vdd_ldo14";
362 regulator-min-microvolt = <1800000>;
363 regulator-max-microvolt = <1800000>;
364 regulator-always-on;
365 };
366
367 ldo15_reg: LDO15 {
368 regulator-name = "vdd_ldo15";
369 regulator-min-microvolt = <1000000>;
370 regulator-max-microvolt = <1000000>;
371 regulator-always-on;
372 };
373
374 ldo17_reg: LDO17 {
375 regulator-name = "vdd_g3ds";
376 regulator-min-microvolt = <900000>;
377 regulator-max-microvolt = <1400000>;
378 regulator-always-on;
379 };
380
381 ldo18_reg: LDO18 {
382 regulator-name = "ldo_18";
383 regulator-min-microvolt = <1800000>;
384 regulator-max-microvolt = <1800000>;
385 };
386
387 ldo19_reg: LDO19 {
388 regulator-name = "ldo_19";
389 regulator-min-microvolt = <1800000>;
390 regulator-max-microvolt = <1800000>;
391 };
392
393 ldo20_reg: LDO20 {
394 regulator-name = "ldo_20";
395 regulator-min-microvolt = <1800000>;
396 regulator-max-microvolt = <1800000>;
397 regulator-always-on;
398 };
399
400 ldo21_reg: LDO21 {
401 regulator-name = "ldo_21";
402 regulator-min-microvolt = <2800000>;
403 regulator-max-microvolt = <2800000>;
404 };
405
406 ldo23_reg: LDO23 {
407 regulator-name = "ldo_23";
408 regulator-min-microvolt = <3300000>;
409 regulator-max-microvolt = <3300000>;
410 };
411 ldo24_reg: LDO24 {
412 regulator-name = "ldo_24";
413 regulator-min-microvolt = <2800000>;
414 regulator-max-microvolt = <2800000>;
415 };
416
417 ldo25_reg: LDO25 {
418 regulator-name = "ldo_25";
419 regulator-min-microvolt = <3300000>;
420 regulator-max-microvolt = <3300000>;
421 };
422
423 ldo26_reg: LDO26 {
424 regulator-name = "ldo_26";
425 regulator-min-microvolt = <1200000>;
426 regulator-max-microvolt = <1200000>;
427 };
428
429 ldo27_reg: LDO27 {
430 regulator-name = "ldo_27";
431 regulator-min-microvolt = <1200000>;
432 regulator-max-microvolt = <1200000>;
433 };
434
435 ldo28_reg: LDO28 {
436 regulator-name = "ldo_28";
437 regulator-min-microvolt = <1800000>;
438 regulator-max-microvolt = <1800000>;
439 };
440
441 ldo29_reg: LDO29 {
442 regulator-name = "ldo_29";
443 regulator-min-microvolt = <1800000>;
444 regulator-max-microvolt = <1800000>;
445 };
446
447 ldo30_reg: LDO30 {
448 regulator-name = "vdd_mifs";
449 regulator-min-microvolt = <1000000>;
450 regulator-max-microvolt = <1000000>;
451 regulator-always-on;
452 };
453
454 ldo32_reg: LDO32 {
455 regulator-name = "ldo_32";
456 regulator-min-microvolt = <3000000>;
457 regulator-max-microvolt = <3000000>;
458 };
459
460 ldo33_reg: LDO33 {
461 regulator-name = "ldo_33";
462 regulator-min-microvolt = <2800000>;
463 regulator-max-microvolt = <2800000>;
464 };
465
466 ldo34_reg: LDO34 {
467 regulator-name = "ldo_34";
468 regulator-min-microvolt = <3000000>;
469 regulator-max-microvolt = <3000000>;
470 };
471
472 ldo35_reg: LDO35 {
473 regulator-name = "ldo_35";
474 regulator-min-microvolt = <1200000>;
475 regulator-max-microvolt = <1200000>;
476 };
477 };
478 };
143}; 479};
144 480
145&hsi2c_7 { 481&hsi2c_7 {
146 status = "okay"; 482 status = "okay";
483 clock-frequency = <400000>;
147 484
148 max98091: codec@10 { 485 max98091: codec@10 {
149 compatible = "maxim,max98091"; 486 compatible = "maxim,max98091";
@@ -153,6 +490,33 @@
153 pinctrl-names = "default"; 490 pinctrl-names = "default";
154 pinctrl-0 = <&max98091_irq>; 491 pinctrl-0 = <&max98091_irq>;
155 }; 492 };
493
494 light-sensor@44 {
495 compatible = "isil,isl29018";
496 reg = <0x44>;
497 vcc-supply = <&tps65090_fet5>;
498 };
499};
500
501&hsi2c_8 {
502 status = "okay";
503 clock-frequency = <333000>;
504 /* Atmel mXT540S */
505 trackpad@4b {
506 compatible = "atmel,maxtouch";
507 reg = <0x4b>;
508 interrupt-parent = <&gpx1>;
509 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
510 wakeup-source;
511 pinctrl-names = "default";
512 pinctrl-0 = <&trackpad_irq>;
513 linux,gpio-keymap = <KEY_RESERVED
514 KEY_RESERVED
515 KEY_RESERVED /* GPIO 0 */
516 KEY_RESERVED /* GPIO 1 */
517 BTN_LEFT /* GPIO 2 */
518 KEY_RESERVED>; /* GPIO 3 */
519 };
156}; 520};
157 521
158&hsi2c_9 { 522&hsi2c_9 {
@@ -185,7 +549,7 @@
185 num-slots = <1>; 549 num-slots = <1>;
186 broken-cd; 550 broken-cd;
187 caps2-mmc-hs200-1_8v; 551 caps2-mmc-hs200-1_8v;
188 supports-highspeed; 552 cap-mmc-highspeed;
189 non-removable; 553 non-removable;
190 card-detect-delay = <200>; 554 card-detect-delay = <200>;
191 clock-frequency = <400000000>; 555 clock-frequency = <400000000>;
@@ -194,17 +558,13 @@
194 samsung,dw-mshc-ddr-timing = <0 2>; 558 samsung,dw-mshc-ddr-timing = <0 2>;
195 pinctrl-names = "default"; 559 pinctrl-names = "default";
196 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>; 560 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
197 561 bus-width = <8>;
198 slot@0 {
199 reg = <0>;
200 bus-width = <8>;
201 };
202}; 562};
203 563
204&mmc_2 { 564&mmc_2 {
205 status = "okay"; 565 status = "okay";
206 num-slots = <1>; 566 num-slots = <1>;
207 supports-highspeed; 567 cap-sd-highspeed;
208 card-detect-delay = <200>; 568 card-detect-delay = <200>;
209 clock-frequency = <400000000>; 569 clock-frequency = <400000000>;
210 samsung,dw-mshc-ciu-div = <3>; 570 samsung,dw-mshc-ciu-div = <3>;
@@ -212,11 +572,7 @@
212 samsung,dw-mshc-ddr-timing = <1 2>; 572 samsung,dw-mshc-ddr-timing = <1 2>;
213 pinctrl-names = "default"; 573 pinctrl-names = "default";
214 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>; 574 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
215 575 bus-width = <4>;
216 slot@0 {
217 reg = <0>;
218 bus-width = <4>;
219 };
220}; 576};
221 577
222 578
@@ -247,6 +603,13 @@
247 samsung,pin-drv = <0>; 603 samsung,pin-drv = <0>;
248 }; 604 };
249 605
606 trackpad_irq: trackpad-irq {
607 samsung,pins = "gpx1-1";
608 samsung,pin-function = <0xf>;
609 samsung,pin-pud = <0>;
610 samsung,pin-drv = <0>;
611 };
612
250 power_key_irq: power-key-irq { 613 power_key_irq: power-key-irq {
251 samsung,pins = "gpx1-2"; 614 samsung,pins = "gpx1-2";
252 samsung,pin-function = <0>; 615 samsung,pin-function = <0>;
@@ -275,12 +638,42 @@
275 samsung,pin-drv = <0>; 638 samsung,pin-drv = <0>;
276 }; 639 };
277 640
641 max77802_irq: max77802-irq {
642 samsung,pins = "gpx3-1";
643 samsung,pin-function = <0>;
644 samsung,pin-pud = <0>;
645 samsung,pin-drv = <0>;
646 };
647
278 hdmi_hpd_irq: hdmi-hpd-irq { 648 hdmi_hpd_irq: hdmi-hpd-irq {
279 samsung,pins = "gpx3-7"; 649 samsung,pins = "gpx3-7";
280 samsung,pin-function = <0>; 650 samsung,pin-function = <0>;
281 samsung,pin-pud = <1>; 651 samsung,pin-pud = <1>;
282 samsung,pin-drv = <0>; 652 samsung,pin-drv = <0>;
283 }; 653 };
654
655 pmic_dvs_1: pmic-dvs-1 {
656 samsung,pins = "gpy7-6";
657 samsung,pin-function = <1>;
658 samsung,pin-pud = <0>;
659 samsung,pin-drv = <0>;
660 };
661};
662
663&pinctrl_2 {
664 pmic_dvs_2: pmic-dvs-2 {
665 samsung,pins = "gpj4-2";
666 samsung,pin-function = <1>;
667 samsung,pin-pud = <0>;
668 samsung,pin-drv = <0>;
669 };
670
671 pmic_dvs_3: pmic-dvs-3 {
672 samsung,pins = "gpj4-3";
673 samsung,pin-function = <1>;
674 samsung,pin-pud = <0>;
675 samsung,pin-drv = <0>;
676 };
284}; 677};
285 678
286&pinctrl_3 { 679&pinctrl_3 {
@@ -310,6 +703,14 @@
310 samsung,pin-pud = <0>; 703 samsung,pin-pud = <0>;
311 samsung,pin-drv = <0>; 704 samsung,pin-drv = <0>;
312 }; 705 };
706
707 pmic_selb: pmic-selb {
708 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
709 "gph0-6";
710 samsung,pin-function = <1>;
711 samsung,pin-pud = <0>;
712 samsung,pin-drv = <0>;
713 };
313}; 714};
314 715
315&rtc { 716&rtc {
@@ -363,12 +764,12 @@
363 vsys2-supply = <&vbat>; 764 vsys2-supply = <&vbat>;
364 vsys3-supply = <&vbat>; 765 vsys3-supply = <&vbat>;
365 infet1-supply = <&vbat>; 766 infet1-supply = <&vbat>;
366 infet2-supply = <&vbat>; 767 infet2-supply = <&tps65090_dcdc1>;
367 infet3-supply = <&vbat>; 768 infet3-supply = <&tps65090_dcdc2>;
368 infet4-supply = <&vbat>; 769 infet4-supply = <&tps65090_dcdc2>;
369 infet5-supply = <&vbat>; 770 infet5-supply = <&tps65090_dcdc2>;
370 infet6-supply = <&vbat>; 771 infet6-supply = <&tps65090_dcdc2>;
371 infet7-supply = <&vbat>; 772 infet7-supply = <&tps65090_dcdc1>;
372 vsys-l1-supply = <&vbat>; 773 vsys-l1-supply = <&vbat>;
373 vsys-l2-supply = <&vbat>; 774 vsys-l2-supply = <&vbat>;
374 775
@@ -443,3 +844,4 @@
443}; 844};
444 845
445#include "cros-ec-keyboard.dtsi" 846#include "cros-ec-keyboard.dtsi"
847#include "cros-adc-thermistors.dtsi"