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";
15 stdout-path = "serial2:1500000n8";
18 clkin_gmac: external-gmac-clock {
19 compatible = "fixed-clock";
20 clock-frequency = <125000000>;
21 clock-output-names = "clkin_gmac";
26 compatible = "regulator-fixed";
27 regulator-name = "dc_12v";
30 regulator-min-microvolt = <12000000>;
31 regulator-max-microvolt = <12000000>;
35 * The fan power supply comes from the baseboard.
36 * For the standalone Sapphire one option is to connect a wire
37 * from R90030 DNP R0805 pin2 to C90002 10uF C0805 pin1 (vcc_sys).
41 compatible = "gpio-fan";
42 gpio-fan,speed-map = <0 0 3000 1>;
43 gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
48 compatible = "gpio-keys";
52 debounce-interval = <100>;
53 gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
55 linux,code = <KEY_POWER>;
56 linux,input-type = <1>;
57 pinctrl-names = "default";
58 pinctrl-0 = <&pwr_btn>;
63 /* switched by pmic_sleep */
64 vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
65 compatible = "regulator-fixed";
66 regulator-name = "vcc1v8_s3";
69 regulator-min-microvolt = <1800000>;
70 regulator-max-microvolt = <1800000>;
71 vin-supply = <&vcc_1v8>;
74 vcc3v0_sd: vcc3v0-sd {
75 compatible = "regulator-fixed";
77 gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
78 pinctrl-names = "default";
79 pinctrl-0 = <&sdmmc0_pwr_h>;
81 regulator-max-microvolt = <3000000>;
82 regulator-min-microvolt = <3000000>;
83 regulator-name = "vcc3v0_sd";
84 vin-supply = <&vcc3v3_sys>;
87 vcc3v3_sys: vcc3v3-sys {
88 compatible = "regulator-fixed";
89 regulator-name = "vcc3v3_sys";
92 regulator-min-microvolt = <3300000>;
93 regulator-max-microvolt = <3300000>;
94 vin-supply = <&vcc_sys>;
97 vcc5v0_host: vcc5v0-host-regulator {
98 compatible = "regulator-fixed";
100 gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
101 pinctrl-names = "default";
102 pinctrl-0 = <&vcc5v0_host_en>;
103 regulator-name = "vcc5v0_host";
105 vin-supply = <&vcc_sys>;
108 vcc5v0_typec0: vcc5v0-typec0-regulator {
109 compatible = "regulator-fixed";
111 gpio = <&gpio2 RK_PA0 GPIO_ACTIVE_HIGH>;
112 pinctrl-names = "default";
113 pinctrl-0 = <&vcc5v0_typec0_en>;
114 regulator-name = "vcc5v0_typec0";
115 vin-supply = <&vcc_sys>;
119 compatible = "regulator-fixed";
120 regulator-name = "vcc_sys";
123 regulator-min-microvolt = <5000000>;
124 regulator-max-microvolt = <5000000>;
125 vin-supply = <&dc_12v>;
129 compatible = "pwm-regulator";
130 pwms = <&pwm2 0 25000 1>;
131 regulator-name = "vdd_log";
134 regulator-min-microvolt = <800000>;
135 regulator-max-microvolt = <1400000>;
136 vin-supply = <&vcc_sys>;
141 cpu-supply = <&vdd_cpu_l>;
145 cpu-supply = <&vdd_cpu_l>;
149 cpu-supply = <&vdd_cpu_l>;
153 cpu-supply = <&vdd_cpu_l>;
157 cpu-supply = <&vdd_cpu_b>;
161 cpu-supply = <&vdd_cpu_b>;
167 hysteresis = <10000>;
168 temperature = <55000>;
176 <&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
187 assigned-clocks = <&cru SCLK_RMII_SRC>;
188 assigned-clock-parents = <&clkin_gmac>;
189 clock_in_out = "input";
190 phy-supply = <&vcc_lan>;
192 pinctrl-names = "default";
193 pinctrl-0 = <&rgmii_pins>;
194 snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
195 snps,reset-active-low;
196 snps,reset-delays-us = <0 10000 50000>;
203 mali-supply = <&vdd_gpu>;
208 ddc-i2c-bus = <&i2c3>;
217 clock-frequency = <400000>;
218 i2c-scl-rising-time-ns = <168>;
219 i2c-scl-falling-time-ns = <4>;
223 compatible = "rockchip,rk808";
225 interrupt-parent = <&gpio1>;
226 interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
228 clock-output-names = "xin32k", "rk808-clkout2";
229 pinctrl-names = "default";
230 pinctrl-0 = <&pmic_int_l>;
231 rockchip,system-power-controller;
234 vcc1-supply = <&vcc_sys>;
235 vcc2-supply = <&vcc_sys>;
236 vcc3-supply = <&vcc_sys>;
237 vcc4-supply = <&vcc_sys>;
238 vcc6-supply = <&vcc_sys>;
239 vcc7-supply = <&vcc_sys>;
240 vcc8-supply = <&vcc3v3_sys>;
241 vcc9-supply = <&vcc_sys>;
242 vcc10-supply = <&vcc_sys>;
243 vcc11-supply = <&vcc_sys>;
244 vcc12-supply = <&vcc3v3_sys>;
245 vddio-supply = <&vcc1v8_pmu>;
248 vdd_center: DCDC_REG1 {
249 regulator-name = "vdd_center";
252 regulator-min-microvolt = <750000>;
253 regulator-max-microvolt = <1350000>;
254 regulator-ramp-delay = <6001>;
255 regulator-state-mem {
256 regulator-off-in-suspend;
260 vdd_cpu_l: DCDC_REG2 {
261 regulator-name = "vdd_cpu_l";
264 regulator-min-microvolt = <750000>;
265 regulator-max-microvolt = <1350000>;
266 regulator-ramp-delay = <6001>;
267 regulator-state-mem {
268 regulator-off-in-suspend;
273 regulator-name = "vcc_ddr";
276 regulator-state-mem {
277 regulator-on-in-suspend;
282 regulator-name = "vcc_1v8";
285 regulator-min-microvolt = <1800000>;
286 regulator-max-microvolt = <1800000>;
287 regulator-state-mem {
288 regulator-on-in-suspend;
289 regulator-suspend-microvolt = <1800000>;
293 vcc1v8_dvp: LDO_REG1 {
294 regulator-name = "vcc1v8_dvp";
297 regulator-min-microvolt = <1800000>;
298 regulator-max-microvolt = <1800000>;
299 regulator-state-mem {
300 regulator-off-in-suspend;
304 vcc3v0_tp: LDO_REG2 {
305 regulator-name = "vcc3v0_tp";
308 regulator-min-microvolt = <3000000>;
309 regulator-max-microvolt = <3000000>;
310 regulator-state-mem {
311 regulator-off-in-suspend;
315 vcc1v8_pmu: LDO_REG3 {
316 regulator-name = "vcc1v8_pmu";
319 regulator-min-microvolt = <1800000>;
320 regulator-max-microvolt = <1800000>;
321 regulator-state-mem {
322 regulator-on-in-suspend;
323 regulator-suspend-microvolt = <1800000>;
328 regulator-name = "vcc_sdio";
331 regulator-min-microvolt = <1800000>;
332 regulator-max-microvolt = <3300000>;
333 regulator-state-mem {
334 regulator-on-in-suspend;
335 regulator-suspend-microvolt = <3000000>;
339 vcca3v0_codec: LDO_REG5 {
340 regulator-name = "vcca3v0_codec";
343 regulator-min-microvolt = <3000000>;
344 regulator-max-microvolt = <3000000>;
345 regulator-state-mem {
346 regulator-off-in-suspend;
351 regulator-name = "vcc_1v5";
354 regulator-min-microvolt = <1500000>;
355 regulator-max-microvolt = <1500000>;
356 regulator-state-mem {
357 regulator-on-in-suspend;
358 regulator-suspend-microvolt = <1500000>;
362 vcca1v8_codec: LDO_REG7 {
363 regulator-name = "vcca1v8_codec";
366 regulator-min-microvolt = <1800000>;
367 regulator-max-microvolt = <1800000>;
368 regulator-state-mem {
369 regulator-off-in-suspend;
374 regulator-name = "vcc_3v0";
377 regulator-min-microvolt = <3000000>;
378 regulator-max-microvolt = <3000000>;
379 regulator-state-mem {
380 regulator-on-in-suspend;
381 regulator-suspend-microvolt = <3000000>;
385 vcc3v3_s3: vcc_lan: SWITCH_REG1 {
386 regulator-name = "vcc3v3_s3";
389 regulator-state-mem {
390 regulator-off-in-suspend;
394 vcc3v3_s0: SWITCH_REG2 {
395 regulator-name = "vcc3v3_s0";
398 regulator-state-mem {
399 regulator-off-in-suspend;
405 vdd_cpu_b: regulator@40 {
406 compatible = "silergy,syr827";
408 fcs,suspend-voltage-selector = <1>;
409 regulator-name = "vdd_cpu_b";
410 regulator-min-microvolt = <712500>;
411 regulator-max-microvolt = <1500000>;
412 regulator-ramp-delay = <1000>;
415 vin-supply = <&vcc_sys>;
417 regulator-state-mem {
418 regulator-off-in-suspend;
422 vdd_gpu: regulator@41 {
423 compatible = "silergy,syr828";
425 fcs,suspend-voltage-selector = <1>;
426 regulator-name = "vdd_gpu";
427 regulator-min-microvolt = <712500>;
428 regulator-max-microvolt = <1500000>;
429 regulator-ramp-delay = <1000>;
432 vin-supply = <&vcc_sys>;
434 regulator-state-mem {
435 regulator-off-in-suspend;
441 i2c-scl-rising-time-ns = <450>;
442 i2c-scl-falling-time-ns = <15>;
453 bt656-supply = <&vcc_3v0>;
454 audio-supply = <&vcca1v8_codec>;
455 sdmmc-supply = <&vcc_sdio>;
456 gpio1830-supply = <&vcc_3v0>;
460 pmu1830-supply = <&vcc_3v0>;
467 rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
472 motor_pwr: motor-pwr {
474 <1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
479 pmic_int_l: pmic-int-l {
481 <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
484 vsel1_gpio: vsel1-gpio {
485 rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
488 vsel2_gpio: vsel2-gpio {
489 rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
494 sdmmc0_pwr_h: sdmmc0-pwr-h {
496 <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
501 vcc5v0_host_en: vcc5v0-host-en {
503 <4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
505 vcc5v0_typec0_en: vcc5v0-typec0-en {
507 <2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
521 vref-supply = <&vcca1v8_s3>;
528 mmc-hs400-enhanced-strobe;
538 clock-frequency = <150000000>;
540 max-frequency = <150000000>;
541 pinctrl-names = "default";
542 pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
543 vmmc-supply = <&vcc3v0_sd>;
544 vqmmc-supply = <&vcc_sdio>;
557 /* tshut mode 0:CRU 1:GPIO */
558 rockchip,hw-tshut-mode = <1>;
559 /* tshut polarity 0:LOW 1:HIGH */
560 rockchip,hw-tshut-polarity = <1>;
567 u2phy0_otg: otg-port {
571 u2phy0_host: host-port {
572 phy-supply = <&vcc5v0_typec0>;
580 u2phy1_otg: otg-port {
584 u2phy1_host: host-port {
585 phy-supply = <&vcc5v0_host>;
591 pinctrl-names = "default";
592 pinctrl-0 = <&uart0_xfer &uart0_cts>;