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";
20 stdout-path = "serial2:1500000n8";
23 clkin_gmac: external-gmac-clock {
24 compatible = "fixed-clock";
25 clock-frequency = <125000000>;
26 clock-output-names = "clkin_gmac";
31 compatible = "regulator-fixed";
32 regulator-name = "dc_12v";
35 regulator-min-microvolt = <12000000>;
36 regulator-max-microvolt = <12000000>;
40 * The fan power supply comes from the baseboard.
41 * For the standalone Sapphire one option is to connect a wire
42 * from R90030 DNP R0805 pin2 to C90002 10uF C0805 pin1 (vcc_sys).
46 compatible = "gpio-fan";
47 gpio-fan,speed-map = <0 0 3000 1>;
48 gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
53 compatible = "gpio-keys";
57 debounce-interval = <100>;
58 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
60 linux,code = <KEY_POWER>;
61 linux,input-type = <1>;
62 pinctrl-names = "default";
63 pinctrl-0 = <&pwr_btn>;
68 /* switched by pmic_sleep */
69 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
70 compatible = "regulator-fixed";
71 regulator-name = "vcc1v8_s3";
74 regulator-min-microvolt = <1800000>;
75 regulator-max-microvolt = <1800000>;
76 vin-supply = <&vcc_1v8>;
79 vcc3v0_sd: vcc3v0-sd {
80 compatible = "regulator-fixed";
82 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
83 pinctrl-names = "default";
84 pinctrl-0 = <&sdmmc0_pwr_h>;
86 regulator-max-microvolt = <3000000>;
87 regulator-min-microvolt = <3000000>;
88 regulator-name = "vcc3v0_sd";
89 vin-supply = <&vcc3v3_sys>;
92 vcc3v3_sys: vcc3v3-sys {
93 compatible = "regulator-fixed";
94 regulator-name = "vcc3v3_sys";
97 regulator-min-microvolt = <3300000>;
98 regulator-max-microvolt = <3300000>;
99 vin-supply = <&vcc_sys>;
102 vcc5v0_host: vcc5v0-host-regulator {
103 compatible = "regulator-fixed";
105 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
106 pinctrl-names = "default";
107 pinctrl-0 = <&vcc5v0_host_en>;
108 regulator-name = "vcc5v0_host";
110 vin-supply = <&vcc_sys>;
113 vcc5v0_typec0: vcc5v0-typec0-regulator {
114 compatible = "regulator-fixed";
116 gpio = <&gpio2 RK_PA0 GPIO_ACTIVE_HIGH>;
117 pinctrl-names = "default";
118 pinctrl-0 = <&vcc5v0_typec0_en>;
119 regulator-name = "vcc5v0_typec0";
120 vin-supply = <&vcc_sys>;
124 compatible = "regulator-fixed";
125 regulator-name = "vcc_sys";
128 regulator-min-microvolt = <5000000>;
129 regulator-max-microvolt = <5000000>;
130 vin-supply = <&dc_12v>;
134 compatible = "pwm-regulator";
135 pwms = <&pwm2 0 25000 1>;
136 pwm-supply = <&vcc_sys>;
137 regulator-name = "vdd_log";
140 regulator-min-microvolt = <800000>;
141 regulator-max-microvolt = <1400000>;
146 cpu-supply = <&vdd_cpu_l>;
150 cpu-supply = <&vdd_cpu_l>;
154 cpu-supply = <&vdd_cpu_l>;
158 cpu-supply = <&vdd_cpu_l>;
162 cpu-supply = <&vdd_cpu_b>;
166 cpu-supply = <&vdd_cpu_b>;
172 hysteresis = <10000>;
173 temperature = <55000>;
181 <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
192 assigned-clocks = <&cru SCLK_RMII_SRC>;
193 assigned-clock-parents = <&clkin_gmac>;
194 clock_in_out = "input";
195 phy-supply = <&vcc_lan>;
197 pinctrl-names = "default";
198 pinctrl-0 = <&rgmii_pins>;
199 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
200 snps,reset-active-low;
201 snps,reset-delays-us = <0 10000 50000>;
208 mali-supply = <&vdd_gpu>;
213 ddc-i2c-bus = <&i2c3>;
222 clock-frequency = <400000>;
223 i2c-scl-rising-time-ns = <168>;
224 i2c-scl-falling-time-ns = <4>;
228 compatible = "rockchip,rk808";
230 interrupt-parent = <&gpio1>;
231 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
233 clock-output-names = "xin32k", "rk808-clkout2";
234 pinctrl-names = "default";
235 pinctrl-0 = <&pmic_int_l>;
236 rockchip,system-power-controller;
239 vcc1-supply = <&vcc_sys>;
240 vcc2-supply = <&vcc_sys>;
241 vcc3-supply = <&vcc_sys>;
242 vcc4-supply = <&vcc_sys>;
243 vcc6-supply = <&vcc_sys>;
244 vcc7-supply = <&vcc_sys>;
245 vcc8-supply = <&vcc3v3_sys>;
246 vcc9-supply = <&vcc_sys>;
247 vcc10-supply = <&vcc_sys>;
248 vcc11-supply = <&vcc_sys>;
249 vcc12-supply = <&vcc3v3_sys>;
250 vddio-supply = <&vcc1v8_pmu>;
253 vdd_center: DCDC_REG1 {
254 regulator-name = "vdd_center";
257 regulator-min-microvolt = <750000>;
258 regulator-max-microvolt = <1350000>;
259 regulator-ramp-delay = <6001>;
260 regulator-state-mem {
261 regulator-off-in-suspend;
265 vdd_cpu_l: DCDC_REG2 {
266 regulator-name = "vdd_cpu_l";
269 regulator-min-microvolt = <750000>;
270 regulator-max-microvolt = <1350000>;
271 regulator-ramp-delay = <6001>;
272 regulator-state-mem {
273 regulator-off-in-suspend;
278 regulator-name = "vcc_ddr";
281 regulator-state-mem {
282 regulator-on-in-suspend;
287 regulator-name = "vcc_1v8";
290 regulator-min-microvolt = <1800000>;
291 regulator-max-microvolt = <1800000>;
292 regulator-state-mem {
293 regulator-on-in-suspend;
294 regulator-suspend-microvolt = <1800000>;
298 vcc1v8_dvp: LDO_REG1 {
299 regulator-name = "vcc1v8_dvp";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
304 regulator-state-mem {
305 regulator-off-in-suspend;
309 vcc3v0_tp: LDO_REG2 {
310 regulator-name = "vcc3v0_tp";
313 regulator-min-microvolt = <3000000>;
314 regulator-max-microvolt = <3000000>;
315 regulator-state-mem {
316 regulator-off-in-suspend;
320 vcc1v8_pmu: LDO_REG3 {
321 regulator-name = "vcc1v8_pmu";
324 regulator-min-microvolt = <1800000>;
325 regulator-max-microvolt = <1800000>;
326 regulator-state-mem {
327 regulator-on-in-suspend;
328 regulator-suspend-microvolt = <1800000>;
333 regulator-name = "vcc_sdio";
336 regulator-min-microvolt = <1800000>;
337 regulator-max-microvolt = <3300000>;
338 regulator-state-mem {
339 regulator-on-in-suspend;
340 regulator-suspend-microvolt = <3000000>;
344 vcca3v0_codec: LDO_REG5 {
345 regulator-name = "vcca3v0_codec";
348 regulator-min-microvolt = <3000000>;
349 regulator-max-microvolt = <3000000>;
350 regulator-state-mem {
351 regulator-off-in-suspend;
356 regulator-name = "vcc_1v5";
359 regulator-min-microvolt = <1500000>;
360 regulator-max-microvolt = <1500000>;
361 regulator-state-mem {
362 regulator-on-in-suspend;
363 regulator-suspend-microvolt = <1500000>;
367 vcca1v8_codec: LDO_REG7 {
368 regulator-name = "vcca1v8_codec";
371 regulator-min-microvolt = <1800000>;
372 regulator-max-microvolt = <1800000>;
373 regulator-state-mem {
374 regulator-off-in-suspend;
379 regulator-name = "vcc_3v0";
382 regulator-min-microvolt = <3000000>;
383 regulator-max-microvolt = <3000000>;
384 regulator-state-mem {
385 regulator-on-in-suspend;
386 regulator-suspend-microvolt = <3000000>;
390 vcc3v3_s3: vcc_lan: SWITCH_REG1 {
391 regulator-name = "vcc3v3_s3";
394 regulator-state-mem {
395 regulator-off-in-suspend;
399 vcc3v3_s0: SWITCH_REG2 {
400 regulator-name = "vcc3v3_s0";
403 regulator-state-mem {
404 regulator-off-in-suspend;
410 vdd_cpu_b: regulator@40 {
411 compatible = "silergy,syr827";
413 fcs,suspend-voltage-selector = <1>;
414 regulator-name = "vdd_cpu_b";
415 regulator-min-microvolt = <712500>;
416 regulator-max-microvolt = <1500000>;
417 regulator-ramp-delay = <1000>;
420 vin-supply = <&vcc_sys>;
422 regulator-state-mem {
423 regulator-off-in-suspend;
427 vdd_gpu: regulator@41 {
428 compatible = "silergy,syr828";
430 fcs,suspend-voltage-selector = <1>;
431 regulator-name = "vdd_gpu";
432 regulator-min-microvolt = <712500>;
433 regulator-max-microvolt = <1500000>;
434 regulator-ramp-delay = <1000>;
437 vin-supply = <&vcc_sys>;
439 regulator-state-mem {
440 regulator-off-in-suspend;
446 i2c-scl-rising-time-ns = <450>;
447 i2c-scl-falling-time-ns = <15>;
458 bt656-supply = <&vcc_3v0>;
459 audio-supply = <&vcca1v8_codec>;
460 sdmmc-supply = <&vcc_sdio>;
461 gpio1830-supply = <&vcc_3v0>;
465 pmu1830-supply = <&vcc_3v0>;
472 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
477 motor_pwr: motor-pwr {
479 <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
484 pmic_int_l: pmic-int-l {
486 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
489 vsel1_pin: vsel1-pin {
490 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
493 vsel2_pin: vsel2-pin {
494 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
499 sdmmc0_pwr_h: sdmmc0-pwr-h {
501 <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
506 vcc5v0_host_en: vcc5v0-host-en {
508 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
510 vcc5v0_typec0_en: vcc5v0-typec0-en {
512 <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
526 vref-supply = <&vcca1v8_s3>;
533 mmc-hs400-enhanced-strobe;
543 clock-frequency = <150000000>;
545 max-frequency = <150000000>;
546 pinctrl-names = "default";
547 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
548 vmmc-supply = <&vcc3v0_sd>;
549 vqmmc-supply = <&vcc_sdio>;
562 /* tshut mode 0:CRU 1:GPIO */
563 rockchip,hw-tshut-mode = <1>;
564 /* tshut polarity 0:LOW 1:HIGH */
565 rockchip,hw-tshut-polarity = <1>;
572 u2phy0_otg: otg-port {
576 u2phy0_host: host-port {
577 phy-supply = <&vcc5v0_typec0>;
585 u2phy1_otg: otg-port {
589 u2phy1_host: host-port {
590 phy-supply = <&vcc5v0_host>;
596 pinctrl-names = "default";
597 pinctrl-0 = <&uart0_xfer &uart0_cts>;