blob: 653efb4175b29d91252050ad9a18373c5885f22b [file] [log] [blame]
Rajeshwari Shinde2881e532013-02-28 01:40:41 +00001/*
2 * SAMSUNG Snow board device tree source
3 *
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
Simon Glassf1ac35b2015-07-02 18:15:48 -060010 */
Rajeshwari Shinde2881e532013-02-28 01:40:41 +000011
12/dts-v1/;
Simon Glassf1ac35b2015-07-02 18:15:48 -060013#include <dt-bindings/gpio/gpio.h>
14#include <dt-bindings/interrupt-controller/irq.h>
15#include <dt-bindings/input/input.h>
Simon Glass2fdd7d92014-10-20 19:48:29 -060016#include "exynos5250.dtsi"
Rajeshwari Shinde2881e532013-02-28 01:40:41 +000017
18/ {
19 model = "Google Snow";
Simon Glassf1ac35b2015-07-02 18:15:48 -060020 compatible = "google,snow", "samsung,exynos5250", "samsung,exynos5";
Rajeshwari Shinde2881e532013-02-28 01:40:41 +000021
22 aliases {
Simon Glassf1ac35b2015-07-02 18:15:48 -060023 i2c0 = "/i2c@12C60000";
24 i2c1 = "/i2c@12C70000";
25 i2c2 = "/i2c@12C80000";
26 i2c3 = "/i2c@12C90000";
27 i2c4 = "/i2c@12CA0000";
Simon Glassa0942a62015-07-02 18:15:50 -060028 i2c104 = &i2c_104;
Simon Glassf1ac35b2015-07-02 18:15:48 -060029 i2c5 = "/i2c@12CB0000";
30 i2c6 = "/i2c@12CC0000";
31 i2c7 = "/i2c@12CD0000";
Rajeshwari Shinde2881e532013-02-28 01:40:41 +000032 spi0 = "/spi@12d20000";
33 spi1 = "/spi@12d30000";
34 spi2 = "/spi@12d40000";
35 spi3 = "/spi@131a0000";
36 spi4 = "/spi@131b0000";
Simon Glassb2f79412013-05-10 20:24:00 -070037 mmc0 = "/mmc@12200000";
38 mmc1 = "/mmc@12210000";
39 mmc2 = "/mmc@12220000";
40 mmc3 = "/mmc@12230000";
Rajeshwari Shinde4603e8c2013-06-24 16:47:21 +053041 serial0 = "/serial@12C30000";
42 console = "/serial@12C30000";
Dani Krishna Mohanb7006a72013-09-11 16:38:47 +053043 i2s = "/sound@3830000";
Rajeshwari Shinde2881e532013-02-28 01:40:41 +000044 };
45
Simon Glassf1ac35b2015-07-02 18:15:48 -060046 i2c4: i2c@12CA0000 {
Simon Glassa0942a62015-07-02 18:15:50 -060047 cros_ec_old: cros-ec@1e {
Hung-ying Tyan60744a12013-05-15 18:27:33 +080048 reg = <0x1e>;
Simon Glass3fbb7872015-03-26 09:29:39 -060049 compatible = "google,cros-ec-i2c";
Hung-ying Tyan60744a12013-05-15 18:27:33 +080050 i2c-max-frequency = <100000>;
Simon Glassbd768262015-01-26 20:29:38 -070051 u-boot,i2c-offset-len = <0>;
Simon Glass6f755eb2015-01-05 20:05:42 -070052 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
Hung-ying Tyan60744a12013-05-15 18:27:33 +080053 };
54
55 power-regulator@48 {
56 compatible = "ti,tps65090";
57 reg = <0x48>;
58 };
59 };
60
Simon Glassa0942a62015-07-02 18:15:50 -060061 i2c-arbitrator {
62 compatible = "i2c-arb-gpio-challenge";
63 #address-cells = <1>;
64 #size-cells = <0>;
65
66 i2c-parent = <&{/i2c@12CA0000}>;
67
68 our-claim-gpio = <&gpf0 3 GPIO_ACTIVE_LOW>;
69 their-claim-gpios = <&gpe0 4 GPIO_ACTIVE_LOW>;
70 slew-delay-us = <10>;
71 wait-retry-us = <3000>;
72 wait-free-us = <50000>;
73
74 /* Use ID 104 as a hint that we're on physical bus 4 */
75 i2c_104: i2c@0 {
76 reg = <0>;
77 #address-cells = <1>;
78 #size-cells = <0>;
79
80 battery: sbs-battery@b {
81 compatible = "sbs,sbs-battery";
82 reg = <0xb>;
83 sbs,poll-retry-count = <1>;
84 };
85
86 cros_ec: embedded-controller {
87 compatible = "google,cros-ec-i2c";
88 reg = <0x1e>;
89 interrupts = <6 IRQ_TYPE_NONE>;
90 interrupt-parent = <&gpx1>;
91 wakeup-source;
92 i2c-max-frequency = <100000>;
93 u-boot,i2c-offset-len = <0>;
94 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
95 };
96
97 power-regulator {
98 compatible = "ti,tps65090";
99 reg = <0x48>;
100
101 regulators {
102 dcdc1 {
103 ti,enable-ext-control;
104 };
105 dcdc2 {
106 ti,enable-ext-control;
107 };
108 dcdc3 {
109 ti,enable-ext-control;
110 };
111 fet1: fet1 {
112 regulator-name = "vcd_led";
113 ti,overcurrent-wait = <3>;
114 };
115 tps65090_fet2: fet2 {
116 regulator-name = "video_mid";
117 regulator-always-on;
118 ti,overcurrent-wait = <3>;
119 };
120 fet3 {
121 regulator-name = "wwan_r";
122 regulator-always-on;
123 ti,overcurrent-wait = <3>;
124 };
125 fet4 {
126 regulator-name = "sdcard";
127 ti,overcurrent-wait = <3>;
128 };
129 fet5 {
130 regulator-name = "camout";
131 regulator-always-on;
132 ti,overcurrent-wait = <3>;
133 };
134 fet6: fet6 {
135 regulator-name = "lcd_vdd";
136 ti,overcurrent-wait = <3>;
137 };
138 tps65090_fet7: fet7 {
139 regulator-name = "video_mid_1a";
140 regulator-always-on;
141 ti,overcurrent-wait = <3>;
142 };
143 ldo1 {
144 };
145 ldo2 {
146 };
147 };
148
149 charger {
150 compatible = "ti,tps65090-charger";
151 };
152 };
153 };
154 };
155
Simon Glass73186c92014-10-13 23:42:01 -0600156 spi@12d30000 {
157 spi-max-frequency = <50000000>;
158 firmware_storage_spi: flash@0 {
159 compatible = "spi-flash";
160 reg = <0>;
161 };
162 };
163
Hung-ying Tyan60744a12013-05-15 18:27:33 +0800164 spi@131b0000 {
165 spi-max-frequency = <1000000>;
166 spi-deactivate-delay = <100>;
Simon Glass3fbb7872015-03-26 09:29:39 -0600167
Simon Glassf1ac35b2015-07-02 18:15:48 -0600168 /* Snow did support SPI but the released version used I2C */
Simon Glass3fbb7872015-03-26 09:29:39 -0600169 embedded-controller {
170 compatible = "google,cros-ec-i2c";
171 reg = <0x1e>;
Hung-ying Tyan60744a12013-05-15 18:27:33 +0800172 spi-max-frequency = <5000000>;
Simon Glass6f755eb2015-01-05 20:05:42 -0700173 ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
Hung-ying Tyan60744a12013-05-15 18:27:33 +0800174 optimise-flash-write;
175 status = "disabled";
176 };
177 };
178
Dani Krishna Mohanb7006a72013-09-11 16:38:47 +0530179 sound@3830000 {
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000180 samsung,codec-type = "max98095";
Simon Glass6f755eb2015-01-05 20:05:42 -0700181 codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>;
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000182 };
183
Wolfgang Denk93e14592013-10-04 17:43:24 +0200184 sound@12d60000 {
185 status = "disabled";
186 };
Dani Krishna Mohanb7006a72013-09-11 16:38:47 +0530187
Simon Glassf1ac35b2015-07-02 18:15:48 -0600188 i2c@12CD0000 {
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000189 soundcodec@22 {
190 reg = <0x22>;
191 compatible = "maxim,max98095-codec";
192 };
Simon Glass14ccc302014-05-20 06:01:41 -0600193
194 ptn3460-bridge@20 {
195 compatible = "nxp,ptn3460";
196 reg = <0x20>;
197 /*
198 * TODO(sjg@chromium.org): Use GPIOs here
199 * powerdown-gpio = <&gpy2 5 0>;
200 * reset-gpio = <&gpx1 5 0>;
201 * edid-emulation = <5>;
202 * pinctrl-names = "default";
203 * pinctrl-0 = <&ptn3460_gpios>;
204 */
205 };
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000206 };
207
Simon Glassf1ac35b2015-07-02 18:15:48 -0600208 i2c@12C60000 {
209 max77686@09 {
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000210 reg = <0x9>;
Przemyslaw Marczakf37df0f2015-04-20 20:07:45 +0200211 compatible = "maxim,max77686";
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000212 };
213 };
Simon Glassf2e8a872013-04-13 04:26:42 +0000214
Simon Glassb2f79412013-05-10 20:24:00 -0700215 mmc@12200000 {
216 samsung,bus-width = <8>;
217 samsung,timing = <1 3 3>;
218 samsung,removable = <0>;
219 };
220
221 mmc@12210000 {
222 status = "disabled";
223 };
224
225 mmc@12220000 {
226 samsung,bus-width = <4>;
227 samsung,timing = <1 2 3>;
228 samsung,removable = <1>;
229 };
230
231 mmc@12230000 {
232 status = "disabled";
233 };
234
Julius Wernerec89e0a2013-09-14 14:02:53 +0530235 ehci@12110000 {
Simon Glass6f755eb2015-01-05 20:05:42 -0700236 samsung,vbus-gpio = <&gpx1 1 GPIO_ACTIVE_HIGH>;
Simon Glass243d7f12015-03-25 12:22:58 -0600237 status = "okay";
Julius Wernerec89e0a2013-09-14 14:02:53 +0530238 };
239
240 xhci@12000000 {
Simon Glass6f755eb2015-01-05 20:05:42 -0700241 samsung,vbus-gpio = <&gpx2 7 GPIO_ACTIVE_HIGH>;
Julius Wernerec89e0a2013-09-14 14:02:53 +0530242 };
243
Simon Glassf2e8a872013-04-13 04:26:42 +0000244 tmu@10060000 {
245 samsung,min-temp = <25>;
246 samsung,max-temp = <125>;
247 samsung,start-warning = <95>;
248 samsung,start-tripping = <105>;
249 samsung,hw-tripping = <110>;
250 samsung,efuse-min-value = <40>;
251 samsung,efuse-value = <55>;
252 samsung,efuse-max-value = <100>;
253 samsung,slope = <274761730>;
254 samsung,dc-value = <25>;
255 };
256
Simon Glass14ccc302014-05-20 06:01:41 -0600257 fimd@14400000 {
258 samsung,vl-freq = <60>;
259 samsung,vl-col = <1366>;
260 samsung,vl-row = <768>;
261 samsung,vl-width = <1366>;
262 samsung,vl-height = <768>;
263
264 samsung,vl-clkp;
265 samsung,vl-dp;
266 samsung,vl-hsp;
267 samsung,vl-vsp;
268
269 samsung,vl-bpix = <4>;
270
271 samsung,vl-hspw = <32>;
272 samsung,vl-hbpd = <80>;
273 samsung,vl-hfpd = <48>;
274 samsung,vl-vspw = <5>;
275 samsung,vl-vbpd = <14>;
276 samsung,vl-vfpd = <3>;
277 samsung,vl-cmd-allow-len = <0xf>;
278
279 samsung,winid = <0>;
280 samsung,interface-mode = <1>;
281 samsung,dp-enabled = <1>;
282 samsung,dual-lcd-enabled = <0>;
283 };
284
285 dp@145b0000 {
286 samsung,lt-status = <0>;
287
288 samsung,master-mode = <0>;
289 samsung,bist-mode = <0>;
290 samsung,bist-pattern = <0>;
291 samsung,h-sync-polarity = <0>;
292 samsung,v-sync-polarity = <0>;
293 samsung,interlaced = <0>;
294 samsung,color-space = <0>;
295 samsung,dynamic-range = <0>;
296 samsung,ycbcr-coeff = <0>;
297 samsung,color-depth = <1>;
298 };
299
Rajeshwari Shinde2881e532013-02-28 01:40:41 +0000300};
Sjoerd Simons93322742014-11-27 16:34:08 +0100301
Simon Glass1a17c392015-07-02 18:15:49 -0600302&i2c_0 {
303 status = "okay";
304 samsung,i2c-sda-delay = <100>;
305 samsung,i2c-max-bus-freq = <378000>;
306
307 max77686: max77686@09 {
308 compatible = "maxim,max77686";
309 interrupt-parent = <&gpx3>;
310 interrupts = <2 IRQ_TYPE_NONE>;
311 wakeup-source;
312 reg = <0x09>;
313 #clock-cells = <1>;
314
315 voltage-regulators {
316 ldo1_reg: LDO1 {
317 regulator-name = "P1.0V_LDO_OUT1";
318 regulator-min-microvolt = <1000000>;
319 regulator-max-microvolt = <1000000>;
320 regulator-always-on;
321 };
322
323 ldo2_reg: LDO2 {
324 regulator-name = "P1.8V_LDO_OUT2";
325 regulator-min-microvolt = <1800000>;
326 regulator-max-microvolt = <1800000>;
327 regulator-always-on;
328 };
329
330 ldo3_reg: LDO3 {
331 regulator-name = "P1.8V_LDO_OUT3";
332 regulator-min-microvolt = <1800000>;
333 regulator-max-microvolt = <1800000>;
334 regulator-always-on;
335 };
336
337 ldo7_reg: LDO7 {
338 regulator-name = "P1.1V_LDO_OUT7";
339 regulator-min-microvolt = <1100000>;
340 regulator-max-microvolt = <1100000>;
341 regulator-always-on;
342 };
343
344 ldo8_reg: LDO8 {
345 regulator-name = "P1.0V_LDO_OUT8";
346 regulator-min-microvolt = <1000000>;
347 regulator-max-microvolt = <1000000>;
348 regulator-always-on;
349 };
350
351 ldo10_reg: LDO10 {
352 regulator-name = "P1.8V_LDO_OUT10";
353 regulator-min-microvolt = <1800000>;
354 regulator-max-microvolt = <1800000>;
355 regulator-always-on;
356 };
357
358 ldo12_reg: LDO12 {
359 regulator-name = "P3.0V_LDO_OUT12";
360 regulator-min-microvolt = <3000000>;
361 regulator-max-microvolt = <3000000>;
362 regulator-always-on;
363 };
364
365 ldo14_reg: LDO14 {
366 regulator-name = "P1.8V_LDO_OUT14";
367 regulator-min-microvolt = <1800000>;
368 regulator-max-microvolt = <1800000>;
369 regulator-always-on;
370 };
371
372 ldo15_reg: LDO15 {
373 regulator-name = "P1.0V_LDO_OUT15";
374 regulator-min-microvolt = <1000000>;
375 regulator-max-microvolt = <1000000>;
376 regulator-always-on;
377 };
378
379 ldo16_reg: LDO16 {
380 regulator-name = "P1.8V_LDO_OUT16";
381 regulator-min-microvolt = <1800000>;
382 regulator-max-microvolt = <1800000>;
383 regulator-always-on;
384 };
385
386 ldo17_reg: LDO17 {
387 regulator-name = "vdd_mydp";
388 regulator-min-microvolt = <1200000>;
389 regulator-max-microvolt = <1200000>;
390 };
391
392 buck1_reg: BUCK1 {
393 regulator-name = "vdd_mif";
394 regulator-min-microvolt = <950000>;
395 regulator-max-microvolt = <1300000>;
396 regulator-always-on;
397 regulator-boot-on;
398 };
399
400 buck2_reg: BUCK2 {
401 regulator-name = "vdd_arm";
402 regulator-min-microvolt = <850000>;
403 regulator-max-microvolt = <1350000>;
404 regulator-always-on;
405 regulator-boot-on;
406 };
407
408 buck3_reg: BUCK3 {
409 regulator-name = "vdd_int";
410 regulator-min-microvolt = <900000>;
411 regulator-max-microvolt = <1200000>;
412 regulator-always-on;
413 regulator-boot-on;
414 };
415
416 buck4_reg: BUCK4 {
417 regulator-name = "vdd_g3d";
418 regulator-min-microvolt = <850000>;
419 regulator-max-microvolt = <1300000>;
420 regulator-always-on;
421 regulator-boot-on;
422 };
423
424 buck5_reg: BUCK5 {
425 regulator-name = "P1.8V_BUCK_OUT5";
426 regulator-min-microvolt = <1800000>;
427 regulator-max-microvolt = <1800000>;
428 regulator-always-on;
429 regulator-boot-on;
430 };
431
432 buck6_reg: BUCK6 {
433 regulator-name = "P1.35V_BUCK_OUT6";
434 regulator-min-microvolt = <1350000>;
435 regulator-max-microvolt = <1350000>;
436 regulator-always-on;
437 };
438
439 buck7_reg: BUCK7 {
440 regulator-name = "P2.0V_BUCK_OUT7";
441 regulator-min-microvolt = <2000000>;
442 regulator-max-microvolt = <2000000>;
443 regulator-always-on;
444 };
445
446 buck8_reg: BUCK8 {
447 regulator-name = "P2.85V_BUCK_OUT8";
448 regulator-min-microvolt = <2850000>;
449 regulator-max-microvolt = <2850000>;
450 regulator-always-on;
451 };
452 };
453 };
454};
455
Sjoerd Simons93322742014-11-27 16:34:08 +0100456#include "cros-ec-keyboard.dtsi"