exynos5: dt: Increase i2c-1 speed to as close as possible to 400kHz
[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 = <1>;         /* 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 = <400000>;
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                 exynos_ddc@50 {
153                         compatible = "samsung,s5p_ddc";
154                         reg = <0x50>;
155                 };
156
157         };
158
159         i2c@12C90000 {
160                 samsung,i2c-sda-delay = <100>;
161                 samsung,i2c-max-bus-freq = <66000>;
162                 gpios = <&gpa1 2 3 3 0>,
163                         <&gpa1 3 3 3 0>;
164
165                 tpm {
166                         compatible = "infineon,slb9635tt";
167                         reg = <0x20>;
168                 };
169         };
170
171         i2c@12CA0000 {
172                 samsung,i2c-sda-delay = <100>;
173                 samsung,i2c-max-bus-freq = <66000>;
174                 gpios = <&gpa2 0 3 3 0>,
175                         <&gpa2 1 3 3 0>;
176
177                 power-regulator {
178                         compatible = "ti,tps65090";
179                         reg = <0x48>;
180
181                         voltage-regulators {
182                                 VFET1 {
183                                         tps65090-control-reg-offset = <15>;
184                                         regulator-name = "vcd_led";
185                                         regulator-min-microvolt = <12000000>;
186                                         regulator-max-microvolt = <12000000>;
187                                 };
188                                 VFET2 {
189                                         tps65090-control-reg-offset = <16>;
190                                         regulator-name = "video_mid";
191                                         regulator-min-microvolt = <5000000>;
192                                         regulator-max-microvolt = <5000000>;
193                                         regulator-always-on;
194                                 };
195                                 VFET3 {
196                                         tps65090-control-reg-offset = <17>;
197                                         regulator-name = "wwan_r";
198                                         regulator-min-microvolt = <3300000>;
199                                         regulator-max-microvolt = <3300000>;
200                                         regulator-always-on;
201                                 };
202                                 VFET4 {
203                                         tps65090-control-reg-offset = <18>;
204                                         regulator-name = "sdcard";
205                                         regulator-min-microvolt = <3300000>;
206                                         regulator-max-microvolt = <3300000>;
207                                 };
208                                 VFET5 {
209                                         tps65090-control-reg-offset = <19>;
210                                         regulator-name = "camout";
211                                         regulator-min-microvolt = <3300000>;
212                                         regulator-max-microvolt = <3300000>;
213                                         regulator-always-on;
214                                 };
215                                 VFET6 {
216                                         tps65090-control-reg-offset = <20>;
217                                         regulator-name = "lcd_vdd";
218                                         regulator-min-microvolt = <3300000>;
219                                         regulator-max-microvolt = <3300000>;
220                                 };
221                                 VFET7 {
222                                         tps65090-control-reg-offset = <21>;
223                                         regulator-name = "ts";
224                                         regulator-min-microvolt = <5000000>;
225                                         regulator-max-microvolt = <5000000>;
226                                 };
227                         };
228                 };
229
230                 ec {
231                         compatible = "google,chromeos-ec";
232                         reg = <0x1e>;
233                         interrupts = <14 0>;
234                         interrupt-parent = <&wakeup_eint>;
235                 };
236
237                 battery: sbs-battery@b {
238                         compatible = "sbs,sbs-battery";
239                         reg = <0xb>;
240                         sbs,poll-retry-count = <1>;
241                 };
242                 // i2c4 hsic hub @0x8, eeprom @0x50, batt @0xb
243         };
244
245         i2c@12CB0000 {
246                 samsung,i2c-sda-delay = <100>;
247                 samsung,i2c-max-bus-freq = <66000>;
248                 gpios = <&gpa2 2 3 3 0>,
249                         <&gpa2 3 3 3 0>;
250
251                 // i2c5 conn? ts?
252         };
253
254         i2c@12CC0000 {
255                 status = "disabled";
256
257                 // i2c6 is not used on any cros5250 boards
258         };
259
260         i2c@12CD0000 {
261                 samsung,i2c-sda-delay = <100>;
262                 samsung,i2c-max-bus-freq = <66000>;
263                 gpios = <&gpb2 2 3 3 0>,
264                         <&gpb2 3 3 3 0>;
265
266                 codec {
267                         compatible = "maxim,max98095";
268                         reg = <0x11>;
269                 };
270
271                 light-sensor {
272                         compatible = "invn,isl29018";
273                         reg = <0x44>;
274                 };
275
276                 // i2c7
277                 // mipi cam  codec 0x11 gyro @0x68
278                 // LCD @0x50-57 ALS @? mic-detect @0x3b
279         };
280
281         spi_0: spi@12d20000 {
282                 status = "disabled";
283         };
284
285         spi_1: spi@12d30000 {
286                 gpios = <&gpa2 4 2 3 0>,
287                         <&gpa2 6 2 3 0>,
288                         <&gpa2 7 2 3 0>;
289                 samsung,spi-src-clk = <0>;
290                 num-cs = <1>;
291         };
292
293         spi_2: spi@12d40000 {
294                 status = "disabled";
295         };
296
297         dwmmc0@12200000 {
298                 supports-highspeed;
299                 card-detection-broken;
300                 no-write-protect;
301                 fifo-depth = <0x80>;
302                 card-detect-delay = <200>;
303                 samsung,dw-mshc-sdr-timing = <2 3 3>;
304                 samsung,dw-mshc-ddr-timing = <1 2 3>;
305
306                 slot0 {
307                         bus-width = <8>;
308                         cd-gpios = <&gpc0 2 2 3 3>;
309                         gpios = <&gpc0 0 2 0 3>, <&gpc0 1 2 0 3>,
310                                 <&gpc1 0 2 3 3>, <&gpc1 1 2 3 3>,
311                                 <&gpc1 2 2 3 3>, <&gpc1 3 2 3 3>,
312                                 <&gpc0 3 2 3 3>, <&gpc0 4 2 3 3>,
313                                 <&gpc0 5 2 3 3>, <&gpc0 6 2 3 3>;
314                 };
315         };
316
317         dwmmc1@12210000 {
318                 status = "disabled";
319         };
320
321         dwmmc2@12220000 {
322                 supports-highspeed;
323                 card-detection-broken;
324                 no-write-protect;
325                 fifo-depth = <0x80>;
326                 card-detect-delay = <200>;
327                 samsung,dw-mshc-sdr-timing = <2 3 3>;
328                 samsung,dw-mshc-ddr-timing = <1 2 3>;
329
330                 slot0 {
331                         bus-width = <4>;
332                         cd-gpios = <&gpc3 2 2 3 3>;
333                         gpios = <&gpc3 1 2 0 3>, <&gpc3 0 2 0 3>,
334                                 <&gpc3 3 2 3 3>, <&gpc3 4 2 3 3>,
335                                 <&gpc3 5 2 3 3>, <&gpc3 6 2 3 3>;
336                 };
337         };
338
339         dwmmc3@12230000 {
340                 supports-highspeed;
341                 card-detection-broken;
342                 no-write-protect;
343                 fifo-depth = <0x80>;
344                 card-detect-delay = <200>;
345                 samsung,dw-mshc-sdr-timing = <2 3 3>;
346                 samsung,dw-mshc-ddr-timing = <1 2 3>;
347
348                 slot0 {
349                         bus-width = <4>;
350                         gpios = <&gpc4 1 2 3 3>, <&gpc4 0 2 0 3>,
351                                 <&gpc4 3 2 3 3>, <&gpc4 4 2 3 3>,
352                                 <&gpc4 5 2 3 3>, <&gpc4 6 2 3 3>;
353                 };
354         };
355
356         i2c@12CE0000 {
357                 samsung,i2c-sda-delay = <100>;
358                 samsung,i2c-max-bus-freq = <66000>;
359
360                 exynos_hdmiphy@38 {
361                         compatible = "samsung,s5p_hdmiphy";
362                         reg = <0x38>;
363                 };
364         };
365
366         ehci {
367                 samsung,vbus-gpio = <&gpx1 1 1 3 3>;
368         };
369
370         xhci {
371                 samsung,vbus-gpio = <&gpx2 7 1 3 3>;
372         };
373
374         fixed-regulator {
375                 compatible = "regulator-fixed";
376                 regulator-name = "hsichub-reset-l";
377                 gpio = <&gpe1 0 1 0 0>;
378                 enable-active-high;
379                 regulator-always-on;
380         };
381
382         // NB: nodes must be at root for regulator-fixed to probe
383         // NB: must set regulator-boot-on for enable-active-high to be used
384         // NB: set regulator-always-on to suppress complaints
385         //     "incomplete constraints, leaving on"
386         wifi-en {
387                 compatible = "regulator-fixed";
388                 regulator-name = "wifi-en";
389                 gpio = <&gpx0 1 0 0 0>;
390                 enable-active-high;
391                 regulator-boot-on;
392                 regulator-always-on;
393         };
394         wifi-rst {
395                 compatible = "regulator-fixed";
396                 regulator-name = "wifi-rst-l";
397                 gpio = <&gpx0 2 0 0 0>;
398                 enable-active-high;
399                 regulator-boot-on;
400                 regulator-always-on;
401         };
402         bt-rst {
403                 compatible = "regulator-fixed";
404                 regulator-name = "bt-reset-l";
405                 gpio = <&gpx3 1 0 0 0>;
406                 enable-active-high;
407                 regulator-boot-on;
408                 regulator-always-on;
409         };
410         wwan-en {
411                 compatible = "regulator-fixed";
412                 regulator-name = "wwan-en";
413                 gpio = <&gpe0 0 0 0 0>;
414                 enable-active-high;
415                 regulator-boot-on;
416                 regulator-always-on;
417         };
418         max98095-en {
419                 compatible = "regulator-fixed";
420                 regulator-name = "codec-en";
421                 gpio = <&gpx1 7 0 0 0>;
422                 enable-active-high;
423                 regulator-boot-on;
424                 regulator-always-on;
425         };
426
427         gpio-keys {
428                 compatible = "gpio-keys";
429
430                 power {
431                         label = "Power";
432                         gpios = <&gpx1 3 0 0x10000 0>;
433                         linux,code = <116>; /* KEY_POWER */
434                         gpio-key,wakeup;
435                 };
436         };
437 };