CHROMIUM: drm/anx7808: Add anx7808 to 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                         nonvolatile-context-storage = "disk";
47                         chromeos-vbc-blk = <&mshc_0 0 0 16>;
48                         chromeos-vbc-ec = <&ec>;
49                 };
50         };
51
52         i2c@12C60000 {
53                 samsung,i2c-sda-delay = <100>;
54                 samsung,i2c-max-bus-freq = <378000>;
55                 gpios = <&gpb3 0 2 3 0>,
56                         <&gpb3 1 2 3 0>;
57
58                 max77686_pmic@9 {
59                         compatible = "maxim,max77686-pmic";
60                         interrupt-parent = <&wakeup_eint>;
61                         interrupts = <26 0>;
62                         wakeup-source;
63                         reg = <0x9>;
64
65                         max77686,buck_ramp_delay = <1>;         /* default */
66                         max77686,enable-low-jitter;
67
68                         voltage-regulators {
69                                 ldo6_reg: LDO6 {
70                                         regulator-name = "vdd_mydp";
71                                         regulator-min-microvolt = <1000000>;
72                                         regulator-max-microvolt = <1000000>;
73                                         regulator-always-on;
74                                         reg_op_mode = <1>;
75                                 };
76                                 ldo7_reg: LDO7 {
77                                         regulator-name = "vdd_ldo7";
78                                         regulator-min-microvolt = <1100000>;
79                                         regulator-max-microvolt = <1100000>;
80                                         regulator-always-on;
81                                         reg_op_mode = <1>; /* Standby Mode */
82                                 };
83                                 ldo8_reg: LDO8 {
84                                         regulator-name = "vdd_ldo8";
85                                         regulator-min-microvolt = <1000000>;
86                                         regulator-max-microvolt = <1000000>;
87                                         regulator-always-on;
88                                         reg_op_mode = <1>; /* Standby Mode */
89                                 };
90                                 ldo10_reg: LDO10 {
91                                         regulator-name = "vdd_ldo10";
92                                         regulator-min-microvolt = <1800000>;
93                                         regulator-max-microvolt = <1800000>;
94                                         regulator-always-on;
95                                         reg_op_mode = <1>; /* Standby Mode */
96                                 };
97                                 ldo11_reg: LDO11 {
98                                         regulator-name = "vdd_ldo11";
99                                         regulator-min-microvolt = <1800000>;
100                                         regulator-max-microvolt = <1800000>;
101                                         regulator-always-on;
102                                         reg_op_mode = <0>; /* Off Mode */
103                                 };
104                                 ldo12_reg: LDO12 {
105                                         regulator-name = "vdd_ldo12";
106                                         regulator-min-microvolt = <3000000>;
107                                         regulator-max-microvolt = <3000000>;
108                                         regulator-always-on;
109                                         reg_op_mode = <1>; /* Standby Mode */
110                                 };
111                                 ldo13_reg: LDO13 {
112                                         regulator-name = "vdd_ldo13";
113                                         regulator-min-microvolt = <1800000>;
114                                         regulator-max-microvolt = <1800000>;
115                                         regulator-always-on;
116                                         reg_op_mode = <0>; /* Off Mode */
117                                 };
118                                 ldo14_reg: LDO14 {
119                                         regulator-name = "vdd_ldo14";
120                                         regulator-min-microvolt = <1800000>;
121                                         regulator-max-microvolt = <1800000>;
122                                         regulator-always-on;
123                                         reg_op_mode = <1>; /* Standby Mode */
124                                 };
125                                 ldo15_reg: LDO15 {
126                                         regulator-name = "vdd_ldo15";
127                                         regulator-min-microvolt = <1000000>;
128                                         regulator-max-microvolt = <1000000>;
129                                         regulator-always-on;
130                                         reg_op_mode = <1>; /* Standby Mode */
131                                 };
132                                 ldo16_reg: LDO16 {
133                                         regulator-name = "vdd_ldo16";
134                                         regulator-min-microvolt = <1800000>;
135                                         regulator-max-microvolt = <1800000>;
136                                         regulator-always-on;
137                                         reg_op_mode = <1>; /* Standby Mode */
138                                 };
139                                 ldo17_reg: LDO17 {
140                                         regulator-name = "vdd_bridge";
141                                         regulator-min-microvolt = <1200000>;
142                                         regulator-max-microvolt = <1200000>;
143                                         reg_op_mode = <3>; /* Normal Mode */
144                                 };
145
146                                 buck1_reg: BUCK1 {
147                                         regulator-name = "vdd_mif";
148                                         regulator-min-microvolt = <950000>;
149                                         regulator-max-microvolt = <1300000>;
150                                         regulator-always-on;
151                                         regulator-boot-on;
152                                         reg_op_mode = <1>; /* Standby Mode */
153                                 };
154
155                                 buck2_reg: BUCK2 {
156                                         regulator-name = "vdd_arm";
157                                         regulator-min-microvolt = <850000>;
158                                         regulator-max-microvolt = <1350000>;
159                                         regulator-boot-on;
160                                         reg_op_mode = <1>; /* Standby Mode */
161                                 };
162
163                                 buck3_reg: BUCK3 {
164                                         regulator-name = "vdd_int";
165                                         regulator-min-microvolt = <900000>;
166                                         regulator-max-microvolt = <1200000>;
167                                         regulator-boot-on;
168                                         reg_op_mode = <1>; /* Standby Mode */
169                                 };
170
171                                 buck4_reg: BUCK4 {
172                                         regulator-name = "vdd_g3d";
173                                         regulator-min-microvolt = <850000>;
174                                         regulator-max-microvolt = <1300000>;
175                                         regulator-boot-on;
176                                         reg_op_mode = <1>; /* Standby Mode */
177                                 };
178
179                                 buck5_reg: BUCK5 {
180                                         regulator-name = "vdd_1v8";
181                                         regulator-min-microvolt = <1800000>;
182                                         regulator-max-microvolt = <1800000>;
183                                         regulator-always-on;
184                                         regulator-boot-on;
185                                         /* No Standby/Low Power mode for BUCK5 */
186                                         reg_op_mode = <3>; /* Normal Mode */
187                                 };
188
189                                 buck8_reg: BUCK8 {
190                                         regulator-name = "vdd_ummc";
191                                         regulator-min-microvolt = <900000>;
192                                         regulator-max-microvolt = <3000000>;
193                                         regulator-always-on;
194                                         regulator-boot-on;
195                                         /* Turn BUCK8 off when ENB8 is low */
196                                         reg_op_mode = <1>;
197                                 };
198
199                                 en32khz_ap: EN32KHZ_AP {
200                                         regulator-name = "en32khz_ap";
201                                         regulator-boot-on;
202                                         reg_op_mode = <1>; /* Normal Mode */
203                                 };
204
205                                 en32khz_cp: EN32KHZ_CP {
206                                         regulator-name = "en32khz_cp";
207                                         regulator-boot-on;
208                                         reg_op_mode = <1>; /* Normal Mode */
209                                 };
210
211                                 enp32kh: ENP32KHZ {
212                                         regulator-name = "enp32khz";
213                                         regulator-boot-on;
214                                         reg_op_mode = <1>; /* Normal Mode */
215                                 };
216                         };
217
218                         maxim_rtc: rtc {
219                         };
220                 };
221         };
222
223         i2c@12C70000 {
224                 samsung,i2c-sda-delay = <100>;
225                 samsung,i2c-max-bus-freq = <400000>;
226                 gpios = <&gpb3 2 2 3 0>,
227                         <&gpb3 3 2 3 0>;
228
229                 trackpad {
230                         reg = <0x67>;
231                         compatible = "cypress,cyapa";
232                         interrupts = <10 0>;
233                         interrupt-parent = <&wakeup_eint>;
234                         wakeup-source;
235                 };
236         };
237
238         i2c@12C80000 {
239                 samsung,i2c-sda-delay = <100>;
240                 samsung,i2c-max-bus-freq = <66000>;
241
242                 /*
243                  * Disabled pullups since external part has its own pullups and
244                  * double-pulling gets us out of spec in some cases.
245                  */
246                 gpios = <&gpa0 6 3 0 0>,
247                         <&gpa0 7 3 0 0>;
248
249                 exynos_hdcp@3a {
250                         compatible = "samsung,exynos_hdcp";
251                         reg = <0x3a>;
252                 };
253
254                 exynos_ddc@50 {
255                         compatible = "samsung,s5p_ddc";
256                         reg = <0x50>;
257                 };
258
259         };
260
261         i2c@12CA0000 {
262                 samsung,i2c-sda-delay = <100>;
263                 samsung,i2c-max-bus-freq = <66000>;
264                 gpios = <&gpa2 0 3 3 0>,
265                         <&gpa2 1 3 3 0>;
266
267                 ec: chromeos-ec@0 {
268                         compatible = "google,chromeos-ec-i2c";
269                         reg = <0x1e>;
270                         interrupts = <14 0>;
271                         interrupt-parent = <&wakeup_eint>;
272                         wakeup-source;
273
274                         nv-storage {
275                                 compatible = "google,chromeos_vbc_ec";
276                         };
277
278                         i2c-passthrough {
279                                 compatible = "google,cros_ec-i2c";
280                                 #address-cells = <1>;
281                                 #size-cells = <0>;
282                         };
283                 };
284                 // i2c4 hsic hub @0x8, eeprom @0x50, batt @0xb
285         };
286
287         i2c@12CB0000 {
288                 samsung,i2c-sda-delay = <100>;
289                 samsung,i2c-max-bus-freq = <66000>;
290                 gpios = <&gpa2 2 3 3 0>,
291                         <&gpa2 3 3 3 0>;
292
293                 // i2c5 conn? ts?
294         };
295
296         i2c@12CC0000 {
297                 status = "disabled";
298
299                 // i2c6 is not used on any cros5250 boards
300         };
301
302         i2c@12CD0000 {
303                 samsung,i2c-sda-delay = <100>;
304                 samsung,i2c-max-bus-freq = <66000>;
305                 gpios = <&gpb2 2 3 3 0>,
306                         <&gpb2 3 3 3 0>;
307
308                 // i2c7
309                 // mipi cam  codec 0x11 gyro @0x68
310                 // LCD @0x50-57 ALS @? mic-detect @0x3b
311         };
312
313         spi_0: spi@12d20000 {
314                 status = "disabled";
315         };
316
317         spi_1: spi@12d30000 {
318                 gpios = <&gpa2 4 2 3 0>,
319                         <&gpa2 6 2 3 0>,
320                         <&gpa2 7 2 3 0>;
321                 samsung,spi-src-clk = <0>;
322                 num-cs = <1>;
323         };
324
325         spi_2: spi@12d40000 {
326                 status = "disabled";
327         };
328
329         adc@12D10000 {
330                 vdd-supply = <&buck5_reg>;
331         };
332
333         dwmmc0@12200000 {
334                 supports-highspeed;
335                 card-detection-broken;
336                 no-write-protect;
337                 fifo-depth = <0x80>;
338                 card-detect-delay = <200>;
339                 samsung,dw-mshc-sdr-timing = <2 3 3>;
340                 samsung,dw-mshc-ddr-timing = <1 2 3>;
341
342                 slot0 {
343                         bus-width = <8>;
344                         cd-gpios = <&gpc0 2 2 3 3>;
345                         gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
346                                 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
347                                 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
348                                 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
349                                 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
350                 };
351         };
352
353         dwmmc1@12210000 {
354                 status = "disabled";
355         };
356
357         dwmmc2@12220000 {
358                 supports-highspeed;
359                 fifo-depth = <0x80>;
360                 card-detect-delay = <200>;
361                 samsung,dw-mshc-sdr-timing = <2 3 3>;
362                 samsung,dw-mshc-ddr-timing = <1 2 3>;
363
364                 slot0 {
365                         bus-width = <4>;
366                         /* Card detect is active low */
367                         cd-gpios = <&gpc3 2 2 0x10003 3>;
368                         /* Write protect is active high */
369                         wp_gpios = <&gpc2 1 0 0 3>;
370                         gpios = <&gpc3 1 2 0 3>, <&gpc3 0 2 0 3>,
371                                 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
372                                 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
373                 };
374         };
375
376         dwmmc3@12230000 {
377                 supports-highspeed;
378                 card-detection-broken;
379                 no-write-protect;
380                 keep-power-in-suspend;
381                 enable-sdio-wakeup;
382                 fifo-depth = <0x80>;
383                 card-detect-delay = <200>;
384                 samsung,dw-mshc-sdr-timing = <2 3 3>;
385                 samsung,dw-mshc-ddr-timing = <1 2 3>;
386
387                 slot0 {
388                         bus-width = <4>;
389                         /* See board-specific dts files for GPIOs */
390                 };
391         };
392
393         i2c@12CE0000 {
394                 samsung,i2c-sda-delay = <100>;
395                 samsung,i2c-max-bus-freq = <400000>;
396
397                 exynos_hdmiphy@38 {
398                         compatible = "samsung,s5p_hdmiphy";
399                         reg = <0x38>;
400                 };
401         };
402
403         hdmi {
404                 hpd-gpio = <&gpx3 7 3 0 3>;
405         };
406
407         ehci {
408                 samsung,vbus-gpio = <&gpx1 1 1 3 3>;
409         };
410
411         xhci {
412                 samsung,vbus-gpio = <&gpx2 7 1 3 3>;
413         };
414
415         fixed-regulator {
416                 compatible = "regulator-fixed";
417                 regulator-name = "hsichub-reset-l";
418                 gpio = <&gpe1 0 1 0 0>;
419                 enable-active-high;
420         };
421
422         // NB: nodes must be at root for regulator-fixed to probe
423         // NB: must set regulator-boot-on for enable-active-high to be used
424         // NB: set regulator-always-on to suppress complaints
425         //     "incomplete constraints, leaving on"
426         wwan-en {
427                 compatible = "regulator-fixed";
428                 regulator-name = "wwan-en";
429                 gpio = <&gpe0 0 0 0 0>;
430                 enable-active-high;
431                 regulator-boot-on;
432                 regulator-always-on;
433         };
434         max98095-en {
435                 compatible = "regulator-fixed";
436                 regulator-name = "codec-en";
437                 gpio = <&gpx1 7 0 0 0>;
438                 enable-active-high;
439                 regulator-boot-on;
440                 regulator-always-on;
441         };
442
443         // NB: these are manually enabled in platform code
444         wifi-en {
445                 compatible = "regulator-fixed";
446                 regulator-name = "wifi-en";
447                 gpio = <&gpx0 1 0 0 0>;
448                 enable-active-high;
449         };
450         wifi-rst {
451                 compatible = "regulator-fixed";
452                 regulator-name = "wifi-rst-l";
453                 gpio = <&gpx0 2 0 0 0>;
454                 enable-active-high;
455                 startup-delay-us = <1500>;
456         };
457
458         gpio-keys {
459                 compatible = "gpio-keys";
460
461                 power {
462                         label = "Power";
463                         gpios = <&gpx1 3 0 0x10000 0>;
464                         linux,code = <116>; /* KEY_POWER */
465                         gpio-key,wakeup;
466                 };
467         };
468 };