GNU Linux-libre 4.9.318-gnu1
[releases.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         vdd-supply = <&ldo6_reg>;
138         vdd_osc-supply = <&ldo7_reg>;
139         vdd_pll-supply = <&ldo6_reg>;
140 };
141
142 &hsi2c_4 {
143         status = "okay";
144
145         s2mps11_pmic@66 {
146                 compatible = "samsung,s2mps11-pmic";
147                 reg = <0x66>;
148
149                 s2mps11_osc: clocks {
150                         #clock-cells = <1>;
151                         clock-output-names = "s2mps11_ap",
152                                         "s2mps11_cp", "s2mps11_bt";
153                 };
154
155                 regulators {
156                         ldo1_reg: LDO1 {
157                                 regulator-name = "vdd_ldo1";
158                                 regulator-min-microvolt = <1000000>;
159                                 regulator-max-microvolt = <1000000>;
160                                 regulator-always-on;
161                         };
162
163                         ldo3_reg: LDO3 {
164                                 regulator-name = "vdd_ldo3";
165                                 regulator-min-microvolt = <1800000>;
166                                 regulator-max-microvolt = <1800000>;
167                                 regulator-always-on;
168                         };
169
170                         ldo5_reg: LDO5 {
171                                 regulator-name = "vdd_ldo5";
172                                 regulator-min-microvolt = <1800000>;
173                                 regulator-max-microvolt = <1800000>;
174                                 regulator-always-on;
175                         };
176
177                         ldo6_reg: LDO6 {
178                                 regulator-name = "vdd_ldo6";
179                                 regulator-min-microvolt = <1000000>;
180                                 regulator-max-microvolt = <1000000>;
181                                 regulator-always-on;
182                         };
183
184                         ldo7_reg: LDO7 {
185                                 regulator-name = "vdd_ldo7";
186                                 regulator-min-microvolt = <1800000>;
187                                 regulator-max-microvolt = <1800000>;
188                                 regulator-always-on;
189                         };
190
191                         ldo8_reg: LDO8 {
192                                 regulator-name = "vdd_ldo8";
193                                 regulator-min-microvolt = <1800000>;
194                                 regulator-max-microvolt = <1800000>;
195                                 regulator-always-on;
196                         };
197
198                         ldo9_reg: LDO9 {
199                                 regulator-name = "vdd_ldo9";
200                                 regulator-min-microvolt = <3000000>;
201                                 regulator-max-microvolt = <3000000>;
202                                 regulator-always-on;
203                         };
204
205                         ldo10_reg: LDO10 {
206                                 regulator-name = "vdd_ldo10";
207                                 regulator-min-microvolt = <1800000>;
208                                 regulator-max-microvolt = <1800000>;
209                                 regulator-always-on;
210                         };
211
212                         ldo11_reg: LDO11 {
213                                 regulator-name = "vdd_ldo11";
214                                 regulator-min-microvolt = <1000000>;
215                                 regulator-max-microvolt = <1000000>;
216                                 regulator-always-on;
217                         };
218
219                         ldo12_reg: LDO12 {
220                                 regulator-name = "vdd_ldo12";
221                                 regulator-min-microvolt = <1800000>;
222                                 regulator-max-microvolt = <1800000>;
223                                 regulator-always-on;
224                         };
225
226                         ldo13_reg: LDO13 {
227                                 regulator-name = "vdd_ldo13";
228                                 regulator-min-microvolt = <2800000>;
229                                 regulator-max-microvolt = <2800000>;
230                                 regulator-always-on;
231                         };
232
233                         ldo15_reg: LDO15 {
234                                 regulator-name = "vdd_ldo15";
235                                 regulator-min-microvolt = <3100000>;
236                                 regulator-max-microvolt = <3100000>;
237                                 regulator-always-on;
238                         };
239
240                         ldo16_reg: LDO16 {
241                                 regulator-name = "vdd_ldo16";
242                                 regulator-min-microvolt = <2200000>;
243                                 regulator-max-microvolt = <2200000>;
244                                 regulator-always-on;
245                         };
246
247                         ldo17_reg: LDO17 {
248                                 regulator-name = "tsp_avdd";
249                                 regulator-min-microvolt = <3300000>;
250                                 regulator-max-microvolt = <3300000>;
251                                 regulator-always-on;
252                         };
253
254                         ldo19_reg: LDO19 {
255                                 regulator-name = "vdd_sd";
256                                 regulator-min-microvolt = <2800000>;
257                                 regulator-max-microvolt = <2800000>;
258                                 regulator-always-on;
259                         };
260
261                         ldo24_reg: LDO24 {
262                                 regulator-name = "tsp_io";
263                                 regulator-min-microvolt = <2800000>;
264                                 regulator-max-microvolt = <2800000>;
265                                 regulator-always-on;
266                         };
267
268                         buck1_reg: BUCK1 {
269                                 regulator-name = "vdd_mif";
270                                 regulator-min-microvolt = <800000>;
271                                 regulator-max-microvolt = <1300000>;
272                                 regulator-always-on;
273                                 regulator-boot-on;
274                         };
275
276                         buck2_reg: BUCK2 {
277                                 regulator-name = "vdd_arm";
278                                 regulator-min-microvolt = <800000>;
279                                 regulator-max-microvolt = <1500000>;
280                                 regulator-always-on;
281                                 regulator-boot-on;
282                         };
283
284                         buck3_reg: BUCK3 {
285                                 regulator-name = "vdd_int";
286                                 regulator-min-microvolt = <800000>;
287                                 regulator-max-microvolt = <1400000>;
288                                 regulator-always-on;
289                                 regulator-boot-on;
290                         };
291
292                         buck4_reg: BUCK4 {
293                                 regulator-name = "vdd_g3d";
294                                 regulator-min-microvolt = <800000>;
295                                 regulator-max-microvolt = <1400000>;
296                                 regulator-always-on;
297                                 regulator-boot-on;
298                         };
299
300                         buck5_reg: BUCK5 {
301                                 regulator-name = "vdd_mem";
302                                 regulator-min-microvolt = <800000>;
303                                 regulator-max-microvolt = <1400000>;
304                                 regulator-always-on;
305                                 regulator-boot-on;
306                         };
307
308                         buck6_reg: BUCK6 {
309                                 regulator-name = "vdd_kfc";
310                                 regulator-min-microvolt = <800000>;
311                                 regulator-max-microvolt = <1500000>;
312                                 regulator-always-on;
313                                 regulator-boot-on;
314                         };
315
316                         buck7_reg: BUCK7 {
317                                 regulator-name = "vdd_1.0v_ldo";
318                                 regulator-min-microvolt = <800000>;
319                                 regulator-max-microvolt = <1500000>;
320                                 regulator-always-on;
321                                 regulator-boot-on;
322                         };
323
324                         buck8_reg: BUCK8 {
325                                 regulator-name = "vdd_1.8v_ldo";
326                                 regulator-min-microvolt = <800000>;
327                                 regulator-max-microvolt = <1500000>;
328                                 regulator-always-on;
329                                 regulator-boot-on;
330                         };
331
332                         buck9_reg: BUCK9 {
333                                 regulator-name = "vdd_2.8v_ldo";
334                                 regulator-min-microvolt = <3000000>;
335                                 regulator-max-microvolt = <3750000>;
336                                 regulator-always-on;
337                                 regulator-boot-on;
338                         };
339
340                         buck10_reg: BUCK10 {
341                                 regulator-name = "vdd_vmem";
342                                 regulator-min-microvolt = <2850000>;
343                                 regulator-max-microvolt = <2850000>;
344                                 regulator-always-on;
345                                 regulator-boot-on;
346                         };
347                 };
348         };
349 };
350
351 &i2c_2 {
352         samsung,i2c-sda-delay = <100>;
353         samsung,i2c-max-bus-freq = <66000>;
354         status = "okay";
355
356         hdmiddc@50 {
357                 compatible = "samsung,exynos4210-hdmiddc";
358                 reg = <0x50>;
359         };
360 };
361
362 &mmc_0 {
363         status = "okay";
364         broken-cd;
365         card-detect-delay = <200>;
366         samsung,dw-mshc-ciu-div = <3>;
367         samsung,dw-mshc-sdr-timing = <0 4>;
368         samsung,dw-mshc-ddr-timing = <0 2>;
369         samsung,dw-mshc-hs400-timing = <0 2>;
370         samsung,read-strobe-delay = <90>;
371         pinctrl-names = "default";
372         pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8
373                      &sd0_rclk>;
374         bus-width = <8>;
375         cap-mmc-highspeed;
376 };
377
378 &mmc_2 {
379         status = "okay";
380         card-detect-delay = <200>;
381         samsung,dw-mshc-ciu-div = <3>;
382         samsung,dw-mshc-sdr-timing = <2 3>;
383         samsung,dw-mshc-ddr-timing = <1 2>;
384         pinctrl-names = "default";
385         pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
386         bus-width = <4>;
387         cap-sd-highspeed;
388 };
389
390 &pinctrl_0 {
391         hdmi_hpd_irq: hdmi-hpd-irq {
392                 samsung,pins = "gpx3-7";
393                 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
394                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
395                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
396         };
397 };
398
399 &pinctrl_2 {
400         usb300_vbus_en: usb300-vbus-en {
401                 samsung,pins = "gpg0-5";
402                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
403                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
404                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
405         };
406
407         usb301_vbus_en: usb301-vbus-en {
408                 samsung,pins = "gpg1-4";
409                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
410                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
411                 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
412         };
413 };
414
415 &rtc {
416         status = "okay";
417 };
418
419 &usbdrd_phy0 {
420         vbus-supply = <&usb300_vbus_reg>;
421 };
422
423 &usbdrd_phy1 {
424         vbus-supply = <&usb301_vbus_reg>;
425 };