blob: d530b4f5f1e9853bbaee12583de42c5a29d9ca12 [file] [log] [blame]
Arun Kumar K3528dd32014-05-09 06:06:25 +09001/*
2 * Google Peach Pit Rev 6+ board device tree source
3 *
4 * Copyright (c) 2014 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/dts-v1/;
12#include <dt-bindings/input/input.h>
13#include <dt-bindings/gpio/gpio.h>
Javier Martinez Canillas064ac052014-09-14 00:45:15 +090014#include <dt-bindings/interrupt-controller/irq.h>
Javier Martinez Canillasfa781dd2014-09-24 00:16:45 +090015#include <dt-bindings/clock/maxim,max77802.h>
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +090016#include <dt-bindings/regulator/maxim,max77802.h>
Arun Kumar K3528dd32014-05-09 06:06:25 +090017#include "exynos5420.dtsi"
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090018#include "exynos5420-cpus.dtsi"
Marek Szyprowski8b9ac7e2016-05-24 15:31:29 +020019#include "exynos-mfc-reserved-memory.dtsi"
Arun Kumar K3528dd32014-05-09 06:06:25 +090020
21/ {
22 model = "Google Peach Pit Rev 6+";
23
24 compatible = "google,pit-rev16",
25 "google,pit-rev15", "google,pit-rev14",
26 "google,pit-rev13", "google,pit-rev12",
27 "google,pit-rev11", "google,pit-rev10",
28 "google,pit-rev9", "google,pit-rev8",
29 "google,pit-rev7", "google,pit-rev6",
30 "google,pit", "google,peach","samsung,exynos5420",
31 "samsung,exynos5";
32
Doug Anderson80600982014-07-19 04:09:15 +090033 aliases {
34 /* Assign 20 so we don't get confused w/ builtin ones */
35 i2c20 = "/spi@12d40000/cros-ec@0/i2c-tunnel";
36 };
37
Ajay Kumar3b8fe982014-09-14 02:20:18 +090038 backlight: backlight {
Tushar Behera522c8ff2014-06-21 21:50:17 +090039 compatible = "pwm-backlight";
40 pwms = <&pwm 0 1000000 0>;
41 brightness-levels = <0 100 500 1000 1500 2000 2500 2800>;
42 default-brightness-level = <7>;
Ajay Kumar3b8fe982014-09-14 02:20:18 +090043 power-supply = <&tps65090_fet1>;
Tushar Behera522c8ff2014-06-21 21:50:17 +090044 pinctrl-0 = <&pwm0_out>;
45 pinctrl-names = "default";
Arun Kumar K3528dd32014-05-09 06:06:25 +090046 };
47
Javier Martinez Canillas1d1b00a2015-03-18 00:31:22 +090048 chosen {
49 stdout-path = "serial3:115200n8";
50 };
51
Arun Kumar K3528dd32014-05-09 06:06:25 +090052 fixed-rate-clocks {
53 oscclk {
54 compatible = "samsung,exynos5420-oscclk";
55 clock-frequency = <24000000>;
56 };
57 };
58
59 gpio-keys {
60 compatible = "gpio-keys";
61
62 pinctrl-names = "default";
Javier Martinez Canillas1f3cde42015-01-15 00:30:40 +090063 pinctrl-0 = <&power_key_irq &lid_irq>;
Arun Kumar K3528dd32014-05-09 06:06:25 +090064
65 power {
66 label = "Power";
67 gpios = <&gpx1 2 GPIO_ACTIVE_LOW>;
68 linux,code = <KEY_POWER>;
Sudeep Holla36a02822016-01-28 15:59:58 +000069 wakeup-source;
Arun Kumar K3528dd32014-05-09 06:06:25 +090070 };
Javier Martinez Canillas1f3cde42015-01-15 00:30:40 +090071
72 lid-switch {
73 label = "Lid";
74 gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
75 linux,input-type = <5>; /* EV_SW */
76 linux,code = <0>; /* SW_LID */
77 debounce-interval = <1>;
Sudeep Holla36a02822016-01-28 15:59:58 +000078 wakeup-source;
Javier Martinez Canillas1f3cde42015-01-15 00:30:40 +090079 };
Arun Kumar K3528dd32014-05-09 06:06:25 +090080 };
81
Tushar Behera522c8ff2014-06-21 21:50:17 +090082 memory {
83 reg = <0x20000000 0x80000000>;
Arun Kumar K3528dd32014-05-09 06:06:25 +090084 };
Tushar Beheraead39932014-05-17 07:44:10 +090085
86 sound {
87 compatible = "google,snow-audio-max98090";
88
Tushar Beheraa8d80b62014-07-08 08:20:08 +090089 samsung,model = "Peach-Pit-I2S-MAX98090";
Tushar Beheraead39932014-05-17 07:44:10 +090090 samsung,i2s-controller = <&i2s0>;
91 samsung,audio-codec = <&max98090>;
92 };
Vivek Gautam14a35ad2014-05-19 22:29:42 +090093
94 usb300_vbus_reg: regulator-usb300 {
95 compatible = "regulator-fixed";
96 regulator-name = "P5.0V_USB3CON0";
97 regulator-min-microvolt = <5000000>;
98 regulator-max-microvolt = <5000000>;
Javier Martinez Canillas31b99032015-10-08 07:39:58 +090099 gpio = <&gph0 0 GPIO_ACTIVE_HIGH>;
Vivek Gautam14a35ad2014-05-19 22:29:42 +0900100 pinctrl-names = "default";
101 pinctrl-0 = <&usb300_vbus_en>;
102 enable-active-high;
103 };
104
105 usb301_vbus_reg: regulator-usb301 {
106 compatible = "regulator-fixed";
107 regulator-name = "P5.0V_USB3CON1";
108 regulator-min-microvolt = <5000000>;
109 regulator-max-microvolt = <5000000>;
Javier Martinez Canillas31b99032015-10-08 07:39:58 +0900110 gpio = <&gph0 1 GPIO_ACTIVE_HIGH>;
Vivek Gautam14a35ad2014-05-19 22:29:42 +0900111 pinctrl-names = "default";
112 pinctrl-0 = <&usb301_vbus_en>;
113 enable-active-high;
114 };
Doug Anderson80600982014-07-19 04:09:15 +0900115
116 vbat: fixed-regulator {
117 compatible = "regulator-fixed";
118 regulator-name = "vbat-supply";
119 regulator-boot-on;
120 regulator-always-on;
121 };
Ajay Kumar3b8fe982014-09-14 02:20:18 +0900122
123 panel: panel {
124 compatible = "auo,b116xw03";
125 power-supply = <&tps65090_fet6>;
126 backlight = <&backlight>;
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900127
128 port {
129 panel_in: endpoint {
130 remote-endpoint = <&bridge_out>;
131 };
132 };
Ajay Kumar3b8fe982014-09-14 02:20:18 +0900133 };
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900134
135 mmc1_pwrseq: mmc1_pwrseq {
136 compatible = "mmc-pwrseq-simple";
137 reset-gpios = <&gpx0 0 GPIO_ACTIVE_LOW>; /* WIFI_EN */
138 clocks = <&max77802 MAX77802_CLK_32K_CP>;
139 clock-names = "ext_clock";
140 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900141};
142
Naveen Krishna Chatradhi7b488032014-09-14 00:46:56 +0900143&adc {
144 status = "okay";
145 vdd-supply = <&ldo9_reg>;
146};
147
Bartlomiej Zolnierkiewicz8b51c5e2015-12-15 18:33:15 +0100148&cpu0 {
149 cpu-supply = <&buck2_reg>;
150};
151
152&cpu4 {
153 cpu-supply = <&buck6_reg>;
154};
155
Tushar Behera522c8ff2014-06-21 21:50:17 +0900156&dp {
Arun Kumar K3528dd32014-05-09 06:06:25 +0900157 status = "okay";
Tushar Behera522c8ff2014-06-21 21:50:17 +0900158 pinctrl-names = "default";
159 pinctrl-0 = <&dp_hpd_gpio>;
160 samsung,color-space = <0>;
Tushar Behera522c8ff2014-06-21 21:50:17 +0900161 samsung,color-depth = <1>;
162 samsung,link-rate = <0x06>;
163 samsung,lane-count = <2>;
Yakir Yang12315572016-02-15 19:10:31 +0800164 hpd-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900165
166 ports {
Krzysztof Kozlowskibea7eef2016-04-06 11:00:47 +0900167 port0 {
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900168 dp_out: endpoint {
169 remote-endpoint = <&bridge_in>;
170 };
171 };
172 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900173};
174
Tushar Behera522c8ff2014-06-21 21:50:17 +0900175&fimd {
176 status = "okay";
177 samsung,invert-vclk;
178};
179
180&hdmi {
181 status = "okay";
182 hpd-gpio = <&gpx3 7 GPIO_ACTIVE_HIGH>;
183 pinctrl-names = "default";
184 pinctrl-0 = <&hdmi_hpd_irq>;
185 ddc = <&i2c_2>;
Rahul Sharmae634a152014-09-14 00:45:23 +0900186
187 hdmi-en-supply = <&tps65090_fet7>;
188 vdd-supply = <&ldo8_reg>;
189 vdd_osc-supply = <&ldo10_reg>;
190 vdd_pll-supply = <&ldo8_reg>;
Tushar Behera522c8ff2014-06-21 21:50:17 +0900191};
192
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900193&hsi2c_4 {
194 status = "okay";
195 clock-frequency = <400000>;
196
Javier Martinez Canillasfa781dd2014-09-24 00:16:45 +0900197 max77802: max77802-pmic@9 {
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900198 compatible = "maxim,max77802";
199 interrupt-parent = <&gpx3>;
200 interrupts = <1 IRQ_TYPE_NONE>;
201 pinctrl-names = "default";
202 pinctrl-0 = <&max77802_irq>, <&pmic_selb>,
203 <&pmic_dvs_1>, <&pmic_dvs_2>, <&pmic_dvs_3>;
204 wakeup-source;
205 reg = <0x9>;
206 #clock-cells = <1>;
207
208 inb1-supply = <&tps65090_dcdc2>;
209 inb2-supply = <&tps65090_dcdc1>;
210 inb3-supply = <&tps65090_dcdc2>;
211 inb4-supply = <&tps65090_dcdc2>;
212 inb5-supply = <&tps65090_dcdc1>;
213 inb6-supply = <&tps65090_dcdc2>;
214 inb7-supply = <&tps65090_dcdc1>;
215 inb8-supply = <&tps65090_dcdc1>;
216 inb9-supply = <&tps65090_dcdc1>;
217 inb10-supply = <&tps65090_dcdc1>;
218
219 inl1-supply = <&buck5_reg>;
220 inl2-supply = <&buck7_reg>;
221 inl3-supply = <&buck9_reg>;
222 inl4-supply = <&buck9_reg>;
223 inl5-supply = <&buck9_reg>;
224 inl6-supply = <&tps65090_dcdc2>;
225 inl7-supply = <&buck9_reg>;
226 inl9-supply = <&tps65090_dcdc2>;
227 inl10-supply = <&buck7_reg>;
228
229 regulators {
230 buck1_reg: BUCK1 {
231 regulator-name = "vdd_mif";
232 regulator-min-microvolt = <800000>;
233 regulator-max-microvolt = <1300000>;
234 regulator-always-on;
235 regulator-boot-on;
236 regulator-ramp-delay = <12500>;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900237 regulator-state-mem {
238 regulator-off-in-suspend;
239 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900240 };
241
242 buck2_reg: BUCK2 {
243 regulator-name = "vdd_arm";
244 regulator-min-microvolt = <800000>;
245 regulator-max-microvolt = <1500000>;
246 regulator-always-on;
247 regulator-boot-on;
248 regulator-ramp-delay = <12500>;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900249 regulator-state-mem {
250 regulator-off-in-suspend;
251 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900252 };
253
254 buck3_reg: BUCK3 {
255 regulator-name = "vdd_int";
256 regulator-min-microvolt = <800000>;
257 regulator-max-microvolt = <1400000>;
258 regulator-always-on;
259 regulator-boot-on;
260 regulator-ramp-delay = <12500>;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900261 regulator-state-mem {
262 regulator-off-in-suspend;
263 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900264 };
265
266 buck4_reg: BUCK4 {
267 regulator-name = "vdd_g3d";
268 regulator-min-microvolt = <700000>;
269 regulator-max-microvolt = <1400000>;
270 regulator-always-on;
271 regulator-boot-on;
272 regulator-ramp-delay = <12500>;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900273 regulator-state-mem {
274 regulator-off-in-suspend;
275 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900276 };
277
278 buck5_reg: BUCK5 {
279 regulator-name = "vdd_1v2";
280 regulator-min-microvolt = <1200000>;
281 regulator-max-microvolt = <1200000>;
282 regulator-always-on;
283 regulator-boot-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900284 regulator-state-mem {
285 regulator-off-in-suspend;
286 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900287 };
288
289 buck6_reg: BUCK6 {
290 regulator-name = "vdd_kfc";
291 regulator-min-microvolt = <800000>;
292 regulator-max-microvolt = <1500000>;
293 regulator-always-on;
294 regulator-boot-on;
295 regulator-ramp-delay = <12500>;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900296 regulator-state-mem {
297 regulator-off-in-suspend;
298 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900299 };
300
301 buck7_reg: BUCK7 {
302 regulator-name = "vdd_1v35";
303 regulator-min-microvolt = <1350000>;
304 regulator-max-microvolt = <1350000>;
305 regulator-always-on;
306 regulator-boot-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900307 regulator-state-mem {
308 regulator-on-in-suspend;
309 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900310 };
311
312 buck8_reg: BUCK8 {
313 regulator-name = "vdd_emmc";
314 regulator-min-microvolt = <2850000>;
315 regulator-max-microvolt = <2850000>;
316 regulator-always-on;
317 regulator-boot-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900318 regulator-state-mem {
319 regulator-off-in-suspend;
320 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900321 };
322
323 buck9_reg: BUCK9 {
324 regulator-name = "vdd_2v";
325 regulator-min-microvolt = <2000000>;
326 regulator-max-microvolt = <2000000>;
327 regulator-always-on;
328 regulator-boot-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900329 regulator-state-mem {
330 regulator-on-in-suspend;
331 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900332 };
333
334 buck10_reg: BUCK10 {
335 regulator-name = "vdd_1v8";
336 regulator-min-microvolt = <1800000>;
337 regulator-max-microvolt = <1800000>;
338 regulator-always-on;
339 regulator-boot-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900340 regulator-state-mem {
341 regulator-on-in-suspend;
342 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900343 };
344
345 ldo1_reg: LDO1 {
346 regulator-name = "vdd_1v0";
347 regulator-min-microvolt = <1000000>;
348 regulator-max-microvolt = <1000000>;
349 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900350 regulator-state-mem {
351 regulator-on-in-suspend;
352 regulator-mode = <MAX77802_OPMODE_LP>;
353 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900354 };
355
356 ldo2_reg: LDO2 {
357 regulator-name = "vdd_1v2_2";
358 regulator-min-microvolt = <1200000>;
359 regulator-max-microvolt = <1200000>;
360 };
361
362 ldo3_reg: LDO3 {
363 regulator-name = "vdd_1v8_3";
364 regulator-min-microvolt = <1800000>;
365 regulator-max-microvolt = <1800000>;
366 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900367 regulator-state-mem {
368 regulator-on-in-suspend;
369 regulator-mode = <MAX77802_OPMODE_LP>;
370 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900371 };
372
373 vqmmc_sdcard: ldo4_reg: LDO4 {
374 regulator-name = "vdd_sd";
375 regulator-min-microvolt = <1800000>;
376 regulator-max-microvolt = <2800000>;
377 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900378 regulator-state-mem {
379 regulator-off-in-suspend;
380 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900381 };
382
383 ldo5_reg: LDO5 {
384 regulator-name = "vdd_1v8_5";
385 regulator-min-microvolt = <1800000>;
386 regulator-max-microvolt = <1800000>;
387 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900388 regulator-state-mem {
389 regulator-off-in-suspend;
390 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900391 };
392
393 ldo6_reg: LDO6 {
394 regulator-name = "vdd_1v8_6";
395 regulator-min-microvolt = <1800000>;
396 regulator-max-microvolt = <1800000>;
397 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900398 regulator-state-mem {
399 regulator-off-in-suspend;
400 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900401 };
402
403 ldo7_reg: LDO7 {
404 regulator-name = "vdd_1v8_7";
405 regulator-min-microvolt = <1800000>;
406 regulator-max-microvolt = <1800000>;
407 };
408
409 ldo8_reg: LDO8 {
410 regulator-name = "vdd_ldo8";
411 regulator-min-microvolt = <1000000>;
412 regulator-max-microvolt = <1000000>;
413 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900414 regulator-state-mem {
415 regulator-off-in-suspend;
416 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900417 };
418
419 ldo9_reg: LDO9 {
420 regulator-name = "vdd_ldo9";
421 regulator-min-microvolt = <1800000>;
422 regulator-max-microvolt = <1800000>;
423 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900424 regulator-state-mem {
425 regulator-on-in-suspend;
426 regulator-mode = <MAX77802_OPMODE_LP>;
427 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900428 };
429
430 ldo10_reg: LDO10 {
431 regulator-name = "vdd_ldo10";
432 regulator-min-microvolt = <1800000>;
433 regulator-max-microvolt = <1800000>;
434 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900435 regulator-state-mem {
436 regulator-off-in-suspend;
437 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900438 };
439
440 ldo11_reg: LDO11 {
441 regulator-name = "vdd_ldo11";
442 regulator-min-microvolt = <1800000>;
443 regulator-max-microvolt = <1800000>;
444 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900445 regulator-state-mem {
446 regulator-on-in-suspend;
447 regulator-mode = <MAX77802_OPMODE_LP>;
448 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900449 };
450
451 ldo12_reg: LDO12 {
452 regulator-name = "vdd_ldo12";
453 regulator-min-microvolt = <3000000>;
454 regulator-max-microvolt = <3000000>;
455 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900456 regulator-state-mem {
457 regulator-off-in-suspend;
458 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900459 };
460
461 ldo13_reg: LDO13 {
462 regulator-name = "vdd_ldo13";
463 regulator-min-microvolt = <1800000>;
464 regulator-max-microvolt = <1800000>;
465 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900466 regulator-state-mem {
467 regulator-on-in-suspend;
468 regulator-mode = <MAX77802_OPMODE_LP>;
469 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900470 };
471
472 ldo14_reg: LDO14 {
473 regulator-name = "vdd_ldo14";
474 regulator-min-microvolt = <1800000>;
475 regulator-max-microvolt = <1800000>;
476 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900477 regulator-state-mem {
478 regulator-off-in-suspend;
479 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900480 };
481
482 ldo15_reg: LDO15 {
483 regulator-name = "vdd_ldo15";
484 regulator-min-microvolt = <1000000>;
485 regulator-max-microvolt = <1000000>;
486 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900487 regulator-state-mem {
488 regulator-off-in-suspend;
489 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900490 };
491
492 ldo17_reg: LDO17 {
493 regulator-name = "vdd_g3ds";
494 regulator-min-microvolt = <900000>;
495 regulator-max-microvolt = <1400000>;
496 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900497 regulator-state-mem {
498 regulator-off-in-suspend;
499 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900500 };
501
502 ldo18_reg: LDO18 {
503 regulator-name = "ldo_18";
504 regulator-min-microvolt = <1800000>;
505 regulator-max-microvolt = <1800000>;
506 };
507
508 ldo19_reg: LDO19 {
509 regulator-name = "ldo_19";
510 regulator-min-microvolt = <1800000>;
511 regulator-max-microvolt = <1800000>;
512 };
513
514 ldo20_reg: LDO20 {
515 regulator-name = "ldo_20";
516 regulator-min-microvolt = <1800000>;
517 regulator-max-microvolt = <1800000>;
518 regulator-always-on;
519 };
520
521 ldo21_reg: LDO21 {
522 regulator-name = "ldo_21";
523 regulator-min-microvolt = <2800000>;
524 regulator-max-microvolt = <2800000>;
525 };
526
527 ldo23_reg: LDO23 {
528 regulator-name = "ldo_23";
529 regulator-min-microvolt = <3300000>;
530 regulator-max-microvolt = <3300000>;
531 };
532 ldo24_reg: LDO24 {
533 regulator-name = "ldo_24";
534 regulator-min-microvolt = <2800000>;
535 regulator-max-microvolt = <2800000>;
536 };
537
538 ldo25_reg: LDO25 {
539 regulator-name = "ldo_25";
540 regulator-min-microvolt = <3300000>;
541 regulator-max-microvolt = <3300000>;
542 };
543
544 ldo26_reg: LDO26 {
545 regulator-name = "ldo_26";
546 regulator-min-microvolt = <1200000>;
547 regulator-max-microvolt = <1200000>;
548 };
549
550 ldo27_reg: LDO27 {
551 regulator-name = "ldo_27";
552 regulator-min-microvolt = <1200000>;
553 regulator-max-microvolt = <1200000>;
554 };
555
556 ldo28_reg: LDO28 {
557 regulator-name = "ldo_28";
558 regulator-min-microvolt = <1800000>;
559 regulator-max-microvolt = <1800000>;
560 };
561
562 ldo29_reg: LDO29 {
563 regulator-name = "ldo_29";
564 regulator-min-microvolt = <1800000>;
565 regulator-max-microvolt = <1800000>;
566 };
567
568 ldo30_reg: LDO30 {
569 regulator-name = "vdd_mifs";
570 regulator-min-microvolt = <1000000>;
571 regulator-max-microvolt = <1000000>;
572 regulator-always-on;
Javier Martinez Canillas23c76dc2015-01-15 00:30:49 +0900573 regulator-state-mem {
574 regulator-off-in-suspend;
575 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900576 };
577
578 ldo32_reg: LDO32 {
579 regulator-name = "ldo_32";
580 regulator-min-microvolt = <3000000>;
581 regulator-max-microvolt = <3000000>;
582 };
583
584 ldo33_reg: LDO33 {
585 regulator-name = "ldo_33";
586 regulator-min-microvolt = <2800000>;
587 regulator-max-microvolt = <2800000>;
588 };
589
590 ldo34_reg: LDO34 {
591 regulator-name = "ldo_34";
592 regulator-min-microvolt = <3000000>;
593 regulator-max-microvolt = <3000000>;
594 };
595
596 ldo35_reg: LDO35 {
597 regulator-name = "ldo_35";
598 regulator-min-microvolt = <1200000>;
599 regulator-max-microvolt = <1200000>;
600 };
601 };
602 };
603};
604
Tushar Behera522c8ff2014-06-21 21:50:17 +0900605&hsi2c_7 {
606 status = "okay";
Javier Martinez Canillas8be6a6d2014-09-14 00:47:22 +0900607 clock-frequency = <400000>;
Tushar Behera522c8ff2014-06-21 21:50:17 +0900608
609 max98090: codec@10 {
610 compatible = "maxim,max98090";
611 reg = <0x10>;
612 interrupts = <2 0>;
613 interrupt-parent = <&gpx0>;
614 pinctrl-names = "default";
615 pinctrl-0 = <&max98090_irq>;
Tushar Behera2fad9722015-02-27 06:08:52 +0900616 clocks = <&pmu_system_controller 0>;
617 clock-names = "mclk";
Tushar Behera522c8ff2014-06-21 21:50:17 +0900618 };
Javier Martinez Canillasdc0cf1a2014-09-14 00:47:17 +0900619
620 light-sensor@44 {
621 compatible = "isil,isl29018";
622 reg = <0x44>;
623 vcc-supply = <&tps65090_fet5>;
624 };
Ajay Kumar3b8fe982014-09-14 02:20:18 +0900625
626 ps8625: lvds-bridge@48 {
627 compatible = "parade,ps8625";
628 reg = <0x48>;
629 sleep-gpios = <&gpx3 5 GPIO_ACTIVE_HIGH>;
630 reset-gpios = <&gpy7 7 GPIO_ACTIVE_HIGH>;
631 lane-count = <2>;
Ajay Kumar3b8fe982014-09-14 02:20:18 +0900632 use-external-pwm;
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900633
634 ports {
Krzysztof Kozlowskibea7eef2016-04-06 11:00:47 +0900635 port0 {
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900636 bridge_out: endpoint {
637 remote-endpoint = <&panel_in>;
638 };
639 };
640
Krzysztof Kozlowskibea7eef2016-04-06 11:00:47 +0900641 port1 {
Ajay Kumare07eb1e2015-02-05 00:29:56 +0900642 bridge_in: endpoint {
643 remote-endpoint = <&dp_out>;
644 };
645 };
646 };
647
Ajay Kumar3b8fe982014-09-14 02:20:18 +0900648 };
Tushar Behera522c8ff2014-06-21 21:50:17 +0900649};
650
Sjoerd Simons6a9e7312014-09-14 01:33:15 +0900651&hsi2c_8 {
652 status = "okay";
653 clock-frequency = <333000>;
654
655 /* Atmel mXT336S */
656 trackpad@4b {
657 compatible = "atmel,maxtouch";
658 reg = <0x4b>;
659 interrupt-parent = <&gpx1>;
660 interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
661 wakeup-source;
662 pinctrl-names = "default";
663 pinctrl-0 = <&trackpad_irq>;
664 linux,gpio-keymap = <KEY_RESERVED
665 KEY_RESERVED
666 KEY_RESERVED /* GPIO0 */
667 KEY_RESERVED /* GPIO1 */
668 KEY_RESERVED /* GPIO2 */
669 BTN_LEFT>; /* GPIO3 */
670 };
671};
672
Tushar Behera522c8ff2014-06-21 21:50:17 +0900673&hsi2c_9 {
674 status = "okay";
675 clock-frequency = <400000>;
676
677 tpm@20 {
678 compatible = "infineon,slb9645tt";
679 reg = <0x20>;
680
681 /* Unused irq; but still need to configure the pins */
682 pinctrl-names = "default";
683 pinctrl-0 = <&tpm_irq>;
684 };
685};
686
687&i2c_2 {
688 status = "okay";
689 samsung,i2c-sda-delay = <100>;
690 samsung,i2c-max-bus-freq = <66000>;
691 samsung,i2c-slave-addr = <0x50>;
692};
693
694&i2s0 {
Arun Kumar K3528dd32014-05-09 06:06:25 +0900695 status = "okay";
696};
697
Javier Martinez Canillas7c44e912016-04-28 15:21:50 -0400698&mfc {
Marek Szyprowski8b9ac7e2016-05-24 15:31:29 +0200699 memory-region = <&mfc_left>, <&mfc_right>;
Javier Martinez Canillas7c44e912016-04-28 15:21:50 -0400700};
701
Arun Kumar K3528dd32014-05-09 06:06:25 +0900702&mmc_0 {
703 status = "okay";
704 num-slots = <1>;
Naveen Krishna Chatradhi65354302014-09-24 00:39:20 +0900705 mmc-hs200-1_8v;
Jaehoon Chungaaa25a52014-08-18 11:55:32 -0500706 cap-mmc-highspeed;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900707 non-removable;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900708 clock-frequency = <400000000>;
709 samsung,dw-mshc-ciu-div = <3>;
710 samsung,dw-mshc-sdr-timing = <0 4>;
711 samsung,dw-mshc-ddr-timing = <0 2>;
Seungwon Jeon4f59ebe2015-03-27 01:52:02 +0900712 samsung,dw-mshc-hs400-timing = <0 2>;
713 samsung,read-strobe-delay = <90>;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900714 pinctrl-names = "default";
Seungwon Jeon4f59ebe2015-03-27 01:52:02 +0900715 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8 &sd0_rclk>;
Jaehoon Chungaaa25a52014-08-18 11:55:32 -0500716 bus-width = <8>;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900717};
718
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900719&mmc_1 {
720 status = "okay";
721 num-slots = <1>;
Javier Martinez Canillas29a22892015-10-15 18:51:09 +0200722 non-removable;
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900723 cap-sdio-irq;
Javier Martinez Canillasb2706872015-04-07 15:03:34 +0200724 keep-power-in-suspend;
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900725 clock-frequency = <400000000>;
726 samsung,dw-mshc-ciu-div = <1>;
727 samsung,dw-mshc-sdr-timing = <0 1>;
728 samsung,dw-mshc-ddr-timing = <0 2>;
729 pinctrl-names = "default";
730 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
731 <&sd1_bus4>, <&sd1_bus8>, <&wifi_en>;
732 bus-width = <4>;
733 cap-sd-highspeed;
734 mmc-pwrseq = <&mmc1_pwrseq>;
735 vqmmc-supply = <&buck10_reg>;
736};
737
Arun Kumar K3528dd32014-05-09 06:06:25 +0900738&mmc_2 {
739 status = "okay";
740 num-slots = <1>;
Jaehoon Chungaaa25a52014-08-18 11:55:32 -0500741 cap-sd-highspeed;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900742 card-detect-delay = <200>;
743 clock-frequency = <400000000>;
744 samsung,dw-mshc-ciu-div = <3>;
745 samsung,dw-mshc-sdr-timing = <2 3>;
746 samsung,dw-mshc-ddr-timing = <1 2>;
747 pinctrl-names = "default";
Javier Martinez Canillasaf6ad882015-02-27 06:08:51 +0900748 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
Jaehoon Chungaaa25a52014-08-18 11:55:32 -0500749 bus-width = <4>;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900750};
751
Tushar Beheraead39932014-05-17 07:44:10 +0900752
Tushar Behera522c8ff2014-06-21 21:50:17 +0900753&pinctrl_0 {
Doug Andersonac5ce092014-07-16 02:38:39 +0900754 pinctrl-names = "default";
755 pinctrl-0 = <&mask_tpm_reset>;
756
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900757 wifi_en: wifi-en {
758 samsung,pins = "gpx0-0";
759 samsung,pin-function = <1>;
760 samsung,pin-pud = <0>;
761 samsung,pin-drv = <0>;
762 };
763
Tushar Behera522c8ff2014-06-21 21:50:17 +0900764 max98090_irq: max98090-irq {
765 samsung,pins = "gpx0-2";
766 samsung,pin-function = <0>;
767 samsung,pin-pud = <0>;
768 samsung,pin-drv = <0>;
769 };
770
Doug Andersonac5ce092014-07-16 02:38:39 +0900771 /* We need GPX0_6 to be low at sleep time; just keep it low always */
772 mask_tpm_reset: mask-tpm-reset {
773 samsung,pins = "gpx0-6";
774 samsung,pin-function = <1>;
775 samsung,pin-pud = <0>;
776 samsung,pin-drv = <0>;
777 samsung,pin-val = <0>;
778 };
779
Tushar Behera522c8ff2014-06-21 21:50:17 +0900780 tpm_irq: tpm-irq {
781 samsung,pins = "gpx1-0";
782 samsung,pin-function = <0>;
783 samsung,pin-pud = <0>;
784 samsung,pin-drv = <0>;
785 };
786
Sjoerd Simons6a9e7312014-09-14 01:33:15 +0900787 trackpad_irq: trackpad-irq {
788 samsung,pins = "gpx1-1";
789 samsung,pin-function = <0xf>;
790 samsung,pin-pud = <0>;
791 samsung,pin-drv = <0>;
792 };
793
Tushar Behera522c8ff2014-06-21 21:50:17 +0900794 power_key_irq: power-key-irq {
795 samsung,pins = "gpx1-2";
796 samsung,pin-function = <0>;
797 samsung,pin-pud = <0>;
798 samsung,pin-drv = <0>;
799 };
800
Doug Anderson80600982014-07-19 04:09:15 +0900801 ec_irq: ec-irq {
802 samsung,pins = "gpx1-5";
803 samsung,pin-function = <0>;
804 samsung,pin-pud = <0>;
805 samsung,pin-drv = <0>;
806 };
807
808 tps65090_irq: tps65090-irq {
809 samsung,pins = "gpx2-5";
810 samsung,pin-function = <0>;
811 samsung,pin-pud = <0>;
812 samsung,pin-drv = <0>;
813 };
814
Tushar Behera522c8ff2014-06-21 21:50:17 +0900815 dp_hpd_gpio: dp_hpd_gpio {
816 samsung,pins = "gpx2-6";
817 samsung,pin-function = <0>;
818 samsung,pin-pud = <3>;
819 samsung,pin-drv = <0>;
820 };
821
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900822 max77802_irq: max77802-irq {
823 samsung,pins = "gpx3-1";
824 samsung,pin-function = <0>;
825 samsung,pin-pud = <0>;
826 samsung,pin-drv = <0>;
827 };
828
Javier Martinez Canillas1f3cde42015-01-15 00:30:40 +0900829 lid_irq: lid-irq {
830 samsung,pins = "gpx3-4";
831 samsung,pin-function = <0xf>;
832 samsung,pin-pud = <0>;
833 samsung,pin-drv = <0>;
834 };
835
Tushar Behera522c8ff2014-06-21 21:50:17 +0900836 hdmi_hpd_irq: hdmi-hpd-irq {
837 samsung,pins = "gpx3-7";
838 samsung,pin-function = <0>;
839 samsung,pin-pud = <1>;
840 samsung,pin-drv = <0>;
Tushar Beheraead39932014-05-17 07:44:10 +0900841 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900842
843 pmic_dvs_1: pmic-dvs-1 {
844 samsung,pins = "gpy7-6";
845 samsung,pin-function = <1>;
846 samsung,pin-pud = <0>;
847 samsung,pin-drv = <0>;
848 };
849};
850
Javier Martinez Canillas3cb18182015-02-27 06:08:51 +0900851&pinctrl_1 {
852 /* Adjust WiFi drive strengths lower for EMI */
853 sd1_clk: sd1-clk {
854 samsung,pin-drv = <2>;
855 };
856
857 sd1_cmd: sd1-cmd {
858 samsung,pin-drv = <2>;
859 };
860
861 sd1_bus1: sd1-bus-width1 {
862 samsung,pin-drv = <2>;
863 };
864
865 sd1_bus4: sd1-bus-width4 {
866 samsung,pin-drv = <2>;
867 };
868
869 sd1_bus8: sd1-bus-width8 {
870 samsung,pin-drv = <2>;
871 };
872};
873
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900874&pinctrl_2 {
875 pmic_dvs_2: pmic-dvs-2 {
876 samsung,pins = "gpj4-2";
877 samsung,pin-function = <1>;
878 samsung,pin-pud = <0>;
879 samsung,pin-drv = <0>;
880 };
881
882 pmic_dvs_3: pmic-dvs-3 {
883 samsung,pins = "gpj4-3";
884 samsung,pin-function = <1>;
885 samsung,pin-pud = <0>;
886 samsung,pin-drv = <0>;
887 };
Tushar Beheraead39932014-05-17 07:44:10 +0900888};
889
Tushar Behera522c8ff2014-06-21 21:50:17 +0900890&pinctrl_3 {
Doug Anderson80600982014-07-19 04:09:15 +0900891 /* Drive SPI lines at x2 for better integrity */
892 spi2-bus {
893 samsung,pin-drv = <2>;
894 };
895
896 /* Drive SPI chip select at x2 for better integrity */
897 ec_spi_cs: ec-spi-cs {
898 samsung,pins = "gpb1-2";
899 samsung,pin-function = <1>;
900 samsung,pin-pud = <0>;
901 samsung,pin-drv = <2>;
902 };
903
Tushar Behera522c8ff2014-06-21 21:50:17 +0900904 usb300_vbus_en: usb300-vbus-en {
905 samsung,pins = "gph0-0";
906 samsung,pin-function = <1>;
907 samsung,pin-pud = <0>;
908 samsung,pin-drv = <0>;
909 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900910
Tushar Behera522c8ff2014-06-21 21:50:17 +0900911 usb301_vbus_en: usb301-vbus-en {
912 samsung,pins = "gph0-1";
913 samsung,pin-function = <1>;
914 samsung,pin-pud = <0>;
915 samsung,pin-drv = <0>;
Arun Kumar K3528dd32014-05-09 06:06:25 +0900916 };
Javier Martinez Canillas064ac052014-09-14 00:45:15 +0900917
918 pmic_selb: pmic-selb {
919 samsung,pins = "gph0-2", "gph0-3", "gph0-4", "gph0-5",
920 "gph0-6";
921 samsung,pin-function = <1>;
922 samsung,pin-pud = <0>;
923 samsung,pin-drv = <0>;
924 };
Arun Kumar K3528dd32014-05-09 06:06:25 +0900925};
926
Alim Akhtarb8bb9ba2015-10-13 04:32:53 +0900927&pmu_system_controller {
928 assigned-clocks = <&pmu_system_controller 0>;
929 assigned-clock-parents = <&clock CLK_FIN_PLL>;
930};
931
Tushar Behera522c8ff2014-06-21 21:50:17 +0900932&rtc {
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900933 status = "okay";
Javier Martinez Canillasfa781dd2014-09-24 00:16:45 +0900934 clocks = <&clock CLK_RTC>, <&max77802 MAX77802_CLK_32K_AP>;
935 clock-names = "rtc", "rtc_src";
Rahul Sharma6ac189f2014-05-16 05:23:21 +0900936};
937
Doug Anderson80600982014-07-19 04:09:15 +0900938&spi_2 {
939 status = "okay";
940 num-cs = <1>;
941 samsung,spi-src-clk = <0>;
Javier Martinez Canillas31b99032015-10-08 07:39:58 +0900942 cs-gpios = <&gpb1 2 GPIO_ACTIVE_HIGH>;
Doug Anderson80600982014-07-19 04:09:15 +0900943
944 cros_ec: cros-ec@0 {
945 compatible = "google,cros-ec-spi";
946 interrupt-parent = <&gpx1>;
947 interrupts = <5 0>;
948 pinctrl-names = "default";
949 pinctrl-0 = <&ec_spi_cs &ec_irq>;
950 reg = <0>;
951 spi-max-frequency = <3125000>;
Emilio Lopez27e66992015-10-08 07:35:21 +0900952 google,has-vbc-nvram;
Doug Anderson80600982014-07-19 04:09:15 +0900953
954 controller-data {
955 samsung,spi-feedback-delay = <1>;
956 };
957
958 i2c-tunnel {
959 compatible = "google,cros-ec-i2c-tunnel";
960 #address-cells = <1>;
961 #size-cells = <0>;
962 google,remote-bus = <0>;
963
964 battery: sbs-battery@b {
965 compatible = "sbs,sbs-battery";
966 reg = <0xb>;
967 sbs,poll-retry-count = <1>;
968 sbs,i2c-retry-count = <2>;
969 };
970
971 power-regulator@48 {
972 compatible = "ti,tps65090";
973 reg = <0x48>;
974
975 /*
976 * Config irq to disable internal pulls
977 * even though we run in polling mode.
978 */
979 pinctrl-names = "default";
980 pinctrl-0 = <&tps65090_irq>;
981
982 vsys1-supply = <&vbat>;
983 vsys2-supply = <&vbat>;
984 vsys3-supply = <&vbat>;
985 infet1-supply = <&vbat>;
Javier Martinez Canillasa1305482014-08-18 13:26:51 -0500986 infet2-supply = <&tps65090_dcdc1>;
987 infet3-supply = <&tps65090_dcdc2>;
988 infet4-supply = <&tps65090_dcdc2>;
989 infet5-supply = <&tps65090_dcdc2>;
990 infet6-supply = <&tps65090_dcdc2>;
991 infet7-supply = <&tps65090_dcdc1>;
Doug Anderson80600982014-07-19 04:09:15 +0900992 vsys-l1-supply = <&vbat>;
993 vsys-l2-supply = <&vbat>;
994
995 regulators {
996 tps65090_dcdc1: dcdc1 {
997 ti,enable-ext-control;
998 };
999 tps65090_dcdc2: dcdc2 {
1000 ti,enable-ext-control;
1001 };
1002 tps65090_dcdc3: dcdc3 {
1003 ti,enable-ext-control;
1004 };
1005 tps65090_fet1: fet1 {
1006 regulator-name = "vcd_led";
1007 };
1008 tps65090_fet2: fet2 {
1009 regulator-name = "video_mid";
1010 regulator-always-on;
1011 };
1012 tps65090_fet3: fet3 {
1013 regulator-name = "wwan_r";
1014 regulator-always-on;
1015 };
1016 tps65090_fet4: fet4 {
1017 regulator-name = "sdcard";
1018 regulator-always-on;
1019 };
1020 tps65090_fet5: fet5 {
1021 regulator-name = "camout";
Javier Martinez Canillasae845472015-01-15 00:30:44 +09001022 regulator-always-on;
Doug Anderson80600982014-07-19 04:09:15 +09001023 };
1024 tps65090_fet6: fet6 {
1025 regulator-name = "lcd_vdd";
1026 };
1027 tps65090_fet7: fet7 {
1028 regulator-name = "video_mid_1a";
1029 regulator-always-on;
1030 };
1031 tps65090_ldo1: ldo1 {
1032 };
1033 tps65090_ldo2: ldo2 {
1034 };
1035 };
1036
1037 charger {
1038 compatible = "ti,tps65090-charger";
1039 };
1040 };
1041 };
1042 };
1043};
1044
Krzysztof Kozlowski3a3cf6c2015-04-12 20:57:36 +09001045&serial_3 {
Rahul Sharma6ac189f2014-05-16 05:23:21 +09001046 status = "okay";
Rahul Sharma6ac189f2014-05-16 05:23:21 +09001047};
1048
Sjoerd Simonse1c69ef2014-09-25 17:32:14 +09001049&usbdrd_dwc3_0 {
1050 dr_mode = "host";
1051};
1052
1053&usbdrd_dwc3_1 {
1054 dr_mode = "host";
1055};
1056
Arun Kumar K0ce9f472014-05-31 02:11:39 +09001057&usbdrd_phy0 {
Vivek Gautam14a35ad2014-05-19 22:29:42 +09001058 vbus-supply = <&usb300_vbus_reg>;
1059};
1060
Arun Kumar K0ce9f472014-05-31 02:11:39 +09001061&usbdrd_phy1 {
Vivek Gautam14a35ad2014-05-19 22:29:42 +09001062 vbus-supply = <&usb301_vbus_reg>;
1063};
1064
Arun Kumar K3528dd32014-05-09 06:06:25 +09001065/*
1066 * Use longest HW watchdog in SoC (32 seconds) since the hardware
1067 * watchdog provides no debugging information (compared to soft/hard
1068 * lockup detectors) and so should be last resort.
1069 */
1070&watchdog {
1071 timeout-sec = <32>;
1072};
Tushar Beheraead39932014-05-17 07:44:10 +09001073
Doug Anderson80600982014-07-19 04:09:15 +09001074#include "cros-ec-keyboard.dtsi"
Naveen Krishna Chatradhi7b488032014-09-14 00:46:56 +09001075#include "cros-adc-thermistors.dtsi"