Merge tag 'csky-for-linus-4.20-fixup-dtb' of https://github.com/c-sky/csky-linux
[linux-block.git] / arch / arm / boot / dts / exynos3250-artik5.dtsi
CommitLineData
cc4637f7 1// SPDX-License-Identifier: GPL-2.0
b004a34b
CC
2/*
3 * Samsung's Exynos3250 based ARTIK5 module device tree source
4 *
5 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
8 * Device tree source file for Samsung's ARTIK5 module which is based on
9 * Samsung Exynos3250 SoC.
b004a34b
CC
10 */
11
12#include "exynos3250.dtsi"
13#include <dt-bindings/clock/samsung,s2mps11.h>
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16
17/ {
18 compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
19
20 chosen {
21 stdout-path = &serial_2;
22 };
23
2458ff00 24 memory@40000000 {
33c3de7e 25 device_type = "memory";
b004a34b
CC
26 reg = <0x40000000 0x1ff00000>;
27 };
28
8dccafaa 29 firmware@205f000 {
b004a34b
CC
30 compatible = "samsung,secure-firmware";
31 reg = <0x0205f000 0x1000>;
32 };
33
34 thermal-zones {
35 cpu_thermal: cpu-thermal {
36 cooling-maps {
37 map0 {
38 /* Corresponds to 500MHz */
39 cooling-device = <&cpu0 5 5>;
40 };
41 map1 {
42 /* Corresponds to 200MHz */
43 cooling-device = <&cpu0 8 8>;
44 };
45 };
46 };
47 };
48};
49
50&adc {
51 vdd-supply = <&ldo7_reg>;
52 assigned-clocks = <&cmu CLK_SCLK_TSADC>;
53 assigned-clock-rates = <6000000>;
54};
55
56&cpu0 {
57 cpu0-supply = <&buck2_reg>;
58};
59
60&i2c_0 {
61 #address-cells = <1>;
62 #size-cells = <0>;
63 samsung,i2c-sda-delay = <100>;
64 samsung,i2c-slave-addr = <0x10>;
65 samsung,i2c-max-bus-freq = <100000>;
66 status = "okay";
67
68 s2mps14_pmic@66 {
69 compatible = "samsung,s2mps14-pmic";
70 interrupt-parent = <&gpx3>;
71 interrupts = <5 IRQ_TYPE_NONE>;
62623718
MS
72 pinctrl-names = "default";
73 pinctrl-0 = <&s2mps14_irq>;
b004a34b
CC
74 reg = <0x66>;
75
76 s2mps14_osc: clocks {
77 compatible = "samsung,s2mps14-clk";
78 #clock-cells = <1>;
79 clock-output-names = "s2mps14_ap", "unused",
80 "s2mps14_bt";
81 };
82
83 regulators {
84 ldo1_reg: LDO1 {
85 /* VDD_ALIVE15x */
86 regulator-name = "VLDO1_1.0V";
87 regulator-min-microvolt = <1000000>;
88 regulator-max-microvolt = <1000000>;
89 regulator-always-on;
90 };
91
92 ldo2_reg: LDO2 {
93 /* VDDQM176 ~ VDDQM185 */
94 regulator-name = "VLDO2_1.2V";
95 regulator-min-microvolt = <1200000>;
96 regulator-max-microvolt = <1200000>;
97 regulator-always-on;
98 };
99
100 ldo3_reg: LDO3 {
101 /*
102 * VDD1_E106 ~ VDD1_E111
103 * DVDD_RTC_AP, DVDD_MMC2_AP
104 */
105 regulator-name = "VLDO3_1.8V";
106 regulator-min-microvolt = <1800000>;
107 regulator-max-microvolt = <1800000>;
108 regulator-always-on;
109 };
110
111 ldo4_reg: LDO4 {
112 /* AVDD_PLL1120 ~ AVDD_PLL11201 */
113 regulator-name = "VLDO4_1.8V";
114 regulator-min-microvolt = <1800000>;
115 regulator-max-microvolt = <1800000>;
116 regulator-always-on;
117 };
118
119 ldo5_reg: LDO5 {
120 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
121 regulator-name = "VLDO5_1.0V";
122 regulator-min-microvolt = <1000000>;
123 regulator-max-microvolt = <1000000>;
124 regulator-always-on;
125 };
126
127 ldo6_reg: LDO6 {
128 /* VDD_USB, VDD10_HSIC */
129 regulator-name = "VLDO6_1.0V";
130 regulator-min-microvolt = <1000000>;
131 regulator-max-microvolt = <1000000>;
132 regulator-always-on;
133 };
134
135 ldo7_reg: LDO7 {
136 /*
137 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
138 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
139 */
140 regulator-name = "VLDO7_1.8V";
141 regulator-min-microvolt = <1800000>;
142 regulator-max-microvolt = <1800000>;
143 regulator-always-on;
144 };
145
146 ldo8_reg: LDO8 {
147 /* AVDD33_UOTG */
148 regulator-name = "VLDO8_3.0V";
149 regulator-min-microvolt = <3000000>;
150 regulator-max-microvolt = <3000000>;
151 regulator-always-on;
152 };
153
154 ldo9_reg: LDO9 {
155 /* VDDQ_E86 ~ VDDQ_E105*/
156 regulator-name = "VLDO9_1.2V";
157 regulator-min-microvolt = <1200000>;
158 regulator-max-microvolt = <1200000>;
159 regulator-always-on;
160 };
161
162 ldo10_reg: LDO10 {
163 regulator-name = "VLDO10_1.0V";
164 regulator-min-microvolt = <1000000>;
165 regulator-max-microvolt = <1000000>;
166 };
167
168 ldo11_reg: LDO11 {
169 /* VDD74 ~ VDD75 */
170 regulator-name = "VLDO11_1.8V";
171 regulator-min-microvolt = <1800000>;
172 regulator-max-microvolt = <1800000>;
173 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
174 };
175
176 ldo12_reg: LDO12 {
177 /* VDD72 ~ VDD73 */
178 regulator-name = "VLDO12_2.8V";
179 regulator-min-microvolt = <2800000>;
180 regulator-max-microvolt = <2800000>;
181 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
182 };
183
184 ldo13_reg: LDO13 {
185 regulator-name = "VLDO13_2.8V";
186 regulator-min-microvolt = <2800000>;
187 regulator-max-microvolt = <2800000>;
188 };
189
190 ldo14_reg: LDO14 {
191 regulator-name = "VLDO14_2.7V";
192 regulator-min-microvolt = <2700000>;
193 regulator-max-microvolt = <2700000>;
194 };
195
196 ldo15_reg: LDO15 {
197 regulator-name = "VLDO_3.3V";
198 regulator-min-microvolt = <3300000>;
199 regulator-max-microvolt = <3300000>;
200 };
201
202 ldo16_reg: LDO16 {
203 regulator-name = "VLDO16_3.3V";
204 regulator-min-microvolt = <3300000>;
205 regulator-max-microvolt = <3300000>;
206 };
207
208 ldo17_reg: LDO17 {
209 regulator-name = "VLDO17_3.0V";
210 regulator-min-microvolt = <3000000>;
211 regulator-max-microvolt = <3000000>;
212 };
213
214 ldo18_reg: LDO18 {
215 /* DVDD_MMC2_AP */
216 regulator-name = "VLDO18_2.8V";
217 regulator-min-microvolt = <2800000>;
218 regulator-max-microvolt = <2800000>;
219 };
220
221 ldo19_reg: LDO19 {
222 regulator-name = "VLDO19_1.8V";
223 regulator-min-microvolt = <1800000>;
224 regulator-max-microvolt = <1800000>;
225 };
226
227 ldo20_reg: LDO20 {
228 regulator-name = "VLDO20_1.8V";
229 regulator-min-microvolt = <1800000>;
230 regulator-max-microvolt = <1800000>;
231 };
232
233 ldo21_reg: LDO21 {
234 regulator-name = "VLDO21_1.25V";
235 regulator-min-microvolt = <1250000>;
236 regulator-max-microvolt = <1250000>;
237 };
238
239 ldo22_reg: LDO22 {
240 regulator-name = "VLDO22_1.2V";
241 regulator-min-microvolt = <1200000>;
242 regulator-max-microvolt = <1200000>;
243 };
244
245 ldo23_reg: LDO23 {
246 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
247 regulator-name = "VLDO23_1.8V";
248 regulator-min-microvolt = <1800000>;
249 regulator-max-microvolt = <1800000>;
e9594acf 250 regulator-always-on;
b004a34b
CC
251 };
252
253 ldo24_reg: LDO24 {
254 regulator-name = "VLDO24_3.0V";
255 regulator-min-microvolt = <3000000>;
256 regulator-max-microvolt = <3000000>;
257 };
258
259 ldo25_reg: LDO25 {
260 regulator-name = "VLDO25_3.0V";
261 regulator-min-microvolt = <3000000>;
262 regulator-max-microvolt = <3000000>;
263 };
264
265 buck1_reg: BUCK1 {
266 /* VDD_MIF */
267 regulator-name = "VBUCK1_1.0V";
268 regulator-min-microvolt = <800000>;
269 regulator-max-microvolt = <1000000>;
270 regulator-always-on;
271 };
272
273 buck2_reg: BUCK2 {
274 /* VDD_CPU */
275 regulator-name = "VBUCK2_1.2V";
276 regulator-min-microvolt = <850000>;
277 regulator-max-microvolt = <1200000>;
278 regulator-always-on;
279 };
280
281 buck3_reg: BUCK3 {
282 /* VDD_G3D */
283 regulator-name = "VBUCK3_1.0V";
284 regulator-min-microvolt = <850000>;
285 regulator-max-microvolt = <1000000>;
286 regulator-always-on;
287 };
288
289 buck4_reg: BUCK4 {
290 regulator-name = "VBUCK4_1.95V";
291 regulator-min-microvolt = <1950000>;
292 regulator-max-microvolt = <1950000>;
293 regulator-always-on;
294 };
295
296 buck5_reg: BUCK5 {
297 regulator-name = "VBUCK5_1.35V";
298 regulator-min-microvolt = <1350000>;
299 regulator-max-microvolt = <1350000>;
300 regulator-always-on;
301 };
302 };
303 };
304};
305
306&mshc_0 {
b004a34b
CC
307 non-removable;
308 cap-mmc-highspeed;
309 card-detect-delay = <200>;
310 vmmc-supply = <&ldo12_reg>;
311 clock-frequency = <100000000>;
9adce7a4 312 max-frequency = <100000000>;
b004a34b
CC
313 samsung,dw-mshc-ciu-div = <1>;
314 samsung,dw-mshc-sdr-timing = <0 1>;
315 samsung,dw-mshc-ddr-timing = <1 2>;
316 pinctrl-names = "default";
317 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
318 bus-width = <8>;
319 status = "okay";
320};
321
e9594acf
ML
322&mshc_1 {
323 cap-sd-highspeed;
324 cap-sdio-irq;
325 disable-wp;
326 non-removable;
327 keep-power-in-suspend;
328 fifo-depth = <0x40>;
329 vqmmc-supply = <&ldo11_reg>;
330 /*
331 * Voltage negotiation is broken for the SDIO periph so we
332 * can't actually set the voltage here.
333 * vmmc-supply = <&ldo23_reg>;
334 */
335 card-detect-delay = <500>;
336 clock-frequency = <100000000>;
337 max-frequency = <100000000>;
338 samsung,dw-mshc-ciu-div = <3>;
339 samsung,dw-mshc-sdr-timing = <0 1>;
340 samsung,dw-mshc-ddr-timing = <1 2>;
341 pinctrl-names = "default";
342 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
343 bus-width = <4>;
344 status = "okay";
345};
346
347&pinctrl_1 {
348 wlanen: wlanen {
349 samsung,pins = "gpx2-3";
350 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
351 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
352 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
353 samsung,pin-val = <1>;
354 };
62623718
MS
355
356 s2mps14_irq: s2mps14-irq {
357 samsung,pins = "gpx3-5";
358 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
359 };
e9594acf
ML
360};
361
b004a34b
CC
362&rtc {
363 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
364 clock-names = "rtc", "rtc_src";
365 status = "okay";
366};
367
368&tmu {
369 status = "okay";
370};
371
372&xusbxti {
373 clock-frequency = <24000000>;
374};