xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3399-kobol-helios64.dts (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
15def4c47SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
25def4c47SEmmanuel Vadot/*
35def4c47SEmmanuel Vadot * Copyright (c) 2020 Aditya Prayoga <aditya@kobol.io>
45def4c47SEmmanuel Vadot */
55def4c47SEmmanuel Vadot
65def4c47SEmmanuel Vadot/*
75def4c47SEmmanuel Vadot * The Kobol Helios64 is a board designed to operate as a NAS and optionally
85def4c47SEmmanuel Vadot * ships with an enclosing that can host five 2.5" hard disks.
95def4c47SEmmanuel Vadot *
105def4c47SEmmanuel Vadot * See https://wiki.kobol.io/helios64/intro/ for further details.
115def4c47SEmmanuel Vadot */
125def4c47SEmmanuel Vadot
135def4c47SEmmanuel Vadot/dts-v1/;
145def4c47SEmmanuel Vadot#include "rk3399.dtsi"
155def4c47SEmmanuel Vadot#include "rk3399-opp.dtsi"
165def4c47SEmmanuel Vadot
175def4c47SEmmanuel Vadot/ {
185def4c47SEmmanuel Vadot	model = "Kobol Helios64";
195def4c47SEmmanuel Vadot	compatible = "kobol,helios64", "rockchip,rk3399";
205def4c47SEmmanuel Vadot
212eb4d8dcSEmmanuel Vadot	aliases {
22*8d13bc63SEmmanuel Vadot		ethernet0 = &gmac;
232eb4d8dcSEmmanuel Vadot		mmc0 = &sdmmc;
242eb4d8dcSEmmanuel Vadot		mmc1 = &sdhci;
258cc087a1SEmmanuel Vadot		spi1 = &spi1;
268cc087a1SEmmanuel Vadot		spi2 = &spi2;
278cc087a1SEmmanuel Vadot		spi5 = &spi5;
282eb4d8dcSEmmanuel Vadot	};
292eb4d8dcSEmmanuel Vadot
305956d97fSEmmanuel Vadot	avdd_0v9_s0: avdd-0v9-s0 {
315956d97fSEmmanuel Vadot		compatible = "regulator-fixed";
325956d97fSEmmanuel Vadot		regulator-name = "avdd_0v9_s0";
335956d97fSEmmanuel Vadot		regulator-always-on;
345956d97fSEmmanuel Vadot		regulator-boot-on;
355956d97fSEmmanuel Vadot		regulator-min-microvolt = <900000>;
365956d97fSEmmanuel Vadot		regulator-max-microvolt = <900000>;
375956d97fSEmmanuel Vadot		vin-supply = <&vcc1v8_sys_s3>;
385956d97fSEmmanuel Vadot	};
395956d97fSEmmanuel Vadot
405def4c47SEmmanuel Vadot	avdd_1v8_s0: avdd-1v8-s0 {
415def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
425def4c47SEmmanuel Vadot		regulator-name = "avdd_1v8_s0";
435def4c47SEmmanuel Vadot		regulator-always-on;
445def4c47SEmmanuel Vadot		regulator-boot-on;
455def4c47SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
465def4c47SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
475def4c47SEmmanuel Vadot		vin-supply = <&vcc3v3_sys_s3>;
485def4c47SEmmanuel Vadot	};
495def4c47SEmmanuel Vadot
508cc087a1SEmmanuel Vadot	chosen {
518cc087a1SEmmanuel Vadot		stdout-path = "serial2:1500000n8";
528cc087a1SEmmanuel Vadot	};
538cc087a1SEmmanuel Vadot
545def4c47SEmmanuel Vadot	clkin_gmac: external-gmac-clock {
555def4c47SEmmanuel Vadot		compatible = "fixed-clock";
565def4c47SEmmanuel Vadot		clock-frequency = <125000000>;
575def4c47SEmmanuel Vadot		clock-output-names = "clkin_gmac";
585def4c47SEmmanuel Vadot		#clock-cells = <0>;
595def4c47SEmmanuel Vadot	};
605def4c47SEmmanuel Vadot
615956d97fSEmmanuel Vadot	fan1 {
625956d97fSEmmanuel Vadot		/* fan connected to P7 */
635956d97fSEmmanuel Vadot		compatible = "pwm-fan";
645956d97fSEmmanuel Vadot		pwms = <&pwm0 0 40000 0>;
655956d97fSEmmanuel Vadot		cooling-levels = <0 80 170 255>;
665956d97fSEmmanuel Vadot	};
675956d97fSEmmanuel Vadot
685956d97fSEmmanuel Vadot	fan2 {
695956d97fSEmmanuel Vadot		/* fan connected to P6 */
705956d97fSEmmanuel Vadot		compatible = "pwm-fan";
715956d97fSEmmanuel Vadot		pwms = <&pwm1 0 40000 0>;
725956d97fSEmmanuel Vadot		cooling-levels = <0 80 170 255>;
735956d97fSEmmanuel Vadot	};
745956d97fSEmmanuel Vadot
755def4c47SEmmanuel Vadot	leds {
765def4c47SEmmanuel Vadot		compatible = "gpio-leds";
775def4c47SEmmanuel Vadot		pinctrl-names = "default";
785def4c47SEmmanuel Vadot		pinctrl-0 = <&sys_grn_led_on &sys_red_led_on>;
795def4c47SEmmanuel Vadot
805def4c47SEmmanuel Vadot		led-0 {
815def4c47SEmmanuel Vadot			label = "helios64:green:status";
825def4c47SEmmanuel Vadot			gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
835def4c47SEmmanuel Vadot			default-state = "on";
845def4c47SEmmanuel Vadot		};
855def4c47SEmmanuel Vadot
865def4c47SEmmanuel Vadot		led-1 {
875def4c47SEmmanuel Vadot			label = "helios64:red:fault";
885def4c47SEmmanuel Vadot			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
895def4c47SEmmanuel Vadot			default-state = "keep";
905def4c47SEmmanuel Vadot		};
915def4c47SEmmanuel Vadot	};
925def4c47SEmmanuel Vadot
93e67e8565SEmmanuel Vadot	hdd_a_power: hdd-a-power {
94e67e8565SEmmanuel Vadot		compatible = "regulator-fixed";
95e67e8565SEmmanuel Vadot		enable-active-high;
96e67e8565SEmmanuel Vadot		gpio = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
97e67e8565SEmmanuel Vadot		pinctrl-0 = <&hdd_a_power_en>;
98e67e8565SEmmanuel Vadot		pinctrl-names = "default";
99e67e8565SEmmanuel Vadot		regulator-always-on;
100e67e8565SEmmanuel Vadot		regulator-boot-on;
101e67e8565SEmmanuel Vadot		regulator-name = "hdd_a_power";
102e67e8565SEmmanuel Vadot		startup-delay-us = <2000000>;
103e67e8565SEmmanuel Vadot	};
104e67e8565SEmmanuel Vadot
105e67e8565SEmmanuel Vadot	hdd_b_power: hdd-b-power {
106e67e8565SEmmanuel Vadot		compatible = "regulator-fixed";
107e67e8565SEmmanuel Vadot		enable-active-high;
108e67e8565SEmmanuel Vadot		gpio = <&gpio1 RK_PA1 GPIO_ACTIVE_HIGH>;
109e67e8565SEmmanuel Vadot		pinctrl-0 = <&hdd_b_power_en>;
110e67e8565SEmmanuel Vadot		pinctrl-names = "default";
111e67e8565SEmmanuel Vadot		regulator-always-on;
112e67e8565SEmmanuel Vadot		regulator-boot-on;
113e67e8565SEmmanuel Vadot		regulator-name = "hdd_b_power";
114e67e8565SEmmanuel Vadot		startup-delay-us = <2000000>;
115e67e8565SEmmanuel Vadot	};
116e67e8565SEmmanuel Vadot
1175956d97fSEmmanuel Vadot	pcie_power: pcie-power {
1185956d97fSEmmanuel Vadot		compatible = "regulator-fixed";
1195956d97fSEmmanuel Vadot		enable-active-high;
1205956d97fSEmmanuel Vadot		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
1215956d97fSEmmanuel Vadot		pinctrl-0 = <&pcie_pwr>;
1225956d97fSEmmanuel Vadot		pinctrl-names = "default";
1235956d97fSEmmanuel Vadot		regulator-boot-on;
1245956d97fSEmmanuel Vadot		regulator-name = "pcie_power";
1255956d97fSEmmanuel Vadot		startup-delay-us = <10000>;
1265956d97fSEmmanuel Vadot		vin-supply = <&vcc5v0_perdev>;
1275956d97fSEmmanuel Vadot	};
1285956d97fSEmmanuel Vadot
129e67e8565SEmmanuel Vadot	usblan_power: usblan-power {
130e67e8565SEmmanuel Vadot		compatible = "regulator-fixed";
131e67e8565SEmmanuel Vadot		enable-active-high;
132e67e8565SEmmanuel Vadot		gpio = <&gpio1 RK_PC7 GPIO_ACTIVE_HIGH>;
133e67e8565SEmmanuel Vadot		pinctrl-names = "default";
134e67e8565SEmmanuel Vadot		pinctrl-0 = <&usb_lan_en>;
135e67e8565SEmmanuel Vadot		regulator-name = "usblan_power";
136e67e8565SEmmanuel Vadot		regulator-always-on;
137e67e8565SEmmanuel Vadot		regulator-boot-on;
138e67e8565SEmmanuel Vadot		vin-supply = <&vcc5v0_usb>;
139e67e8565SEmmanuel Vadot	};
140e67e8565SEmmanuel Vadot
1415def4c47SEmmanuel Vadot	vcc1v8_sys_s0: vcc1v8-sys-s0 {
1425def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
1435def4c47SEmmanuel Vadot		regulator-name = "vcc1v8_sys_s0";
1445def4c47SEmmanuel Vadot		regulator-always-on;
1455def4c47SEmmanuel Vadot		regulator-boot-on;
1465def4c47SEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1475def4c47SEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1485def4c47SEmmanuel Vadot		vin-supply = <&vcc1v8_sys_s3>;
1495def4c47SEmmanuel Vadot	};
1505def4c47SEmmanuel Vadot
1515def4c47SEmmanuel Vadot	vcc3v0_sd: vcc3v0-sd {
1525def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
1535def4c47SEmmanuel Vadot		enable-active-high;
1545def4c47SEmmanuel Vadot		gpio = <&gpio0 RK_PA1 GPIO_ACTIVE_HIGH>;
1555def4c47SEmmanuel Vadot		regulator-name = "vcc3v0_sd";
1565def4c47SEmmanuel Vadot		regulator-boot-on;
1575def4c47SEmmanuel Vadot		regulator-min-microvolt = <3000000>;
1585def4c47SEmmanuel Vadot		regulator-max-microvolt = <3000000>;
1595def4c47SEmmanuel Vadot		pinctrl-names = "default";
1605def4c47SEmmanuel Vadot		pinctrl-0 = <&sdmmc0_pwr_h>;
1615def4c47SEmmanuel Vadot		vin-supply = <&vcc3v3_sys_s3>;
1625def4c47SEmmanuel Vadot	};
1635def4c47SEmmanuel Vadot
1645def4c47SEmmanuel Vadot	vcc3v3_sys_s3: vcc_lan: vcc3v3-sys-s3 {
1655def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
1665def4c47SEmmanuel Vadot		regulator-name = "vcc3v3_sys_s3";
1675def4c47SEmmanuel Vadot		regulator-always-on;
1685def4c47SEmmanuel Vadot		regulator-boot-on;
1695def4c47SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1705def4c47SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1715def4c47SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
1725def4c47SEmmanuel Vadot
1735def4c47SEmmanuel Vadot		regulator-state-mem {
1745def4c47SEmmanuel Vadot			regulator-on-in-suspend;
1755def4c47SEmmanuel Vadot		};
1765def4c47SEmmanuel Vadot	};
1775def4c47SEmmanuel Vadot
1785956d97fSEmmanuel Vadot	vcc5v0_perdev: vcc5v0-perdev {
1795956d97fSEmmanuel Vadot		compatible = "regulator-fixed";
1805956d97fSEmmanuel Vadot		regulator-name = "vcc5v0_perdev";
1815956d97fSEmmanuel Vadot		regulator-always-on;
1825956d97fSEmmanuel Vadot		regulator-boot-on;
1835956d97fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1845956d97fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1855956d97fSEmmanuel Vadot		vin-supply = <&vcc12v_dcin_bkup>;
1865956d97fSEmmanuel Vadot	};
1875956d97fSEmmanuel Vadot
1885def4c47SEmmanuel Vadot	vcc5v0_sys: vcc5v0-sys {
1895def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
1905def4c47SEmmanuel Vadot		regulator-name = "vcc5v0_sys";
1915def4c47SEmmanuel Vadot		regulator-always-on;
1925def4c47SEmmanuel Vadot		regulator-boot-on;
1935def4c47SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1945def4c47SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1955def4c47SEmmanuel Vadot		vin-supply = <&vcc12v_dcin_bkup>;
1965def4c47SEmmanuel Vadot
1975def4c47SEmmanuel Vadot		regulator-state-mem {
1985def4c47SEmmanuel Vadot			regulator-on-in-suspend;
1995def4c47SEmmanuel Vadot		};
2005def4c47SEmmanuel Vadot	};
2015def4c47SEmmanuel Vadot
2025956d97fSEmmanuel Vadot	vcc5v0_usb: vcc5v0-usb {
2035956d97fSEmmanuel Vadot		compatible = "regulator-fixed";
2045956d97fSEmmanuel Vadot		enable-active-high;
2055956d97fSEmmanuel Vadot		gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
2065956d97fSEmmanuel Vadot		pinctrl-names = "default";
2075956d97fSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_usb_en>;
2085956d97fSEmmanuel Vadot		regulator-name = "vcc5v0_usb";
2095956d97fSEmmanuel Vadot		regulator-always-on;
2105956d97fSEmmanuel Vadot		regulator-boot-on;
2115956d97fSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
2125956d97fSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
2135956d97fSEmmanuel Vadot		vin-supply = <&vcc5v0_perdev>;
2145956d97fSEmmanuel Vadot	};
2155956d97fSEmmanuel Vadot
2165def4c47SEmmanuel Vadot	vcc12v_dcin: vcc12v-dcin {
2175def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
2185def4c47SEmmanuel Vadot		regulator-name = "vcc12v_dcin";
2195def4c47SEmmanuel Vadot		regulator-always-on;
2205def4c47SEmmanuel Vadot		regulator-boot-on;
2215def4c47SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
2225def4c47SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
2235def4c47SEmmanuel Vadot	};
2245def4c47SEmmanuel Vadot
2255def4c47SEmmanuel Vadot	vcc12v_dcin_bkup: vcc12v-dcin-bkup {
2265def4c47SEmmanuel Vadot		compatible = "regulator-fixed";
2275def4c47SEmmanuel Vadot		regulator-name = "vcc12v_dcin_bkup";
2285def4c47SEmmanuel Vadot		regulator-always-on;
2295def4c47SEmmanuel Vadot		regulator-boot-on;
2305def4c47SEmmanuel Vadot		regulator-min-microvolt = <12000000>;
2315def4c47SEmmanuel Vadot		regulator-max-microvolt = <12000000>;
2325def4c47SEmmanuel Vadot		vin-supply = <&vcc12v_dcin>;
2335def4c47SEmmanuel Vadot	};
2345def4c47SEmmanuel Vadot};
2355def4c47SEmmanuel Vadot
2365def4c47SEmmanuel Vadot/*
2375def4c47SEmmanuel Vadot * The system doesn't run stable with cpu freq enabled, so disallow the lower
2385def4c47SEmmanuel Vadot * frequencies until this problem is properly understood and resolved.
2395def4c47SEmmanuel Vadot */
2405def4c47SEmmanuel Vadot&cluster0_opp {
2415def4c47SEmmanuel Vadot	/delete-node/ opp00;
2425def4c47SEmmanuel Vadot	/delete-node/ opp01;
2435def4c47SEmmanuel Vadot	/delete-node/ opp02;
2445def4c47SEmmanuel Vadot	/delete-node/ opp03;
2455def4c47SEmmanuel Vadot	/delete-node/ opp04;
2465def4c47SEmmanuel Vadot};
2475def4c47SEmmanuel Vadot
2485def4c47SEmmanuel Vadot&cluster1_opp {
2495def4c47SEmmanuel Vadot	/delete-node/ opp00;
2505def4c47SEmmanuel Vadot	/delete-node/ opp01;
2515def4c47SEmmanuel Vadot	/delete-node/ opp02;
2525def4c47SEmmanuel Vadot	/delete-node/ opp03;
2535def4c47SEmmanuel Vadot	/delete-node/ opp04;
2545def4c47SEmmanuel Vadot	/delete-node/ opp05;
2555def4c47SEmmanuel Vadot	/delete-node/ opp06;
2565def4c47SEmmanuel Vadot};
2575def4c47SEmmanuel Vadot
2585def4c47SEmmanuel Vadot&cpu_b0 {
2595def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
2605def4c47SEmmanuel Vadot};
2615def4c47SEmmanuel Vadot
2625def4c47SEmmanuel Vadot&cpu_b1 {
2635def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
2645def4c47SEmmanuel Vadot};
2655def4c47SEmmanuel Vadot
2665def4c47SEmmanuel Vadot&cpu_l0 {
2675def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2685def4c47SEmmanuel Vadot};
2695def4c47SEmmanuel Vadot
2705def4c47SEmmanuel Vadot&cpu_l1 {
2715def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2725def4c47SEmmanuel Vadot};
2735def4c47SEmmanuel Vadot
2745def4c47SEmmanuel Vadot&cpu_l2 {
2755def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2765def4c47SEmmanuel Vadot};
2775def4c47SEmmanuel Vadot
2785def4c47SEmmanuel Vadot&cpu_l3 {
2795def4c47SEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2805def4c47SEmmanuel Vadot};
2815def4c47SEmmanuel Vadot
2825def4c47SEmmanuel Vadot&emmc_phy {
2835def4c47SEmmanuel Vadot	status = "okay";
2845def4c47SEmmanuel Vadot};
2855def4c47SEmmanuel Vadot
2865def4c47SEmmanuel Vadot&gmac {
2875def4c47SEmmanuel Vadot	assigned-clock-parents = <&clkin_gmac>;
2885def4c47SEmmanuel Vadot	assigned-clocks = <&cru SCLK_RMII_SRC>;
2895def4c47SEmmanuel Vadot	clock_in_out = "input";
2905def4c47SEmmanuel Vadot	phy-mode = "rgmii";
2915def4c47SEmmanuel Vadot	phy-supply = <&vcc_lan>;
2925def4c47SEmmanuel Vadot	pinctrl-names = "default";
2935def4c47SEmmanuel Vadot	pinctrl-0 = <&rgmii_pins &gphy_reset>;
2945def4c47SEmmanuel Vadot	rx_delay = <0x20>;
2955def4c47SEmmanuel Vadot	tx_delay = <0x28>;
2965def4c47SEmmanuel Vadot	snps,reset-active-low;
2975def4c47SEmmanuel Vadot	snps,reset-delays-us = <0 10000 50000>;
2985def4c47SEmmanuel Vadot	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
2995def4c47SEmmanuel Vadot	status = "okay";
3005def4c47SEmmanuel Vadot};
3015def4c47SEmmanuel Vadot
3025def4c47SEmmanuel Vadot&i2c0 {
3035def4c47SEmmanuel Vadot	clock-frequency = <400000>;
3045def4c47SEmmanuel Vadot	i2c-scl-rising-time-ns = <168>;
3055def4c47SEmmanuel Vadot	i2c-scl-falling-time-ns = <4>;
3065def4c47SEmmanuel Vadot	status = "okay";
3075def4c47SEmmanuel Vadot
3085def4c47SEmmanuel Vadot	rk808: pmic@1b {
3095def4c47SEmmanuel Vadot		compatible = "rockchip,rk808";
3105def4c47SEmmanuel Vadot		reg = <0x1b>;
3115def4c47SEmmanuel Vadot		interrupt-parent = <&gpio0>;
3125def4c47SEmmanuel Vadot		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
3135def4c47SEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
3145def4c47SEmmanuel Vadot		pinctrl-names = "default";
3155def4c47SEmmanuel Vadot		pinctrl-0 = <&pmic_int_l>;
3168cc087a1SEmmanuel Vadot		rockchip,system-power-controller;
3175def4c47SEmmanuel Vadot		vcc1-supply = <&vcc5v0_sys>;
3185def4c47SEmmanuel Vadot		vcc2-supply = <&vcc5v0_sys>;
3195def4c47SEmmanuel Vadot		vcc3-supply = <&vcc5v0_sys>;
3205def4c47SEmmanuel Vadot		vcc4-supply = <&vcc5v0_sys>;
3215def4c47SEmmanuel Vadot		vcc6-supply = <&vcc5v0_sys>;
3225def4c47SEmmanuel Vadot		vcc7-supply = <&vcc5v0_sys>;
3235def4c47SEmmanuel Vadot		vcc8-supply = <&vcc3v3_sys_s3>;
3245def4c47SEmmanuel Vadot		vcc9-supply = <&vcc5v0_sys>;
3255def4c47SEmmanuel Vadot		vcc10-supply = <&vcc5v0_sys>;
3265def4c47SEmmanuel Vadot		vcc11-supply = <&vcc5v0_sys>;
3275def4c47SEmmanuel Vadot		vcc12-supply = <&vcc3v3_sys_s3>;
3285def4c47SEmmanuel Vadot		vddio-supply = <&vcc3v0_s3>;
3295def4c47SEmmanuel Vadot		wakeup-source;
3305def4c47SEmmanuel Vadot		#clock-cells = <1>;
3315def4c47SEmmanuel Vadot
3325def4c47SEmmanuel Vadot		regulators {
3335def4c47SEmmanuel Vadot			vdd_cpu_l: DCDC_REG2 {
3345def4c47SEmmanuel Vadot				regulator-name = "vdd_cpu_l";
3355def4c47SEmmanuel Vadot				regulator-always-on;
3365def4c47SEmmanuel Vadot				regulator-boot-on;
3375def4c47SEmmanuel Vadot				regulator-min-microvolt = <750000>;
3385def4c47SEmmanuel Vadot				regulator-max-microvolt = <1350000>;
3395def4c47SEmmanuel Vadot				regulator-ramp-delay = <6001>;
3405def4c47SEmmanuel Vadot
3415def4c47SEmmanuel Vadot				regulator-state-mem {
3425def4c47SEmmanuel Vadot					regulator-off-in-suspend;
3435def4c47SEmmanuel Vadot				};
3445def4c47SEmmanuel Vadot			};
3455def4c47SEmmanuel Vadot
3465def4c47SEmmanuel Vadot			vcc1v8_sys_s3: DCDC_REG4 {
3475def4c47SEmmanuel Vadot				regulator-name = "vcc1v8_sys_s3";
3485def4c47SEmmanuel Vadot				regulator-always-on;
3495def4c47SEmmanuel Vadot				regulator-boot-on;
3505def4c47SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3515def4c47SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
3525def4c47SEmmanuel Vadot
3535def4c47SEmmanuel Vadot				regulator-state-mem {
3545def4c47SEmmanuel Vadot					regulator-on-in-suspend;
3555def4c47SEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
3565def4c47SEmmanuel Vadot				};
3575def4c47SEmmanuel Vadot			};
3585def4c47SEmmanuel Vadot
3595def4c47SEmmanuel Vadot			vcc_sdio_s0: LDO_REG4 {
3605def4c47SEmmanuel Vadot				regulator-name = "vcc_sdio_s0";
3615def4c47SEmmanuel Vadot				regulator-always-on;
3625def4c47SEmmanuel Vadot				regulator-boot-on;
3635def4c47SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3645def4c47SEmmanuel Vadot				regulator-max-microvolt = <3000000>;
3655def4c47SEmmanuel Vadot
3665def4c47SEmmanuel Vadot				regulator-state-mem {
3675def4c47SEmmanuel Vadot					regulator-on-in-suspend;
3685def4c47SEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
3695def4c47SEmmanuel Vadot				};
3705def4c47SEmmanuel Vadot			};
3715def4c47SEmmanuel Vadot
3725def4c47SEmmanuel Vadot			vcc3v0_s3: LDO_REG8 {
3735def4c47SEmmanuel Vadot				regulator-name = "vcc3v0_s3";
3745def4c47SEmmanuel Vadot				regulator-always-on;
3755def4c47SEmmanuel Vadot				regulator-boot-on;
3765def4c47SEmmanuel Vadot				regulator-min-microvolt = <3000000>;
3775def4c47SEmmanuel Vadot				regulator-max-microvolt = <3000000>;
3785def4c47SEmmanuel Vadot
3795def4c47SEmmanuel Vadot				regulator-state-mem {
3805def4c47SEmmanuel Vadot					regulator-on-in-suspend;
3815def4c47SEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
3825def4c47SEmmanuel Vadot				};
3835def4c47SEmmanuel Vadot			};
3845def4c47SEmmanuel Vadot		};
3855def4c47SEmmanuel Vadot	};
3865def4c47SEmmanuel Vadot
3875def4c47SEmmanuel Vadot	vdd_cpu_b: regulator@40 {
3885def4c47SEmmanuel Vadot		compatible = "silergy,syr827";
3895def4c47SEmmanuel Vadot		reg = <0x40>;
3905def4c47SEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
3915def4c47SEmmanuel Vadot		regulator-name = "vdd_cpu_b";
3925def4c47SEmmanuel Vadot		regulator-always-on;
3935def4c47SEmmanuel Vadot		regulator-boot-on;
3945def4c47SEmmanuel Vadot		regulator-min-microvolt = <712500>;
3955def4c47SEmmanuel Vadot		regulator-max-microvolt = <1500000>;
3965def4c47SEmmanuel Vadot		regulator-ramp-delay = <1000>;
3975def4c47SEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
3985def4c47SEmmanuel Vadot
3995def4c47SEmmanuel Vadot		regulator-state-mem {
4005def4c47SEmmanuel Vadot			regulator-off-in-suspend;
4015def4c47SEmmanuel Vadot		};
4025def4c47SEmmanuel Vadot	};
4035def4c47SEmmanuel Vadot};
4045def4c47SEmmanuel Vadot
4055def4c47SEmmanuel Vadot&i2c2 {
4065def4c47SEmmanuel Vadot	clock-frequency = <400000>;
4075def4c47SEmmanuel Vadot	i2c-scl-rising-time-ns = <160>;
4085def4c47SEmmanuel Vadot	i2c-scl-falling-time-ns = <30>;
4095def4c47SEmmanuel Vadot	status = "okay";
4105def4c47SEmmanuel Vadot
4115def4c47SEmmanuel Vadot	temp@4c {
4125def4c47SEmmanuel Vadot		compatible = "national,lm75";
4135def4c47SEmmanuel Vadot		reg = <0x4c>;
4145def4c47SEmmanuel Vadot	};
4155def4c47SEmmanuel Vadot};
4165def4c47SEmmanuel Vadot
4175def4c47SEmmanuel Vadot&io_domains {
4185def4c47SEmmanuel Vadot	audio-supply = <&vcc1v8_sys_s0>;
4195def4c47SEmmanuel Vadot	bt656-supply = <&vcc1v8_sys_s0>;
4205def4c47SEmmanuel Vadot	gpio1830-supply = <&vcc3v0_s3>;
4215def4c47SEmmanuel Vadot	sdmmc-supply = <&vcc_sdio_s0>;
4225def4c47SEmmanuel Vadot	status = "okay";
4235def4c47SEmmanuel Vadot};
4245def4c47SEmmanuel Vadot
4255956d97fSEmmanuel Vadot&pcie_phy {
4265956d97fSEmmanuel Vadot	status = "okay";
4275956d97fSEmmanuel Vadot};
4285956d97fSEmmanuel Vadot
4295956d97fSEmmanuel Vadot&pcie0 {
430e67e8565SEmmanuel Vadot	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
431e67e8565SEmmanuel Vadot	max-link-speed = <2>;
4325956d97fSEmmanuel Vadot	num-lanes = <2>;
433e67e8565SEmmanuel Vadot	pinctrl-names = "default";
4345956d97fSEmmanuel Vadot	status = "okay";
4355956d97fSEmmanuel Vadot
4365956d97fSEmmanuel Vadot	vpcie12v-supply = <&vcc12v_dcin>;
4375956d97fSEmmanuel Vadot	vpcie3v3-supply = <&pcie_power>;
4385956d97fSEmmanuel Vadot	vpcie1v8-supply = <&avdd_1v8_s0>;
4395956d97fSEmmanuel Vadot	vpcie0v9-supply = <&avdd_0v9_s0>;
4405956d97fSEmmanuel Vadot};
4415956d97fSEmmanuel Vadot
4425def4c47SEmmanuel Vadot&pinctrl {
4435def4c47SEmmanuel Vadot	gmac {
4445def4c47SEmmanuel Vadot		gphy_reset: gphy-reset {
4455def4c47SEmmanuel Vadot			rockchip,pins = <3 RK_PB7 RK_FUNC_GPIO &pcfg_output_low>;
4465def4c47SEmmanuel Vadot		};
4475def4c47SEmmanuel Vadot	};
4485def4c47SEmmanuel Vadot
4495def4c47SEmmanuel Vadot	leds {
4505def4c47SEmmanuel Vadot		sys_grn_led_on: sys-grn-led-on {
4515def4c47SEmmanuel Vadot			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
4525def4c47SEmmanuel Vadot		};
4535def4c47SEmmanuel Vadot
4545def4c47SEmmanuel Vadot		sys_red_led_on: sys-red-led-on {
4555def4c47SEmmanuel Vadot			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_down>;
4565def4c47SEmmanuel Vadot		};
4575def4c47SEmmanuel Vadot	};
4585def4c47SEmmanuel Vadot
4595956d97fSEmmanuel Vadot	pcie {
4605956d97fSEmmanuel Vadot		pcie_pwr: pcie-pwr {
4615956d97fSEmmanuel Vadot			rockchip,pins =
4625956d97fSEmmanuel Vadot				<1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
4635956d97fSEmmanuel Vadot		};
4645956d97fSEmmanuel Vadot	};
4655956d97fSEmmanuel Vadot
4665def4c47SEmmanuel Vadot	pmic {
4675def4c47SEmmanuel Vadot		pmic_int_l: pmic-int-l {
4685def4c47SEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
4695def4c47SEmmanuel Vadot		};
4705def4c47SEmmanuel Vadot	};
4715def4c47SEmmanuel Vadot
4725956d97fSEmmanuel Vadot	power {
473e67e8565SEmmanuel Vadot		hdd_a_power_en: hdd-a-power-en {
474e67e8565SEmmanuel Vadot			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
475e67e8565SEmmanuel Vadot		};
476e67e8565SEmmanuel Vadot
477e67e8565SEmmanuel Vadot		hdd_b_power_en: hdd-b-power-en {
478e67e8565SEmmanuel Vadot			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
479e67e8565SEmmanuel Vadot		};
480e67e8565SEmmanuel Vadot
4815956d97fSEmmanuel Vadot		vcc5v0_usb_en: vcc5v0-usb-en {
4825956d97fSEmmanuel Vadot			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
4835956d97fSEmmanuel Vadot		};
484e67e8565SEmmanuel Vadot
485e67e8565SEmmanuel Vadot		usb_lan_en: usb-lan-en {
486e67e8565SEmmanuel Vadot			rockchip,pins = <1 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
487e67e8565SEmmanuel Vadot		};
4885956d97fSEmmanuel Vadot	};
4895956d97fSEmmanuel Vadot
4905def4c47SEmmanuel Vadot	vcc3v0-sd {
4915def4c47SEmmanuel Vadot		sdmmc0_pwr_h: sdmmc0-pwr-h {
4925def4c47SEmmanuel Vadot			rockchip,pins = <0 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
4935def4c47SEmmanuel Vadot		};
4945def4c47SEmmanuel Vadot	};
4955def4c47SEmmanuel Vadot};
4965def4c47SEmmanuel Vadot
4975def4c47SEmmanuel Vadot&pmu_io_domains {
4985def4c47SEmmanuel Vadot	pmu1830-supply = <&vcc3v0_s3>;
4995def4c47SEmmanuel Vadot	status = "okay";
5005def4c47SEmmanuel Vadot};
5015def4c47SEmmanuel Vadot
5025956d97fSEmmanuel Vadot&pwm0 {
5035956d97fSEmmanuel Vadot	/* pwm-fan on P7 */
5045956d97fSEmmanuel Vadot	status = "okay";
5055956d97fSEmmanuel Vadot};
5065956d97fSEmmanuel Vadot
5075956d97fSEmmanuel Vadot&pwm1 {
5085956d97fSEmmanuel Vadot	/* pwm-fan on P6 */
5095956d97fSEmmanuel Vadot	status = "okay";
5105956d97fSEmmanuel Vadot};
5115956d97fSEmmanuel Vadot
5125def4c47SEmmanuel Vadot&sdhci {
5135def4c47SEmmanuel Vadot	bus-width = <8>;
5145def4c47SEmmanuel Vadot	mmc-hs200-1_8v;
5155def4c47SEmmanuel Vadot	non-removable;
5165def4c47SEmmanuel Vadot	vqmmc-supply = <&vcc1v8_sys_s0>;
5175def4c47SEmmanuel Vadot	status = "okay";
5185def4c47SEmmanuel Vadot};
5195def4c47SEmmanuel Vadot
5205def4c47SEmmanuel Vadot&sdmmc {
5215def4c47SEmmanuel Vadot	bus-width = <4>;
5225def4c47SEmmanuel Vadot	cap-sd-highspeed;
5235def4c47SEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
5245def4c47SEmmanuel Vadot	disable-wp;
5255def4c47SEmmanuel Vadot	pinctrl-names = "default";
5265def4c47SEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd &sdmmc_bus4>;
5275def4c47SEmmanuel Vadot	vmmc-supply = <&vcc3v0_sd>;
5285def4c47SEmmanuel Vadot	vqmmc-supply = <&vcc_sdio_s0>;
5295def4c47SEmmanuel Vadot	status = "okay";
5305def4c47SEmmanuel Vadot};
5315def4c47SEmmanuel Vadot
5328cc087a1SEmmanuel Vadot&spi1 {
5338cc087a1SEmmanuel Vadot	status = "okay";
5348cc087a1SEmmanuel Vadot
5358cc087a1SEmmanuel Vadot	spiflash: flash@0 {
5368cc087a1SEmmanuel Vadot		compatible = "jedec,spi-nor";
5378cc087a1SEmmanuel Vadot		reg = <0x0>;
5388cc087a1SEmmanuel Vadot		spi-max-frequency = <25000000>;
5398cc087a1SEmmanuel Vadot		status = "okay";
5408cc087a1SEmmanuel Vadot		m25p,fast-read;
5418cc087a1SEmmanuel Vadot	};
5428cc087a1SEmmanuel Vadot};
5438cc087a1SEmmanuel Vadot
5448cc087a1SEmmanuel Vadot/* UEXT connector */
5458cc087a1SEmmanuel Vadot&spi2 {
5468cc087a1SEmmanuel Vadot	status = "okay";
5478cc087a1SEmmanuel Vadot};
5488cc087a1SEmmanuel Vadot
5498cc087a1SEmmanuel Vadot&spi5 {
5508cc087a1SEmmanuel Vadot	status = "okay";
5518cc087a1SEmmanuel Vadot};
5528cc087a1SEmmanuel Vadot
5535956d97fSEmmanuel Vadot&tcphy1 {
5545956d97fSEmmanuel Vadot	/* phy for &usbdrd_dwc3_1 */
5555956d97fSEmmanuel Vadot	status = "okay";
5565956d97fSEmmanuel Vadot};
5575956d97fSEmmanuel Vadot
5588cc087a1SEmmanuel Vadot&tsadc {
5598cc087a1SEmmanuel Vadot	/* tshut mode 0:CRU 1:GPIO */
5608cc087a1SEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
5618cc087a1SEmmanuel Vadot	/* tshut polarity 0:LOW 1:HIGH */
5628cc087a1SEmmanuel Vadot	rockchip,hw-tshut-polarity = <1>;
5638cc087a1SEmmanuel Vadot	status = "okay";
5648cc087a1SEmmanuel Vadot};
5658cc087a1SEmmanuel Vadot
5665956d97fSEmmanuel Vadot&u2phy1 {
5675956d97fSEmmanuel Vadot	status = "okay";
5685956d97fSEmmanuel Vadot
5695956d97fSEmmanuel Vadot	otg-port {
5705956d97fSEmmanuel Vadot		/* phy for &usbdrd_dwc3_1 */
5715956d97fSEmmanuel Vadot		phy-supply = <&vcc5v0_usb>;
5725956d97fSEmmanuel Vadot		status = "okay";
5735956d97fSEmmanuel Vadot	};
5745956d97fSEmmanuel Vadot};
5755956d97fSEmmanuel Vadot
5765def4c47SEmmanuel Vadot&uart2 {
5775def4c47SEmmanuel Vadot	status = "okay";
5785def4c47SEmmanuel Vadot};
5795956d97fSEmmanuel Vadot
5805956d97fSEmmanuel Vadot&usbdrd3_1 {
5815956d97fSEmmanuel Vadot	status = "okay";
5825956d97fSEmmanuel Vadot
5835956d97fSEmmanuel Vadot	usb@fe900000 {
5845956d97fSEmmanuel Vadot		dr_mode = "host";
5855956d97fSEmmanuel Vadot		status = "okay";
586e67e8565SEmmanuel Vadot		#address-cells = <1>;
587e67e8565SEmmanuel Vadot		#size-cells = <0>;
588e67e8565SEmmanuel Vadot
589e67e8565SEmmanuel Vadot		hub@1 {
590e67e8565SEmmanuel Vadot			compatible = "usb2109,0815";
591e67e8565SEmmanuel Vadot			reg = <1>;
592e67e8565SEmmanuel Vadot			#address-cells = <1>;
593e67e8565SEmmanuel Vadot			#size-cells = <0>;
594e67e8565SEmmanuel Vadot
595e67e8565SEmmanuel Vadot			port@1 {
596e67e8565SEmmanuel Vadot				reg = <1>;
597e67e8565SEmmanuel Vadot				#trigger-source-cells = <0>;
598e67e8565SEmmanuel Vadot			};
599e67e8565SEmmanuel Vadot
600e67e8565SEmmanuel Vadot			port@2 {
601e67e8565SEmmanuel Vadot				reg = <2>;
602e67e8565SEmmanuel Vadot				#trigger-source-cells = <0>;
603e67e8565SEmmanuel Vadot			};
604e67e8565SEmmanuel Vadot
605e67e8565SEmmanuel Vadot			port@3 {
606e67e8565SEmmanuel Vadot				reg = <3>;
607e67e8565SEmmanuel Vadot				#trigger-source-cells = <0>;
608e67e8565SEmmanuel Vadot			};
609e67e8565SEmmanuel Vadot
610e67e8565SEmmanuel Vadot			device@4 {
611e67e8565SEmmanuel Vadot				compatible = "usbbda,8156";
612e67e8565SEmmanuel Vadot				reg = <4>;
613e67e8565SEmmanuel Vadot				#address-cells = <2>;
614e67e8565SEmmanuel Vadot				#size-cells = <0>;
615e67e8565SEmmanuel Vadot
616e67e8565SEmmanuel Vadot				interface@0 {	/* interface 0 of configuration 1 */
617e67e8565SEmmanuel Vadot					compatible = "usbbda,8156.config1.0";
618e67e8565SEmmanuel Vadot					reg = <0 1>;
619e67e8565SEmmanuel Vadot				};
620e67e8565SEmmanuel Vadot			};
621e67e8565SEmmanuel Vadot		};
6225956d97fSEmmanuel Vadot	};
6235956d97fSEmmanuel Vadot};
624