18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
48c2ecf20Sopenharmony_ci */
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci#include "dt-bindings/pwm/pwm.h"
78c2ecf20Sopenharmony_ci#include "dt-bindings/input/input.h"
88c2ecf20Sopenharmony_ci#include "rk3399.dtsi"
98c2ecf20Sopenharmony_ci#include "rk3399-opp.dtsi"
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci/ {
128c2ecf20Sopenharmony_ci	compatible = "rockchip,rk3399-sapphire", "rockchip,rk3399";
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	chosen {
158c2ecf20Sopenharmony_ci		stdout-path = "serial2:1500000n8";
168c2ecf20Sopenharmony_ci	};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	clkin_gmac: external-gmac-clock {
198c2ecf20Sopenharmony_ci		compatible = "fixed-clock";
208c2ecf20Sopenharmony_ci		clock-frequency = <125000000>;
218c2ecf20Sopenharmony_ci		clock-output-names = "clkin_gmac";
228c2ecf20Sopenharmony_ci		#clock-cells = <0>;
238c2ecf20Sopenharmony_ci	};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	dc_12v: dc-12v {
268c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
278c2ecf20Sopenharmony_ci		regulator-name = "dc_12v";
288c2ecf20Sopenharmony_ci		regulator-always-on;
298c2ecf20Sopenharmony_ci		regulator-boot-on;
308c2ecf20Sopenharmony_ci		regulator-min-microvolt = <12000000>;
318c2ecf20Sopenharmony_ci		regulator-max-microvolt = <12000000>;
328c2ecf20Sopenharmony_ci	};
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	/*
358c2ecf20Sopenharmony_ci	 * The fan power supply comes from the baseboard.
368c2ecf20Sopenharmony_ci	 * For the standalone Sapphire one option is to connect a wire
378c2ecf20Sopenharmony_ci	 * from  R90030 DNP R0805 pin2  to  C90002 10uF C0805 pin1 (vcc_sys).
388c2ecf20Sopenharmony_ci	 */
398c2ecf20Sopenharmony_ci	fan0: gpio-fan {
408c2ecf20Sopenharmony_ci		#cooling-cells = <2>;
418c2ecf20Sopenharmony_ci		compatible = "gpio-fan";
428c2ecf20Sopenharmony_ci		gpio-fan,speed-map = <0 0 3000 1>;
438c2ecf20Sopenharmony_ci		gpios = <&gpio1 RK_PC2 GPIO_ACTIVE_HIGH>;
448c2ecf20Sopenharmony_ci		status = "okay";
458c2ecf20Sopenharmony_ci	};
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	keys: gpio-keys {
488c2ecf20Sopenharmony_ci		compatible = "gpio-keys";
498c2ecf20Sopenharmony_ci		autorepeat;
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci		power {
528c2ecf20Sopenharmony_ci			debounce-interval = <100>;
538c2ecf20Sopenharmony_ci			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
548c2ecf20Sopenharmony_ci			label = "GPIO Power";
558c2ecf20Sopenharmony_ci			linux,code = <KEY_POWER>;
568c2ecf20Sopenharmony_ci			linux,input-type = <1>;
578c2ecf20Sopenharmony_ci			pinctrl-names = "default";
588c2ecf20Sopenharmony_ci			pinctrl-0 = <&pwr_btn>;
598c2ecf20Sopenharmony_ci			wakeup-source;
608c2ecf20Sopenharmony_ci		};
618c2ecf20Sopenharmony_ci	};
628c2ecf20Sopenharmony_ci
638c2ecf20Sopenharmony_ci	/* switched by pmic_sleep */
648c2ecf20Sopenharmony_ci	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
658c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
668c2ecf20Sopenharmony_ci		regulator-name = "vcc1v8_s3";
678c2ecf20Sopenharmony_ci		regulator-always-on;
688c2ecf20Sopenharmony_ci		regulator-boot-on;
698c2ecf20Sopenharmony_ci		regulator-min-microvolt = <1800000>;
708c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1800000>;
718c2ecf20Sopenharmony_ci		vin-supply = <&vcc_1v8>;
728c2ecf20Sopenharmony_ci	};
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci	vcc3v0_sd: vcc3v0-sd {
758c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
768c2ecf20Sopenharmony_ci		enable-active-high;
778c2ecf20Sopenharmony_ci		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
788c2ecf20Sopenharmony_ci		pinctrl-names = "default";
798c2ecf20Sopenharmony_ci		pinctrl-0 = <&sdmmc0_pwr_h>;
808c2ecf20Sopenharmony_ci		regulator-always-on;
818c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3000000>;
828c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3000000>;
838c2ecf20Sopenharmony_ci		regulator-name = "vcc3v0_sd";
848c2ecf20Sopenharmony_ci		vin-supply = <&vcc3v3_sys>;
858c2ecf20Sopenharmony_ci	};
868c2ecf20Sopenharmony_ci
878c2ecf20Sopenharmony_ci	vcc3v3_sys: vcc3v3-sys {
888c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
898c2ecf20Sopenharmony_ci		regulator-name = "vcc3v3_sys";
908c2ecf20Sopenharmony_ci		regulator-always-on;
918c2ecf20Sopenharmony_ci		regulator-boot-on;
928c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3300000>;
938c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3300000>;
948c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
958c2ecf20Sopenharmony_ci	};
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ci	vcc5v0_host: vcc5v0-host-regulator {
988c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
998c2ecf20Sopenharmony_ci		enable-active-high;
1008c2ecf20Sopenharmony_ci		gpio = <&gpio4 RK_PD1 GPIO_ACTIVE_HIGH>;
1018c2ecf20Sopenharmony_ci		pinctrl-names = "default";
1028c2ecf20Sopenharmony_ci		pinctrl-0 = <&vcc5v0_host_en>;
1038c2ecf20Sopenharmony_ci		regulator-name = "vcc5v0_host";
1048c2ecf20Sopenharmony_ci		regulator-always-on;
1058c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
1068c2ecf20Sopenharmony_ci	};
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci	vcc5v0_typec0: vcc5v0-typec0-regulator {
1098c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
1108c2ecf20Sopenharmony_ci		enable-active-high;
1118c2ecf20Sopenharmony_ci		gpio = <&gpio2 RK_PA0 GPIO_ACTIVE_HIGH>;
1128c2ecf20Sopenharmony_ci		pinctrl-names = "default";
1138c2ecf20Sopenharmony_ci		pinctrl-0 = <&vcc5v0_typec0_en>;
1148c2ecf20Sopenharmony_ci		regulator-name = "vcc5v0_typec0";
1158c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
1168c2ecf20Sopenharmony_ci	};
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci	vcc_sys: vcc-sys {
1198c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
1208c2ecf20Sopenharmony_ci		regulator-name = "vcc_sys";
1218c2ecf20Sopenharmony_ci		regulator-always-on;
1228c2ecf20Sopenharmony_ci		regulator-boot-on;
1238c2ecf20Sopenharmony_ci		regulator-min-microvolt = <5000000>;
1248c2ecf20Sopenharmony_ci		regulator-max-microvolt = <5000000>;
1258c2ecf20Sopenharmony_ci		vin-supply = <&dc_12v>;
1268c2ecf20Sopenharmony_ci	};
1278c2ecf20Sopenharmony_ci
1288c2ecf20Sopenharmony_ci	vdd_log: vdd-log {
1298c2ecf20Sopenharmony_ci		compatible = "pwm-regulator";
1308c2ecf20Sopenharmony_ci		pwms = <&pwm2 0 25000 1>;
1318c2ecf20Sopenharmony_ci		regulator-name = "vdd_log";
1328c2ecf20Sopenharmony_ci		regulator-always-on;
1338c2ecf20Sopenharmony_ci		regulator-boot-on;
1348c2ecf20Sopenharmony_ci		regulator-min-microvolt = <800000>;
1358c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1400000>;
1368c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
1378c2ecf20Sopenharmony_ci	};
1388c2ecf20Sopenharmony_ci};
1398c2ecf20Sopenharmony_ci
1408c2ecf20Sopenharmony_ci&cpu_l0 {
1418c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
1428c2ecf20Sopenharmony_ci};
1438c2ecf20Sopenharmony_ci
1448c2ecf20Sopenharmony_ci&cpu_l1 {
1458c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
1468c2ecf20Sopenharmony_ci};
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci&cpu_l2 {
1498c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
1508c2ecf20Sopenharmony_ci};
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci&cpu_l3 {
1538c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_l>;
1548c2ecf20Sopenharmony_ci};
1558c2ecf20Sopenharmony_ci
1568c2ecf20Sopenharmony_ci&cpu_b0 {
1578c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_b>;
1588c2ecf20Sopenharmony_ci};
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci&cpu_b1 {
1618c2ecf20Sopenharmony_ci	cpu-supply = <&vdd_cpu_b>;
1628c2ecf20Sopenharmony_ci};
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci&cpu_thermal {
1658c2ecf20Sopenharmony_ci	trips {
1668c2ecf20Sopenharmony_ci		cpu_hot: cpu_hot {
1678c2ecf20Sopenharmony_ci			hysteresis = <10000>;
1688c2ecf20Sopenharmony_ci			temperature = <55000>;
1698c2ecf20Sopenharmony_ci			type = "active";
1708c2ecf20Sopenharmony_ci		};
1718c2ecf20Sopenharmony_ci	};
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci	cooling-maps {
1748c2ecf20Sopenharmony_ci		map2 {
1758c2ecf20Sopenharmony_ci			cooling-device =
1768c2ecf20Sopenharmony_ci				<&fan0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
1778c2ecf20Sopenharmony_ci			trip = <&cpu_hot>;
1788c2ecf20Sopenharmony_ci		};
1798c2ecf20Sopenharmony_ci	};
1808c2ecf20Sopenharmony_ci};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci&emmc_phy {
1838c2ecf20Sopenharmony_ci	status = "okay";
1848c2ecf20Sopenharmony_ci};
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci&gmac {
1878c2ecf20Sopenharmony_ci	assigned-clocks = <&cru SCLK_RMII_SRC>;
1888c2ecf20Sopenharmony_ci	assigned-clock-parents = <&clkin_gmac>;
1898c2ecf20Sopenharmony_ci	clock_in_out = "input";
1908c2ecf20Sopenharmony_ci	phy-supply = <&vcc_lan>;
1918c2ecf20Sopenharmony_ci	phy-mode = "rgmii";
1928c2ecf20Sopenharmony_ci	pinctrl-names = "default";
1938c2ecf20Sopenharmony_ci	pinctrl-0 = <&rgmii_pins>;
1948c2ecf20Sopenharmony_ci	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
1958c2ecf20Sopenharmony_ci	snps,reset-active-low;
1968c2ecf20Sopenharmony_ci	snps,reset-delays-us = <0 10000 50000>;
1978c2ecf20Sopenharmony_ci	tx_delay = <0x28>;
1988c2ecf20Sopenharmony_ci	rx_delay = <0x11>;
1998c2ecf20Sopenharmony_ci	status = "okay";
2008c2ecf20Sopenharmony_ci};
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ci&gpu {
2038c2ecf20Sopenharmony_ci	mali-supply = <&vdd_gpu>;
2048c2ecf20Sopenharmony_ci	status = "okay";
2058c2ecf20Sopenharmony_ci};
2068c2ecf20Sopenharmony_ci
2078c2ecf20Sopenharmony_ci&hdmi {
2088c2ecf20Sopenharmony_ci	ddc-i2c-bus = <&i2c3>;
2098c2ecf20Sopenharmony_ci	status = "okay";
2108c2ecf20Sopenharmony_ci};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci&hdmi_sound {
2138c2ecf20Sopenharmony_ci	status = "okay";
2148c2ecf20Sopenharmony_ci};
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci&i2c0 {
2178c2ecf20Sopenharmony_ci	clock-frequency = <400000>;
2188c2ecf20Sopenharmony_ci	i2c-scl-rising-time-ns = <168>;
2198c2ecf20Sopenharmony_ci	i2c-scl-falling-time-ns = <4>;
2208c2ecf20Sopenharmony_ci	status = "okay";
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci	rk808: pmic@1b {
2238c2ecf20Sopenharmony_ci		compatible = "rockchip,rk808";
2248c2ecf20Sopenharmony_ci		reg = <0x1b>;
2258c2ecf20Sopenharmony_ci		interrupt-parent = <&gpio1>;
2268c2ecf20Sopenharmony_ci		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
2278c2ecf20Sopenharmony_ci		#clock-cells = <1>;
2288c2ecf20Sopenharmony_ci		clock-output-names = "xin32k", "rk808-clkout2";
2298c2ecf20Sopenharmony_ci		pinctrl-names = "default";
2308c2ecf20Sopenharmony_ci		pinctrl-0 = <&pmic_int_l>;
2318c2ecf20Sopenharmony_ci		rockchip,system-power-controller;
2328c2ecf20Sopenharmony_ci		wakeup-source;
2338c2ecf20Sopenharmony_ci
2348c2ecf20Sopenharmony_ci		vcc1-supply = <&vcc_sys>;
2358c2ecf20Sopenharmony_ci		vcc2-supply = <&vcc_sys>;
2368c2ecf20Sopenharmony_ci		vcc3-supply = <&vcc_sys>;
2378c2ecf20Sopenharmony_ci		vcc4-supply = <&vcc_sys>;
2388c2ecf20Sopenharmony_ci		vcc6-supply = <&vcc_sys>;
2398c2ecf20Sopenharmony_ci		vcc7-supply = <&vcc_sys>;
2408c2ecf20Sopenharmony_ci		vcc8-supply = <&vcc3v3_sys>;
2418c2ecf20Sopenharmony_ci		vcc9-supply = <&vcc_sys>;
2428c2ecf20Sopenharmony_ci		vcc10-supply = <&vcc_sys>;
2438c2ecf20Sopenharmony_ci		vcc11-supply = <&vcc_sys>;
2448c2ecf20Sopenharmony_ci		vcc12-supply = <&vcc3v3_sys>;
2458c2ecf20Sopenharmony_ci		vddio-supply = <&vcc1v8_pmu>;
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci		regulators {
2488c2ecf20Sopenharmony_ci			vdd_center: DCDC_REG1 {
2498c2ecf20Sopenharmony_ci				regulator-name = "vdd_center";
2508c2ecf20Sopenharmony_ci				regulator-always-on;
2518c2ecf20Sopenharmony_ci				regulator-boot-on;
2528c2ecf20Sopenharmony_ci				regulator-min-microvolt = <750000>;
2538c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1350000>;
2548c2ecf20Sopenharmony_ci				regulator-ramp-delay = <6001>;
2558c2ecf20Sopenharmony_ci				regulator-state-mem {
2568c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
2578c2ecf20Sopenharmony_ci				};
2588c2ecf20Sopenharmony_ci			};
2598c2ecf20Sopenharmony_ci
2608c2ecf20Sopenharmony_ci			vdd_cpu_l: DCDC_REG2 {
2618c2ecf20Sopenharmony_ci				regulator-name = "vdd_cpu_l";
2628c2ecf20Sopenharmony_ci				regulator-always-on;
2638c2ecf20Sopenharmony_ci				regulator-boot-on;
2648c2ecf20Sopenharmony_ci				regulator-min-microvolt = <750000>;
2658c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1350000>;
2668c2ecf20Sopenharmony_ci				regulator-ramp-delay = <6001>;
2678c2ecf20Sopenharmony_ci				regulator-state-mem {
2688c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
2698c2ecf20Sopenharmony_ci				};
2708c2ecf20Sopenharmony_ci			};
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci			vcc_ddr: DCDC_REG3 {
2738c2ecf20Sopenharmony_ci				regulator-name = "vcc_ddr";
2748c2ecf20Sopenharmony_ci				regulator-always-on;
2758c2ecf20Sopenharmony_ci				regulator-boot-on;
2768c2ecf20Sopenharmony_ci				regulator-state-mem {
2778c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
2788c2ecf20Sopenharmony_ci				};
2798c2ecf20Sopenharmony_ci			};
2808c2ecf20Sopenharmony_ci
2818c2ecf20Sopenharmony_ci			vcc_1v8: DCDC_REG4 {
2828c2ecf20Sopenharmony_ci				regulator-name = "vcc_1v8";
2838c2ecf20Sopenharmony_ci				regulator-always-on;
2848c2ecf20Sopenharmony_ci				regulator-boot-on;
2858c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
2868c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
2878c2ecf20Sopenharmony_ci				regulator-state-mem {
2888c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
2898c2ecf20Sopenharmony_ci					regulator-suspend-microvolt = <1800000>;
2908c2ecf20Sopenharmony_ci				};
2918c2ecf20Sopenharmony_ci			};
2928c2ecf20Sopenharmony_ci
2938c2ecf20Sopenharmony_ci			vcc1v8_dvp: LDO_REG1 {
2948c2ecf20Sopenharmony_ci				regulator-name = "vcc1v8_dvp";
2958c2ecf20Sopenharmony_ci				regulator-always-on;
2968c2ecf20Sopenharmony_ci				regulator-boot-on;
2978c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
2988c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
2998c2ecf20Sopenharmony_ci				regulator-state-mem {
3008c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
3018c2ecf20Sopenharmony_ci				};
3028c2ecf20Sopenharmony_ci			};
3038c2ecf20Sopenharmony_ci
3048c2ecf20Sopenharmony_ci			vcc3v0_tp: LDO_REG2 {
3058c2ecf20Sopenharmony_ci				regulator-name = "vcc3v0_tp";
3068c2ecf20Sopenharmony_ci				regulator-always-on;
3078c2ecf20Sopenharmony_ci				regulator-boot-on;
3088c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3000000>;
3098c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3000000>;
3108c2ecf20Sopenharmony_ci				regulator-state-mem {
3118c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
3128c2ecf20Sopenharmony_ci				};
3138c2ecf20Sopenharmony_ci			};
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci			vcc1v8_pmu: LDO_REG3 {
3168c2ecf20Sopenharmony_ci				regulator-name = "vcc1v8_pmu";
3178c2ecf20Sopenharmony_ci				regulator-always-on;
3188c2ecf20Sopenharmony_ci				regulator-boot-on;
3198c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
3208c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
3218c2ecf20Sopenharmony_ci				regulator-state-mem {
3228c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
3238c2ecf20Sopenharmony_ci					regulator-suspend-microvolt = <1800000>;
3248c2ecf20Sopenharmony_ci				};
3258c2ecf20Sopenharmony_ci			};
3268c2ecf20Sopenharmony_ci
3278c2ecf20Sopenharmony_ci			vcc_sdio: LDO_REG4 {
3288c2ecf20Sopenharmony_ci				regulator-name = "vcc_sdio";
3298c2ecf20Sopenharmony_ci				regulator-always-on;
3308c2ecf20Sopenharmony_ci				regulator-boot-on;
3318c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
3328c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3300000>;
3338c2ecf20Sopenharmony_ci				regulator-state-mem {
3348c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
3358c2ecf20Sopenharmony_ci					regulator-suspend-microvolt = <3000000>;
3368c2ecf20Sopenharmony_ci				};
3378c2ecf20Sopenharmony_ci			};
3388c2ecf20Sopenharmony_ci
3398c2ecf20Sopenharmony_ci			vcca3v0_codec: LDO_REG5 {
3408c2ecf20Sopenharmony_ci				regulator-name = "vcca3v0_codec";
3418c2ecf20Sopenharmony_ci				regulator-always-on;
3428c2ecf20Sopenharmony_ci				regulator-boot-on;
3438c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3000000>;
3448c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3000000>;
3458c2ecf20Sopenharmony_ci				regulator-state-mem {
3468c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
3478c2ecf20Sopenharmony_ci				};
3488c2ecf20Sopenharmony_ci			};
3498c2ecf20Sopenharmony_ci
3508c2ecf20Sopenharmony_ci			vcc_1v5: LDO_REG6 {
3518c2ecf20Sopenharmony_ci				regulator-name = "vcc_1v5";
3528c2ecf20Sopenharmony_ci				regulator-always-on;
3538c2ecf20Sopenharmony_ci				regulator-boot-on;
3548c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1500000>;
3558c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1500000>;
3568c2ecf20Sopenharmony_ci				regulator-state-mem {
3578c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
3588c2ecf20Sopenharmony_ci					regulator-suspend-microvolt = <1500000>;
3598c2ecf20Sopenharmony_ci				};
3608c2ecf20Sopenharmony_ci			};
3618c2ecf20Sopenharmony_ci
3628c2ecf20Sopenharmony_ci			vcca1v8_codec: LDO_REG7 {
3638c2ecf20Sopenharmony_ci				regulator-name = "vcca1v8_codec";
3648c2ecf20Sopenharmony_ci				regulator-always-on;
3658c2ecf20Sopenharmony_ci				regulator-boot-on;
3668c2ecf20Sopenharmony_ci				regulator-min-microvolt = <1800000>;
3678c2ecf20Sopenharmony_ci				regulator-max-microvolt = <1800000>;
3688c2ecf20Sopenharmony_ci				regulator-state-mem {
3698c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
3708c2ecf20Sopenharmony_ci				};
3718c2ecf20Sopenharmony_ci			};
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci			vcc_3v0: LDO_REG8 {
3748c2ecf20Sopenharmony_ci				regulator-name = "vcc_3v0";
3758c2ecf20Sopenharmony_ci				regulator-always-on;
3768c2ecf20Sopenharmony_ci				regulator-boot-on;
3778c2ecf20Sopenharmony_ci				regulator-min-microvolt = <3000000>;
3788c2ecf20Sopenharmony_ci				regulator-max-microvolt = <3000000>;
3798c2ecf20Sopenharmony_ci				regulator-state-mem {
3808c2ecf20Sopenharmony_ci					regulator-on-in-suspend;
3818c2ecf20Sopenharmony_ci					regulator-suspend-microvolt = <3000000>;
3828c2ecf20Sopenharmony_ci				};
3838c2ecf20Sopenharmony_ci			};
3848c2ecf20Sopenharmony_ci
3858c2ecf20Sopenharmony_ci			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
3868c2ecf20Sopenharmony_ci				regulator-name = "vcc3v3_s3";
3878c2ecf20Sopenharmony_ci				regulator-always-on;
3888c2ecf20Sopenharmony_ci				regulator-boot-on;
3898c2ecf20Sopenharmony_ci				regulator-state-mem {
3908c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
3918c2ecf20Sopenharmony_ci				};
3928c2ecf20Sopenharmony_ci			};
3938c2ecf20Sopenharmony_ci
3948c2ecf20Sopenharmony_ci			vcc3v3_s0: SWITCH_REG2 {
3958c2ecf20Sopenharmony_ci				regulator-name = "vcc3v3_s0";
3968c2ecf20Sopenharmony_ci				regulator-always-on;
3978c2ecf20Sopenharmony_ci				regulator-boot-on;
3988c2ecf20Sopenharmony_ci				regulator-state-mem {
3998c2ecf20Sopenharmony_ci					regulator-off-in-suspend;
4008c2ecf20Sopenharmony_ci				};
4018c2ecf20Sopenharmony_ci			};
4028c2ecf20Sopenharmony_ci		};
4038c2ecf20Sopenharmony_ci	};
4048c2ecf20Sopenharmony_ci
4058c2ecf20Sopenharmony_ci	vdd_cpu_b: regulator@40 {
4068c2ecf20Sopenharmony_ci		compatible = "silergy,syr827";
4078c2ecf20Sopenharmony_ci		reg = <0x40>;
4088c2ecf20Sopenharmony_ci		fcs,suspend-voltage-selector = <1>;
4098c2ecf20Sopenharmony_ci		regulator-name = "vdd_cpu_b";
4108c2ecf20Sopenharmony_ci		regulator-min-microvolt = <712500>;
4118c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1500000>;
4128c2ecf20Sopenharmony_ci		regulator-ramp-delay = <1000>;
4138c2ecf20Sopenharmony_ci		regulator-always-on;
4148c2ecf20Sopenharmony_ci		regulator-boot-on;
4158c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
4168c2ecf20Sopenharmony_ci
4178c2ecf20Sopenharmony_ci		regulator-state-mem {
4188c2ecf20Sopenharmony_ci			regulator-off-in-suspend;
4198c2ecf20Sopenharmony_ci		};
4208c2ecf20Sopenharmony_ci	};
4218c2ecf20Sopenharmony_ci
4228c2ecf20Sopenharmony_ci	vdd_gpu: regulator@41 {
4238c2ecf20Sopenharmony_ci		compatible = "silergy,syr828";
4248c2ecf20Sopenharmony_ci		reg = <0x41>;
4258c2ecf20Sopenharmony_ci		fcs,suspend-voltage-selector = <1>;
4268c2ecf20Sopenharmony_ci		regulator-name = "vdd_gpu";
4278c2ecf20Sopenharmony_ci		regulator-min-microvolt = <712500>;
4288c2ecf20Sopenharmony_ci		regulator-max-microvolt = <1500000>;
4298c2ecf20Sopenharmony_ci		regulator-ramp-delay = <1000>;
4308c2ecf20Sopenharmony_ci		regulator-always-on;
4318c2ecf20Sopenharmony_ci		regulator-boot-on;
4328c2ecf20Sopenharmony_ci		vin-supply = <&vcc_sys>;
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci		regulator-state-mem {
4358c2ecf20Sopenharmony_ci			regulator-off-in-suspend;
4368c2ecf20Sopenharmony_ci		};
4378c2ecf20Sopenharmony_ci	};
4388c2ecf20Sopenharmony_ci};
4398c2ecf20Sopenharmony_ci
4408c2ecf20Sopenharmony_ci&i2c3 {
4418c2ecf20Sopenharmony_ci	i2c-scl-rising-time-ns = <450>;
4428c2ecf20Sopenharmony_ci	i2c-scl-falling-time-ns = <15>;
4438c2ecf20Sopenharmony_ci	status = "okay";
4448c2ecf20Sopenharmony_ci};
4458c2ecf20Sopenharmony_ci
4468c2ecf20Sopenharmony_ci&i2s2 {
4478c2ecf20Sopenharmony_ci	status = "okay";
4488c2ecf20Sopenharmony_ci};
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ci&io_domains {
4518c2ecf20Sopenharmony_ci	status = "okay";
4528c2ecf20Sopenharmony_ci
4538c2ecf20Sopenharmony_ci	bt656-supply = <&vcc_3v0>;
4548c2ecf20Sopenharmony_ci	audio-supply = <&vcca1v8_codec>;
4558c2ecf20Sopenharmony_ci	sdmmc-supply = <&vcc_sdio>;
4568c2ecf20Sopenharmony_ci	gpio1830-supply = <&vcc_3v0>;
4578c2ecf20Sopenharmony_ci};
4588c2ecf20Sopenharmony_ci
4598c2ecf20Sopenharmony_ci&pmu_io_domains {
4608c2ecf20Sopenharmony_ci	pmu1830-supply = <&vcc_3v0>;
4618c2ecf20Sopenharmony_ci	status = "okay";
4628c2ecf20Sopenharmony_ci};
4638c2ecf20Sopenharmony_ci
4648c2ecf20Sopenharmony_ci&pinctrl {
4658c2ecf20Sopenharmony_ci	buttons {
4668c2ecf20Sopenharmony_ci		pwr_btn: pwr-btn {
4678c2ecf20Sopenharmony_ci			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
4688c2ecf20Sopenharmony_ci		};
4698c2ecf20Sopenharmony_ci	};
4708c2ecf20Sopenharmony_ci
4718c2ecf20Sopenharmony_ci	fan {
4728c2ecf20Sopenharmony_ci		motor_pwr: motor-pwr {
4738c2ecf20Sopenharmony_ci			rockchip,pins =
4748c2ecf20Sopenharmony_ci				<1 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
4758c2ecf20Sopenharmony_ci		};
4768c2ecf20Sopenharmony_ci	};
4778c2ecf20Sopenharmony_ci
4788c2ecf20Sopenharmony_ci	pmic {
4798c2ecf20Sopenharmony_ci		pmic_int_l: pmic-int-l {
4808c2ecf20Sopenharmony_ci			rockchip,pins =
4818c2ecf20Sopenharmony_ci				<1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
4828c2ecf20Sopenharmony_ci		};
4838c2ecf20Sopenharmony_ci
4848c2ecf20Sopenharmony_ci		vsel1_pin: vsel1-pin {
4858c2ecf20Sopenharmony_ci			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
4868c2ecf20Sopenharmony_ci		};
4878c2ecf20Sopenharmony_ci
4888c2ecf20Sopenharmony_ci		vsel2_pin: vsel2-pin {
4898c2ecf20Sopenharmony_ci			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
4908c2ecf20Sopenharmony_ci		};
4918c2ecf20Sopenharmony_ci	};
4928c2ecf20Sopenharmony_ci
4938c2ecf20Sopenharmony_ci	sd {
4948c2ecf20Sopenharmony_ci		sdmmc0_pwr_h: sdmmc0-pwr-h {
4958c2ecf20Sopenharmony_ci			rockchip,pins =
4968c2ecf20Sopenharmony_ci				<0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
4978c2ecf20Sopenharmony_ci		};
4988c2ecf20Sopenharmony_ci	};
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci	usb2 {
5018c2ecf20Sopenharmony_ci		vcc5v0_host_en: vcc5v0-host-en {
5028c2ecf20Sopenharmony_ci			rockchip,pins =
5038c2ecf20Sopenharmony_ci				<4 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
5048c2ecf20Sopenharmony_ci		};
5058c2ecf20Sopenharmony_ci		vcc5v0_typec0_en: vcc5v0-typec0-en {
5068c2ecf20Sopenharmony_ci			rockchip,pins =
5078c2ecf20Sopenharmony_ci				<2 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
5088c2ecf20Sopenharmony_ci		};
5098c2ecf20Sopenharmony_ci	};
5108c2ecf20Sopenharmony_ci};
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ci&pwm0 {
5138c2ecf20Sopenharmony_ci	status = "okay";
5148c2ecf20Sopenharmony_ci};
5158c2ecf20Sopenharmony_ci
5168c2ecf20Sopenharmony_ci&pwm2 {
5178c2ecf20Sopenharmony_ci	status = "okay";
5188c2ecf20Sopenharmony_ci};
5198c2ecf20Sopenharmony_ci
5208c2ecf20Sopenharmony_ci&saradc {
5218c2ecf20Sopenharmony_ci	vref-supply = <&vcca1v8_s3>;
5228c2ecf20Sopenharmony_ci	status = "okay";
5238c2ecf20Sopenharmony_ci};
5248c2ecf20Sopenharmony_ci
5258c2ecf20Sopenharmony_ci&sdhci {
5268c2ecf20Sopenharmony_ci	bus-width = <8>;
5278c2ecf20Sopenharmony_ci	mmc-hs400-1_8v;
5288c2ecf20Sopenharmony_ci	mmc-hs400-enhanced-strobe;
5298c2ecf20Sopenharmony_ci	non-removable;
5308c2ecf20Sopenharmony_ci	status = "okay";
5318c2ecf20Sopenharmony_ci};
5328c2ecf20Sopenharmony_ci
5338c2ecf20Sopenharmony_ci&sdmmc {
5348c2ecf20Sopenharmony_ci	broken-cd;
5358c2ecf20Sopenharmony_ci	bus-width = <4>;
5368c2ecf20Sopenharmony_ci	cap-mmc-highspeed;
5378c2ecf20Sopenharmony_ci	cap-sd-highspeed;
5388c2ecf20Sopenharmony_ci	clock-frequency = <150000000>;
5398c2ecf20Sopenharmony_ci	disable-wp;
5408c2ecf20Sopenharmony_ci	max-frequency = <150000000>;
5418c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5428c2ecf20Sopenharmony_ci	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
5438c2ecf20Sopenharmony_ci	vmmc-supply = <&vcc3v0_sd>;
5448c2ecf20Sopenharmony_ci	vqmmc-supply = <&vcc_sdio>;
5458c2ecf20Sopenharmony_ci	status = "okay";
5468c2ecf20Sopenharmony_ci};
5478c2ecf20Sopenharmony_ci
5488c2ecf20Sopenharmony_ci&tcphy0 {
5498c2ecf20Sopenharmony_ci	status = "okay";
5508c2ecf20Sopenharmony_ci};
5518c2ecf20Sopenharmony_ci
5528c2ecf20Sopenharmony_ci&tcphy1 {
5538c2ecf20Sopenharmony_ci	status = "okay";
5548c2ecf20Sopenharmony_ci};
5558c2ecf20Sopenharmony_ci
5568c2ecf20Sopenharmony_ci&tsadc {
5578c2ecf20Sopenharmony_ci	/* tshut mode 0:CRU 1:GPIO */
5588c2ecf20Sopenharmony_ci	rockchip,hw-tshut-mode = <1>;
5598c2ecf20Sopenharmony_ci	/* tshut polarity 0:LOW 1:HIGH */
5608c2ecf20Sopenharmony_ci	rockchip,hw-tshut-polarity = <1>;
5618c2ecf20Sopenharmony_ci	status = "okay";
5628c2ecf20Sopenharmony_ci};
5638c2ecf20Sopenharmony_ci
5648c2ecf20Sopenharmony_ci&u2phy0 {
5658c2ecf20Sopenharmony_ci	status = "okay";
5668c2ecf20Sopenharmony_ci
5678c2ecf20Sopenharmony_ci	u2phy0_otg: otg-port {
5688c2ecf20Sopenharmony_ci		status = "okay";
5698c2ecf20Sopenharmony_ci	};
5708c2ecf20Sopenharmony_ci
5718c2ecf20Sopenharmony_ci	u2phy0_host: host-port {
5728c2ecf20Sopenharmony_ci		phy-supply = <&vcc5v0_typec0>;
5738c2ecf20Sopenharmony_ci		status = "okay";
5748c2ecf20Sopenharmony_ci	};
5758c2ecf20Sopenharmony_ci};
5768c2ecf20Sopenharmony_ci
5778c2ecf20Sopenharmony_ci&u2phy1 {
5788c2ecf20Sopenharmony_ci	status = "okay";
5798c2ecf20Sopenharmony_ci
5808c2ecf20Sopenharmony_ci	u2phy1_otg: otg-port {
5818c2ecf20Sopenharmony_ci		status = "okay";
5828c2ecf20Sopenharmony_ci	};
5838c2ecf20Sopenharmony_ci
5848c2ecf20Sopenharmony_ci	u2phy1_host: host-port {
5858c2ecf20Sopenharmony_ci		phy-supply = <&vcc5v0_host>;
5868c2ecf20Sopenharmony_ci		status = "okay";
5878c2ecf20Sopenharmony_ci	};
5888c2ecf20Sopenharmony_ci};
5898c2ecf20Sopenharmony_ci
5908c2ecf20Sopenharmony_ci&uart0 {
5918c2ecf20Sopenharmony_ci	pinctrl-names = "default";
5928c2ecf20Sopenharmony_ci	pinctrl-0 = <&uart0_xfer &uart0_cts>;
5938c2ecf20Sopenharmony_ci	status = "okay";
5948c2ecf20Sopenharmony_ci};
5958c2ecf20Sopenharmony_ci
5968c2ecf20Sopenharmony_ci&uart2 {
5978c2ecf20Sopenharmony_ci	status = "okay";
5988c2ecf20Sopenharmony_ci};
5998c2ecf20Sopenharmony_ci
6008c2ecf20Sopenharmony_ci&usb_host0_ehci {
6018c2ecf20Sopenharmony_ci	status = "okay";
6028c2ecf20Sopenharmony_ci};
6038c2ecf20Sopenharmony_ci
6048c2ecf20Sopenharmony_ci&usb_host0_ohci {
6058c2ecf20Sopenharmony_ci	status = "okay";
6068c2ecf20Sopenharmony_ci};
6078c2ecf20Sopenharmony_ci
6088c2ecf20Sopenharmony_ci&usb_host1_ehci {
6098c2ecf20Sopenharmony_ci	status = "okay";
6108c2ecf20Sopenharmony_ci};
6118c2ecf20Sopenharmony_ci
6128c2ecf20Sopenharmony_ci&usb_host1_ohci {
6138c2ecf20Sopenharmony_ci	status = "okay";
6148c2ecf20Sopenharmony_ci};
6158c2ecf20Sopenharmony_ci
6168c2ecf20Sopenharmony_ci&usbdrd3_0 {
6178c2ecf20Sopenharmony_ci	status = "okay";
6188c2ecf20Sopenharmony_ci};
6198c2ecf20Sopenharmony_ci
6208c2ecf20Sopenharmony_ci&usbdrd_dwc3_0 {
6218c2ecf20Sopenharmony_ci	status = "okay";
6228c2ecf20Sopenharmony_ci	dr_mode = "host";
6238c2ecf20Sopenharmony_ci};
6248c2ecf20Sopenharmony_ci
6258c2ecf20Sopenharmony_ci&usbdrd3_1 {
6268c2ecf20Sopenharmony_ci	status = "okay";
6278c2ecf20Sopenharmony_ci};
6288c2ecf20Sopenharmony_ci
6298c2ecf20Sopenharmony_ci&usbdrd_dwc3_1 {
6308c2ecf20Sopenharmony_ci	status = "okay";
6318c2ecf20Sopenharmony_ci	dr_mode = "host";
6328c2ecf20Sopenharmony_ci};
6338c2ecf20Sopenharmony_ci
6348c2ecf20Sopenharmony_ci&vopb {
6358c2ecf20Sopenharmony_ci	status = "okay";
6368c2ecf20Sopenharmony_ci};
6378c2ecf20Sopenharmony_ci
6388c2ecf20Sopenharmony_ci&vopb_mmu {
6398c2ecf20Sopenharmony_ci	status = "okay";
6408c2ecf20Sopenharmony_ci};
6418c2ecf20Sopenharmony_ci
6428c2ecf20Sopenharmony_ci&vopl {
6438c2ecf20Sopenharmony_ci	status = "okay";
6448c2ecf20Sopenharmony_ci};
6458c2ecf20Sopenharmony_ci
6468c2ecf20Sopenharmony_ci&vopl_mmu {
6478c2ecf20Sopenharmony_ci	status = "okay";
6488c2ecf20Sopenharmony_ci};
649