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