xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3399-eaidk-610.dts (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
17ef62cebSEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
27ef62cebSEmmanuel Vadot/*
37ef62cebSEmmanuel Vadot * Copyright (c) 2022 Fuzhou Rockchip Electronics Co., Ltd.
47ef62cebSEmmanuel Vadot */
57ef62cebSEmmanuel Vadot
67ef62cebSEmmanuel Vadot/dts-v1/;
77ef62cebSEmmanuel Vadot#include <dt-bindings/input/linux-event-codes.h>
87ef62cebSEmmanuel Vadot#include <dt-bindings/pwm/pwm.h>
97ef62cebSEmmanuel Vadot#include <dt-bindings/usb/pd.h>
107ef62cebSEmmanuel Vadot#include "rk3399.dtsi"
117ef62cebSEmmanuel Vadot#include "rk3399-opp.dtsi"
127ef62cebSEmmanuel Vadot
137ef62cebSEmmanuel Vadot/ {
147ef62cebSEmmanuel Vadot	model = "OPEN AI LAB EAIDK-610";
157ef62cebSEmmanuel Vadot	compatible = "openailab,eaidk-610", "rockchip,rk3399";
167ef62cebSEmmanuel Vadot
177ef62cebSEmmanuel Vadot	aliases {
187ef62cebSEmmanuel Vadot		mmc0 = &sdio0;
197ef62cebSEmmanuel Vadot		mmc1 = &sdmmc;
207ef62cebSEmmanuel Vadot		mmc2 = &sdhci;
217ef62cebSEmmanuel Vadot	};
227ef62cebSEmmanuel Vadot
237ef62cebSEmmanuel Vadot	backlight: backlight {
247ef62cebSEmmanuel Vadot		compatible = "pwm-backlight";
257ef62cebSEmmanuel Vadot		pwms = <&pwm0 0 25000 0>;
267ef62cebSEmmanuel Vadot		brightness-levels = <
277ef62cebSEmmanuel Vadot			  0   1   2   3   4   5   6   7
287ef62cebSEmmanuel Vadot			  8   9  10  11  12  13  14  15
297ef62cebSEmmanuel Vadot			 16  17  18  19  20  21  22  23
307ef62cebSEmmanuel Vadot			 24  25  26  27  28  29  30  31
317ef62cebSEmmanuel Vadot			 32  33  34  35  36  37  38  39
327ef62cebSEmmanuel Vadot			 40  41  42  43  44  45  46  47
337ef62cebSEmmanuel Vadot			 48  49  50  51  52  53  54  55
347ef62cebSEmmanuel Vadot			 56  57  58  59  60  61  62  63
357ef62cebSEmmanuel Vadot			 64  65  66  67  68  69  70  71
367ef62cebSEmmanuel Vadot			 72  73  74  75  76  77  78  79
377ef62cebSEmmanuel Vadot			 80  81  82  83  84  85  86  87
387ef62cebSEmmanuel Vadot			 88  89  90  91  92  93  94  95
397ef62cebSEmmanuel Vadot			 96  97  98  99 100 101 102 103
407ef62cebSEmmanuel Vadot			104 105 106 107 108 109 110 111
417ef62cebSEmmanuel Vadot			112 113 114 115 116 117 118 119
427ef62cebSEmmanuel Vadot			120 121 122 123 124 125 126 127
437ef62cebSEmmanuel Vadot			128 129 130 131 132 133 134 135
447ef62cebSEmmanuel Vadot			136 137 138 139 140 141 142 143
457ef62cebSEmmanuel Vadot			144 145 146 147 148 149 150 151
467ef62cebSEmmanuel Vadot			152 153 154 155 156 157 158 159
477ef62cebSEmmanuel Vadot			160 161 162 163 164 165 166 167
487ef62cebSEmmanuel Vadot			168 169 170 171 172 173 174 175
497ef62cebSEmmanuel Vadot			176 177 178 179 180 181 182 183
507ef62cebSEmmanuel Vadot			184 185 186 187 188 189 190 191
517ef62cebSEmmanuel Vadot			192 193 194 195 196 197 198 199
527ef62cebSEmmanuel Vadot			200 201 202 203 204 205 206 207
537ef62cebSEmmanuel Vadot			208 209 210 211 212 213 214 215
547ef62cebSEmmanuel Vadot			216 217 218 219 220 221 222 223
557ef62cebSEmmanuel Vadot			224 225 226 227 228 229 230 231
567ef62cebSEmmanuel Vadot			232 233 234 235 236 237 238 239
577ef62cebSEmmanuel Vadot			240 241 242 243 244 245 246 247
587ef62cebSEmmanuel Vadot			248 249 250 251 252 253 254 255>;
597ef62cebSEmmanuel Vadot		default-brightness-level = <200>;
607ef62cebSEmmanuel Vadot	};
617ef62cebSEmmanuel Vadot
627ef62cebSEmmanuel Vadot	clkin_gmac: external-gmac-clock {
637ef62cebSEmmanuel Vadot		compatible = "fixed-clock";
647ef62cebSEmmanuel Vadot		clock-frequency = <125000000>;
657ef62cebSEmmanuel Vadot		clock-output-names = "clkin_gmac";
667ef62cebSEmmanuel Vadot		#clock-cells = <0>;
677ef62cebSEmmanuel Vadot	};
687ef62cebSEmmanuel Vadot
697ef62cebSEmmanuel Vadot	dc_12v: dc-12v {
707ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
717ef62cebSEmmanuel Vadot		regulator-name = "dc_12v";
727ef62cebSEmmanuel Vadot		regulator-always-on;
737ef62cebSEmmanuel Vadot		regulator-boot-on;
747ef62cebSEmmanuel Vadot		regulator-min-microvolt = <12000000>;
757ef62cebSEmmanuel Vadot		regulator-max-microvolt = <12000000>;
767ef62cebSEmmanuel Vadot	};
777ef62cebSEmmanuel Vadot
787ef62cebSEmmanuel Vadot	gpio-keys {
797ef62cebSEmmanuel Vadot		compatible = "gpio-keys";
807ef62cebSEmmanuel Vadot		autorepeat;
817ef62cebSEmmanuel Vadot		pinctrl-names = "default";
827ef62cebSEmmanuel Vadot		pinctrl-0 = <&pwrbtn>;
837ef62cebSEmmanuel Vadot
847ef62cebSEmmanuel Vadot		key-power {
857ef62cebSEmmanuel Vadot			debounce-interval = <100>;
867ef62cebSEmmanuel Vadot			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
877ef62cebSEmmanuel Vadot			label = "GPIO Key Power";
887ef62cebSEmmanuel Vadot			linux,code = <KEY_POWER>;
897ef62cebSEmmanuel Vadot			wakeup-source;
907ef62cebSEmmanuel Vadot		};
917ef62cebSEmmanuel Vadot	};
927ef62cebSEmmanuel Vadot
937ef62cebSEmmanuel Vadot	leds {
947ef62cebSEmmanuel Vadot		compatible = "gpio-leds";
957ef62cebSEmmanuel Vadot		pinctrl-names = "default";
967ef62cebSEmmanuel Vadot		pinctrl-0 = <&work_led_pin>, <&user_led_pin>,
977ef62cebSEmmanuel Vadot			    <&heartbeat_led_pin>, <&wlan_active_led_pin>,
987ef62cebSEmmanuel Vadot			    <&bt_active_led_pin>;
997ef62cebSEmmanuel Vadot
1007ef62cebSEmmanuel Vadot		work_led: led-0 {
1017ef62cebSEmmanuel Vadot			label = "blue:work";
1027ef62cebSEmmanuel Vadot			default-state = "on";
1037ef62cebSEmmanuel Vadot			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
1047ef62cebSEmmanuel Vadot		};
1057ef62cebSEmmanuel Vadot
1067ef62cebSEmmanuel Vadot		user_led: led-1 {
1077ef62cebSEmmanuel Vadot			label = "read:user";
1087ef62cebSEmmanuel Vadot			default-state = "off";
1097ef62cebSEmmanuel Vadot			gpios = <&gpio0 RK_PB4 GPIO_ACTIVE_HIGH>;
1107ef62cebSEmmanuel Vadot		};
1117ef62cebSEmmanuel Vadot
1127ef62cebSEmmanuel Vadot		heartbeat_led: led-2 {
1137ef62cebSEmmanuel Vadot			label = "green:heartbeat";
1147ef62cebSEmmanuel Vadot			linux,default-trigger = "heartbeat";
1157ef62cebSEmmanuel Vadot			gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
1167ef62cebSEmmanuel Vadot		};
1177ef62cebSEmmanuel Vadot
1187ef62cebSEmmanuel Vadot		wlan_active_led: led-3 {
1197ef62cebSEmmanuel Vadot			label = "yellow:wlan";
1207ef62cebSEmmanuel Vadot			gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
1217ef62cebSEmmanuel Vadot			linux,default-trigger = "phy0tx";
1227ef62cebSEmmanuel Vadot			default-state = "off";
1237ef62cebSEmmanuel Vadot		};
1247ef62cebSEmmanuel Vadot
1257ef62cebSEmmanuel Vadot		bt_active_led: led-4 {
1267ef62cebSEmmanuel Vadot			label = "blue:bt";
1277ef62cebSEmmanuel Vadot			gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
1287ef62cebSEmmanuel Vadot			linux,default-trigger = "hci0-power";
1297ef62cebSEmmanuel Vadot			default-state = "off";
1307ef62cebSEmmanuel Vadot		};
1317ef62cebSEmmanuel Vadot	};
1327ef62cebSEmmanuel Vadot
1337ef62cebSEmmanuel Vadot	rt5651-sound {
1347ef62cebSEmmanuel Vadot		compatible = "simple-audio-card";
1357ef62cebSEmmanuel Vadot		simple-audio-card,name = "realtek,rt5651-codec";
1367ef62cebSEmmanuel Vadot		simple-audio-card,format = "i2s";
1377ef62cebSEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
1387ef62cebSEmmanuel Vadot		simple-audio-card,widgets =
1397ef62cebSEmmanuel Vadot			"Microphone", "Mic Jack",
1407ef62cebSEmmanuel Vadot			"Headphone", "Headphone Jack";
1417ef62cebSEmmanuel Vadot		simple-audio-card,routing =
1427ef62cebSEmmanuel Vadot			"Mic Jack", "MICBIAS1",
1437ef62cebSEmmanuel Vadot			"IN1P", "Mic Jack",
1447ef62cebSEmmanuel Vadot			"Headphone Jack", "HPOL",
1457ef62cebSEmmanuel Vadot			"Headphone Jack", "HPOR";
1467ef62cebSEmmanuel Vadot		simple-audio-card,cpu {
1477ef62cebSEmmanuel Vadot			sound-dai = <&i2s1>;
1487ef62cebSEmmanuel Vadot		};
1497ef62cebSEmmanuel Vadot		simple-audio-card,codec {
1507ef62cebSEmmanuel Vadot			sound-dai = <&rt5651>;
1517ef62cebSEmmanuel Vadot		};
1527ef62cebSEmmanuel Vadot	};
1537ef62cebSEmmanuel Vadot
1547ef62cebSEmmanuel Vadot	sdio_pwrseq: sdio-pwrseq {
1557ef62cebSEmmanuel Vadot		compatible = "mmc-pwrseq-simple";
1567ef62cebSEmmanuel Vadot		clocks = <&rk808 1>;
1577ef62cebSEmmanuel Vadot		clock-names = "ext_clock";
1587ef62cebSEmmanuel Vadot		pinctrl-names = "default";
1597ef62cebSEmmanuel Vadot		pinctrl-0 = <&wifi_enable_h>;
1607ef62cebSEmmanuel Vadot
1617ef62cebSEmmanuel Vadot		/*
1627ef62cebSEmmanuel Vadot		 * On the module itself this is one of these (depending
1637ef62cebSEmmanuel Vadot		 * on the actual card populated):
1647ef62cebSEmmanuel Vadot		 * - SDIO_RESET_L_WL_REG_ON
1657ef62cebSEmmanuel Vadot		 * - PDN (power down when low)
1667ef62cebSEmmanuel Vadot		 */
1677ef62cebSEmmanuel Vadot		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
1687ef62cebSEmmanuel Vadot	};
1697ef62cebSEmmanuel Vadot
1707ef62cebSEmmanuel Vadot	/* switched by pmic_sleep */
1717ef62cebSEmmanuel Vadot	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
1727ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
1737ef62cebSEmmanuel Vadot		regulator-name = "vcc1v8_s3";
1747ef62cebSEmmanuel Vadot		regulator-always-on;
1757ef62cebSEmmanuel Vadot		regulator-boot-on;
1767ef62cebSEmmanuel Vadot		regulator-min-microvolt = <1800000>;
1777ef62cebSEmmanuel Vadot		regulator-max-microvolt = <1800000>;
1787ef62cebSEmmanuel Vadot		vin-supply = <&vcc_1v8>;
1797ef62cebSEmmanuel Vadot	};
1807ef62cebSEmmanuel Vadot
1817ef62cebSEmmanuel Vadot	vcc3v3_sys: vcc3v3-sys {
1827ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
1837ef62cebSEmmanuel Vadot		regulator-name = "vcc3v3_sys";
1847ef62cebSEmmanuel Vadot		regulator-always-on;
1857ef62cebSEmmanuel Vadot		regulator-boot-on;
1867ef62cebSEmmanuel Vadot		regulator-min-microvolt = <3300000>;
1877ef62cebSEmmanuel Vadot		regulator-max-microvolt = <3300000>;
1887ef62cebSEmmanuel Vadot		vin-supply = <&dc_12v>;
1897ef62cebSEmmanuel Vadot	};
1907ef62cebSEmmanuel Vadot
1917ef62cebSEmmanuel Vadot	vcc5v0_sys: vcc5v0-sys {
1927ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
1937ef62cebSEmmanuel Vadot		regulator-name = "vcc5v0_sys";
1947ef62cebSEmmanuel Vadot		regulator-always-on;
1957ef62cebSEmmanuel Vadot		regulator-boot-on;
1967ef62cebSEmmanuel Vadot		regulator-min-microvolt = <5000000>;
1977ef62cebSEmmanuel Vadot		regulator-max-microvolt = <5000000>;
1987ef62cebSEmmanuel Vadot		vin-supply = <&dc_12v>;
1997ef62cebSEmmanuel Vadot	};
2007ef62cebSEmmanuel Vadot
2017ef62cebSEmmanuel Vadot	/* For USB3.0 Port1/2 */
2027ef62cebSEmmanuel Vadot	vcc5v0_host1: vcc5v0-host1-regulator {
2037ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
2047ef62cebSEmmanuel Vadot		enable-active-high;
2057ef62cebSEmmanuel Vadot		gpio = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>;
2067ef62cebSEmmanuel Vadot		pinctrl-names = "default";
2077ef62cebSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_host1_en>;
2087ef62cebSEmmanuel Vadot		regulator-name = "vcc5v0_host1";
2097ef62cebSEmmanuel Vadot		regulator-always-on;
2107ef62cebSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
2117ef62cebSEmmanuel Vadot	};
2127ef62cebSEmmanuel Vadot
2137ef62cebSEmmanuel Vadot	/* For USB2.0 Port1/2 */
2147ef62cebSEmmanuel Vadot	vcc5v0_host3: vcc5v0-host3-regulator {
2157ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
2167ef62cebSEmmanuel Vadot		enable-active-high;
2177ef62cebSEmmanuel Vadot		gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
2187ef62cebSEmmanuel Vadot		pinctrl-names = "default";
2197ef62cebSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_host3_en>;
2207ef62cebSEmmanuel Vadot		regulator-name = "vcc5v0_host3";
2217ef62cebSEmmanuel Vadot		regulator-always-on;
2227ef62cebSEmmanuel Vadot		vin-supply = <&vcc5v0_sys>;
2237ef62cebSEmmanuel Vadot	};
2247ef62cebSEmmanuel Vadot
2257ef62cebSEmmanuel Vadot	vcc5v0_typec: vcc5v0-typec-regulator {
2267ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
2277ef62cebSEmmanuel Vadot		enable-active-high;
2287ef62cebSEmmanuel Vadot		gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
2297ef62cebSEmmanuel Vadot		pinctrl-names = "default";
2307ef62cebSEmmanuel Vadot		pinctrl-0 = <&vcc5v0_typec_en>;
2317ef62cebSEmmanuel Vadot		regulator-name = "vcc5v0_typec";
2327ef62cebSEmmanuel Vadot		regulator-always-on;
2337ef62cebSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
2347ef62cebSEmmanuel Vadot	};
2357ef62cebSEmmanuel Vadot
2367ef62cebSEmmanuel Vadot	vdd_log: vdd-log {
2377ef62cebSEmmanuel Vadot		compatible = "regulator-fixed";
2387ef62cebSEmmanuel Vadot		regulator-name = "vdd_log";
2397ef62cebSEmmanuel Vadot		regulator-always-on;
2407ef62cebSEmmanuel Vadot		regulator-boot-on;
2417ef62cebSEmmanuel Vadot		regulator-min-microvolt = <900000>;
2427ef62cebSEmmanuel Vadot		regulator-max-microvolt = <900000>;
2437ef62cebSEmmanuel Vadot	};
2447ef62cebSEmmanuel Vadot};
2457ef62cebSEmmanuel Vadot
2467ef62cebSEmmanuel Vadot&cpu_l0 {
2477ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2487ef62cebSEmmanuel Vadot};
2497ef62cebSEmmanuel Vadot
2507ef62cebSEmmanuel Vadot&cpu_l1 {
2517ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2527ef62cebSEmmanuel Vadot};
2537ef62cebSEmmanuel Vadot
2547ef62cebSEmmanuel Vadot&cpu_l2 {
2557ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2567ef62cebSEmmanuel Vadot};
2577ef62cebSEmmanuel Vadot
2587ef62cebSEmmanuel Vadot&cpu_l3 {
2597ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_l>;
2607ef62cebSEmmanuel Vadot};
2617ef62cebSEmmanuel Vadot
2627ef62cebSEmmanuel Vadot&cpu_b0 {
2637ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
2647ef62cebSEmmanuel Vadot};
2657ef62cebSEmmanuel Vadot
2667ef62cebSEmmanuel Vadot&cpu_b1 {
2677ef62cebSEmmanuel Vadot	cpu-supply = <&vdd_cpu_b>;
2687ef62cebSEmmanuel Vadot};
2697ef62cebSEmmanuel Vadot
2707ef62cebSEmmanuel Vadot&emmc_phy {
2717ef62cebSEmmanuel Vadot	status = "okay";
2727ef62cebSEmmanuel Vadot};
2737ef62cebSEmmanuel Vadot
2747ef62cebSEmmanuel Vadot&gmac {
2757ef62cebSEmmanuel Vadot	assigned-clocks = <&cru SCLK_RMII_SRC>;
2767ef62cebSEmmanuel Vadot	assigned-clock-parents = <&clkin_gmac>;
2777ef62cebSEmmanuel Vadot	clock_in_out = "input";
2787ef62cebSEmmanuel Vadot	phy-supply = <&vcc_lan>;
2797ef62cebSEmmanuel Vadot	phy-mode = "rgmii";
2807ef62cebSEmmanuel Vadot	pinctrl-names = "default";
2817ef62cebSEmmanuel Vadot	pinctrl-0 = <&rgmii_pins>;
2827ef62cebSEmmanuel Vadot	snps,reset-gpio = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>;
2837ef62cebSEmmanuel Vadot	snps,reset-active-low;
2847ef62cebSEmmanuel Vadot	snps,reset-delays-us = <0 10000 50000>;
2857ef62cebSEmmanuel Vadot	tx_delay = <0x28>;
2867ef62cebSEmmanuel Vadot	rx_delay = <0x11>;
2877ef62cebSEmmanuel Vadot	status = "okay";
2887ef62cebSEmmanuel Vadot};
2897ef62cebSEmmanuel Vadot
2907ef62cebSEmmanuel Vadot&gpu {
2917ef62cebSEmmanuel Vadot	mali-supply = <&vdd_gpu>;
2927ef62cebSEmmanuel Vadot	status = "okay";
2937ef62cebSEmmanuel Vadot};
2947ef62cebSEmmanuel Vadot
2957ef62cebSEmmanuel Vadot&hdmi {
2967ef62cebSEmmanuel Vadot	ddc-i2c-bus = <&i2c3>;
2977ef62cebSEmmanuel Vadot	pinctrl-names = "default";
2987ef62cebSEmmanuel Vadot	pinctrl-0 = <&hdmi_cec>;
2997ef62cebSEmmanuel Vadot	status = "okay";
3007ef62cebSEmmanuel Vadot};
3017ef62cebSEmmanuel Vadot
3027ef62cebSEmmanuel Vadot&i2c0 {
3037ef62cebSEmmanuel Vadot	status = "okay";
3047ef62cebSEmmanuel Vadot
3057ef62cebSEmmanuel Vadot	rk808: pmic@1b {
3067ef62cebSEmmanuel Vadot		compatible = "rockchip,rk808";
3077ef62cebSEmmanuel Vadot		reg = <0x1b>;
3087ef62cebSEmmanuel Vadot		interrupt-parent = <&gpio1>;
3097ef62cebSEmmanuel Vadot		interrupts = <21 IRQ_TYPE_LEVEL_LOW>;
3107ef62cebSEmmanuel Vadot		pinctrl-names = "default";
3117ef62cebSEmmanuel Vadot		pinctrl-0 = <&pmic_int_l>;
3127ef62cebSEmmanuel Vadot		rockchip,system-power-controller;
3137ef62cebSEmmanuel Vadot		wakeup-source;
3147ef62cebSEmmanuel Vadot		#clock-cells = <1>;
3157ef62cebSEmmanuel Vadot		clock-output-names = "xin32k", "rk808-clkout2";
3167ef62cebSEmmanuel Vadot
3177ef62cebSEmmanuel Vadot		vcc1-supply = <&vcc3v3_sys>;
3187ef62cebSEmmanuel Vadot		vcc2-supply = <&vcc3v3_sys>;
3197ef62cebSEmmanuel Vadot		vcc3-supply = <&vcc3v3_sys>;
3207ef62cebSEmmanuel Vadot		vcc4-supply = <&vcc3v3_sys>;
3217ef62cebSEmmanuel Vadot		vcc6-supply = <&vcc3v3_sys>;
3227ef62cebSEmmanuel Vadot		vcc7-supply = <&vcc3v3_sys>;
3237ef62cebSEmmanuel Vadot		vcc8-supply = <&vcc3v3_sys>;
3247ef62cebSEmmanuel Vadot		vcc9-supply = <&vcc3v3_sys>;
3257ef62cebSEmmanuel Vadot		vcc10-supply = <&vcc3v3_sys>;
3267ef62cebSEmmanuel Vadot		vcc11-supply = <&vcc3v3_sys>;
3277ef62cebSEmmanuel Vadot		vcc12-supply = <&vcc3v3_sys>;
3287ef62cebSEmmanuel Vadot		vddio-supply = <&vcc_3v0>;
3297ef62cebSEmmanuel Vadot
3307ef62cebSEmmanuel Vadot		regulators {
3317ef62cebSEmmanuel Vadot			vdd_center: DCDC_REG1 {
3327ef62cebSEmmanuel Vadot				regulator-name = "vdd_center";
3337ef62cebSEmmanuel Vadot				regulator-min-microvolt = <750000>;
3347ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
3357ef62cebSEmmanuel Vadot				regulator-ramp-delay = <6001>;
3367ef62cebSEmmanuel Vadot				regulator-always-on;
3377ef62cebSEmmanuel Vadot				regulator-boot-on;
3387ef62cebSEmmanuel Vadot
3397ef62cebSEmmanuel Vadot				regulator-state-mem {
3407ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
3417ef62cebSEmmanuel Vadot				};
3427ef62cebSEmmanuel Vadot			};
3437ef62cebSEmmanuel Vadot
3447ef62cebSEmmanuel Vadot			vdd_cpu_l: DCDC_REG2 {
3457ef62cebSEmmanuel Vadot				regulator-name = "vdd_cpu_l";
3467ef62cebSEmmanuel Vadot				regulator-min-microvolt = <750000>;
3477ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1350000>;
3487ef62cebSEmmanuel Vadot				regulator-ramp-delay = <6001>;
3497ef62cebSEmmanuel Vadot				regulator-always-on;
3507ef62cebSEmmanuel Vadot				regulator-boot-on;
3517ef62cebSEmmanuel Vadot
3527ef62cebSEmmanuel Vadot				regulator-state-mem {
3537ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
3547ef62cebSEmmanuel Vadot				};
3557ef62cebSEmmanuel Vadot			};
3567ef62cebSEmmanuel Vadot
3577ef62cebSEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
3587ef62cebSEmmanuel Vadot				regulator-name = "vcc_ddr";
3597ef62cebSEmmanuel Vadot				regulator-always-on;
3607ef62cebSEmmanuel Vadot				regulator-boot-on;
3617ef62cebSEmmanuel Vadot				regulator-state-mem {
3627ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
3637ef62cebSEmmanuel Vadot				};
3647ef62cebSEmmanuel Vadot			};
3657ef62cebSEmmanuel Vadot
3667ef62cebSEmmanuel Vadot			vcc_1v8: DCDC_REG4 {
3677ef62cebSEmmanuel Vadot				regulator-name = "vcc_1v8";
3687ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3697ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
3707ef62cebSEmmanuel Vadot				regulator-always-on;
3717ef62cebSEmmanuel Vadot				regulator-boot-on;
3727ef62cebSEmmanuel Vadot
3737ef62cebSEmmanuel Vadot				regulator-state-mem {
3747ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
3757ef62cebSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
3767ef62cebSEmmanuel Vadot				};
3777ef62cebSEmmanuel Vadot			};
3787ef62cebSEmmanuel Vadot
3797ef62cebSEmmanuel Vadot			vcc1v8_dvp: LDO_REG1 {
3807ef62cebSEmmanuel Vadot				regulator-name = "vcc1v8_dvp";
3817ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
3827ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
3837ef62cebSEmmanuel Vadot				regulator-always-on;
3847ef62cebSEmmanuel Vadot				regulator-boot-on;
3857ef62cebSEmmanuel Vadot
3867ef62cebSEmmanuel Vadot				regulator-state-mem {
3877ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
3887ef62cebSEmmanuel Vadot				};
3897ef62cebSEmmanuel Vadot			};
3907ef62cebSEmmanuel Vadot
3917ef62cebSEmmanuel Vadot			vcc2v8_dvp: LDO_REG2 {
3927ef62cebSEmmanuel Vadot				regulator-name = "vcc2v8_dvp";
3937ef62cebSEmmanuel Vadot				regulator-min-microvolt = <2800000>;
3947ef62cebSEmmanuel Vadot				regulator-max-microvolt = <2800000>;
3957ef62cebSEmmanuel Vadot				regulator-always-on;
3967ef62cebSEmmanuel Vadot				regulator-boot-on;
3977ef62cebSEmmanuel Vadot
3987ef62cebSEmmanuel Vadot				regulator-state-mem {
3997ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
4007ef62cebSEmmanuel Vadot				};
4017ef62cebSEmmanuel Vadot			};
4027ef62cebSEmmanuel Vadot
4037ef62cebSEmmanuel Vadot			vcc1v8_pmu: LDO_REG3 {
4047ef62cebSEmmanuel Vadot				regulator-name = "vcc1v8_pmu";
4057ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
4067ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
4077ef62cebSEmmanuel Vadot				regulator-always-on;
4087ef62cebSEmmanuel Vadot				regulator-boot-on;
4097ef62cebSEmmanuel Vadot
4107ef62cebSEmmanuel Vadot				regulator-state-mem {
4117ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
4127ef62cebSEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
4137ef62cebSEmmanuel Vadot				};
4147ef62cebSEmmanuel Vadot			};
4157ef62cebSEmmanuel Vadot
4167ef62cebSEmmanuel Vadot			vcc_sdio: LDO_REG4 {
4177ef62cebSEmmanuel Vadot				regulator-name = "vcc_sdio";
4187ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
4197ef62cebSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
4207ef62cebSEmmanuel Vadot				regulator-always-on;
4217ef62cebSEmmanuel Vadot				regulator-boot-on;
4227ef62cebSEmmanuel Vadot
4237ef62cebSEmmanuel Vadot				regulator-state-mem {
4247ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
4257ef62cebSEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
4267ef62cebSEmmanuel Vadot				};
4277ef62cebSEmmanuel Vadot			};
4287ef62cebSEmmanuel Vadot
4297ef62cebSEmmanuel Vadot			vcca3v0_codec: LDO_REG5 {
4307ef62cebSEmmanuel Vadot				regulator-name = "vcca3v0_codec";
4317ef62cebSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
4327ef62cebSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
4337ef62cebSEmmanuel Vadot				regulator-always-on;
4347ef62cebSEmmanuel Vadot				regulator-boot-on;
4357ef62cebSEmmanuel Vadot
4367ef62cebSEmmanuel Vadot				regulator-state-mem {
4377ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
4387ef62cebSEmmanuel Vadot				};
4397ef62cebSEmmanuel Vadot			};
4407ef62cebSEmmanuel Vadot
4417ef62cebSEmmanuel Vadot			vcc_1v5: LDO_REG6 {
4427ef62cebSEmmanuel Vadot				regulator-name = "vcc_1v5";
4437ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1500000>;
4447ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1500000>;
4457ef62cebSEmmanuel Vadot				regulator-always-on;
4467ef62cebSEmmanuel Vadot				regulator-boot-on;
4477ef62cebSEmmanuel Vadot
4487ef62cebSEmmanuel Vadot				regulator-state-mem {
4497ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
4507ef62cebSEmmanuel Vadot					regulator-suspend-microvolt = <1500000>;
4517ef62cebSEmmanuel Vadot				};
4527ef62cebSEmmanuel Vadot			};
4537ef62cebSEmmanuel Vadot
4547ef62cebSEmmanuel Vadot			vcca1v8_codec: LDO_REG7 {
4557ef62cebSEmmanuel Vadot				regulator-name = "vcca1v8_codec";
4567ef62cebSEmmanuel Vadot				regulator-min-microvolt = <1800000>;
4577ef62cebSEmmanuel Vadot				regulator-max-microvolt = <1800000>;
4587ef62cebSEmmanuel Vadot				regulator-always-on;
4597ef62cebSEmmanuel Vadot				regulator-boot-on;
4607ef62cebSEmmanuel Vadot
4617ef62cebSEmmanuel Vadot				regulator-state-mem {
4627ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
4637ef62cebSEmmanuel Vadot				};
4647ef62cebSEmmanuel Vadot			};
4657ef62cebSEmmanuel Vadot
4667ef62cebSEmmanuel Vadot			vcc_3v0: LDO_REG8 {
4677ef62cebSEmmanuel Vadot				regulator-name = "vcc_3v0";
4687ef62cebSEmmanuel Vadot				regulator-min-microvolt = <3000000>;
4697ef62cebSEmmanuel Vadot				regulator-max-microvolt = <3000000>;
4707ef62cebSEmmanuel Vadot				regulator-always-on;
4717ef62cebSEmmanuel Vadot				regulator-boot-on;
4727ef62cebSEmmanuel Vadot
4737ef62cebSEmmanuel Vadot				regulator-state-mem {
4747ef62cebSEmmanuel Vadot					regulator-on-in-suspend;
4757ef62cebSEmmanuel Vadot					regulator-suspend-microvolt = <3000000>;
4767ef62cebSEmmanuel Vadot				};
4777ef62cebSEmmanuel Vadot			};
4787ef62cebSEmmanuel Vadot
4797ef62cebSEmmanuel Vadot			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
4807ef62cebSEmmanuel Vadot				regulator-name = "vcc3v3_s3";
4817ef62cebSEmmanuel Vadot				regulator-always-on;
4827ef62cebSEmmanuel Vadot				regulator-boot-on;
4837ef62cebSEmmanuel Vadot				regulator-state-mem {
4847ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
4857ef62cebSEmmanuel Vadot				};
4867ef62cebSEmmanuel Vadot			};
4877ef62cebSEmmanuel Vadot
4887ef62cebSEmmanuel Vadot			vcc3v3_s0: SWITCH_REG2 {
4897ef62cebSEmmanuel Vadot				regulator-name = "vcc3v3_s0";
4907ef62cebSEmmanuel Vadot				regulator-always-on;
4917ef62cebSEmmanuel Vadot				regulator-boot-on;
4927ef62cebSEmmanuel Vadot				regulator-state-mem {
4937ef62cebSEmmanuel Vadot					regulator-off-in-suspend;
4947ef62cebSEmmanuel Vadot				};
4957ef62cebSEmmanuel Vadot			};
4967ef62cebSEmmanuel Vadot		};
4977ef62cebSEmmanuel Vadot	};
4987ef62cebSEmmanuel Vadot
4997ef62cebSEmmanuel Vadot	vdd_cpu_b: regulator@40 {
5007ef62cebSEmmanuel Vadot		compatible = "silergy,syr827";
5017ef62cebSEmmanuel Vadot		reg = <0x40>;
5027ef62cebSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
5037ef62cebSEmmanuel Vadot		regulator-name = "vdd_cpu_b";
5047ef62cebSEmmanuel Vadot		pinctrl-names = "default";
5057ef62cebSEmmanuel Vadot		pinctrl-0 = <&vsel1_pin>;
5067ef62cebSEmmanuel Vadot		regulator-min-microvolt = <712500>;
5077ef62cebSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
5087ef62cebSEmmanuel Vadot		regulator-ramp-delay = <1000>;
5097ef62cebSEmmanuel Vadot		regulator-always-on;
5107ef62cebSEmmanuel Vadot		regulator-boot-on;
5117ef62cebSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
5127ef62cebSEmmanuel Vadot
5137ef62cebSEmmanuel Vadot		regulator-state-mem {
5147ef62cebSEmmanuel Vadot			regulator-off-in-suspend;
5157ef62cebSEmmanuel Vadot		};
5167ef62cebSEmmanuel Vadot	};
5177ef62cebSEmmanuel Vadot
5187ef62cebSEmmanuel Vadot	vdd_gpu: regulator@41 {
5197ef62cebSEmmanuel Vadot		compatible = "silergy,syr828";
5207ef62cebSEmmanuel Vadot		reg = <0x41>;
5217ef62cebSEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
5227ef62cebSEmmanuel Vadot		regulator-name = "vdd_gpu";
5237ef62cebSEmmanuel Vadot		pinctrl-names = "default";
5247ef62cebSEmmanuel Vadot		pinctrl-0 = <&vsel2_pin>;
5257ef62cebSEmmanuel Vadot		regulator-min-microvolt = <712500>;
5267ef62cebSEmmanuel Vadot		regulator-max-microvolt = <1500000>;
5277ef62cebSEmmanuel Vadot		regulator-ramp-delay = <1000>;
5287ef62cebSEmmanuel Vadot		regulator-always-on;
5297ef62cebSEmmanuel Vadot		regulator-boot-on;
5307ef62cebSEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
5317ef62cebSEmmanuel Vadot
5327ef62cebSEmmanuel Vadot		regulator-state-mem {
5337ef62cebSEmmanuel Vadot			regulator-off-in-suspend;
5347ef62cebSEmmanuel Vadot		};
5357ef62cebSEmmanuel Vadot	};
5367ef62cebSEmmanuel Vadot};
5377ef62cebSEmmanuel Vadot
5387ef62cebSEmmanuel Vadot&i2c1 {
5397ef62cebSEmmanuel Vadot	i2c-scl-rising-time-ns = <300>;
5407ef62cebSEmmanuel Vadot	i2c-scl-falling-time-ns = <15>;
5417ef62cebSEmmanuel Vadot	status = "okay";
5427ef62cebSEmmanuel Vadot
5437ef62cebSEmmanuel Vadot	rt5651: audio-codec@1a {
5447ef62cebSEmmanuel Vadot		compatible = "rockchip,rt5651";
5457ef62cebSEmmanuel Vadot		reg = <0x1a>;
5467ef62cebSEmmanuel Vadot		clocks = <&cru SCLK_I2S_8CH_OUT>;
5477ef62cebSEmmanuel Vadot		clock-names = "mclk";
5487ef62cebSEmmanuel Vadot		hp-det-gpio = <&gpio4 RK_PD4 GPIO_ACTIVE_LOW>;
5497ef62cebSEmmanuel Vadot		spk-con-gpio = <&gpio0 RK_PB3 GPIO_ACTIVE_HIGH>;
5507ef62cebSEmmanuel Vadot		#sound-dai-cells = <0>;
5517ef62cebSEmmanuel Vadot	};
5527ef62cebSEmmanuel Vadot
5537ef62cebSEmmanuel Vadot};
5547ef62cebSEmmanuel Vadot
5557ef62cebSEmmanuel Vadot&i2c3 {
5567ef62cebSEmmanuel Vadot	i2c-scl-rising-time-ns = <450>;
5577ef62cebSEmmanuel Vadot	i2c-scl-falling-time-ns = <15>;
5587ef62cebSEmmanuel Vadot	status = "okay";
5597ef62cebSEmmanuel Vadot};
5607ef62cebSEmmanuel Vadot
5617ef62cebSEmmanuel Vadot&i2c4 {
5627ef62cebSEmmanuel Vadot	i2c-scl-rising-time-ns = <600>;
5637ef62cebSEmmanuel Vadot	i2c-scl-falling-time-ns = <20>;
5647ef62cebSEmmanuel Vadot	status = "okay";
5657ef62cebSEmmanuel Vadot
5667ef62cebSEmmanuel Vadot	fusb0: typec-portc@22 {
5677ef62cebSEmmanuel Vadot		compatible = "fcs,fusb302";
5687ef62cebSEmmanuel Vadot		reg = <0x22>;
5697ef62cebSEmmanuel Vadot		interrupt-parent = <&gpio1>;
5707ef62cebSEmmanuel Vadot		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
5717ef62cebSEmmanuel Vadot		pinctrl-names = "default";
5727ef62cebSEmmanuel Vadot		pinctrl-0 = <&fusb0_int>;
5737ef62cebSEmmanuel Vadot		vbus-supply = <&vcc5v0_typec>;
5747ef62cebSEmmanuel Vadot
5757ef62cebSEmmanuel Vadot		ports {
5767ef62cebSEmmanuel Vadot			#address-cells = <1>;
5777ef62cebSEmmanuel Vadot			#size-cells = <0>;
5787ef62cebSEmmanuel Vadot
5797ef62cebSEmmanuel Vadot			port@0 {
5807ef62cebSEmmanuel Vadot				reg = <0>;
5817ef62cebSEmmanuel Vadot				usbc0_role_sw: endpoint@0 {
5827ef62cebSEmmanuel Vadot					remote-endpoint = <&dwc3_0_role_switch>;
5837ef62cebSEmmanuel Vadot				};
5847ef62cebSEmmanuel Vadot			};
5857ef62cebSEmmanuel Vadot		};
5867ef62cebSEmmanuel Vadot
5877ef62cebSEmmanuel Vadot		connector {
5887ef62cebSEmmanuel Vadot			compatible = "usb-c-connector";
5897ef62cebSEmmanuel Vadot			data-role = "dual";
5907ef62cebSEmmanuel Vadot			label = "USB-C";
5917ef62cebSEmmanuel Vadot
5927ef62cebSEmmanuel Vadot			ports {
5937ef62cebSEmmanuel Vadot				#address-cells = <1>;
5947ef62cebSEmmanuel Vadot				#size-cells = <0>;
5957ef62cebSEmmanuel Vadot
5967ef62cebSEmmanuel Vadot				port@0 {
5977ef62cebSEmmanuel Vadot					reg = <0>;
5987ef62cebSEmmanuel Vadot
5997ef62cebSEmmanuel Vadot					usbc_hs: endpoint {
6007ef62cebSEmmanuel Vadot						remote-endpoint = <&u2phy0_typec_hs>;
6017ef62cebSEmmanuel Vadot					};
6027ef62cebSEmmanuel Vadot				};
6037ef62cebSEmmanuel Vadot
6047ef62cebSEmmanuel Vadot				port@1 {
6057ef62cebSEmmanuel Vadot					reg = <1>;
6067ef62cebSEmmanuel Vadot
6077ef62cebSEmmanuel Vadot					usbc_ss: endpoint {
6087ef62cebSEmmanuel Vadot						remote-endpoint = <&tcphy0_typec_ss>;
6097ef62cebSEmmanuel Vadot					};
6107ef62cebSEmmanuel Vadot				};
6117ef62cebSEmmanuel Vadot			};
6127ef62cebSEmmanuel Vadot		};
6137ef62cebSEmmanuel Vadot	};
6147ef62cebSEmmanuel Vadot};
6157ef62cebSEmmanuel Vadot
6167ef62cebSEmmanuel Vadot&i2s1 {
6177ef62cebSEmmanuel Vadot	rockchip,playback-channels = <2>;
6187ef62cebSEmmanuel Vadot	rockchip,capture-channels = <2>;
6197ef62cebSEmmanuel Vadot	status = "okay";
6207ef62cebSEmmanuel Vadot};
6217ef62cebSEmmanuel Vadot
6227ef62cebSEmmanuel Vadot&i2s2 {
6237ef62cebSEmmanuel Vadot	status = "okay";
6247ef62cebSEmmanuel Vadot};
6257ef62cebSEmmanuel Vadot
6267ef62cebSEmmanuel Vadot&io_domains {
6277ef62cebSEmmanuel Vadot	status = "okay";
6287ef62cebSEmmanuel Vadot
6297ef62cebSEmmanuel Vadot	audio-supply = <&vcca1v8_codec>;
6307ef62cebSEmmanuel Vadot	bt656-supply = <&vcc_3v0>;
6317ef62cebSEmmanuel Vadot	gpio1830-supply = <&vcc_3v0>;
6327ef62cebSEmmanuel Vadot	sdmmc-supply = <&vcc_sdio>;
6337ef62cebSEmmanuel Vadot};
6347ef62cebSEmmanuel Vadot
6357ef62cebSEmmanuel Vadot&pmu_io_domains {
6367ef62cebSEmmanuel Vadot	status = "okay";
6377ef62cebSEmmanuel Vadot
6387ef62cebSEmmanuel Vadot	pmu1830-supply = <&vcc_3v0>;
6397ef62cebSEmmanuel Vadot};
6407ef62cebSEmmanuel Vadot
6417ef62cebSEmmanuel Vadot&pinctrl {
6427ef62cebSEmmanuel Vadot	buttons {
6437ef62cebSEmmanuel Vadot		pwrbtn: pwrbtn {
6447ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
6457ef62cebSEmmanuel Vadot		};
6467ef62cebSEmmanuel Vadot	};
6477ef62cebSEmmanuel Vadot
6487ef62cebSEmmanuel Vadot	bt {
6497ef62cebSEmmanuel Vadot		bt_enable_h: bt-enable-h {
6507ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
6517ef62cebSEmmanuel Vadot		};
6527ef62cebSEmmanuel Vadot
6537ef62cebSEmmanuel Vadot		bt_host_wake_l: bt-host-wake-l {
6547ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
6557ef62cebSEmmanuel Vadot		};
6567ef62cebSEmmanuel Vadot
6577ef62cebSEmmanuel Vadot		bt_wake_l: bt-wake-l {
6587ef62cebSEmmanuel Vadot			rockchip,pins = <2 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
6597ef62cebSEmmanuel Vadot		};
6607ef62cebSEmmanuel Vadot	};
6617ef62cebSEmmanuel Vadot
6627ef62cebSEmmanuel Vadot	fusb302x {
6637ef62cebSEmmanuel Vadot		fusb0_int: fusb0-int {
6647ef62cebSEmmanuel Vadot			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
6657ef62cebSEmmanuel Vadot		};
6667ef62cebSEmmanuel Vadot	};
6677ef62cebSEmmanuel Vadot
6687ef62cebSEmmanuel Vadot	lcd-panel {
6697ef62cebSEmmanuel Vadot		lcd_panel_reset: lcd-panel-reset {
6707ef62cebSEmmanuel Vadot			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
6717ef62cebSEmmanuel Vadot		};
6727ef62cebSEmmanuel Vadot	};
6737ef62cebSEmmanuel Vadot
6747ef62cebSEmmanuel Vadot	leds {
6757ef62cebSEmmanuel Vadot		work_led_pin: work-led-pin {
6767ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
6777ef62cebSEmmanuel Vadot		};
6787ef62cebSEmmanuel Vadot
6797ef62cebSEmmanuel Vadot		user_led_pin: user-led-pin {
6807ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
6817ef62cebSEmmanuel Vadot		};
6827ef62cebSEmmanuel Vadot
6837ef62cebSEmmanuel Vadot		heartbeat_led_pin: heartbeat-led-pin {
6847ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
6857ef62cebSEmmanuel Vadot		};
6867ef62cebSEmmanuel Vadot
6877ef62cebSEmmanuel Vadot		wlan_active_led_pin: wlan-led-pin {
6887ef62cebSEmmanuel Vadot			rockchip,pins = <2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
6897ef62cebSEmmanuel Vadot		};
6907ef62cebSEmmanuel Vadot
6917ef62cebSEmmanuel Vadot		bt_active_led_pin: bt-led-pin {
6927ef62cebSEmmanuel Vadot			rockchip,pins = <2 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
6937ef62cebSEmmanuel Vadot		};
6947ef62cebSEmmanuel Vadot
6957ef62cebSEmmanuel Vadot
6967ef62cebSEmmanuel Vadot	};
6977ef62cebSEmmanuel Vadot
6987ef62cebSEmmanuel Vadot	pmic {
6997ef62cebSEmmanuel Vadot		pmic_int_l: pmic-int-l {
7007ef62cebSEmmanuel Vadot			rockchip,pins = <1 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
7017ef62cebSEmmanuel Vadot		};
7027ef62cebSEmmanuel Vadot
7037ef62cebSEmmanuel Vadot		vsel1_pin: vsel1-pin {
7047ef62cebSEmmanuel Vadot			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
7057ef62cebSEmmanuel Vadot		};
7067ef62cebSEmmanuel Vadot
7077ef62cebSEmmanuel Vadot		vsel2_pin: vsel2-pin {
7087ef62cebSEmmanuel Vadot			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
7097ef62cebSEmmanuel Vadot		};
7107ef62cebSEmmanuel Vadot	};
7117ef62cebSEmmanuel Vadot
7127ef62cebSEmmanuel Vadot	rt5651 {
7137ef62cebSEmmanuel Vadot		rt5651_hpcon: rt5640-hpcon {
7147ef62cebSEmmanuel Vadot			rockchip,pins = <4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
7157ef62cebSEmmanuel Vadot		};
7167ef62cebSEmmanuel Vadot	};
7177ef62cebSEmmanuel Vadot
7187ef62cebSEmmanuel Vadot	sdio-pwrseq {
7197ef62cebSEmmanuel Vadot		wifi_enable_h: wifi-enable-h {
7207ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
7217ef62cebSEmmanuel Vadot		};
7227ef62cebSEmmanuel Vadot	};
7237ef62cebSEmmanuel Vadot
7247ef62cebSEmmanuel Vadot	usb-typec {
7257ef62cebSEmmanuel Vadot		vcc5v0_typec_en: vcc5v0_typec_en {
7267ef62cebSEmmanuel Vadot			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_up>;
7277ef62cebSEmmanuel Vadot		};
7287ef62cebSEmmanuel Vadot	};
7297ef62cebSEmmanuel Vadot
7307ef62cebSEmmanuel Vadot	usb2 {
7317ef62cebSEmmanuel Vadot		vcc5v0_host3_en: vcc5v0-host3-en {
7327ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
7337ef62cebSEmmanuel Vadot		};
7347ef62cebSEmmanuel Vadot
7357ef62cebSEmmanuel Vadot		vcc5v0_host1_en: vcc5v0-host1-en {
7367ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
7377ef62cebSEmmanuel Vadot		};
7387ef62cebSEmmanuel Vadot	};
7397ef62cebSEmmanuel Vadot
7407ef62cebSEmmanuel Vadot	wifi {
7417ef62cebSEmmanuel Vadot		wifi_host_wake_l: wifi-host-wake-l {
7427ef62cebSEmmanuel Vadot			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_none>;
7437ef62cebSEmmanuel Vadot		};
7447ef62cebSEmmanuel Vadot	};
7457ef62cebSEmmanuel Vadot};
7467ef62cebSEmmanuel Vadot
7477ef62cebSEmmanuel Vadot&pwm0 {
7487ef62cebSEmmanuel Vadot	status = "okay";
7497ef62cebSEmmanuel Vadot};
7507ef62cebSEmmanuel Vadot
7517ef62cebSEmmanuel Vadot&saradc {
7527ef62cebSEmmanuel Vadot	vref-supply = <&vcca1v8_s3>;
7537ef62cebSEmmanuel Vadot	status = "okay";
7547ef62cebSEmmanuel Vadot};
7557ef62cebSEmmanuel Vadot
7567ef62cebSEmmanuel Vadot&sdio0 {
7577ef62cebSEmmanuel Vadot	/* WiFi & BT combo module AMPAK AP6255 */
7587ef62cebSEmmanuel Vadot	#address-cells = <1>;
7597ef62cebSEmmanuel Vadot	#size-cells = <0>;
7607ef62cebSEmmanuel Vadot	bus-width = <4>;
7617ef62cebSEmmanuel Vadot	clock-frequency = <50000000>;
7627ef62cebSEmmanuel Vadot	cap-sdio-irq;
7637ef62cebSEmmanuel Vadot	cap-sd-highspeed;
7647ef62cebSEmmanuel Vadot	keep-power-in-suspend;
7657ef62cebSEmmanuel Vadot	mmc-pwrseq = <&sdio_pwrseq>;
7667ef62cebSEmmanuel Vadot	non-removable;
7677ef62cebSEmmanuel Vadot	pinctrl-names = "default";
7687ef62cebSEmmanuel Vadot	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
7697ef62cebSEmmanuel Vadot	sd-uhs-sdr104;
7707ef62cebSEmmanuel Vadot	status = "okay";
7717ef62cebSEmmanuel Vadot
7727ef62cebSEmmanuel Vadot	brcmf: wifi@1 {
7737ef62cebSEmmanuel Vadot		compatible = "brcm,bcm4329-fmac";
7747ef62cebSEmmanuel Vadot		reg = <1>;
7757ef62cebSEmmanuel Vadot		interrupt-parent = <&gpio0>;
776*f126890aSEmmanuel Vadot		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_HIGH>;
7777ef62cebSEmmanuel Vadot		interrupt-names = "host-wake";
7787ef62cebSEmmanuel Vadot		pinctrl-names = "default";
7797ef62cebSEmmanuel Vadot		pinctrl-0 = <&wifi_host_wake_l>;
7807ef62cebSEmmanuel Vadot	};
7817ef62cebSEmmanuel Vadot};
7827ef62cebSEmmanuel Vadot
7837ef62cebSEmmanuel Vadot&sdmmc {
7847ef62cebSEmmanuel Vadot	bus-width = <4>;
7857ef62cebSEmmanuel Vadot	cap-mmc-highspeed;
7867ef62cebSEmmanuel Vadot	cap-sd-highspeed;
7877ef62cebSEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
7887ef62cebSEmmanuel Vadot	disable-wp;
7897ef62cebSEmmanuel Vadot	max-frequency = <150000000>;
7907ef62cebSEmmanuel Vadot	pinctrl-names = "default";
7917ef62cebSEmmanuel Vadot	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
7927ef62cebSEmmanuel Vadot	status = "okay";
7937ef62cebSEmmanuel Vadot};
7947ef62cebSEmmanuel Vadot
7957ef62cebSEmmanuel Vadot&sdhci {
7967ef62cebSEmmanuel Vadot	bus-width = <8>;
7977ef62cebSEmmanuel Vadot	non-removable;
7987ef62cebSEmmanuel Vadot	status = "okay";
7997ef62cebSEmmanuel Vadot};
8007ef62cebSEmmanuel Vadot
8017ef62cebSEmmanuel Vadot&tcphy0 {
8027ef62cebSEmmanuel Vadot	status = "okay";
8037ef62cebSEmmanuel Vadot};
8047ef62cebSEmmanuel Vadot
8057ef62cebSEmmanuel Vadot&tcphy0_usb3 {
8067ef62cebSEmmanuel Vadot	orientation-switch;
8077ef62cebSEmmanuel Vadot	port {
8087ef62cebSEmmanuel Vadot		tcphy0_typec_ss: endpoint {
8097ef62cebSEmmanuel Vadot			remote-endpoint = <&usbc_ss>;
8107ef62cebSEmmanuel Vadot		};
8117ef62cebSEmmanuel Vadot	};
8127ef62cebSEmmanuel Vadot};
8137ef62cebSEmmanuel Vadot
8147ef62cebSEmmanuel Vadot&tcphy1 {
8157ef62cebSEmmanuel Vadot	status = "okay";
8167ef62cebSEmmanuel Vadot};
8177ef62cebSEmmanuel Vadot
8187ef62cebSEmmanuel Vadot&tsadc {
8197ef62cebSEmmanuel Vadot	/* tshut mode 0:CRU 1:GPIO */
8207ef62cebSEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
8217ef62cebSEmmanuel Vadot	/* tshut polarity 0:LOW 1:HIGH */
8227ef62cebSEmmanuel Vadot	rockchip,hw-tshut-polarity = <1>;
8237ef62cebSEmmanuel Vadot	status = "okay";
8247ef62cebSEmmanuel Vadot};
8257ef62cebSEmmanuel Vadot
8267ef62cebSEmmanuel Vadot&u2phy0 {
8277ef62cebSEmmanuel Vadot	status = "okay";
8287ef62cebSEmmanuel Vadot
8297ef62cebSEmmanuel Vadot	u2phy0_otg: otg-port {
8307ef62cebSEmmanuel Vadot		status = "okay";
8317ef62cebSEmmanuel Vadot	};
8327ef62cebSEmmanuel Vadot
8337ef62cebSEmmanuel Vadot	u2phy0_host: host-port {
8347ef62cebSEmmanuel Vadot		phy-supply = <&vcc5v0_host3>;
8357ef62cebSEmmanuel Vadot		status = "okay";
8367ef62cebSEmmanuel Vadot	};
8377ef62cebSEmmanuel Vadot
8387ef62cebSEmmanuel Vadot	port {
8397ef62cebSEmmanuel Vadot		u2phy0_typec_hs: endpoint {
8407ef62cebSEmmanuel Vadot			remote-endpoint = <&usbc_hs>;
8417ef62cebSEmmanuel Vadot		};
8427ef62cebSEmmanuel Vadot	};
8437ef62cebSEmmanuel Vadot};
8447ef62cebSEmmanuel Vadot
8457ef62cebSEmmanuel Vadot&u2phy1 {
8467ef62cebSEmmanuel Vadot	status = "okay";
8477ef62cebSEmmanuel Vadot
8487ef62cebSEmmanuel Vadot	u2phy1_otg: otg-port {
8497ef62cebSEmmanuel Vadot		status = "okay";
8507ef62cebSEmmanuel Vadot	};
8517ef62cebSEmmanuel Vadot
8527ef62cebSEmmanuel Vadot	u2phy1_host: host-port {
8537ef62cebSEmmanuel Vadot		phy-supply = <&vcc5v0_host3>;
8547ef62cebSEmmanuel Vadot		status = "okay";
8557ef62cebSEmmanuel Vadot	};
8567ef62cebSEmmanuel Vadot};
8577ef62cebSEmmanuel Vadot
8587ef62cebSEmmanuel Vadot&uart0 {
8597ef62cebSEmmanuel Vadot	pinctrl-names = "default";
8607ef62cebSEmmanuel Vadot	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
8617ef62cebSEmmanuel Vadot	status = "okay";
8627ef62cebSEmmanuel Vadot
8637ef62cebSEmmanuel Vadot	bluetooth {
8647ef62cebSEmmanuel Vadot		compatible = "brcm,bcm4345c5";
8657ef62cebSEmmanuel Vadot		clocks = <&rk808 1>;
8667ef62cebSEmmanuel Vadot		clock-names = "lpo";
8677ef62cebSEmmanuel Vadot		device-wakeup-gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_HIGH>;
8687ef62cebSEmmanuel Vadot		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
8697ef62cebSEmmanuel Vadot		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
8707ef62cebSEmmanuel Vadot		max-speed = <1500000>;
8717ef62cebSEmmanuel Vadot		pinctrl-names = "default";
8727ef62cebSEmmanuel Vadot		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
8737ef62cebSEmmanuel Vadot		vbat-supply = <&vcc3v3_sys>;
8747ef62cebSEmmanuel Vadot		vddio-supply = <&vcc_1v8>;
8757ef62cebSEmmanuel Vadot	};
8767ef62cebSEmmanuel Vadot};
8777ef62cebSEmmanuel Vadot
8787ef62cebSEmmanuel Vadot&uart2 {
8797ef62cebSEmmanuel Vadot	status = "okay";
8807ef62cebSEmmanuel Vadot};
8817ef62cebSEmmanuel Vadot
8827ef62cebSEmmanuel Vadot&usb_host0_ehci {
8837ef62cebSEmmanuel Vadot	status = "okay";
8847ef62cebSEmmanuel Vadot};
8857ef62cebSEmmanuel Vadot
8867ef62cebSEmmanuel Vadot&usb_host0_ohci {
8877ef62cebSEmmanuel Vadot	status = "okay";
8887ef62cebSEmmanuel Vadot};
8897ef62cebSEmmanuel Vadot
8907ef62cebSEmmanuel Vadot&usb_host1_ehci {
8917ef62cebSEmmanuel Vadot	status = "okay";
8927ef62cebSEmmanuel Vadot};
8937ef62cebSEmmanuel Vadot
8947ef62cebSEmmanuel Vadot&usb_host1_ohci {
8957ef62cebSEmmanuel Vadot	status = "okay";
8967ef62cebSEmmanuel Vadot};
8977ef62cebSEmmanuel Vadot
8987ef62cebSEmmanuel Vadot&usbdrd3_0 {
8997ef62cebSEmmanuel Vadot	status = "okay";
9007ef62cebSEmmanuel Vadot};
9017ef62cebSEmmanuel Vadot
9027ef62cebSEmmanuel Vadot&usbdrd_dwc3_0 {
9037ef62cebSEmmanuel Vadot	status = "okay";
9047ef62cebSEmmanuel Vadot	usb-role-switch;
9057ef62cebSEmmanuel Vadot
9067ef62cebSEmmanuel Vadot	port {
9077ef62cebSEmmanuel Vadot		#address-cells = <1>;
9087ef62cebSEmmanuel Vadot		#size-cells = <0>;
9097ef62cebSEmmanuel Vadot		dwc3_0_role_switch: endpoint@0 {
9107ef62cebSEmmanuel Vadot			reg = <0>;
9117ef62cebSEmmanuel Vadot			remote-endpoint = <&usbc0_role_sw>;
9127ef62cebSEmmanuel Vadot		};
9137ef62cebSEmmanuel Vadot	};
9147ef62cebSEmmanuel Vadot};
9157ef62cebSEmmanuel Vadot
9167ef62cebSEmmanuel Vadot&usbdrd3_1 {
9177ef62cebSEmmanuel Vadot	status = "okay";
9187ef62cebSEmmanuel Vadot};
9197ef62cebSEmmanuel Vadot
9207ef62cebSEmmanuel Vadot&usbdrd_dwc3_1 {
9217ef62cebSEmmanuel Vadot	status = "okay";
9227ef62cebSEmmanuel Vadot	dr_mode = "host";
9237ef62cebSEmmanuel Vadot};
9247ef62cebSEmmanuel Vadot
9257ef62cebSEmmanuel Vadot&vopb {
9267ef62cebSEmmanuel Vadot	status = "okay";
9277ef62cebSEmmanuel Vadot};
9287ef62cebSEmmanuel Vadot
9297ef62cebSEmmanuel Vadot&vopb_mmu {
9307ef62cebSEmmanuel Vadot	status = "okay";
9317ef62cebSEmmanuel Vadot};
9327ef62cebSEmmanuel Vadot
9337ef62cebSEmmanuel Vadot&vopl {
9347ef62cebSEmmanuel Vadot	status = "okay";
9357ef62cebSEmmanuel Vadot};
9367ef62cebSEmmanuel Vadot
9377ef62cebSEmmanuel Vadot&vopl_mmu {
9387ef62cebSEmmanuel Vadot	status = "okay";
9397ef62cebSEmmanuel Vadot};
940