3dbda271dbef49e37b1e5a7b2acc7e9288fdb9a2
[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         chosen {
17         };
18
19         aliases {
20                 sysmmu2 = &sysmmu_2;
21                 sysmmu3 = &sysmmu_3;
22                 sysmmu4 = &sysmmu_4;
23                 sysmmu27 = &sysmmu_27;
24                 sysmmu28 = &sysmmu_28;
25                 sysmmu23 = &sysmmu_23;
26                 sysmmu24 = &sysmmu_24;
27                 sysmmu25 = &sysmmu_25;
28                 sysmmu26 = &sysmmu_26;
29                 gsc0 = &gsc_0;
30                 gsc1 = &gsc_1;
31                 gsc2 = &gsc_2;
32                 gsc3 = &gsc_3;
33                 i2s0 = &i2s_0;
34         };
35
36         i2c@12C60000 {
37                 samsung,i2c-sda-delay = <100>;
38                 samsung,i2c-max-bus-freq = <378000>;
39                 gpios = <&gpb3 0 2 3 0>,
40                         <&gpb3 1 2 3 0>;
41
42                 max77686_pmic@9 {
43                         compatible = "maxim,max77686-pmic";
44                         interrupt-parent = <&wakeup_eint>;
45                         interrupts = <26 0>;
46                         reg = <0x9>;
47
48                         max77686,buck_ramp_delay = <2>;         /* default */
49
50                         voltage-regulators {
51                                 ldo11_reg: LDO11 {
52                                         regulator-name = "vdd_ldo11";
53                                         regulator-min-microvolt = <1900000>;
54                                         regulator-max-microvolt = <1900000>;
55                                         regulator-always-on;
56                                 };
57
58                                 ldo14_reg: LDO14 {
59                                         regulator-name = "vdd_ldo14";
60                                         regulator-min-microvolt = <1900000>;
61                                         regulator-max-microvolt = <1900000>;
62                                         regulator-always-on;
63                                 };
64
65                                 buck1_reg: BUCK1 {
66                                         regulator-name = "vdd_mif";
67                                         regulator-min-microvolt = <950000>;
68                                         regulator-max-microvolt = <1300000>;
69                                         regulator-always-on;
70                                         regulator-boot-on;
71                                 };
72
73                                 buck2_reg: BUCK2 {
74                                         regulator-name = "vdd_arm";
75                                         regulator-min-microvolt = <850000>;
76                                         regulator-max-microvolt = <1350000>;
77                                         regulator-always-on;
78                                         regulator-boot-on;
79                                 };
80
81                                 buck3_reg: BUCK3 {
82                                         regulator-name = "vdd_int";
83                                         regulator-min-microvolt = <900000>;
84                                         regulator-max-microvolt = <1200000>;
85                                         regulator-always-on;
86                                         regulator-boot-on;
87                                 };
88
89                                 buck4_reg: BUCK4 {
90                                         regulator-name = "vdd_g3d";
91                                         regulator-min-microvolt = <850000>;
92                                         regulator-max-microvolt = <1300000>;
93                                         regulator-boot-on;
94                                 };
95
96                                 buck8_reg: BUCK8 {
97                                         regulator-name = "vdd_ummc";
98                                         regulator-min-microvolt = <900000>;
99                                         regulator-max-microvolt = <3000000>;
100                                         regulator-always-on;
101                                         regulator-boot-on;
102                                 };
103
104                                 en32khz_ap: EN32KHZ_AP {
105                                         regulator-name = "en32khz_ap";
106                                         regulator-boot-on;
107                                 };
108
109                                 en32khz_cp: EN32KHZ_CP {
110                                         regulator-name = "en32khz_cp";
111                                         regulator-boot-on;
112                                 };
113
114                                 enp32kh: ENP32KHZ {
115                                         regulator-name = "enp32khz";
116                                         regulator-boot-on;
117                                 };
118                         };
119                 };
120         };
121
122         i2c@12C70000 {
123                 samsung,i2c-sda-delay = <100>;
124                 samsung,i2c-max-bus-freq = <66000>;
125                 gpios = <&gpb3 2 2 3 0>,
126                         <&gpb3 3 2 3 0>;
127
128                 trackpad {
129                         reg = <0x67>;
130                         compatible = "cypress,cyapa";
131                         interrupts = <10 0>;
132                         interrupt-parent = <&wakeup_eint>;
133                 };
134         };
135
136         i2c@12C80000 {
137                 samsung,i2c-sda-delay = <100>;
138                 samsung,i2c-max-bus-freq = <66000>;
139
140                 /*
141                  * Disabled pullups since external part has its own pullups and
142                  * double-pulling gets us out of spec in some cases.
143                  */
144                 gpios = <&gpa0 6 3 0 0>,
145                         <&gpa0 7 3 0 0>;
146
147                 exynos_hdcp@3a {
148                         compatible = "samsung,exynos_hdcp";
149                         reg = <0x3a>;
150                 };
151         };
152
153         i2c@12C90000 {
154                 samsung,i2c-sda-delay = <100>;
155                 samsung,i2c-max-bus-freq = <66000>;
156                 gpios = <&gpa1 2 3 3 0>,
157                         <&gpa1 3 3 3 0>;
158
159                 tpm {
160                         compatible = "infineon,slb9635tt";
161                         reg = <0x20>;
162                 };
163         };
164
165         i2c@12CA0000 {
166                 samsung,i2c-sda-delay = <100>;
167                 samsung,i2c-max-bus-freq = <66000>;
168                 gpios = <&gpa2 0 3 3 0>,
169                         <&gpa2 1 3 3 0>;
170
171                 power-regulator {
172                         compatible = "ti,tps65090";
173                         reg = <0x48>;
174
175                         voltage-regulators {
176                                 VFET1 {
177                                         tps65090-control-reg-offset = <15>;
178                                         regulator-name = "vcd_led";
179                                         regulator-min-microvolt = <12000000>;
180                                         regulator-max-microvolt = <12000000>;
181                                 };
182                                 VFET2 {
183                                         tps65090-control-reg-offset = <16>;
184                                         regulator-name = "video_mid";
185                                         regulator-min-microvolt = <5000000>;
186                                         regulator-max-microvolt = <5000000>;
187                                         regulator-always-on;
188                                 };
189                                 VFET3 {
190                                         tps65090-control-reg-offset = <17>;
191                                         regulator-name = "wwan_r";
192                                         regulator-min-microvolt = <3300000>;
193                                         regulator-max-microvolt = <3300000>;
194                                         regulator-always-on;
195                                 };
196                                 VFET4 {
197                                         tps65090-control-reg-offset = <18>;
198                                         regulator-name = "sdcard";
199                                         regulator-min-microvolt = <3300000>;
200                                         regulator-max-microvolt = <3300000>;
201                                 };
202                                 VFET5 {
203                                         tps65090-control-reg-offset = <19>;
204                                         regulator-name = "camout";
205                                         regulator-min-microvolt = <3300000>;
206                                         regulator-max-microvolt = <3300000>;
207                                         regulator-always-on;
208                                 };
209                                 VFET6 {
210                                         tps65090-control-reg-offset = <20>;
211                                         regulator-name = "lcd_vdd";
212                                         regulator-min-microvolt = <3300000>;
213                                         regulator-max-microvolt = <3300000>;
214                                 };
215                                 VFET7 {
216                                         tps65090-control-reg-offset = <21>;
217                                         regulator-name = "ts";
218                                         regulator-min-microvolt = <5000000>;
219                                         regulator-max-microvolt = <5000000>;
220                                 };
221                         };
222                 };
223
224                 ec {
225                         compatible = "google,chromeos-ec";
226                         reg = <0x1e>;
227                         interrupts = <14 0>;
228                         interrupt-parent = <&wakeup_eint>;
229                 };
230
231                 // i2c4 hsic hub @0x8, eeprom @0x50, batt @0xb
232         };
233
234         i2c@12CB0000 {
235                 samsung,i2c-sda-delay = <100>;
236                 samsung,i2c-max-bus-freq = <66000>;
237                 gpios = <&gpa2 2 3 3 0>,
238                         <&gpa2 3 3 3 0>;
239
240                 // i2c5 conn? ts?
241         };
242
243         i2c@12CC0000 {
244                 status = "disabled";
245
246                 // i2c6 is not used on any cros5250 boards
247         };
248
249         i2c@12CD0000 {
250                 samsung,i2c-sda-delay = <100>;
251                 samsung,i2c-max-bus-freq = <66000>;
252                 gpios = <&gpb2 2 3 3 0>,
253                         <&gpb2 3 3 3 0>;
254
255                 codec {
256                         compatible = "maxim,max98095";
257                         reg = <0x11>;
258                 };
259
260                 light-sensor {
261                         compatible = "invn,isl29018";
262                         reg = <0x44>;
263                 };
264
265                 // i2c7
266                 // mipi cam  codec 0x11 gyro @0x68
267                 // LCD @0x50-57 ALS @? mic-detect @0x3b
268         };
269
270         spi_0: spi@12d20000 {
271                 status = "disabled";
272         };
273
274         spi_1: spi@12d30000 {
275                 gpios = <&gpa2 4 2 3 0>,
276                         <&gpa2 6 2 3 0>,
277                         <&gpa2 7 2 3 0>;
278                 samsung,spi-src-clk = <0>;
279                 num-cs = <1>;
280         };
281
282         spi_2: spi@12d40000 {
283                 status = "disabled";
284         };
285
286         dwmmc0@12200000 {
287                 supports-highspeed;
288                 card-detection-broken;
289                 no-write-protect;
290                 fifo-depth = <0x80>;
291                 card-detect-delay = <200>;
292                 samsung,dw-mshc-sdr-timing = <2 3 3>;
293                 samsung,dw-mshc-ddr-timing = <1 2 3>;
294
295                 slot0 {
296                         bus-width = <8>;
297                         cd-gpios = <&gpc0 2 2 3 3>;
298                         gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
299                                 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
300                                 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
301                                 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
302                                 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
303                 };
304         };
305
306         dwmmc1@12210000 {
307                 status = "disabled";
308         };
309
310         dwmmc2@12220000 {
311                 supports-highspeed;
312                 card-detection-broken;
313                 no-write-protect;
314                 fifo-depth = <0x80>;
315                 card-detect-delay = <200>;
316                 samsung,dw-mshc-sdr-timing = <2 3 3>;
317                 samsung,dw-mshc-ddr-timing = <1 2 3>;
318
319                 slot0 {
320                         bus-width = <4>;
321                         cd-gpios = <&gpc3 2 2 3 3>;
322                         gpios = <&gpc3 1 2 0 3>, <&gpc3 0 2 0 3>,
323                                 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
324                                 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
325                 };
326         };
327
328         dwmmc3@12230000 {
329                 supports-highspeed;
330                 card-detection-broken;
331                 no-write-protect;
332                 fifo-depth = <0x80>;
333                 card-detect-delay = <200>;
334                 samsung,dw-mshc-sdr-timing = <2 3 3>;
335                 samsung,dw-mshc-ddr-timing = <1 2 3>;
336
337                 slot0 {
338                         bus-width = <4>;
339                         gpios = <&gpc4 1 2 3 3>, <&gpc4 0 2 0 3>,
340                                 <&gpc4 3 2 3 3>, <&gpc4 4 2 3 3>,
341                                 <&gpc4 5 2 3 3>, <&gpc4 6 2 3 3>;
342                 };
343         };
344
345         i2c@12CE0000 {
346                 samsung,i2c-sda-delay = <100>;
347                 samsung,i2c-max-bus-freq = <66000>;
348         };
349
350         ehci {
351                 samsung,vbus-gpio = <&gpx1 1 1 3 3>;
352         };
353
354         xhci {
355                 samsung,vbus-gpio = <&gpx2 7 1 3 3>;
356         };
357
358         fixed-regulator {
359                 compatible = "regulator-fixed";
360                 regulator-name = "hsichub-reset-l";
361                 gpio = <&gpe1 0 1 0 0>;
362                 enable-active-high;
363                 regulator-always-on;
364         };
365
366         // NB: nodes must be at root for regulator-fixed to probe
367         // NB: must set regulator-boot-on for enable-active-high to be used
368         // NB: set regulator-always-on to suppress complaints
369         //     "incomplete constraints, leaving on"
370         wifi-en {
371                 compatible = "regulator-fixed";
372                 regulator-name = "wifi-en";
373                 gpio = <&gpx0 1 0 0 0>;
374                 enable-active-high;
375                 regulator-boot-on;
376                 regulator-always-on;
377         };
378         wifi-rst {
379                 compatible = "regulator-fixed";
380                 regulator-name = "wifi-rst-l";
381                 gpio = <&gpx0 2 0 0 0>;
382                 enable-active-high;
383                 regulator-boot-on;
384                 regulator-always-on;
385         };
386         bt-rst {
387                 compatible = "regulator-fixed";
388                 regulator-name = "bt-reset-l";
389                 gpio = <&gpx3 1 0 0 0>;
390                 enable-active-high;
391                 regulator-boot-on;
392                 regulator-always-on;
393         };
394         wwan-en {
395                 compatible = "regulator-fixed";
396                 regulator-name = "wwan-en";
397                 gpio = <&gpe0 0 0 0 0>;
398                 enable-active-high;
399                 regulator-boot-on;
400                 regulator-always-on;
401         };
402         max98095-en {
403                 compatible = "regulator-fixed";
404                 regulator-name = "codec-en";
405                 gpio = <&gpx1 7 0 0 0>;
406                 enable-active-high;
407                 regulator-boot-on;
408                 regulator-always-on;
409         };
410
411         gpio-keys {
412                 compatible = "gpio-keys";
413
414                 power {
415                         label = "Power";
416                         gpios = <&gpx1 3 0 0x10000 0>;
417                         linux,code = <116>; /* KEY_POWER */
418                         gpio-key,wakeup;
419                 };
420         };
421 };