blob: 5d087be04af8a741057485979f296cb3691e158c [file] [log] [blame]
Jagan Teki06209de2020-06-10 16:06:56 +05301// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2019 Fuzhou Rockchip Electronics Co., Ltd
4 * Copyright (c) 2019 Vamrs Limited
5 * Copyright (c) 2019 Amarula Solutions(India)
6 */
7
8#include <dt-bindings/gpio/gpio.h>
9#include <dt-bindings/pinctrl/rockchip.h>
10#include <dt-bindings/pwm/pwm.h>
11
12/ {
13 compatible = "vamrs,rk3399pro-vmarc-som", "rockchip,rk3399pro";
Jagan Teki3b1d5cb2020-07-21 20:54:40 +053014
15 vcc3v3_pcie: vcc-pcie-regulator {
16 compatible = "regulator-fixed";
17 enable-active-high;
18 gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_HIGH>;
19 pinctrl-names = "default";
20 pinctrl-0 = <&pcie_pwr>;
21 regulator-name = "vcc3v3_pcie";
22 regulator-always-on;
23 regulator-boot-on;
24 vin-supply = <&vcc5v0_sys>;
25 };
Jagan Teki06209de2020-06-10 16:06:56 +053026};
27
28&cpu_l0 {
29 cpu-supply = <&vdd_cpu_l>;
30};
31
32&cpu_l1 {
33 cpu-supply = <&vdd_cpu_l>;
34};
35
36&cpu_l2 {
37 cpu-supply = <&vdd_cpu_l>;
38};
39
40&cpu_l3 {
41 cpu-supply = <&vdd_cpu_l>;
42};
43
44&emmc_phy {
45 status = "okay";
46};
47
48&gmac {
49 assigned-clocks = <&cru SCLK_RMII_SRC>;
Jagan Teki06209de2020-06-10 16:06:56 +053050 phy-supply = <&vcc_lan>;
Jagan Teki06209de2020-06-10 16:06:56 +053051 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
Jagan Teki06209de2020-06-10 16:06:56 +053052};
53
Jagan Tekia901d3d2020-07-21 20:54:39 +053054&hdmi {
55 ddc-i2c-bus = <&i2c3>;
56 pinctrl-names = "default";
57 pinctrl-0 = <&hdmi_cec>;
58};
59
Jagan Teki06209de2020-06-10 16:06:56 +053060&i2c0 {
61 clock-frequency = <400000>;
Jagan Teki06209de2020-06-10 16:06:56 +053062 i2c-scl-falling-time-ns = <30>;
Jagan Tekid523b3d2020-07-21 20:54:35 +053063 i2c-scl-rising-time-ns = <180>;
Jagan Teki06209de2020-06-10 16:06:56 +053064 status = "okay";
65
66 rk809: pmic@20 {
67 compatible = "rockchip,rk809";
68 reg = <0x20>;
69 interrupt-parent = <&gpio1>;
70 interrupts = <RK_PC2 IRQ_TYPE_LEVEL_LOW>;
71 #clock-cells = <1>;
72 clock-output-names = "rk808-clkout1", "rk808-clkout2";
73 pinctrl-names = "default";
74 pinctrl-0 = <&pmic_int_l>;
75 rockchip,system-power-controller;
76 wakeup-source;
77
78 vcc1-supply = <&vcc5v0_sys>;
79 vcc2-supply = <&vcc5v0_sys>;
80 vcc3-supply = <&vcc5v0_sys>;
81 vcc4-supply = <&vcc5v0_sys>;
82 vcc5-supply = <&vcc_buck5>;
83 vcc6-supply = <&vcc_buck5>;
84 vcc7-supply = <&vcc5v0_sys>;
85 vcc8-supply = <&vcc3v3_sys>;
86 vcc9-supply = <&vcc5v0_sys>;
87
88 regulators {
89 vdd_log: DCDC_REG1 {
90 regulator-name = "vdd_log";
91 regulator-always-on;
92 regulator-boot-on;
93 regulator-min-microvolt = <750000>;
94 regulator-max-microvolt = <1350000>;
95 regulator-initial-mode = <0x2>;
96 regulator-state-mem {
97 regulator-off-in-suspend;
98 regulator-suspend-microvolt = <900000>;
99 };
100 };
101
102 vdd_cpu_l: DCDC_REG2 {
103 regulator-name = "vdd_cpu_l";
104 regulator-always-on;
105 regulator-boot-on;
106 regulator-min-microvolt = <750000>;
107 regulator-max-microvolt = <1350000>;
108 regulator-ramp-delay = <6001>;
109 regulator-initial-mode = <0x2>;
110 regulator-state-mem {
111 regulator-off-in-suspend;
112 };
113 };
114
115 vcc_ddr: DCDC_REG3 {
116 regulator-name = "vcc_ddr";
117 regulator-always-on;
118 regulator-boot-on;
119 regulator-initial-mode = <0x2>;
120 regulator-state-mem {
121 regulator-on-in-suspend;
122 };
123 };
124
125 vcc3v3_sys: DCDC_REG4 {
126 regulator-name = "vcc3v3_sys";
127 regulator-always-on;
128 regulator-boot-on;
129 regulator-min-microvolt = <3300000>;
130 regulator-max-microvolt = <3300000>;
131 regulator-initial-mode = <0x2>;
132 regulator-state-mem {
133 regulator-on-in-suspend;
134 regulator-suspend-microvolt = <3300000>;
135 };
136 };
137
138 vcc_buck5: DCDC_REG5 {
139 regulator-name = "vcc_buck5";
140 regulator-always-on;
141 regulator-boot-on;
142 regulator-min-microvolt = <2200000>;
143 regulator-max-microvolt = <2200000>;
144 regulator-state-mem {
145 regulator-on-in-suspend;
146 regulator-suspend-microvolt = <2200000>;
147 };
148 };
149
150 vcca_0v9: LDO_REG1 {
151 regulator-name = "vcca_0v9";
152 regulator-always-on;
153 regulator-boot-on;
154 regulator-min-microvolt = <900000>;
155 regulator-max-microvolt = <900000>;
156 regulator-state-mem {
Jagan Teki3b1d5cb2020-07-21 20:54:40 +0530157 regulator-on-in-suspend;
158 regulator-suspend-microvolt = <900000>;
Jagan Teki06209de2020-06-10 16:06:56 +0530159 };
160 };
161
162 vcc_1v8: LDO_REG2 {
163 regulator-name = "vcc_1v8";
164 regulator-always-on;
165 regulator-boot-on;
166 regulator-min-microvolt = <1800000>;
167 regulator-max-microvolt = <1800000>;
168 regulator-state-mem {
169 regulator-on-in-suspend;
170 regulator-suspend-microvolt = <1800000>;
171 };
172 };
173
174 vcc_0v9: LDO_REG3 {
175 regulator-name = "vcc_0v9";
176 regulator-always-on;
177 regulator-boot-on;
178 regulator-min-microvolt = <900000>;
179 regulator-max-microvolt = <900000>;
180 regulator-state-mem {
181 regulator-on-in-suspend;
182 regulator-suspend-microvolt = <900000>;
183 };
184 };
185
186 vcca_1v8: LDO_REG4 {
187 regulator-name = "vcca_1v8";
188 regulator-always-on;
189 regulator-boot-on;
190 regulator-min-microvolt = <1850000>;
191 regulator-max-microvolt = <1850000>;
192 regulator-state-mem {
Jagan Teki3b1d5cb2020-07-21 20:54:40 +0530193 regulator-on-in-suspend;
194 regulator-suspend-microvolt = <1850000>;
Jagan Teki06209de2020-06-10 16:06:56 +0530195 };
196 };
197
198 /*
199 * As per BSP, but schematic not showing any regulator
200 * pin for LD05.
201 */
202 vdd1v5_dvp: LDO_REG5 {
203 regulator-name = "vdd1v5_dvp";
204 regulator-always-on;
205 regulator-boot-on;
206 regulator-min-microvolt = <1500000>;
207 regulator-max-microvolt = <1500000>;
208 regulator-state-mem {
209 regulator-off-in-suspend;
210 };
211 };
212
213 vcc_1v5: LDO_REG6 {
214 regulator-name = "vcc_1v5";
215 regulator-always-on;
216 regulator-boot-on;
217 regulator-min-microvolt = <1500000>;
218 regulator-max-microvolt = <1500000>;
219 regulator-state-mem {
220 regulator-off-in-suspend;
221 };
222 };
223
224 vccio_3v0: LDO_REG7 {
225 regulator-name = "vccio_3v0";
226 regulator-always-on;
227 regulator-boot-on;
228 regulator-min-microvolt = <3000000>;
229 regulator-max-microvolt = <3000000>;
230 regulator-state-mem {
231 regulator-off-in-suspend;
232 };
233 };
234
235 vccio_sd: LDO_REG8 {
236 regulator-name = "vccio_sd";
237 regulator-always-on;
238 regulator-boot-on;
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <3300000>;
241 regulator-state-mem {
242 regulator-off-in-suspend;
243 };
244 };
245
246 /*
247 * As per BSP, but schematic not showing any regulator
248 * pin for LD09.
249 */
250 vcc_sd: LDO_REG9 {
251 regulator-name = "vcc_sd";
252 regulator-always-on;
253 regulator-boot-on;
254 regulator-min-microvolt = <3300000>;
255 regulator-max-microvolt = <3300000>;
256 regulator-state-mem {
257 regulator-off-in-suspend;
258 };
259 };
260
261 vcc5v0_usb2: SWITCH_REG1 {
262 regulator-name = "vcc5v0_usb2";
263 regulator-min-microvolt = <5000000>;
264 regulator-max-microvolt = <5000000>;
265 regulator-state-mem {
266 regulator-on-in-suspend;
267 regulator-suspend-microvolt = <5000000>;
268 };
269 };
270
271 vccio_3v3: vcc_lan: SWITCH_REG2 {
272 regulator-name = "vccio_3v3";
273 regulator-always-on;
274 regulator-boot-on;
275 regulator-min-microvolt = <3300000>;
276 regulator-max-microvolt = <3300000>;
277 regulator-state-mem {
278 regulator-off-in-suspend;
279 };
280 };
281 };
282 };
283};
284
Jagan Tekid523b3d2020-07-21 20:54:35 +0530285&i2c1 {
286 i2c-scl-falling-time-ns = <30>;
287 i2c-scl-rising-time-ns = <140>;
288 status = "okay";
289};
290
291&i2c2 {
292 clock-frequency = <400000>;
293 status = "okay";
294
295 hym8563: hym8563@51 {
296 compatible = "haoyu,hym8563";
297 reg = <0x51>;
298 #clock-cells = <0>;
299 clock-frequency = <32768>;
300 clock-output-names = "hym8563";
301 pinctrl-names = "default";
302 pinctrl-0 = <&hym8563_int>;
303 interrupt-parent = <&gpio4>;
304 interrupts = <RK_PD6 IRQ_TYPE_LEVEL_LOW>;
305 };
306};
307
Jagan Tekia901d3d2020-07-21 20:54:39 +0530308&i2c3 {
309 i2c-scl-rising-time-ns = <450>;
310 i2c-scl-falling-time-ns = <15>;
311 status = "okay";
312};
313
Jagan Teki06209de2020-06-10 16:06:56 +0530314&io_domains {
315 status = "okay";
316 bt656-supply = <&vcca_1v8>;
Jagan Teki06209de2020-06-10 16:06:56 +0530317 gpio1830-supply = <&vccio_3v0>;
Jagan Tekid523b3d2020-07-21 20:54:35 +0530318 sdmmc-supply = <&vccio_sd>;
Jagan Teki06209de2020-06-10 16:06:56 +0530319};
320
Jagan Teki3b1d5cb2020-07-21 20:54:40 +0530321&pcie_phy {
322 status = "okay";
323};
324
325&pcie0 {
326 ep-gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
327 max-link-speed = <2>;
328 num-lanes = <4>;
329 pinctrl-0 = <&pcie_clkreqnb_cpm>;
330 pinctrl-names = "default";
331 vpcie0v9-supply = <&vcca_0v9>; /* VCC_0V9_S0 */
332 vpcie1v8-supply = <&vcca_1v8>; /* VCC_1V8_S0 */
333 vpcie3v3-supply = <&vcc3v3_pcie>;
334 status = "okay";
335};
336
Jagan Tekid523b3d2020-07-21 20:54:35 +0530337&pinctrl {
338 hym8563 {
339 hym8563_int: hym8563-int {
340 rockchip,pins = <4 RK_PD6 0 &pcfg_pull_up>;
341 };
342 };
343
Jagan Teki3b1d5cb2020-07-21 20:54:40 +0530344 pcie {
345 pcie_pwr: pcie-pwr {
346 rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_up>;
347 };
348 };
349
Jagan Tekid523b3d2020-07-21 20:54:35 +0530350 pmic {
351 pmic_int_l: pmic-int-l {
352 rockchip,pins = <1 RK_PC2 0 &pcfg_pull_up>;
353 };
354 };
Jagan Teki513673d2020-07-21 20:54:38 +0530355
356 vbus_host {
357 usb1_en_oc: usb1-en-oc {
358 rockchip,pins = <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_up>;
359 };
360 };
361
362 vbus_typec {
363 usb0_en_oc: usb0-en-oc {
364 rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_up>;
365 };
366 };
Jagan Tekid523b3d2020-07-21 20:54:35 +0530367};
368
Jagan Teki06209de2020-06-10 16:06:56 +0530369&pmu_io_domains {
370 status = "okay";
371 pmu1830-supply = <&vcc_1v8>;
372};
373
374&sdhci {
375 bus-width = <8>;
376 mmc-hs400-1_8v;
377 mmc-hs400-enhanced-strobe;
378 non-removable;
379 status = "okay";
380};
381
Jagan Teki91391cd2020-06-18 21:42:18 +0530382&sdmmc {
383 cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
384 max-frequency = <150000000>;
385};
386
Jagan Teki513673d2020-07-21 20:54:38 +0530387&tcphy0 {
388 status = "okay";
389};
390
Jagan Teki06209de2020-06-10 16:06:56 +0530391&tsadc {
Jagan Teki06209de2020-06-10 16:06:56 +0530392 rockchip,hw-tshut-mode = <1>;
393 rockchip,hw-tshut-polarity = <1>;
Jagan Tekid523b3d2020-07-21 20:54:35 +0530394 status = "okay";
Jagan Teki06209de2020-06-10 16:06:56 +0530395};
Jagan Teki513673d2020-07-21 20:54:38 +0530396
397&u2phy0 {
398 status = "okay";
399
400 u2phy0_otg: otg-port {
401 phy-supply = <&vbus_typec>;
402 status = "okay";
403 };
404
405 u2phy0_host: host-port {
406 phy-supply = <&vbus_host>;
407 status = "okay";
408 };
409};
410
411
412&u2phy1 {
413 status = "okay";
414
415 u2phy1_host: host-port {
416 phy-supply = <&vbus_host>;
417 status = "okay";
418 };
419};
420
421&usb_host0_ehci {
422 status = "okay";
423};
424
425&usb_host0_ohci {
426 status = "okay";
427};
428
429&usb_host1_ehci {
430 status = "okay";
431};
432
433&usb_host1_ohci {
434 status = "okay";
435};
436
437&usbdrd3_0 {
438 status = "okay";
439};
440
441&usbdrd_dwc3_0 {
442 status = "okay";
443};
444
445&vbus_host {
446 enable-active-high;
447 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>; /* USB1_EN_OC# */
448 pinctrl-names = "default";
449 pinctrl-0 = <&usb1_en_oc>;
450};
451
452&vbus_typec {
453 enable-active-high;
454 gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>; /* USB0_EN_OC# */
455 pinctrl-names = "default";
456 pinctrl-0 = <&usb0_en_oc>;
457};