GNU Linux-libre 4.19.286-gnu1
[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/gpio/gpio.h>
13
14 / {
15         model = "Samsung SMDK5420 board based on EXYNOS5420";
16         compatible = "samsung,smdk5420", "samsung,exynos5420", "samsung,exynos5";
17
18         memory@20000000 {
19                 device_type = "memory";
20                 reg = <0x20000000 0x80000000>;
21         };
22
23         chosen {
24                 bootargs = "console=ttySAC2,115200 init=/linuxrc";
25         };
26
27         fixed-rate-clocks {
28                 oscclk {
29                         compatible = "samsung,exynos5420-oscclk";
30                         clock-frequency = <24000000>;
31                 };
32         };
33
34         regulators {
35                 compatible = "simple-bus";
36                 #address-cells = <1>;
37                 #size-cells = <0>;
38
39                 vdd: fixed-regulator@0 {
40                         compatible = "regulator-fixed";
41                         reg = <0>;
42                         regulator-name = "vdd-supply";
43                         regulator-min-microvolt = <1800000>;
44                         regulator-max-microvolt = <1800000>;
45                         regulator-always-on;
46                 };
47
48                 dbvdd: fixed-regulator@1 {
49                         compatible = "regulator-fixed";
50                         reg = <1>;
51                         regulator-name = "dbvdd-supply";
52                         regulator-min-microvolt = <3300000>;
53                         regulator-max-microvolt = <3300000>;
54                         regulator-always-on;
55                 };
56
57                 spkvdd: fixed-regulator@2 {
58                         compatible = "regulator-fixed";
59                         reg = <2>;
60                         regulator-name = "spkvdd-supply";
61                         regulator-min-microvolt = <5000000>;
62                         regulator-max-microvolt = <5000000>;
63                         regulator-always-on;
64                 };
65         };
66
67         usb300_vbus_reg: regulator-usb300 {
68                 compatible = "regulator-fixed";
69                 regulator-name = "VBUS0";
70                 regulator-min-microvolt = <5000000>;
71                 regulator-max-microvolt = <5000000>;
72                 gpio = <&gpg0 5 GPIO_ACTIVE_HIGH>;
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&usb300_vbus_en>;
75                 enable-active-high;
76         };
77
78         usb301_vbus_reg: regulator-usb301 {
79                 compatible = "regulator-fixed";
80                 regulator-name = "VBUS1";
81                 regulator-min-microvolt = <5000000>;
82                 regulator-max-microvolt = <5000000>;
83                 gpio = <&gpg1 4 GPIO_ACTIVE_HIGH>;
84                 pinctrl-names = "default";
85                 pinctrl-0 = <&usb301_vbus_en>;
86                 enable-active-high;
87         };
88
89 };
90
91 &cpu0 {
92         cpu-supply = <&buck2_reg>;
93 };
94
95 &cpu4 {
96         cpu-supply = <&buck6_reg>;
97 };
98
99 &dp {
100         pinctrl-names = "default";
101         pinctrl-0 = <&dp_hpd>;
102         samsung,color-space = <0>;
103         samsung,color-depth = <1>;
104         samsung,link-rate = <0x0a>;
105         samsung,lane-count = <4>;
106         status = "okay";
107
108         display-timings {
109                 native-mode = <&timing0>;
110                 timing0: timing {
111                         clock-frequency = <50000>;
112                         hactive = <2560>;
113                         vactive = <1600>;
114                         hfront-porch = <48>;
115                         hback-porch = <80>;
116                         hsync-len = <32>;
117                         vback-porch = <16>;
118                         vfront-porch = <8>;
119                         vsync-len = <6>;
120                 };
121         };
122 };
123
124 &fimd {
125         status = "okay";
126 };
127
128 &hdmi {
129         status = "okay";
130         ddc = <&i2c_2>;
131         hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
132         pinctrl-names = "default";
133         pinctrl-0 = <&hdmi_hpd_irq>;
134         vdd-supply = <&ldo6_reg>;
135         vdd_osc-supply = <&ldo7_reg>;
136         vdd_pll-supply = <&ldo6_reg>;
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         /* used by HDMI DDC */
352         status = "okay";
353 };
354
355 &mixer {
356         status = "okay";
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 };