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