blob: aaccd0da41e5452995b3e51aa1e1a58c329a23f6 [file] [log] [blame]
Chander Kashyap34dcedf2013-06-19 00:29:35 +09001/*
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"
Krzysztof Kozlowski4f0d20e2015-12-11 15:05:56 +090014#include "exynos5420-cpus.dtsi"
Javier Martinez Canillas31b99032015-10-08 07:39:58 +090015#include <dt-bindings/gpio/gpio.h>
Marek Szyprowski8b9ac7e2016-05-24 15:31:29 +020016#include "exynos-mfc-reserved-memory.dtsi"
Chander Kashyap34dcedf2013-06-19 00:29:35 +090017
18/ {
19 model = "Samsung SMDK5420 board based on EXYNOS5420";
Sachin Kamat8bdb31b2014-03-21 02:17:22 +090020 compatible = "samsung,smdk5420", "samsung,exynos5420", "samsung,exynos5";
Chander Kashyap34dcedf2013-06-19 00:29:35 +090021
Javier Martinez Canillasa0eb1092016-09-01 11:06:56 +020022 memory@20000000 {
Javier Martinez Canillas12676ee2016-09-01 11:06:53 +020023 device_type = "memory";
Chander Kashyap34dcedf2013-06-19 00:29:35 +090024 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 };
Vikas Sajjanee3381d2013-08-14 17:08:33 +090037
Sachin Kamat7e03ff32014-02-24 08:47:29 +090038 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
Vivek Gautam9c6096e2014-05-19 22:30:48 +090071 usb300_vbus_reg: regulator-usb300 {
72 compatible = "regulator-fixed";
73 regulator-name = "VBUS0";
74 regulator-min-microvolt = <5000000>;
75 regulator-max-microvolt = <5000000>;
Javier Martinez Canillas31b99032015-10-08 07:39:58 +090076 gpio = <&gpg0 5 GPIO_ACTIVE_HIGH>;
Vivek Gautam9c6096e2014-05-19 22:30:48 +090077 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>;
Javier Martinez Canillas31b99032015-10-08 07:39:58 +090087 gpio = <&gpg1 4 GPIO_ACTIVE_HIGH>;
Vivek Gautam9c6096e2014-05-19 22:30:48 +090088 pinctrl-names = "default";
89 pinctrl-0 = <&usb301_vbus_en>;
90 enable-active-high;
91 };
92
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +090093};
Vivek Gautam9c6096e2014-05-19 22:30:48 +090094
Bartlomiej Zolnierkiewicz8b51c5e2015-12-15 18:33:15 +010095&cpu0 {
96 cpu-supply = <&buck2_reg>;
97};
98
99&cpu4 {
100 cpu-supply = <&buck6_reg>;
101};
102
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900103&dp {
104 pinctrl-names = "default";
105 pinctrl-0 = <&dp_hpd>;
106 samsung,color-space = <0>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900107 samsung,color-depth = <1>;
108 samsung,link-rate = <0x0a>;
109 samsung,lane-count = <4>;
110 status = "okay";
Vivek Gautam9c6096e2014-05-19 22:30:48 +0900111
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900112 display-timings {
113 native-mode = <&timing0>;
Krzysztof Kozlowskifed3b4a2016-04-06 11:00:48 +0900114 timing0: timing {
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900115 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>;
Rahul Sharma29f86662013-10-08 06:49:46 +0900124 };
125 };
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900126};
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530127
Sean Paulc5185062015-09-17 14:48:39 +0200128&fimd {
129 status = "okay";
130};
131
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900132&hdmi {
133 status = "okay";
Milo Kim05b01dd2016-08-24 22:07:16 +0900134 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900135 pinctrl-names = "default";
136 pinctrl-0 = <&hdmi_hpd_irq>;
137};
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530138
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900139&hsi2c_4 {
140 status = "okay";
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530141
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900142 s2mps11_pmic@66 {
143 compatible = "samsung,s2mps11-pmic";
144 reg = <0x66>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900145
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;
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530158 };
159
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900160 ldo3_reg: LDO3 {
161 regulator-name = "vdd_ldo3";
162 regulator-min-microvolt = <1800000>;
163 regulator-max-microvolt = <1800000>;
164 regulator-always-on;
165 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530166
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900167 ldo5_reg: LDO5 {
168 regulator-name = "vdd_ldo5";
169 regulator-min-microvolt = <1800000>;
170 regulator-max-microvolt = <1800000>;
171 regulator-always-on;
172 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530173
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900174 ldo6_reg: LDO6 {
175 regulator-name = "vdd_ldo6";
176 regulator-min-microvolt = <1000000>;
177 regulator-max-microvolt = <1000000>;
178 regulator-always-on;
179 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530180
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900181 ldo7_reg: LDO7 {
182 regulator-name = "vdd_ldo7";
183 regulator-min-microvolt = <1800000>;
184 regulator-max-microvolt = <1800000>;
185 regulator-always-on;
186 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530187
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900188 ldo8_reg: LDO8 {
189 regulator-name = "vdd_ldo8";
190 regulator-min-microvolt = <1800000>;
191 regulator-max-microvolt = <1800000>;
192 regulator-always-on;
193 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530194
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900195 ldo9_reg: LDO9 {
196 regulator-name = "vdd_ldo9";
197 regulator-min-microvolt = <3000000>;
198 regulator-max-microvolt = <3000000>;
199 regulator-always-on;
200 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530201
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900202 ldo10_reg: LDO10 {
203 regulator-name = "vdd_ldo10";
204 regulator-min-microvolt = <1800000>;
205 regulator-max-microvolt = <1800000>;
206 regulator-always-on;
207 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530208
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900209 ldo11_reg: LDO11 {
210 regulator-name = "vdd_ldo11";
211 regulator-min-microvolt = <1000000>;
212 regulator-max-microvolt = <1000000>;
213 regulator-always-on;
214 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530215
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900216 ldo12_reg: LDO12 {
217 regulator-name = "vdd_ldo12";
218 regulator-min-microvolt = <1800000>;
219 regulator-max-microvolt = <1800000>;
220 regulator-always-on;
221 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530222
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900223 ldo13_reg: LDO13 {
224 regulator-name = "vdd_ldo13";
225 regulator-min-microvolt = <2800000>;
226 regulator-max-microvolt = <2800000>;
227 regulator-always-on;
228 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530229
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900230 ldo15_reg: LDO15 {
231 regulator-name = "vdd_ldo15";
232 regulator-min-microvolt = <3100000>;
233 regulator-max-microvolt = <3100000>;
234 regulator-always-on;
235 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530236
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900237 ldo16_reg: LDO16 {
238 regulator-name = "vdd_ldo16";
239 regulator-min-microvolt = <2200000>;
240 regulator-max-microvolt = <2200000>;
241 regulator-always-on;
242 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530243
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900244 ldo17_reg: LDO17 {
245 regulator-name = "tsp_avdd";
246 regulator-min-microvolt = <3300000>;
247 regulator-max-microvolt = <3300000>;
248 regulator-always-on;
249 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530250
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900251 ldo19_reg: LDO19 {
252 regulator-name = "vdd_sd";
253 regulator-min-microvolt = <2800000>;
254 regulator-max-microvolt = <2800000>;
255 regulator-always-on;
256 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530257
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900258 ldo24_reg: LDO24 {
259 regulator-name = "tsp_io";
260 regulator-min-microvolt = <2800000>;
261 regulator-max-microvolt = <2800000>;
262 regulator-always-on;
263 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530264
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900265 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530272
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900273 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530280
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900281 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530288
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900289 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530296
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900297 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530304
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900305 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530312
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900313 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530320
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900321 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530328
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900329 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 };
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530336
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900337 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;
Sachin Kamatc8c253f2013-11-06 13:44:41 +0530343 };
344 };
345 };
Chander Kashyap34dcedf2013-06-19 00:29:35 +0900346};
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900347
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
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900359&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";
Krzysztof Kozlowskia2f2bc32016-09-04 13:04:14 +0200390 samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>;
391 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
392 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900393 };
394};
395
396&pinctrl_2 {
397 usb300_vbus_en: usb300-vbus-en {
398 samsung,pins = "gpg0-5";
Krzysztof Kozlowskia2f2bc32016-09-04 13:04:14 +0200399 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
400 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
401 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900402 };
403
404 usb301_vbus_en: usb301-vbus-en {
405 samsung,pins = "gpg1-4";
Krzysztof Kozlowskia2f2bc32016-09-04 13:04:14 +0200406 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
407 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
408 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
Krzysztof Kozlowskie7d7ef32015-04-12 20:59:34 +0900409 };
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};