CHROMIUM: exynos: dts: do not use external PLL for USB3 on Spring
[cascardo/linux.git] / arch / arm / boot / dts / cros5250-common.dtsi
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         memory {
13                 reg = <0x40000000 0x80000000>;
14         };
15
16         ramoops {
17                 compatible = "ramoops";
18                 reg = <0x41f00000 0x00100000>;
19                 record-size = <0x00020000>;
20                 dump-oops;
21         };
22
23         chosen {
24         };
25
26         aliases {
27                 sysmmu2 = &sysmmu_2;
28                 sysmmu3 = &sysmmu_3;
29                 sysmmu4 = &sysmmu_4;
30                 sysmmu27 = &sysmmu_27;
31                 sysmmu28 = &sysmmu_28;
32                 sysmmu23 = &sysmmu_23;
33                 sysmmu24 = &sysmmu_24;
34                 sysmmu25 = &sysmmu_25;
35                 sysmmu26 = &sysmmu_26;
36                 gsc0 = &gsc_0;
37                 gsc1 = &gsc_1;
38                 gsc2 = &gsc_2;
39                 gsc3 = &gsc_3;
40                 i2s0 = &i2s_0;
41         };
42
43         firmware {
44                 chromeos {
45                         write-protect-gpio = <&gpd1 6 0 0x10000 0>;
46                 };
47         };
48
49         i2c@12C60000 {
50                 samsung,i2c-sda-delay = <100>;
51                 samsung,i2c-max-bus-freq = <378000>;
52                 gpios = <&gpb3 0 2 3 0>,
53                         <&gpb3 1 2 3 0>;
54
55                 max77686_pmic@9 {
56                         compatible = "maxim,max77686-pmic";
57                         interrupt-parent = <&wakeup_eint>;
58                         interrupts = <26 0>;
59                         wakeup-source;
60                         reg = <0x9>;
61
62                         max77686,buck_ramp_delay = <1>;         /* default */
63                         max77686,enable-low-jitter;
64
65                         voltage-regulators {
66                                 ldo6_reg: LDO6 {
67                                         regulator-name = "vdd_ldo6";
68                                         regulator-min-microvolt = <1000000>;
69                                         regulator-max-microvolt = <1000000>;
70                                         regulator-always-on;
71                                         reg_op_mode = <0>; /* Off Mode */
72                                 };
73                                 ldo7_reg: LDO7 {
74                                         regulator-name = "vdd_ldo7";
75                                         regulator-min-microvolt = <1000000>;
76                                         regulator-max-microvolt = <1000000>;
77                                         regulator-always-on;
78                                         reg_op_mode = <1>; /* Standby Mode */
79                                 };
80                                 ldo8_reg: LDO8 {
81                                         regulator-name = "vdd_ldo8";
82                                         regulator-min-microvolt = <1000000>;
83                                         regulator-max-microvolt = <1000000>;
84                                         regulator-always-on;
85                                         reg_op_mode = <1>; /* Standby Mode */
86                                 };
87                                 ldo10_reg: LDO10 {
88                                         regulator-name = "vdd_ldo10";
89                                         regulator-min-microvolt = <1800000>;
90                                         regulator-max-microvolt = <1800000>;
91                                         regulator-always-on;
92                                         reg_op_mode = <1>; /* Standby Mode */
93                                 };
94                                 ldo11_reg: LDO11 {
95                                         regulator-name = "vdd_ldo11";
96                                         regulator-min-microvolt = <1800000>;
97                                         regulator-max-microvolt = <1800000>;
98                                         regulator-always-on;
99                                         reg_op_mode = <0>; /* Off Mode */
100                                 };
101                                 ldo12_reg: LDO12 {
102                                         regulator-name = "vdd_ldo12";
103                                         regulator-min-microvolt = <3000000>;
104                                         regulator-max-microvolt = <3000000>;
105                                         regulator-always-on;
106                                         reg_op_mode = <1>; /* Standby Mode */
107                                 };
108                                 ldo13_reg: LDO13 {
109                                         regulator-name = "vdd_ldo13";
110                                         regulator-min-microvolt = <1800000>;
111                                         regulator-max-microvolt = <1800000>;
112                                         regulator-always-on;
113                                         reg_op_mode = <0>; /* Off Mode */
114                                 };
115                                 ldo14_reg: LDO14 {
116                                         regulator-name = "vdd_ldo14";
117                                         regulator-min-microvolt = <1800000>;
118                                         regulator-max-microvolt = <1800000>;
119                                         regulator-always-on;
120                                         reg_op_mode = <1>; /* Standby Mode */
121                                 };
122                                 ldo15_reg: LDO15 {
123                                         regulator-name = "vdd_ldo15";
124                                         regulator-min-microvolt = <1000000>;
125                                         regulator-max-microvolt = <1000000>;
126                                         regulator-always-on;
127                                         reg_op_mode = <1>; /* Standby Mode */
128                                 };
129                                 ldo16_reg: LDO16 {
130                                         regulator-name = "vdd_ldo16";
131                                         regulator-min-microvolt = <1800000>;
132                                         regulator-max-microvolt = <1800000>;
133                                         regulator-always-on;
134                                         reg_op_mode = <1>; /* Standby Mode */
135                                 };
136                                 ldo17_reg: LDO17 {
137                                         regulator-name = "vdd_bridge";
138                                         regulator-min-microvolt = <1200000>;
139                                         regulator-max-microvolt = <1200000>;
140                                         regulator-boot-on;
141                                         reg_op_mode = <3>; /* Normal Mode */
142                                 };
143
144                                 buck1_reg: BUCK1 {
145                                         regulator-name = "vdd_mif";
146                                         regulator-min-microvolt = <950000>;
147                                         regulator-max-microvolt = <1300000>;
148                                         regulator-always-on;
149                                         regulator-boot-on;
150                                         reg_op_mode = <1>; /* Standby Mode */
151                                 };
152
153                                 buck2_reg: BUCK2 {
154                                         regulator-name = "vdd_arm";
155                                         regulator-min-microvolt = <850000>;
156                                         regulator-max-microvolt = <1350000>;
157                                         regulator-boot-on;
158                                         reg_op_mode = <1>; /* Standby Mode */
159                                 };
160
161                                 buck3_reg: BUCK3 {
162                                         regulator-name = "vdd_int";
163                                         regulator-min-microvolt = <900000>;
164                                         regulator-max-microvolt = <1200000>;
165                                         regulator-boot-on;
166                                         reg_op_mode = <1>; /* Standby Mode */
167                                 };
168
169                                 buck4_reg: BUCK4 {
170                                         regulator-name = "vdd_g3d";
171                                         regulator-min-microvolt = <850000>;
172                                         regulator-max-microvolt = <1300000>;
173                                         regulator-boot-on;
174                                         reg_op_mode = <1>; /* Standby Mode */
175                                 };
176
177                                 buck5_reg: BUCK5 {
178                                         regulator-name = "vdd_1v8";
179                                         regulator-min-microvolt = <1800000>;
180                                         regulator-max-microvolt = <1800000>;
181                                         regulator-always-on;
182                                         regulator-boot-on;
183                                         /* No Standby/Low Power mode for BUCK5 */
184                                         reg_op_mode = <3>; /* Normal Mode */
185                                 };
186
187                                 buck8_reg: BUCK8 {
188                                         regulator-name = "vdd_ummc";
189                                         regulator-min-microvolt = <900000>;
190                                         regulator-max-microvolt = <3000000>;
191                                         regulator-always-on;
192                                         regulator-boot-on;
193                                         /* Turn BUCK8 off when ENB8 is low */
194                                         reg_op_mode = <1>;
195                                 };
196
197                                 en32khz_ap: EN32KHZ_AP {
198                                         regulator-name = "en32khz_ap";
199                                         regulator-boot-on;
200                                         reg_op_mode = <1>; /* Normal Mode */
201                                 };
202
203                                 en32khz_cp: EN32KHZ_CP {
204                                         regulator-name = "en32khz_cp";
205                                         regulator-boot-on;
206                                         reg_op_mode = <1>; /* Normal Mode */
207                                 };
208
209                                 enp32kh: ENP32KHZ {
210                                         regulator-name = "enp32khz";
211                                         regulator-boot-on;
212                                         reg_op_mode = <1>; /* Normal Mode */
213                                 };
214                         };
215                 };
216         };
217
218         i2c@12C70000 {
219                 samsung,i2c-sda-delay = <100>;
220                 samsung,i2c-max-bus-freq = <400000>;
221                 gpios = <&gpb3 2 2 3 0>,
222                         <&gpb3 3 2 3 0>;
223
224                 trackpad {
225                         reg = <0x67>;
226                         compatible = "cypress,cyapa";
227                         interrupts = <10 0>;
228                         interrupt-parent = <&wakeup_eint>;
229                         wakeup-source;
230                 };
231         };
232
233         i2c@12C80000 {
234                 samsung,i2c-sda-delay = <100>;
235                 samsung,i2c-max-bus-freq = <66000>;
236
237                 /*
238                  * Disabled pullups since external part has its own pullups and
239                  * double-pulling gets us out of spec in some cases.
240                  */
241                 gpios = <&gpa0 6 3 0 0>,
242                         <&gpa0 7 3 0 0>;
243
244                 exynos_hdcp@3a {
245                         compatible = "samsung,exynos_hdcp";
246                         reg = <0x3a>;
247                 };
248
249                 exynos_ddc@50 {
250                         compatible = "samsung,s5p_ddc";
251                         reg = <0x50>;
252                 };
253
254         };
255
256         i2c@12C90000 {
257                 samsung,i2c-sda-delay = <100>;
258                 samsung,i2c-max-bus-freq = <66000>;
259                 gpios = <&gpa1 2 3 3 0>,
260                         <&gpa1 3 3 3 0>;
261
262                 tpm {
263                         compatible = "infineon,slb9635tt";
264                         reg = <0x20>;
265                 };
266         };
267
268         i2c@12CA0000 {
269                 samsung,i2c-sda-delay = <100>;
270                 samsung,i2c-max-bus-freq = <66000>;
271                 gpios = <&gpa2 0 3 3 0>,
272                         <&gpa2 1 3 3 0>;
273
274                 power-regulator {
275                         compatible = "ti,tps65090";
276                         reg = <0x48>;
277                         interrupts = <22 0>;
278                         interrupt-parent = <&wakeup_eint>;
279                         no-ack-irq;
280
281                         voltage-regulators {
282                                 VFET1 {
283                                         tps65090-control-reg-offset = <15>;
284                                         tps65090-overcurrent-wait = <3>;
285                                         regulator-name = "vcd_led";
286                                         regulator-min-microvolt = <12000000>;
287                                         regulator-max-microvolt = <12000000>;
288                                 };
289                                 VFET2 {
290                                         tps65090-control-reg-offset = <16>;
291                                         tps65090-overcurrent-wait = <3>;
292                                         regulator-name = "video_mid";
293                                         regulator-min-microvolt = <5000000>;
294                                         regulator-max-microvolt = <5000000>;
295                                         regulator-always-on;
296                                 };
297                                 VFET3 {
298                                         tps65090-control-reg-offset = <17>;
299                                         tps65090-overcurrent-wait = <3>;
300                                         regulator-name = "wwan_r";
301                                         regulator-min-microvolt = <3300000>;
302                                         regulator-max-microvolt = <3300000>;
303                                         regulator-always-on;
304                                 };
305                                 VFET4 {
306                                         tps65090-control-reg-offset = <18>;
307                                         tps65090-overcurrent-wait = <3>;
308                                         regulator-name = "sdcard";
309                                         regulator-min-microvolt = <3300000>;
310                                         regulator-max-microvolt = <3300000>;
311                                 };
312                                 VFET5 {
313                                         tps65090-control-reg-offset = <19>;
314                                         tps65090-overcurrent-wait = <3>;
315                                         regulator-name = "camout";
316                                         regulator-min-microvolt = <3300000>;
317                                         regulator-max-microvolt = <3300000>;
318                                         regulator-always-on;
319                                 };
320                                 VFET6 {
321                                         tps65090-control-reg-offset = <20>;
322                                         tps65090-overcurrent-wait = <3>;
323                                         regulator-name = "lcd_vdd";
324                                         regulator-min-microvolt = <3300000>;
325                                         regulator-max-microvolt = <3300000>;
326                                 };
327                                 VFET7 {
328                                         tps65090-control-reg-offset = <21>;
329                                         tps65090-overcurrent-wait = <3>;
330                                         regulator-name = "ts";
331                                         regulator-min-microvolt = <5000000>;
332                                         regulator-max-microvolt = <5000000>;
333                                 };
334                                 VBAT: charger {
335                                         tps65090-control-reg-offset = <4>;
336                                         regulator-name = "vinchg";
337                                 };
338                         };
339                 };
340
341                 ec {
342                         compatible = "google,chromeos-ec-i2c";
343                         reg = <0x1e>;
344                         interrupts = <14 0>;
345                         interrupt-parent = <&wakeup_eint>;
346                         wakeup-source;
347                 };
348
349                 battery: sbs-battery@b {
350                         compatible = "sbs,sbs-battery";
351                         reg = <0xb>;
352                         sbs,poll-retry-count = <1>;
353                 };
354                 // i2c4 hsic hub @0x8, eeprom @0x50, batt @0xb
355         };
356
357         i2c@12CB0000 {
358                 samsung,i2c-sda-delay = <100>;
359                 samsung,i2c-max-bus-freq = <66000>;
360                 gpios = <&gpa2 2 3 3 0>,
361                         <&gpa2 3 3 3 0>;
362
363                 // i2c5 conn? ts?
364         };
365
366         i2c@12CC0000 {
367                 status = "disabled";
368
369                 // i2c6 is not used on any cros5250 boards
370         };
371
372         i2c@12CD0000 {
373                 samsung,i2c-sda-delay = <100>;
374                 samsung,i2c-max-bus-freq = <66000>;
375                 gpios = <&gpb2 2 3 3 0>,
376                         <&gpb2 3 3 3 0>;
377
378                 codec {
379                         compatible = "maxim,max98095";
380                         reg = <0x11>;
381                         mic-left-digital;
382                         mic-right-digital;
383                 };
384
385                 light-sensor {
386                         compatible = "invn,isl29018";
387                         reg = <0x44>;
388                 };
389
390                 // i2c7
391                 // mipi cam  codec 0x11 gyro @0x68
392                 // LCD @0x50-57 ALS @? mic-detect @0x3b
393         };
394
395         spi_0: spi@12d20000 {
396                 status = "disabled";
397         };
398
399         spi_1: spi@12d30000 {
400                 gpios = <&gpa2 4 2 3 0>,
401                         <&gpa2 6 2 3 0>,
402                         <&gpa2 7 2 3 0>;
403                 samsung,spi-src-clk = <0>;
404                 num-cs = <1>;
405         };
406
407         spi_2: spi@12d40000 {
408                 status = "disabled";
409         };
410
411         adc@12D10000 {
412                 vdd-supply = <&buck5_reg>;
413         };
414
415         dwmmc0@12200000 {
416                 supports-highspeed;
417                 card-detection-broken;
418                 no-write-protect;
419                 fifo-depth = <0x80>;
420                 card-detect-delay = <200>;
421                 samsung,dw-mshc-sdr-timing = <2 3 3>;
422                 samsung,dw-mshc-ddr-timing = <1 2 3>;
423
424                 slot0 {
425                         bus-width = <8>;
426                         cd-gpios = <&gpc0 2 2 3 3>;
427                         gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
428                                 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
429                                 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
430                                 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
431                                 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
432                 };
433         };
434
435         dwmmc1@12210000 {
436                 status = "disabled";
437         };
438
439         dwmmc2@12220000 {
440                 supports-highspeed;
441                 fifo-depth = <0x80>;
442                 card-detect-delay = <200>;
443                 samsung,dw-mshc-sdr-timing = <2 3 3>;
444                 samsung,dw-mshc-ddr-timing = <1 2 3>;
445
446                 slot0 {
447                         bus-width = <4>;
448                         /* Card detect is active low */
449                         cd-gpios = <&gpc3 2 2 0x10003 3>;
450                         /* Write protect is active high */
451                         wp_gpios = <&gpc2 1 0 0 3>;
452                         gpios = <&gpc3 1 2 0 3>, <&gpc3 0 2 0 3>,
453                                 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
454                                 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
455                 };
456         };
457
458         dwmmc3@12230000 {
459                 supports-highspeed;
460                 card-detection-broken;
461                 no-write-protect;
462                 keep-power-in-suspend;
463                 enable-sdio-wakeup;
464                 fifo-depth = <0x80>;
465                 card-detect-delay = <200>;
466                 samsung,dw-mshc-sdr-timing = <2 3 3>;
467                 samsung,dw-mshc-ddr-timing = <1 2 3>;
468
469                 slot0 {
470                         bus-width = <4>;
471                         /* See board-specific dts files for GPIOs */
472                 };
473         };
474
475         i2c@12CE0000 {
476                 samsung,i2c-sda-delay = <100>;
477                 samsung,i2c-max-bus-freq = <400000>;
478
479                 exynos_hdmiphy@38 {
480                         compatible = "samsung,s5p_hdmiphy";
481                         reg = <0x38>;
482                 };
483         };
484
485         hdmi {
486                 hpd-gpio = <&gpx3 7 3 0 3>;
487         };
488
489         ehci {
490                 samsung,vbus-gpio = <&gpx1 1 1 3 3>;
491         };
492
493         xhci {
494                 samsung,vbus-gpio = <&gpx2 7 1 3 3>;
495         };
496
497         fixed-regulator {
498                 compatible = "regulator-fixed";
499                 regulator-name = "hsichub-reset-l";
500                 gpio = <&gpe1 0 1 0 0>;
501                 enable-active-high;
502                 regulator-always-on;
503         };
504
505         // NB: nodes must be at root for regulator-fixed to probe
506         // NB: must set regulator-boot-on for enable-active-high to be used
507         // NB: set regulator-always-on to suppress complaints
508         //     "incomplete constraints, leaving on"
509         wwan-en {
510                 compatible = "regulator-fixed";
511                 regulator-name = "wwan-en";
512                 gpio = <&gpe0 0 0 0 0>;
513                 enable-active-high;
514                 regulator-boot-on;
515                 regulator-always-on;
516         };
517         max98095-en {
518                 compatible = "regulator-fixed";
519                 regulator-name = "codec-en";
520                 gpio = <&gpx1 7 0 0 0>;
521                 enable-active-high;
522                 regulator-boot-on;
523                 regulator-always-on;
524         };
525
526         // NB: these are manually enabled in platform code
527         wifi-en {
528                 compatible = "regulator-fixed";
529                 regulator-name = "wifi-en";
530                 gpio = <&gpx0 1 0 0 0>;
531                 enable-active-high;
532         };
533         wifi-rst {
534                 compatible = "regulator-fixed";
535                 regulator-name = "wifi-rst-l";
536                 gpio = <&gpx0 2 0 0 0>;
537                 enable-active-high;
538                 startup-delay-us = <1500>;
539         };
540
541         gpio-keys {
542                 compatible = "gpio-keys";
543
544                 power {
545                         label = "Power";
546                         gpios = <&gpx1 3 0 0x10000 0>;
547                         linux,code = <116>; /* KEY_POWER */
548                         gpio-key,wakeup;
549                 };
550         };
551
552         sound {
553                 compatible = "google,daisy-audio-max98095";
554         };
555 };