Merge git://git.infradead.org/intel-iommu
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / exynos4210-trats.dts
1 /*
2  * Samsung's Exynos4210 based Trats board device tree source
3  *
4  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * Device tree source file for Samsung's Trats board which is based on
8  * Samsung's Exynos4210 SoC.
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License version 2 as
12  * published by the Free Software Foundation.
13 */
14
15 /dts-v1/;
16 #include "exynos4210.dtsi"
17
18 / {
19         model = "Samsung Trats based on Exynos4210";
20         compatible = "samsung,trats", "samsung,exynos4210", "samsung,exynos4";
21
22         memory {
23                 reg =  <0x40000000 0x10000000
24                         0x50000000 0x10000000
25                         0x60000000 0x10000000
26                         0x70000000 0x10000000>;
27         };
28
29         chosen {
30                 bootargs = "console=ttySAC2,115200N8 root=/dev/mmcblk0p5 rootwait earlyprintk panic=5";
31                 stdout-path = &serial_2;
32         };
33
34         regulators {
35                 compatible = "simple-bus";
36
37                 vemmc_reg: regulator-0 {
38                         compatible = "regulator-fixed";
39                         regulator-name = "VMEM_VDD_2.8V";
40                         regulator-min-microvolt = <2800000>;
41                         regulator-max-microvolt = <2800000>;
42                         gpio = <&gpk0 2 0>;
43                         enable-active-high;
44                 };
45
46                 tsp_reg: regulator-1 {
47                         compatible = "regulator-fixed";
48                         regulator-name = "TSP_FIXED_VOLTAGES";
49                         regulator-min-microvolt = <2800000>;
50                         regulator-max-microvolt = <2800000>;
51                         gpio = <&gpl0 3 0>;
52                         enable-active-high;
53                 };
54
55                 cam_af_28v_reg: regulator-2 {
56                         compatible = "regulator-fixed";
57                         regulator-name = "8M_AF_2.8V_EN";
58                         regulator-min-microvolt = <2800000>;
59                         regulator-max-microvolt = <2800000>;
60                         gpio = <&gpk1 1 0>;
61                         enable-active-high;
62                 };
63
64                 cam_io_en_reg: regulator-3 {
65                         compatible = "regulator-fixed";
66                         regulator-name = "CAM_IO_EN";
67                         regulator-min-microvolt = <2800000>;
68                         regulator-max-microvolt = <2800000>;
69                         gpio = <&gpe2 1 0>;
70                         enable-active-high;
71                 };
72
73                 cam_io_12v_reg: regulator-4 {
74                         compatible = "regulator-fixed";
75                         regulator-name = "8M_1.2V_EN";
76                         regulator-min-microvolt = <1200000>;
77                         regulator-max-microvolt = <1200000>;
78                         gpio = <&gpe2 5 0>;
79                         enable-active-high;
80                 };
81
82                 vt_core_15v_reg: regulator-5 {
83                         compatible = "regulator-fixed";
84                         regulator-name = "VT_CORE_1.5V";
85                         regulator-min-microvolt = <1500000>;
86                         regulator-max-microvolt = <1500000>;
87                         gpio = <&gpe2 2 0>;
88                         enable-active-high;
89                 };
90         };
91
92         hsotg@12480000 {
93                 vusb_d-supply = <&vusb_reg>;
94                 vusb_a-supply = <&vusbdac_reg>;
95                 dr_mode = "peripheral";
96                 status = "okay";
97         };
98
99         sdhci_emmc: sdhci@12510000 {
100                 bus-width = <8>;
101                 non-removable;
102                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus8>;
103                 pinctrl-names = "default";
104                 vmmc-supply = <&vemmc_reg>;
105                 status = "okay";
106         };
107
108         exynos-usbphy@125B0000 {
109                 status = "okay";
110         };
111
112         serial@13800000 {
113                 status = "okay";
114         };
115
116         serial@13810000 {
117                 status = "okay";
118         };
119
120         serial@13820000 {
121                 status = "okay";
122         };
123
124         serial@13830000 {
125                 status = "okay";
126         };
127
128         gpio-keys {
129                 compatible = "gpio-keys";
130
131                 vol-down-key {
132                         gpios = <&gpx2 1 1>;
133                         linux,code = <114>;
134                         label = "volume down";
135                         debounce-interval = <10>;
136                 };
137
138                 vol-up-key {
139                         gpios = <&gpx2 0 1>;
140                         linux,code = <115>;
141                         label = "volume up";
142                         debounce-interval = <10>;
143                 };
144
145                 power-key {
146                         gpios = <&gpx2 7 1>;
147                         linux,code = <116>;
148                         label = "power";
149                         debounce-interval = <10>;
150                         gpio-key,wakeup;
151                 };
152
153                 ok-key {
154                         gpios = <&gpx3 5 1>;
155                         linux,code = <352>;
156                         label = "ok";
157                         debounce-interval = <10>;
158                 };
159         };
160
161         i2c@13890000 {
162                 samsung,i2c-sda-delay = <100>;
163                 samsung,i2c-slave-addr = <0x10>;
164                 samsung,i2c-max-bus-freq = <400000>;
165                 pinctrl-0 = <&i2c3_bus>;
166                 pinctrl-names = "default";
167                 status = "okay";
168
169                 mms114-touchscreen@48 {
170                         compatible = "melfas,mms114";
171                         reg = <0x48>;
172                         interrupt-parent = <&gpx0>;
173                         interrupts = <4 2>;
174                         x-size = <720>;
175                         y-size = <1280>;
176                         avdd-supply = <&tsp_reg>;
177                         vdd-supply = <&tsp_reg>;
178                 };
179         };
180
181         i2c@138B0000 {
182                 samsung,i2c-sda-delay = <100>;
183                 samsung,i2c-slave-addr = <0x10>;
184                 samsung,i2c-max-bus-freq = <100000>;
185                 pinctrl-0 = <&i2c5_bus>;
186                 pinctrl-names = "default";
187                 status = "okay";
188
189                 max8997_pmic@66 {
190                         compatible = "maxim,max8997-pmic";
191
192                         reg = <0x66>;
193
194                         max8997,pmic-buck1-uses-gpio-dvs;
195                         max8997,pmic-buck2-uses-gpio-dvs;
196                         max8997,pmic-buck5-uses-gpio-dvs;
197
198                         max8997,pmic-ignore-gpiodvs-side-effect;
199                         max8997,pmic-buck125-default-dvs-idx = <0>;
200
201                         max8997,pmic-buck125-dvs-gpios = <&gpx0 5 0>,
202                                                          <&gpx0 6 0>,
203                                                          <&gpl0 0 0>;
204
205                         max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
206                                                          <1250000>, <1200000>,
207                                                          <1150000>, <1100000>,
208                                                          <1000000>, <950000>;
209
210                         max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
211                                                          <950000>,  <900000>,
212                                                          <1100000>, <1000000>,
213                                                          <950000>,  <900000>;
214
215                         max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
216                                                          <1200000>, <1200000>,
217                                                          <1200000>, <1200000>,
218                                                          <1200000>, <1200000>;
219
220                         regulators {
221                                 valive_reg: LDO2 {
222                                      regulator-name = "VALIVE_1.1V_C210";
223                                      regulator-min-microvolt = <1100000>;
224                                      regulator-max-microvolt = <1100000>;
225                                      regulator-always-on;
226                                 };
227
228                                 vusb_reg: LDO3 {
229                                      regulator-name = "VUSB_1.1V_C210";
230                                      regulator-min-microvolt = <1100000>;
231                                      regulator-max-microvolt = <1100000>;
232                                 };
233
234                                 vmipi_reg: LDO4 {
235                                      regulator-name = "VMIPI_1.8V";
236                                      regulator-min-microvolt = <1800000>;
237                                      regulator-max-microvolt = <1800000>;
238                                 };
239
240                                 vpda_reg: LDO6 {
241                                      regulator-name = "VCC_1.8V_PDA";
242                                      regulator-min-microvolt = <1800000>;
243                                      regulator-max-microvolt = <1800000>;
244                                      regulator-always-on;
245                                 };
246
247                                 vcam_reg: LDO7 {
248                                      regulator-name = "CAM_ISP_1.8V";
249                                      regulator-min-microvolt = <1800000>;
250                                      regulator-max-microvolt = <1800000>;
251                                 };
252
253                                 vusbdac_reg: LDO8 {
254                                      regulator-name = "VUSB/VDAC_3.3V_C210";
255                                      regulator-min-microvolt = <3300000>;
256                                      regulator-max-microvolt = <3300000>;
257                                 };
258
259                                 vccpda_reg: LDO9 {
260                                      regulator-name = "VCC_2.8V_PDA";
261                                      regulator-min-microvolt = <2800000>;
262                                      regulator-max-microvolt = <2800000>;
263                                      regulator-always-on;
264                                 };
265
266                                 vpll_reg: LDO10 {
267                                      regulator-name = "VPLL_1.1V_C210";
268                                      regulator-min-microvolt = <1100000>;
269                                      regulator-max-microvolt = <1100000>;
270                                      regulator-always-on;
271                                 };
272
273                                 vtcam_reg: LDO12 {
274                                      regulator-name = "VT_CAM_1.8V";
275                                      regulator-min-microvolt = <1800000>;
276                                      regulator-max-microvolt = <1800000>;
277                                 };
278
279                                 vcclcd_reg: LDO13 {
280                                      regulator-name = "VCC_3.3V_LCD";
281                                      regulator-min-microvolt = <3300000>;
282                                      regulator-max-microvolt = <3300000>;
283                                 };
284
285                                 vlcd_reg: LDO15 {
286                                      regulator-name = "VLCD_2.2V";
287                                      regulator-min-microvolt = <2200000>;
288                                      regulator-max-microvolt = <2200000>;
289                                 };
290
291                                 camsensor_reg: LDO16 {
292                                      regulator-name = "CAM_SENSOR_IO_1.8V";
293                                      regulator-min-microvolt = <1800000>;
294                                      regulator-max-microvolt = <1800000>;
295                                 };
296
297                                 vddq_reg: LDO21 {
298                                      regulator-name = "VDDQ_M1M2_1.2V";
299                                      regulator-min-microvolt = <1200000>;
300                                      regulator-max-microvolt = <1200000>;
301                                      regulator-always-on;
302                                 };
303
304                                 varm_breg: BUCK1 {
305                                      /*
306                                       * HACK: The real name is VARM_1.2V_C210,
307                                       * but exynos-cpufreq does not support
308                                       * DT-based regulator lookup yet.
309                                       */
310                                      regulator-name = "vdd_arm";
311                                      regulator-min-microvolt = <900000>;
312                                      regulator-max-microvolt = <1350000>;
313                                      regulator-always-on;
314                                 };
315
316                                 vint_breg: BUCK2 {
317                                      regulator-name = "VINT_1.1V_C210";
318                                      regulator-min-microvolt = <900000>;
319                                      regulator-max-microvolt = <1100000>;
320                                      regulator-always-on;
321                                 };
322
323                                 camisp_breg: BUCK4 {
324                                      regulator-name = "CAM_ISP_CORE_1.2V";
325                                      regulator-min-microvolt = <1200000>;
326                                      regulator-max-microvolt = <1200000>;
327                                 };
328
329                                 vmem_breg: BUCK5 {
330                                      regulator-name = "VMEM_1.2V_C210";
331                                      regulator-min-microvolt = <1200000>;
332                                      regulator-max-microvolt = <1200000>;
333                                      regulator-always-on;
334                                 };
335
336                                 vccsub_breg: BUCK7 {
337                                      regulator-name = "VCC_SUB_2.0V";
338                                      regulator-min-microvolt = <2000000>;
339                                      regulator-max-microvolt = <2000000>;
340                                      regulator-always-on;
341                                 };
342
343                                 safe1_sreg: ESAFEOUT1 {
344                                      regulator-name = "SAFEOUT1";
345                                      regulator-always-on;
346                                 };
347
348                                 safe2_sreg: ESAFEOUT2 {
349                                      regulator-name = "SAFEOUT2";
350                                      regulator-boot-on;
351                                 };
352                         };
353                 };
354         };
355
356         fixed-rate-clocks {
357                 xxti {
358                         compatible = "samsung,clock-xxti";
359                         clock-frequency = <0>;
360                 };
361
362                 xusbxti {
363                         compatible = "samsung,clock-xusbxti";
364                         clock-frequency = <24000000>;
365                 };
366         };
367
368         dsi_0: dsi@11C80000 {
369                 vddcore-supply = <&vusb_reg>;
370                 vddio-supply = <&vmipi_reg>;
371                 samsung,pll-clock-frequency = <24000000>;
372                 status = "okay";
373
374                 ports {
375                         #address-cells = <1>;
376                         #size-cells = <0>;
377
378                         port@1 {
379                                 reg = <1>;
380
381                                 dsi_out: endpoint {
382                                         remote-endpoint = <&dsi_in>;
383                                         samsung,burst-clock-frequency = <500000000>;
384                                         samsung,esc-clock-frequency = <20000000>;
385                                 };
386                         };
387                 };
388
389                 panel@0 {
390                         reg = <0>;
391                         compatible = "samsung,s6e8aa0";
392                         vdd3-supply = <&vcclcd_reg>;
393                         vci-supply = <&vlcd_reg>;
394                         reset-gpios = <&gpy4 5 0>;
395                         power-on-delay= <50>;
396                         reset-delay = <100>;
397                         init-delay = <100>;
398                         flip-horizontal;
399                         flip-vertical;
400                         panel-width-mm = <58>;
401                         panel-height-mm = <103>;
402
403                         display-timings {
404                                 timing-0 {
405                                         clock-frequency = <57153600>;
406                                         hactive = <720>;
407                                         vactive = <1280>;
408                                         hfront-porch = <5>;
409                                         hback-porch = <5>;
410                                         hsync-len = <5>;
411                                         vfront-porch = <13>;
412                                         vback-porch = <1>;
413                                         vsync-len = <2>;
414                                 };
415                         };
416
417                         port {
418                                 dsi_in: endpoint {
419                                         remote-endpoint = <&dsi_out>;
420                                 };
421                         };
422                 };
423         };
424
425         fimd@11c00000 {
426                 status = "okay";
427         };
428
429         tmu@100C0000 {
430                 status = "okay";
431         };
432
433         thermal-zones {
434                 cpu_thermal: cpu-thermal {
435                         cooling-maps {
436                                 map0 {
437                                      /* Corresponds to 800MHz at freq_table */
438                                      cooling-device = <&cpu0 2 2>;
439                                 };
440                                 map1 {
441                                      /* Corresponds to 200MHz at freq_table */
442                                      cooling-device = <&cpu0 4 4>;
443                                };
444                        };
445                 };
446         };
447
448         camera {
449                 pinctrl-names = "default";
450                 pinctrl-0 = <>;
451                 status = "okay";
452
453                 fimc_0: fimc@11800000 {
454                         status = "okay";
455                         assigned-clocks = <&clock CLK_MOUT_FIMC0>,
456                                         <&clock CLK_SCLK_FIMC0>;
457                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
458                         assigned-clock-rates = <0>, <160000000>;
459                 };
460
461                 fimc_1: fimc@11810000 {
462                         status = "okay";
463                         assigned-clocks = <&clock CLK_MOUT_FIMC1>,
464                                         <&clock CLK_SCLK_FIMC1>;
465                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
466                         assigned-clock-rates = <0>, <160000000>;
467                 };
468
469                 fimc_2: fimc@11820000 {
470                         status = "okay";
471                         assigned-clocks = <&clock CLK_MOUT_FIMC2>,
472                                         <&clock CLK_SCLK_FIMC2>;
473                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
474                         assigned-clock-rates = <0>, <160000000>;
475                 };
476
477                 fimc_3: fimc@11830000 {
478                         status = "okay";
479                         assigned-clocks = <&clock CLK_MOUT_FIMC3>,
480                                         <&clock CLK_SCLK_FIMC3>;
481                         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
482                         assigned-clock-rates = <0>, <160000000>;
483                 };
484         };
485 };