1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
4 */
5
6/dts-v1/;
7#include <dt-bindings/pwm/pwm.h>
8#include "rk3399.dtsi"
9
10/ {
11	model = "Rockchip RK3399 Evaluation Board";
12	compatible = "rockchip,rk3399-evb", "rockchip,rk3399";
13
14	backlight: backlight {
15		compatible = "pwm-backlight";
16		brightness-levels = <
17			  0   1   2   3   4   5   6   7
18			  8   9  10  11  12  13  14  15
19			 16  17  18  19  20  21  22  23
20			 24  25  26  27  28  29  30  31
21			 32  33  34  35  36  37  38  39
22			 40  41  42  43  44  45  46  47
23			 48  49  50  51  52  53  54  55
24			 56  57  58  59  60  61  62  63
25			 64  65  66  67  68  69  70  71
26			 72  73  74  75  76  77  78  79
27			 80  81  82  83  84  85  86  87
28			 88  89  90  91  92  93  94  95
29			 96  97  98  99 100 101 102 103
30			104 105 106 107 108 109 110 111
31			112 113 114 115 116 117 118 119
32			120 121 122 123 124 125 126 127
33			128 129 130 131 132 133 134 135
34			136 137 138 139 140 141 142 143
35			144 145 146 147 148 149 150 151
36			152 153 154 155 156 157 158 159
37			160 161 162 163 164 165 166 167
38			168 169 170 171 172 173 174 175
39			176 177 178 179 180 181 182 183
40			184 185 186 187 188 189 190 191
41			192 193 194 195 196 197 198 199
42			200 201 202 203 204 205 206 207
43			208 209 210 211 212 213 214 215
44			216 217 218 219 220 221 222 223
45			224 225 226 227 228 229 230 231
46			232 233 234 235 236 237 238 239
47			240 241 242 243 244 245 246 247
48			248 249 250 251 252 253 254 255>;
49		default-brightness-level = <200>;
50		pwms = <&pwm0 0 25000 0>;
51	};
52
53	edp_panel: edp-panel {
54		compatible ="lg,lp079qx1-sp0v";
55		backlight = <&backlight>;
56		enable-gpios = <&gpio1 RK_PB5 GPIO_ACTIVE_HIGH>;
57		power-supply = <&vcc3v3_s0>;
58
59		port {
60			panel_in_edp: endpoint {
61				remote-endpoint = <&edp_out_panel>;
62			};
63		};
64	};
65
66	clkin_gmac: external-gmac-clock {
67		compatible = "fixed-clock";
68		clock-frequency = <125000000>;
69		clock-output-names = "clkin_gmac";
70		#clock-cells = <0>;
71	};
72
73	vdd_center: vdd-center {
74		compatible = "pwm-regulator";
75		pwms = <&pwm3 0 25000 0>;
76		regulator-name = "vdd_center";
77		regulator-min-microvolt = <800000>;
78		regulator-max-microvolt = <1400000>;
79		regulator-always-on;
80		regulator-boot-on;
81		status = "okay";
82	};
83
84	vcc3v3_sys: vcc3v3-sys {
85		compatible = "regulator-fixed";
86		regulator-name = "vcc3v3_sys";
87		regulator-always-on;
88		regulator-boot-on;
89		regulator-min-microvolt = <3300000>;
90		regulator-max-microvolt = <3300000>;
91	};
92
93	vcc5v0_sys: vcc5v0-sys {
94		compatible = "regulator-fixed";
95		regulator-name = "vcc5v0_sys";
96		regulator-always-on;
97		regulator-boot-on;
98		regulator-min-microvolt = <5000000>;
99		regulator-max-microvolt = <5000000>;
100	};
101
102	vcc5v0_host: vcc5v0-host-regulator {
103		compatible = "regulator-fixed";
104		enable-active-high;
105		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
106		pinctrl-names = "default";
107		pinctrl-0 = <&vcc5v0_host_en>;
108		regulator-name = "vcc5v0_host";
109		vin-supply = <&vcc5v0_sys>;
110	};
111
112	vcc_phy: vcc-phy-regulator {
113		compatible = "regulator-fixed";
114		regulator-name = "vcc_phy";
115		regulator-always-on;
116		regulator-boot-on;
117	};
118
119	vcc_phy: vcc-phy-regulator {
120		compatible = "regulator-fixed";
121		regulator-name = "vcc_phy";
122		regulator-always-on;
123		regulator-boot-on;
124	};
125
126};
127
128&edp {
129	status = "okay";
130	force-hpd;
131
132	ports {
133		edp_out: port@1 {
134			reg = <1>;
135			#address-cells = <1>;
136			#size-cells = <0>;
137
138			edp_out_panel: endpoint@0 {
139				reg = <0>;
140				remote-endpoint = <&panel_in_edp>;
141			};
142		};
143	};
144};
145
146&emmc_phy {
147	status = "okay";
148};
149
150&gmac {
151	assigned-clocks = <&cru SCLK_RMII_SRC>;
152	assigned-clock-parents = <&clkin_gmac>;
153	clock_in_out = "input";
154	phy-supply = <&vcc_phy>;
155	phy-mode = "rgmii";
156	pinctrl-names = "default";
157	pinctrl-0 = <&rgmii_pins>;
158	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
159	snps,reset-active-low;
160	snps,reset-delays-us = <0 10000 50000>;
161	tx_delay = <0x28>;
162	rx_delay = <0x11>;
163	status = "okay";
164};
165
166&i2c0 {
167	status = "okay";
168
169	rk808: pmic@1b {
170		compatible = "rockchip,rk808";
171		reg = <0x1b>;
172		interrupt-parent = <&gpio1>;
173		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
174		pinctrl-names = "default";
175		pinctrl-0 = <&pmic_int_l>;
176		rockchip,system-power-controller;
177		wakeup-source;
178		#clock-cells = <1>;
179		clock-output-names = "rk808-clkout1", "rk808-clkout2";
180
181		vcc1-supply = <&vcc3v3_sys>;
182		vcc2-supply = <&vcc3v3_sys>;
183		vcc3-supply = <&vcc3v3_sys>;
184		vcc4-supply = <&vcc3v3_sys>;
185		vcc6-supply = <&vcc3v3_sys>;
186		vcc7-supply = <&vcc3v3_sys>;
187		vcc8-supply = <&vcc3v3_sys>;
188		vcc9-supply = <&vcc3v3_sys>;
189		vcc10-supply = <&vcc3v3_sys>;
190		vcc11-supply = <&vcc3v3_sys>;
191		vcc12-supply = <&vcc3v3_sys>;
192		vddio-supply = <&vcc1v8_pmu>;
193
194		regulators {
195			vdd_log: DCDC_REG1 {
196				regulator-name = "vdd_log";
197				regulator-min-microvolt = <750000>;
198				regulator-max-microvolt = <1350000>;
199				regulator-ramp-delay = <6001>;
200				regulator-always-on;
201				regulator-boot-on;
202				regulator-state-mem {
203					regulator-on-in-suspend;
204					regulator-suspend-microvolt = <900000>;
205				};
206			};
207
208			vdd_cpu_l: DCDC_REG2 {
209				regulator-name = "vdd_cpu_l";
210				regulator-min-microvolt = <750000>;
211				regulator-max-microvolt = <1350000>;
212				regulator-ramp-delay = <6001>;
213				regulator-always-on;
214				regulator-boot-on;
215				regulator-state-mem {
216					regulator-off-in-suspend;
217				};
218			};
219
220			vcc_ddr: DCDC_REG3 {
221				regulator-name = "vcc_ddr";
222				regulator-always-on;
223				regulator-boot-on;
224				regulator-state-mem {
225					regulator-on-in-suspend;
226				};
227			};
228
229			vcc_1v8: DCDC_REG4 {
230				regulator-name = "vcc_1v8";
231				regulator-min-microvolt = <1800000>;
232				regulator-max-microvolt = <1800000>;
233				regulator-always-on;
234				regulator-boot-on;
235				regulator-state-mem {
236					regulator-on-in-suspend;
237					regulator-suspend-microvolt = <1800000>;
238				};
239			};
240
241			vcc1v8_dvp: LDO_REG1 {
242				regulator-name = "vcc1v8_dvp";
243				regulator-min-microvolt = <1800000>;
244				regulator-max-microvolt = <1800000>;
245				regulator-always-on;
246				regulator-boot-on;
247				regulator-state-mem {
248					regulator-off-in-suspend;
249				};
250			};
251
252			vcc3v0_tp: LDO_REG2 {
253				regulator-name = "vcc3v0_tp";
254				regulator-min-microvolt = <3000000>;
255				regulator-max-microvolt = <3000000>;
256				regulator-always-on;
257				regulator-boot-on;
258				regulator-state-mem {
259					regulator-off-in-suspend;
260				};
261			};
262
263			vcc1v8_pmu: LDO_REG3 {
264				regulator-name = "vcc1v8_pmu";
265				regulator-min-microvolt = <1800000>;
266				regulator-max-microvolt = <1800000>;
267				regulator-always-on;
268				regulator-boot-on;
269				regulator-state-mem {
270					regulator-on-in-suspend;
271					regulator-suspend-microvolt = <1800000>;
272				};
273			};
274
275			vcc_sd: LDO_REG4 {
276				regulator-name = "vcc_sd";
277				regulator-min-microvolt = <1800000>;
278				regulator-max-microvolt = <3000000>;
279				regulator-always-on;
280				regulator-boot-on;
281				regulator-state-mem {
282					regulator-on-in-suspend;
283					regulator-suspend-microvolt = <3000000>;
284				};
285			};
286
287			vcca3v0_codec: LDO_REG5 {
288				regulator-name = "vcca3v0_codec";
289				regulator-min-microvolt = <3000000>;
290				regulator-max-microvolt = <3000000>;
291				regulator-always-on;
292				regulator-boot-on;
293				regulator-state-mem {
294					regulator-off-in-suspend;
295				};
296			};
297
298			vcc_1v5: LDO_REG6 {
299				regulator-name = "vcc_1v5";
300				regulator-min-microvolt = <1500000>;
301				regulator-max-microvolt = <1500000>;
302				regulator-always-on;
303				regulator-boot-on;
304				regulator-state-mem {
305					regulator-on-in-suspend;
306					regulator-suspend-microvolt = <1500000>;
307				};
308			};
309
310			vcca1v8_codec: LDO_REG7 {
311				regulator-name = "vcca1v8_codec";
312				regulator-min-microvolt = <1800000>;
313				regulator-max-microvolt = <1800000>;
314				regulator-always-on;
315				regulator-boot-on;
316				regulator-state-mem {
317					regulator-off-in-suspend;
318				};
319			};
320
321			vcc_3v0: LDO_REG8 {
322				regulator-name = "vcc_3v0";
323				regulator-min-microvolt = <3000000>;
324				regulator-max-microvolt = <3000000>;
325				regulator-always-on;
326				regulator-boot-on;
327				regulator-state-mem {
328					regulator-on-in-suspend;
329					regulator-suspend-microvolt = <3000000>;
330				};
331			};
332
333			vcc3v3_s3: SWITCH_REG1 {
334				regulator-name = "vcc3v3_s3";
335				regulator-always-on;
336				regulator-boot-on;
337				regulator-state-mem {
338					regulator-on-in-suspend;
339				};
340			};
341
342			vcc3v3_s0: SWITCH_REG2 {
343				regulator-name = "vcc3v3_s0";
344				regulator-always-on;
345				regulator-boot-on;
346				regulator-state-mem {
347					regulator-off-in-suspend;
348				};
349			};
350		};
351	};
352
353	vdd_cpu_b: regulator@40 {
354		compatible = "silergy,syr827";
355		reg = <0x40>;
356		fcs,suspend-voltage-selector = <1>;
357		regulator-name = "vdd_cpu_b";
358		regulator-min-microvolt = <712500>;
359		regulator-max-microvolt = <1500000>;
360		regulator-ramp-delay = <1000>;
361		regulator-always-on;
362		regulator-boot-on;
363		vin-supply = <&vcc5v0_sys>;
364
365		regulator-state-mem {
366			regulator-off-in-suspend;
367		};
368	};
369
370	vdd_gpu: regulator@41 {
371		compatible = "silergy,syr828";
372		reg = <0x41>;
373		fcs,suspend-voltage-selector = <1>;
374		regulator-name = "vdd_gpu";
375		regulator-min-microvolt = <712500>;
376		regulator-max-microvolt = <1500000>;
377		regulator-ramp-delay = <1000>;
378		regulator-always-on;
379		regulator-boot-on;
380		vin-supply = <&vcc5v0_sys>;
381
382		regulator-state-mem {
383			regulator-off-in-suspend;
384		};
385	};
386};
387
388&pwm0 {
389	status = "okay";
390};
391
392&pwm2 {
393	status = "okay";
394};
395
396&pwm3 {
397	status = "okay";
398};
399
400&sdhci {
401	bus-width = <8>;
402	mmc-hs400-1_8v;
403	mmc-hs400-enhanced-strobe;
404	non-removable;
405	status = "okay";
406};
407
408&pcie_phy {
409	status = "disabled";
410};
411
412&pcie0 {
413	ep-gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_HIGH>;
414	num-lanes = <4>;
415	pinctrl-names = "default";
416	pinctrl-0 = <&pcie_clkreqn_cpm>;
417	status = "disabled";
418};
419
420&u2phy0 {
421	status = "okay";
422};
423
424&u2phy0_host {
425	phy-supply = <&vcc5v0_host>;
426	status = "okay";
427};
428
429&u2phy1 {
430	status = "okay";
431};
432
433&u2phy1_host {
434	phy-supply = <&vcc5v0_host>;
435	status = "okay";
436};
437
438&uart2 {
439	status = "okay";
440};
441
442&usb_host0_ehci {
443	status = "okay";
444};
445
446&usb_host0_ohci {
447	status = "okay";
448};
449
450&usb_host1_ehci {
451	status = "okay";
452};
453
454&usb_host1_ohci {
455	status = "okay";
456};
457
458&pinctrl {
459	pmic {
460		pmic_int_l: pmic-int-l {
461			rockchip,pins =
462				<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
463		};
464	};
465
466	usb2 {
467		vcc5v0_host_en: vcc5v0-host-en {
468			rockchip,pins =
469				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
470		};
471	};
472};
473
474&vopb {
475	status = "okay";
476};
477
478&vopb_mmu {
479	status = "okay";
480};
481