1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
3 * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
6 #include "dt-bindings/pwm/pwm.h"
7 #include "dt-bindings/input/input.h"
9 #include "rk3399-opp.dtsi"
12 compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
21 stdout-path = "serial2:1500000n8";
24 clkin_gmac: external-gmac-clock {
25 compatible = "fixed-clock";
26 clock-frequency = <125000000>;
27 clock-output-names = "clkin_gmac";
32 compatible = "regulator-fixed";
33 regulator-name = "dc_12v";
36 regulator-min-microvolt = <12000000>;
37 regulator-max-microvolt = <12000000>;
41 * The fan power supply comes from the baseboard.
42 * For the standalone Sapphire one option is to connect a wire
43 * from R90030 DNP R0805 pin2 to C90002 10uF C0805 pin1 (vcc_sys).
47 compatible = "gpio-fan";
48 gpio-fan,speed-map = <0 0>, <3000 1>;
49 gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
54 compatible = "gpio-keys";
58 debounce-interval = <100>;
59 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
61 linux,code = <KEY_POWER>;
62 linux,input-type = <1>;
63 pinctrl-names = "default";
64 pinctrl-0 = <&pwr_btn>;
69 /* switched by pmic_sleep */
70 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
71 compatible = "regulator-fixed";
72 regulator-name = "vcc1v8_s3";
75 regulator-min-microvolt = <1800000>;
76 regulator-max-microvolt = <1800000>;
77 vin-supply = <&vcc_1v8>;
80 vcc3v0_sd: vcc3v0-sd {
81 compatible = "regulator-fixed";
83 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
84 pinctrl-names = "default";
85 pinctrl-0 = <&sdmmc0_pwr_h>;
87 regulator-max-microvolt = <3000000>;
88 regulator-min-microvolt = <3000000>;
89 regulator-name = "vcc3v0_sd";
90 vin-supply = <&vcc3v3_sys>;
93 vcc3v3_sys: vcc3v3-sys {
94 compatible = "regulator-fixed";
95 regulator-name = "vcc3v3_sys";
98 regulator-min-microvolt = <3300000>;
99 regulator-max-microvolt = <3300000>;
100 vin-supply = <&vcc_sys>;
103 vcc5v0_host: vcc5v0-host-regulator {
104 compatible = "regulator-fixed";
106 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
107 pinctrl-names = "default";
108 pinctrl-0 = <&vcc5v0_host_en>;
109 regulator-name = "vcc5v0_host";
111 vin-supply = <&vcc_sys>;
114 vcc5v0_typec0: vcc5v0-typec0-regulator {
115 compatible = "regulator-fixed";
117 gpio = <&gpio2 RK_PA0 GPIO_ACTIVE_HIGH>;
118 pinctrl-names = "default";
119 pinctrl-0 = <&vcc5v0_typec0_en>;
120 regulator-name = "vcc5v0_typec0";
121 vin-supply = <&vcc_sys>;
125 compatible = "regulator-fixed";
126 regulator-name = "vcc_sys";
129 regulator-min-microvolt = <5000000>;
130 regulator-max-microvolt = <5000000>;
131 vin-supply = <&dc_12v>;
135 compatible = "pwm-regulator";
136 pwms = <&pwm2 0 25000 1>;
137 pwm-supply = <&vcc_sys>;
138 regulator-name = "vdd_log";
141 regulator-min-microvolt = <800000>;
142 regulator-max-microvolt = <1400000>;
147 cpu-supply = <&vdd_cpu_l>;
151 cpu-supply = <&vdd_cpu_l>;
155 cpu-supply = <&vdd_cpu_l>;
159 cpu-supply = <&vdd_cpu_l>;
163 cpu-supply = <&vdd_cpu_b>;
167 cpu-supply = <&vdd_cpu_b>;
173 hysteresis = <10000>;
174 temperature = <55000>;
182 <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
193 assigned-clocks = <&cru SCLK_RMII_SRC>;
194 assigned-clock-parents = <&clkin_gmac>;
195 clock_in_out = "input";
196 phy-supply = <&vcc_lan>;
198 pinctrl-names = "default";
199 pinctrl-0 = <&rgmii_pins>;
200 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
201 snps,reset-active-low;
202 snps,reset-delays-us = <0 10000 50000>;
209 mali-supply = <&vdd_gpu>;
214 ddc-i2c-bus = <&i2c3>;
223 clock-frequency = <400000>;
224 i2c-scl-rising-time-ns = <168>;
225 i2c-scl-falling-time-ns = <4>;
229 compatible = "rockchip,rk808";
231 interrupt-parent = <&gpio1>;
232 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
234 clock-output-names = "xin32k", "rk808-clkout2";
235 pinctrl-names = "default";
236 pinctrl-0 = <&pmic_int_l>;
237 rockchip,system-power-controller;
240 vcc1-supply = <&vcc_sys>;
241 vcc2-supply = <&vcc_sys>;
242 vcc3-supply = <&vcc_sys>;
243 vcc4-supply = <&vcc_sys>;
244 vcc6-supply = <&vcc_sys>;
245 vcc7-supply = <&vcc_sys>;
246 vcc8-supply = <&vcc3v3_sys>;
247 vcc9-supply = <&vcc_sys>;
248 vcc10-supply = <&vcc_sys>;
249 vcc11-supply = <&vcc_sys>;
250 vcc12-supply = <&vcc3v3_sys>;
251 vddio-supply = <&vcc1v8_pmu>;
254 vdd_center: DCDC_REG1 {
255 regulator-name = "vdd_center";
258 regulator-min-microvolt = <750000>;
259 regulator-max-microvolt = <1350000>;
260 regulator-ramp-delay = <6001>;
261 regulator-state-mem {
262 regulator-off-in-suspend;
266 vdd_cpu_l: DCDC_REG2 {
267 regulator-name = "vdd_cpu_l";
270 regulator-min-microvolt = <750000>;
271 regulator-max-microvolt = <1350000>;
272 regulator-ramp-delay = <6001>;
273 regulator-state-mem {
274 regulator-off-in-suspend;
279 regulator-name = "vcc_ddr";
282 regulator-state-mem {
283 regulator-on-in-suspend;
288 regulator-name = "vcc_1v8";
291 regulator-min-microvolt = <1800000>;
292 regulator-max-microvolt = <1800000>;
293 regulator-state-mem {
294 regulator-on-in-suspend;
295 regulator-suspend-microvolt = <1800000>;
299 vcc1v8_dvp: LDO_REG1 {
300 regulator-name = "vcc1v8_dvp";
303 regulator-min-microvolt = <1800000>;
304 regulator-max-microvolt = <1800000>;
305 regulator-state-mem {
306 regulator-off-in-suspend;
310 vcc3v0_tp: LDO_REG2 {
311 regulator-name = "vcc3v0_tp";
314 regulator-min-microvolt = <3000000>;
315 regulator-max-microvolt = <3000000>;
316 regulator-state-mem {
317 regulator-off-in-suspend;
321 vcc1v8_pmu: LDO_REG3 {
322 regulator-name = "vcc1v8_pmu";
325 regulator-min-microvolt = <1800000>;
326 regulator-max-microvolt = <1800000>;
327 regulator-state-mem {
328 regulator-on-in-suspend;
329 regulator-suspend-microvolt = <1800000>;
334 regulator-name = "vcc_sdio";
337 regulator-min-microvolt = <1800000>;
338 regulator-max-microvolt = <3300000>;
339 regulator-state-mem {
340 regulator-on-in-suspend;
341 regulator-suspend-microvolt = <3000000>;
345 vcca3v0_codec: LDO_REG5 {
346 regulator-name = "vcca3v0_codec";
349 regulator-min-microvolt = <3000000>;
350 regulator-max-microvolt = <3000000>;
351 regulator-state-mem {
352 regulator-off-in-suspend;
357 regulator-name = "vcc_1v5";
360 regulator-min-microvolt = <1500000>;
361 regulator-max-microvolt = <1500000>;
362 regulator-state-mem {
363 regulator-on-in-suspend;
364 regulator-suspend-microvolt = <1500000>;
368 vcca1v8_codec: LDO_REG7 {
369 regulator-name = "vcca1v8_codec";
372 regulator-min-microvolt = <1800000>;
373 regulator-max-microvolt = <1800000>;
374 regulator-state-mem {
375 regulator-off-in-suspend;
380 regulator-name = "vcc_3v0";
383 regulator-min-microvolt = <3000000>;
384 regulator-max-microvolt = <3000000>;
385 regulator-state-mem {
386 regulator-on-in-suspend;
387 regulator-suspend-microvolt = <3000000>;
391 vcc3v3_s3: vcc_lan: SWITCH_REG1 {
392 regulator-name = "vcc3v3_s3";
395 regulator-state-mem {
396 regulator-off-in-suspend;
400 vcc3v3_s0: SWITCH_REG2 {
401 regulator-name = "vcc3v3_s0";
404 regulator-state-mem {
405 regulator-off-in-suspend;
411 vdd_cpu_b: regulator@40 {
412 compatible = "silergy,syr827";
414 fcs,suspend-voltage-selector = <1>;
415 regulator-name = "vdd_cpu_b";
416 regulator-min-microvolt = <712500>;
417 regulator-max-microvolt = <1500000>;
418 regulator-ramp-delay = <1000>;
421 vin-supply = <&vcc_sys>;
423 regulator-state-mem {
424 regulator-off-in-suspend;
428 vdd_gpu: regulator@41 {
429 compatible = "silergy,syr828";
431 fcs,suspend-voltage-selector = <1>;
432 regulator-name = "vdd_gpu";
433 regulator-min-microvolt = <712500>;
434 regulator-max-microvolt = <1500000>;
435 regulator-ramp-delay = <1000>;
438 vin-supply = <&vcc_sys>;
440 regulator-state-mem {
441 regulator-off-in-suspend;
447 i2c-scl-rising-time-ns = <450>;
448 i2c-scl-falling-time-ns = <15>;
459 bt656-supply = <&vcc_3v0>;
460 audio-supply = <&vcca1v8_codec>;
461 sdmmc-supply = <&vcc_sdio>;
462 gpio1830-supply = <&vcc_3v0>;
466 pmu1830-supply = <&vcc_3v0>;
473 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
478 motor_pwr: motor-pwr {
480 <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
485 pmic_int_l: pmic-int-l {
487 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
490 vsel1_pin: vsel1-pin {
491 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
494 vsel2_pin: vsel2-pin {
495 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
500 sdmmc0_pwr_h: sdmmc0-pwr-h {
502 <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
507 vcc5v0_host_en: vcc5v0-host-en {
509 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
511 vcc5v0_typec0_en: vcc5v0-typec0-en {
513 <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
527 vref-supply = <&vcca1v8_s3>;
534 mmc-hs400-enhanced-strobe;
544 clock-frequency = <150000000>;
546 max-frequency = <150000000>;
547 pinctrl-names = "default";
548 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
549 vmmc-supply = <&vcc3v0_sd>;
550 vqmmc-supply = <&vcc_sdio>;
563 /* tshut mode 0:CRU 1:GPIO */
564 rockchip,hw-tshut-mode = <1>;
565 /* tshut polarity 0:LOW 1:HIGH */
566 rockchip,hw-tshut-polarity = <1>;
573 u2phy0_otg: otg-port {
577 u2phy0_host: host-port {
578 phy-supply = <&vcc5v0_typec0>;
586 u2phy1_otg: otg-port {
590 u2phy1_host: host-port {
591 phy-supply = <&vcc5v0_host>;
597 pinctrl-names = "default";
598 pinctrl-0 = <&uart0_xfer &uart0_cts>;