Merge tag 'upstream-4.9-rc1' of git://git.infradead.org/linux-ubifs
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / exynos5420-smdk5420.dts
1 /*
2  * SAMSUNG SMDK5420 board device tree source
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10 */
11
12 /dts-v1/;
13 #include "exynos5420.dtsi"
14 #include "exynos5420-cpus.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
16 #include "exynos-mfc-reserved-memory.dtsi"
17
18 / {
19         model = "Samsung SMDK5420 board based on EXYNOS5420";
20         compatible = "samsung,smdk5420", "samsung,exynos5420", "samsung,exynos5";
21
22         memory@20000000 {
23                 device_type = "memory";
24                 reg = <0x20000000 0x80000000>;
25         };
26
27         chosen {
28                 bootargs = "console=ttySAC2,115200 init=/linuxrc";
29         };
30
31         fixed-rate-clocks {
32                 oscclk {
33                         compatible = "samsung,exynos5420-oscclk";
34                         clock-frequency = <24000000>;
35                 };
36         };
37
38         regulators {
39                 compatible = "simple-bus";
40                 #address-cells = <1>;
41                 #size-cells = <0>;
42
43                 vdd: fixed-regulator@0 {
44                         compatible = "regulator-fixed";
45                         reg = <0>;
46                         regulator-name = "vdd-supply";
47                         regulator-min-microvolt = <1800000>;
48                         regulator-max-microvolt = <1800000>;
49                         regulator-always-on;
50                 };
51
52                 dbvdd: fixed-regulator@1 {
53                         compatible = "regulator-fixed";
54                         reg = <1>;
55                         regulator-name = "dbvdd-supply";
56                         regulator-min-microvolt = <3300000>;
57                         regulator-max-microvolt = <3300000>;
58                         regulator-always-on;
59                 };
60
61                 spkvdd: fixed-regulator@2 {
62                         compatible = "regulator-fixed";
63                         reg = <2>;
64                         regulator-name = "spkvdd-supply";
65                         regulator-min-microvolt = <5000000>;
66                         regulator-max-microvolt = <5000000>;
67                         regulator-always-on;
68                 };
69         };
70
71         usb300_vbus_reg: regulator-usb300 {
72                 compatible = "regulator-fixed";
73                 regulator-name = "VBUS0";
74                 regulator-min-microvolt = <5000000>;
75                 regulator-max-microvolt = <5000000>;
76                 gpio = <&gpg0 5 GPIO_ACTIVE_HIGH>;
77                 pinctrl-names = "default";
78                 pinctrl-0 = <&usb300_vbus_en>;
79                 enable-active-high;
80         };
81
82         usb301_vbus_reg: regulator-usb301 {
83                 compatible = "regulator-fixed";
84                 regulator-name = "VBUS1";
85                 regulator-min-microvolt = <5000000>;
86                 regulator-max-microvolt = <5000000>;
87                 gpio = <&gpg1 4 GPIO_ACTIVE_HIGH>;
88                 pinctrl-names = "default";
89                 pinctrl-0 = <&usb301_vbus_en>;
90                 enable-active-high;
91         };
92
93 };
94
95 &cpu0 {
96         cpu-supply = <&buck2_reg>;
97 };
98
99 &cpu4 {
100         cpu-supply = <&buck6_reg>;
101 };
102
103 &dp {
104         pinctrl-names = "default";
105         pinctrl-0 = <&dp_hpd>;
106         samsung,color-space = <0>;
107         samsung,color-depth = <1>;
108         samsung,link-rate = <0x0a>;
109         samsung,lane-count = <4>;
110         status = "okay";
111
112         display-timings {
113                 native-mode = <&timing0>;
114                 timing0: timing {
115                         clock-frequency = <50000>;
116                         hactive = <2560>;
117                         vactive = <1600>;
118                         hfront-porch = <48>;
119                         hback-porch = <80>;
120                         hsync-len = <32>;
121                         vback-porch = <16>;
122                         vfront-porch = <8>;
123                         vsync-len = <6>;
124                 };
125         };
126 };
127
128 &fimd {
129         status = "okay";
130 };
131
132 &hdmi {
133         status = "okay";
134         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
135         pinctrl-names = "default";
136         pinctrl-0 = <&hdmi_hpd_irq>;
137 };
138
139 &hsi2c_4 {
140         status = "okay";
141
142         s2mps11_pmic@66 {
143                 compatible = "samsung,s2mps11-pmic";
144                 reg = <0x66>;
145
146                 s2mps11_osc: clocks {
147                         #clock-cells = <1>;
148                         clock-output-names = "s2mps11_ap",
149                                         "s2mps11_cp", "s2mps11_bt";
150                 };
151
152                 regulators {
153                         ldo1_reg: LDO1 {
154                                 regulator-name = "vdd_ldo1";
155                                 regulator-min-microvolt = <1000000>;
156                                 regulator-max-microvolt = <1000000>;
157                                 regulator-always-on;
158                         };
159
160                         ldo3_reg: LDO3 {
161                                 regulator-name = "vdd_ldo3";
162                                 regulator-min-microvolt = <1800000>;
163                                 regulator-max-microvolt = <1800000>;
164                                 regulator-always-on;
165                         };
166
167                         ldo5_reg: LDO5 {
168                                 regulator-name = "vdd_ldo5";
169                                 regulator-min-microvolt = <1800000>;
170                                 regulator-max-microvolt = <1800000>;
171                                 regulator-always-on;
172                         };
173
174                         ldo6_reg: LDO6 {
175                                 regulator-name = "vdd_ldo6";
176                                 regulator-min-microvolt = <1000000>;
177                                 regulator-max-microvolt = <1000000>;
178                                 regulator-always-on;
179                         };
180
181                         ldo7_reg: LDO7 {
182                                 regulator-name = "vdd_ldo7";
183                                 regulator-min-microvolt = <1800000>;
184                                 regulator-max-microvolt = <1800000>;
185                                 regulator-always-on;
186                         };
187
188                         ldo8_reg: LDO8 {
189                                 regulator-name = "vdd_ldo8";
190                                 regulator-min-microvolt = <1800000>;
191                                 regulator-max-microvolt = <1800000>;
192                                 regulator-always-on;
193                         };
194
195                         ldo9_reg: LDO9 {
196                                 regulator-name = "vdd_ldo9";
197                                 regulator-min-microvolt = <3000000>;
198                                 regulator-max-microvolt = <3000000>;
199                                 regulator-always-on;
200                         };
201
202                         ldo10_reg: LDO10 {
203                                 regulator-name = "vdd_ldo10";
204                                 regulator-min-microvolt = <1800000>;
205                                 regulator-max-microvolt = <1800000>;
206                                 regulator-always-on;
207                         };
208
209                         ldo11_reg: LDO11 {
210                                 regulator-name = "vdd_ldo11";
211                                 regulator-min-microvolt = <1000000>;
212                                 regulator-max-microvolt = <1000000>;
213                                 regulator-always-on;
214                         };
215
216                         ldo12_reg: LDO12 {
217                                 regulator-name = "vdd_ldo12";
218                                 regulator-min-microvolt = <1800000>;
219                                 regulator-max-microvolt = <1800000>;
220                                 regulator-always-on;
221                         };
222
223                         ldo13_reg: LDO13 {
224                                 regulator-name = "vdd_ldo13";
225                                 regulator-min-microvolt = <2800000>;
226                                 regulator-max-microvolt = <2800000>;
227                                 regulator-always-on;
228                         };
229
230                         ldo15_reg: LDO15 {
231                                 regulator-name = "vdd_ldo15";
232                                 regulator-min-microvolt = <3100000>;
233                                 regulator-max-microvolt = <3100000>;
234                                 regulator-always-on;
235                         };
236
237                         ldo16_reg: LDO16 {
238                                 regulator-name = "vdd_ldo16";
239                                 regulator-min-microvolt = <2200000>;
240                                 regulator-max-microvolt = <2200000>;
241                                 regulator-always-on;
242                         };
243
244                         ldo17_reg: LDO17 {
245                                 regulator-name = "tsp_avdd";
246                                 regulator-min-microvolt = <3300000>;
247                                 regulator-max-microvolt = <3300000>;
248                                 regulator-always-on;
249                         };
250
251                         ldo19_reg: LDO19 {
252                                 regulator-name = "vdd_sd";
253                                 regulator-min-microvolt = <2800000>;
254                                 regulator-max-microvolt = <2800000>;
255                                 regulator-always-on;
256                         };
257
258                         ldo24_reg: LDO24 {
259                                 regulator-name = "tsp_io";
260                                 regulator-min-microvolt = <2800000>;
261                                 regulator-max-microvolt = <2800000>;
262                                 regulator-always-on;
263                         };
264
265                         buck1_reg: BUCK1 {
266                                 regulator-name = "vdd_mif";
267                                 regulator-min-microvolt = <800000>;
268                                 regulator-max-microvolt = <1300000>;
269                                 regulator-always-on;
270                                 regulator-boot-on;
271                         };
272
273                         buck2_reg: BUCK2 {
274                                 regulator-name = "vdd_arm";
275                                 regulator-min-microvolt = <800000>;
276                                 regulator-max-microvolt = <1500000>;
277                                 regulator-always-on;
278                                 regulator-boot-on;
279                         };
280
281                         buck3_reg: BUCK3 {
282                                 regulator-name = "vdd_int";
283                                 regulator-min-microvolt = <800000>;
284                                 regulator-max-microvolt = <1400000>;
285                                 regulator-always-on;
286                                 regulator-boot-on;
287                         };
288
289                         buck4_reg: BUCK4 {
290                                 regulator-name = "vdd_g3d";
291                                 regulator-min-microvolt = <800000>;
292                                 regulator-max-microvolt = <1400000>;
293                                 regulator-always-on;
294                                 regulator-boot-on;
295                         };
296
297                         buck5_reg: BUCK5 {
298                                 regulator-name = "vdd_mem";
299                                 regulator-min-microvolt = <800000>;
300                                 regulator-max-microvolt = <1400000>;
301                                 regulator-always-on;
302                                 regulator-boot-on;
303                         };
304
305                         buck6_reg: BUCK6 {
306                                 regulator-name = "vdd_kfc";
307                                 regulator-min-microvolt = <800000>;
308                                 regulator-max-microvolt = <1500000>;
309                                 regulator-always-on;
310                                 regulator-boot-on;
311                         };
312
313                         buck7_reg: BUCK7 {
314                                 regulator-name = "vdd_1.0v_ldo";
315                                 regulator-min-microvolt = <800000>;
316                                 regulator-max-microvolt = <1500000>;
317                                 regulator-always-on;
318                                 regulator-boot-on;
319                         };
320
321                         buck8_reg: BUCK8 {
322                                 regulator-name = "vdd_1.8v_ldo";
323                                 regulator-min-microvolt = <800000>;
324                                 regulator-max-microvolt = <1500000>;
325                                 regulator-always-on;
326                                 regulator-boot-on;
327                         };
328
329                         buck9_reg: BUCK9 {
330                                 regulator-name = "vdd_2.8v_ldo";
331                                 regulator-min-microvolt = <3000000>;
332                                 regulator-max-microvolt = <3750000>;
333                                 regulator-always-on;
334                                 regulator-boot-on;
335                         };
336
337                         buck10_reg: BUCK10 {
338                                 regulator-name = "vdd_vmem";
339                                 regulator-min-microvolt = <2850000>;
340                                 regulator-max-microvolt = <2850000>;
341                                 regulator-always-on;
342                                 regulator-boot-on;
343                         };
344                 };
345         };
346 };
347
348 &i2c_2 {
349         samsung,i2c-sda-delay = <100>;
350         samsung,i2c-max-bus-freq = <66000>;
351         status = "okay";
352
353         hdmiddc@50 {
354                 compatible = "samsung,exynos4210-hdmiddc";
355                 reg = <0x50>;
356         };
357 };
358
359 &mmc_0 {
360         status = "okay";
361         broken-cd;
362         card-detect-delay = <200>;
363         samsung,dw-mshc-ciu-div = <3>;
364         samsung,dw-mshc-sdr-timing = <0 4>;
365         samsung,dw-mshc-ddr-timing = <0 2>;
366         samsung,dw-mshc-hs400-timing = <0 2>;
367         samsung,read-strobe-delay = <90>;
368         pinctrl-names = "default";
369         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
370                      &sd0_rclk>;
371         bus-width = <8>;
372         cap-mmc-highspeed;
373 };
374
375 &mmc_2 {
376         status = "okay";
377         card-detect-delay = <200>;
378         samsung,dw-mshc-ciu-div = <3>;
379         samsung,dw-mshc-sdr-timing = <2 3>;
380         samsung,dw-mshc-ddr-timing = <1 2>;
381         pinctrl-names = "default";
382         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
383         bus-width = <4>;
384         cap-sd-highspeed;
385 };
386
387 &pinctrl_0 {
388         hdmi_hpd_irq: hdmi-hpd-irq {
389                 samsung,pins = "gpx3-7";
390                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
391                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
392                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
393         };
394 };
395
396 &pinctrl_2 {
397         usb300_vbus_en: usb300-vbus-en {
398                 samsung,pins = "gpg0-5";
399                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
400                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
401                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
402         };
403
404         usb301_vbus_en: usb301-vbus-en {
405                 samsung,pins = "gpg1-4";
406                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
407                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
408                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
409         };
410 };
411
412 &rtc {
413         status = "okay";
414 };
415
416 &usbdrd_phy0 {
417         vbus-supply = <&usb300_vbus_reg>;
418 };
419
420 &usbdrd_phy1 {
421         vbus-supply = <&usb301_vbus_reg>;
422 };