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