rk3399-pinebook-pro.dts revision 1.3
11.1Sjmcneill// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
21.1Sjmcneill/*
31.1Sjmcneill * Copyright (c) 2017 Fuzhou Rockchip Electronics Co., Ltd.
41.1Sjmcneill * Copyright (c) 2018 Akash Gajjar <Akash_Gajjar@mentor.com>
51.1Sjmcneill */
61.1Sjmcneill
71.1Sjmcneill/dts-v1/;
81.1Sjmcneill#include <dt-bindings/input/linux-event-codes.h>
91.1Sjmcneill#include <dt-bindings/pwm/pwm.h>
101.1Sjmcneill#include <dt-bindings/usb/pd.h>
111.1Sjmcneill//#include <dt-bindings/leds/common.h>
121.1Sjmcneill#include <dt-bindings/pinctrl/rockchip.h>
131.1Sjmcneill#include "rk3399.dtsi"
141.1Sjmcneill#include "rk3399-opp.dtsi"
151.3Sriastrad#include "rk3399-crypto.dtsi"
161.1Sjmcneill
171.1Sjmcneill/ {
181.1Sjmcneill	model = "Pine64 Pinebook Pro";
191.1Sjmcneill	compatible = "pine64,pinebook-pro", "rockchip,rk3399";
201.1Sjmcneill
211.1Sjmcneill	edp_panel: edp-panel { /* "boe,nv140fhmn49" */
221.1Sjmcneill		compatible = "boe,nv140fhmn49", "simple-panel";
231.1Sjmcneill		backlight = <&backlight>;
241.1Sjmcneill		power-supply = <&vcc3v3_s0>;
251.1Sjmcneill//		pinctrl-names = "default";
261.1Sjmcneill//		pinctrl-0 = <&panel_en>;
271.1Sjmcneill		enable-gpios = <&gpio1 RK_PA0 GPIO_ACTIVE_HIGH>;
281.1Sjmcneill		prepare-delay-ms = <20>;
291.1Sjmcneill		enable-delay-ms = <20>;
301.1Sjmcneill		status = "okay";
311.1Sjmcneill
321.1Sjmcneill		ports {
331.1Sjmcneill	                #address-cells = <0x01>;
341.1Sjmcneill                        #size-cells = <0x00>;
351.1Sjmcneill			port@0 {
361.1Sjmcneill				panel_in_edp: endpoint@0 {
371.1Sjmcneill					remote-endpoint = <&edp_out_panel>;
381.1Sjmcneill				};
391.1Sjmcneill			};
401.1Sjmcneill		};
411.1Sjmcneill	};
421.1Sjmcneill
431.1Sjmcneill	chosen {
441.1Sjmcneill		bootargs = "earlycon=uart8250,mmio32,0xff1a0000";
451.1Sjmcneill		stdout-path = "serial2:1500000n8";
461.1Sjmcneill	};
471.1Sjmcneill
481.1Sjmcneill	leds {
491.1Sjmcneill		compatible = "gpio-leds";
501.1Sjmcneill		pinctrl-names = "default";
511.1Sjmcneill		pinctrl-0 = <&pwrled &slpled>;
521.1Sjmcneill
531.1Sjmcneill		/* Hack using active_low as inversion. A real, inverted trigger would be nicer */
541.1Sjmcneill		green-led {
551.1Sjmcneill			gpios = <&gpio0 RK_PB3 GPIO_ACTIVE_LOW>;
561.1Sjmcneill			label = "green:disk-activity";
571.1Sjmcneill//			function = LED_FUNCTION_POWER;
581.1Sjmcneill			linux,default-trigger = "disk-activity";
591.1Sjmcneill			default-state = "off";
601.1Sjmcneill//			color = <LED_COLOR_ID_GREEN>;
611.1Sjmcneill		};
621.1Sjmcneill
631.1Sjmcneill		red-led {
641.1Sjmcneill			gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_HIGH>;
651.1Sjmcneill			label = "red:standby";
661.1Sjmcneill//			function = LED_FUNCTION_STANDBY;
671.1Sjmcneill			default-state = "off";
681.1Sjmcneill			panic-indicator;
691.1Sjmcneill			retain-state-suspended;
701.1Sjmcneill//			color = <LED_COLOR_ID_RED>;
711.1Sjmcneill		};
721.1Sjmcneill	};
731.1Sjmcneill
741.1Sjmcneill	reserved-memory {
751.1Sjmcneill		#address-cells = <2>;
761.1Sjmcneill		#size-cells = <2>;
771.1Sjmcneill		ranges;
781.1Sjmcneill
791.1Sjmcneill		drm_logo: drm-logo@00000000 {
801.1Sjmcneill			compatible = "rockchip,drm-logo";
811.1Sjmcneill			reg = <0x0 0x0 0x0 0x0>;
821.1Sjmcneill		};
831.1Sjmcneill	};
841.1Sjmcneill
851.1Sjmcneill	dc_12v: dc-12v {
861.1Sjmcneill		compatible = "regulator-fixed";
871.1Sjmcneill		regulator-name = "dc_12v";
881.1Sjmcneill		regulator-always-on;
891.1Sjmcneill		regulator-boot-on;
901.1Sjmcneill		regulator-min-microvolt = <12000000>;
911.1Sjmcneill		regulator-max-microvolt = <12000000>;
921.1Sjmcneill	};
931.1Sjmcneill
941.1Sjmcneill	gpio-keys {
951.1Sjmcneill		compatible = "gpio-keys";
961.1Sjmcneill		autorepeat;
971.1Sjmcneill		pinctrl-names = "default";
981.1Sjmcneill		pinctrl-0 = <&pwrbtn &lidbtn>;
991.1Sjmcneill
1001.1Sjmcneill		power {
1011.1Sjmcneill			debounce-interval = <20>;
1021.1Sjmcneill			gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
1031.1Sjmcneill			label = "Power";
1041.1Sjmcneill			linux,code = <KEY_POWER>;
1051.1Sjmcneill			wakeup-source;
1061.1Sjmcneill		};
1071.1Sjmcneill
1081.1Sjmcneill		lid {
1091.1Sjmcneill			debounce-interval = <20>;
1101.1Sjmcneill			gpios = <&gpio1 RK_PA1 GPIO_ACTIVE_LOW>;
1111.1Sjmcneill			label = "Lid";
1121.1Sjmcneill			linux,code = <SW_LID>;
1131.1Sjmcneill			linux,input-type = <EV_SW>;
1141.1Sjmcneill			wakeup-source;
1151.1Sjmcneill		};
1161.1Sjmcneill	};
1171.1Sjmcneill	
1181.1Sjmcneill	backlight: edp-backlight {
1191.1Sjmcneill		compatible = "pwm-backlight";
1201.1Sjmcneill		pwms = <&pwm0 0 740740 0>;
1211.1Sjmcneill		power-supply = <&vcc3v3_s3>;
1221.1Sjmcneill		brightness-levels = <
1231.1Sjmcneill			  0   1   2   3   4   5   6   7
1241.1Sjmcneill			  8   9  10  11  12  13  14  15
1251.1Sjmcneill			 16  17  18  19  20  21  22  23
1261.1Sjmcneill			 24  25  26  27  28  29  30  31
1271.1Sjmcneill			 32  33  34  35  36  37  38  39
1281.1Sjmcneill			 40  41  42  43  44  45  46  47
1291.1Sjmcneill			 48  49  50  51  52  53  54  55
1301.1Sjmcneill			 56  57  58  59  60  61  62  63
1311.1Sjmcneill			 64  65  66  67  68  69  70  71
1321.1Sjmcneill			 72  73  74  75  76  77  78  79
1331.1Sjmcneill			 80  81  82  83  84  85  86  87
1341.1Sjmcneill			 88  89  90  91  92  93  94  95
1351.1Sjmcneill			 96  97  98  99 100 101 102 103
1361.1Sjmcneill			104 105 106 107 108 109 110 111
1371.1Sjmcneill			112 113 114 115 116 117 118 119
1381.1Sjmcneill			120 121 122 123 124 125 126 127
1391.1Sjmcneill			128 129 130 131 132 133 134 135
1401.1Sjmcneill			136 137 138 139 140 141 142 143
1411.1Sjmcneill			144 145 146 147 148 149 150 151
1421.1Sjmcneill			152 153 154 155 156 157 158 159
1431.1Sjmcneill			160 161 162 163 164 165 166 167
1441.1Sjmcneill			168 169 170 171 172 173 174 175
1451.1Sjmcneill			176 177 178 179 180 181 182 183
1461.1Sjmcneill			184 185 186 187 188 189 190 191
1471.1Sjmcneill			192 193 194 195 196 197 198 199
1481.1Sjmcneill			200 201 202 203 204 205 206 207
1491.1Sjmcneill			208 209 210 211 212 213 214 215
1501.1Sjmcneill			216 217 218 219 220 221 222 223
1511.1Sjmcneill			224 225 226 227 228 229 230 231
1521.1Sjmcneill			232 233 234 235 236 237 238 239
1531.1Sjmcneill			240 241 242 243 244 245 246 247
1541.1Sjmcneill			248 249 250 251 252 253 254 255>;
1551.1Sjmcneill		default-brightness-level = <200>;
1561.1Sjmcneill		status = "okay";
1571.1Sjmcneill	};
1581.1Sjmcneill
1591.1Sjmcneill	panel {
1601.1Sjmcneill		vcc_lcd_en_drv: vcc-lcd-en-drv {
1611.1Sjmcneill			rockchip,pins = <1 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
1621.1Sjmcneill		};
1631.1Sjmcneill
1641.1Sjmcneill		panel_en: panel-en {
1651.1Sjmcneill			rockchip,pins = <1 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
1661.1Sjmcneill		};
1671.1Sjmcneill	};
1681.1Sjmcneill
1691.1Sjmcneill	vcc_lcd_en: vcc-lcd-en-regulator {
1701.1Sjmcneill		compatible = "regulator-fixed";
1711.1Sjmcneill		enable-active-high;
1721.1Sjmcneill		gpio = <&gpio1 RK_PC6 GPIO_ACTIVE_HIGH>;
1731.1Sjmcneill//		pinctrl-names = "default";
1741.1Sjmcneill//		pinctrl-0 = <&vcc_lcd_en_drv>;
1751.1Sjmcneill		regulator-name = "vcc_lcd_en";
1761.1Sjmcneill		regulator-enable-ramp-delay = <100000>;
1771.1Sjmcneill		vin-supply = <&vcc3v3_sys>;
1781.1Sjmcneill		regulator-always-on;
1791.1Sjmcneill
1801.1Sjmcneill		regulator-state-mem {
1811.1Sjmcneill			regulator-off-in-suspend;
1821.1Sjmcneill		};
1831.1Sjmcneill	};
1841.1Sjmcneill
1851.1Sjmcneill	sdio_pwrseq: sdio-pwrseq {
1861.1Sjmcneill		compatible = "mmc-pwrseq-simple";
1871.1Sjmcneill		clocks = <&rk808 1>;
1881.1Sjmcneill		clock-names = "ext_clock";
1891.1Sjmcneill		pinctrl-names = "default";
1901.1Sjmcneill		pinctrl-0 = <&wifi_enable_h>;
1911.1Sjmcneill		power-off-delay-us = <500000>;
1921.1Sjmcneill		post-power-on-delay-ms = <100>;
1931.1Sjmcneill
1941.1Sjmcneill		/*
1951.1Sjmcneill		 * On the module itself this is one of these (depending
1961.1Sjmcneill		 * on the actual card populated):
1971.1Sjmcneill		 * - SDIO_RESET_L_WL_REG_ON
1981.1Sjmcneill		 * - PDN (power down when low)
1991.1Sjmcneill		 */
2001.1Sjmcneill		reset-gpios = <&gpio0 RK_PB2 GPIO_ACTIVE_LOW>;
2011.1Sjmcneill	};
2021.1Sjmcneill
2031.1Sjmcneill	wireless-wlan {
2041.1Sjmcneill		compatible = "wlan-platdata";
2051.1Sjmcneill		rockchip,grf = <&grf>;
2061.1Sjmcneill		wifi_chip_type = "ap6354";
2071.1Sjmcneill		sdio_vref = <1800>;
2081.1Sjmcneill		WIFI,host_wake_irq = <&gpio0 RK_PA3 GPIO_ACTIVE_HIGH>;
2091.1Sjmcneill		status = "okay";
2101.1Sjmcneill	};
2111.1Sjmcneill
2121.1Sjmcneill	es8316-sound {
2131.1Sjmcneill		status = "okay";
2141.1Sjmcneill		compatible = "simple-audio-card";
2151.1Sjmcneill		simple-audio-card,name = "rockchip,es8316-codec";
2161.1Sjmcneill		simple-audio-card,format = "i2s";
2171.1Sjmcneill		simple-audio-card,mclk-fs = <256>;
2181.1Sjmcneill
2191.1Sjmcneill		simple-audio-card,widgets =
2201.1Sjmcneill			"Microphone", "Mic Jack",
2211.1Sjmcneill			"Headphone", "Headphones",
2221.1Sjmcneill			"Speaker", "Speaker";
2231.1Sjmcneill		simple-audio-card,routing =
2241.1Sjmcneill			"MIC1", "Mic Jack",
2251.1Sjmcneill			"Headphones", "HPOL",
2261.1Sjmcneill			"Headphones", "HPOR",
2271.1Sjmcneill			"Speaker Amplifier INL", "HPOL",
2281.1Sjmcneill			"Speaker Amplifier INR", "HPOR",
2291.1Sjmcneill			"Speaker", "Speaker Amplifier OUTL",
2301.1Sjmcneill			"Speaker", "Speaker Amplifier OUTR";
2311.1Sjmcneill
2321.1Sjmcneill		simple-audio-card,hp-det-gpio = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
2331.1Sjmcneill		simple-audio-card,aux-devs = <&speaker_amp>;
2341.1Sjmcneill
2351.1Sjmcneill		simple-audio-card,cpu {
2361.1Sjmcneill			sound-dai = <&i2s1>;
2371.1Sjmcneill		};
2381.1Sjmcneill
2391.1Sjmcneill		simple-audio-card,codec {
2401.1Sjmcneill			sound-dai = <&es8316>;
2411.1Sjmcneill		};
2421.1Sjmcneill	};
2431.1Sjmcneill
2441.1Sjmcneill	speaker_amp: speaker-amplifier {
2451.1Sjmcneill		status = "okay";
2461.1Sjmcneill		compatible = "simple-audio-amplifier";
2471.1Sjmcneill		enable-gpios = <&gpio4 RK_PD3 GPIO_ACTIVE_HIGH>;
2481.1Sjmcneill		VCC-supply = <&vcc5v0_host>;
2491.1Sjmcneill		sound-name-prefix = "Speaker Amplifier";
2501.1Sjmcneill	};
2511.1Sjmcneill
2521.1Sjmcneill	/* switched by pmic_sleep */
2531.1Sjmcneill	vcc1v8_s3: vcca1v8_s3: vcc1v8-s3 {
2541.1Sjmcneill		compatible = "regulator-fixed";
2551.1Sjmcneill		regulator-name = "vcc1v8_s3";
2561.1Sjmcneill		regulator-always-on;
2571.1Sjmcneill		regulator-boot-on;
2581.1Sjmcneill		regulator-min-microvolt = <1800000>;
2591.1Sjmcneill		regulator-max-microvolt = <1800000>;
2601.1Sjmcneill		vin-supply = <&vcc_1v8>;
2611.1Sjmcneill	};
2621.1Sjmcneill
2631.1Sjmcneill	vcc3v3_pcie: vcc3v3-pcie-regulator {
2641.1Sjmcneill		compatible = "regulator-fixed";
2651.1Sjmcneill		enable-active-high;
2661.1Sjmcneill		gpio = <&gpio1 RK_PD0 GPIO_ACTIVE_HIGH>;
2671.1Sjmcneill		pinctrl-names = "default";
2681.1Sjmcneill		pinctrl-0 = <&pcie_pwr_en>;
2691.1Sjmcneill		regulator-name = "vcc3v3_pcie";
2701.1Sjmcneill		regulator-min-microvolt = <3300000>;
2711.1Sjmcneill		regulator-max-microvolt = <3300000>;
2721.1Sjmcneill		vin-supply = <&dc_12v>;
2731.1Sjmcneill	};
2741.1Sjmcneill
2751.1Sjmcneill	vcc_phy: vcc-phy-regulator {
2761.1Sjmcneill		compatible = "regulator-fixed";
2771.1Sjmcneill		regulator-name = "vcc_phy";
2781.1Sjmcneill		regulator-always-on;
2791.1Sjmcneill		regulator-boot-on;
2801.1Sjmcneill	};
2811.1Sjmcneill
2821.1Sjmcneill	vcc3v3_sys: vcc3v3-sys {
2831.1Sjmcneill		compatible = "regulator-fixed";
2841.1Sjmcneill		regulator-name = "vcc3v3_sys";
2851.1Sjmcneill		regulator-always-on;
2861.1Sjmcneill		regulator-boot-on;
2871.1Sjmcneill		regulator-min-microvolt = <3300000>;
2881.1Sjmcneill		regulator-max-microvolt = <3300000>;
2891.1Sjmcneill		vin-supply = <&vcc_sys>;
2901.1Sjmcneill	};
2911.1Sjmcneill
2921.1Sjmcneill	/* Actually 3 regulators (host0, 1, 2) controlled by the same gpio */
2931.1Sjmcneill	vcc5v0_host: vcc5v0-host-regulator {
2941.1Sjmcneill		compatible = "regulator-fixed";
2951.1Sjmcneill		enable-active-high;
2961.1Sjmcneill		gpio = <&gpio4 RK_PD2 GPIO_ACTIVE_HIGH>;
2971.1Sjmcneill		pinctrl-names = "default";
2981.1Sjmcneill		pinctrl-0 = <&vcc5v0_host_en>;
2991.1Sjmcneill		regulator-name = "vcc5v0_host";
3001.1Sjmcneill		regulator-always-on;
3011.1Sjmcneill		vin-supply = <&vcc_sys>;
3021.1Sjmcneill	};
3031.1Sjmcneill
3041.1Sjmcneill	vcc5v0_typec: vcc5v0-typec-regulator {
3051.1Sjmcneill		compatible = "regulator-fixed";
3061.1Sjmcneill		enable-active-high;
3071.1Sjmcneill		gpio = <&gpio1 RK_PA3 GPIO_ACTIVE_HIGH>;
3081.1Sjmcneill		pinctrl-names = "default";
3091.1Sjmcneill		pinctrl-0 = <&vcc5v0_typec_en>;
3101.1Sjmcneill		regulator-name = "vcc5v0_typec";
3111.1Sjmcneill		vin-supply = <&vcc_sys>;
3121.1Sjmcneill	};
3131.1Sjmcneill
3141.1Sjmcneill	vcc_sys: vcc-sys {
3151.1Sjmcneill		compatible = "regulator-fixed";
3161.1Sjmcneill		regulator-name = "vcc_sys";
3171.1Sjmcneill		regulator-always-on;
3181.1Sjmcneill		regulator-boot-on;
3191.1Sjmcneill		regulator-min-microvolt = <5000000>;
3201.1Sjmcneill		regulator-max-microvolt = <5000000>;
3211.1Sjmcneill		vin-supply = <&dc_12v>;
3221.1Sjmcneill	};
3231.1Sjmcneill
3241.1Sjmcneill	vdd_log: vdd-log {
3251.1Sjmcneill		compatible = "pwm-regulator";
3261.1Sjmcneill		pwms = <&pwm2 0 25000 1>;
3271.1Sjmcneill		pwm-supply = <&vcc_sys>;
3281.1Sjmcneill		regulator-name = "vdd_log";
3291.1Sjmcneill		regulator-always-on;
3301.1Sjmcneill		regulator-boot-on;
3311.1Sjmcneill		regulator-min-microvolt = <800000>;
3321.1Sjmcneill		regulator-max-microvolt = <1400000>;
3331.1Sjmcneill	};
3341.1Sjmcneill
3351.1Sjmcneill	mains_charger: dc-charger {
3361.1Sjmcneill		compatible = "gpio-charger";
3371.1Sjmcneill		charger-type = "mains";
3381.1Sjmcneill		gpios = <&gpio4 RK_PD0 GPIO_ACTIVE_LOW>;
3391.1Sjmcneill//		pinctrl-names = "default";
3401.1Sjmcneill//		pinctrl-0 = <&dc_det_gpio>;
3411.1Sjmcneill	};
3421.1Sjmcneill
3431.1Sjmcneill	usb_charger: usb-charger {
3441.1Sjmcneill		status = "okay";
3451.1Sjmcneill		compatible = "universal-charger";
3461.1Sjmcneill		extcon = <&fusb0>;
3471.1Sjmcneill	};
3481.1Sjmcneill};
3491.1Sjmcneill
3501.1Sjmcneill&edp {
3511.1Sjmcneill	status = "okay";
3521.1Sjmcneill	pinctrl-names = "default";
3531.1Sjmcneill	pinctrl-0 = <&edp_hpd>;
3541.1Sjmcneill	force-hpd;
3551.1Sjmcneill
3561.1Sjmcneill	ports {
3571.1Sjmcneill		edp_out: port@1 {
3581.1Sjmcneill			reg = <1>;
3591.1Sjmcneill			#address-cells = <1>;
3601.1Sjmcneill			#size-cells = <0>;
3611.1Sjmcneill
3621.1Sjmcneill			edp_out_panel: endpoint@0 {
3631.1Sjmcneill				reg = <0>;
3641.1Sjmcneill				remote-endpoint = <&panel_in_edp>;
3651.1Sjmcneill			};
3661.1Sjmcneill		};
3671.1Sjmcneill	};
3681.1Sjmcneill};
3691.1Sjmcneill
3701.1Sjmcneill&cdn_dp {
3711.1Sjmcneill	status = "okay";
3721.1Sjmcneill	extcon = <&fusb0>;
3731.1Sjmcneill};
3741.1Sjmcneill
3751.1Sjmcneill&cpu_l0 {
3761.1Sjmcneill	cpu-supply = <&vdd_cpu_l>;
3771.1Sjmcneill};
3781.1Sjmcneill
3791.1Sjmcneill&cpu_l1 {
3801.1Sjmcneill	cpu-supply = <&vdd_cpu_l>;
3811.1Sjmcneill};
3821.1Sjmcneill
3831.1Sjmcneill&cpu_l2 {
3841.1Sjmcneill	cpu-supply = <&vdd_cpu_l>;
3851.1Sjmcneill};
3861.1Sjmcneill
3871.1Sjmcneill&cpu_l3 {
3881.1Sjmcneill	cpu-supply = <&vdd_cpu_l>;
3891.1Sjmcneill};
3901.1Sjmcneill
3911.1Sjmcneill&cpu_b0 {
3921.1Sjmcneill	cpu-supply = <&vdd_cpu_b>;
3931.1Sjmcneill};
3941.1Sjmcneill
3951.1Sjmcneill&cpu_b1 {
3961.1Sjmcneill	cpu-supply = <&vdd_cpu_b>;
3971.1Sjmcneill};
3981.1Sjmcneill
3991.1Sjmcneill&cpu_alert0 {
4001.1Sjmcneill	temperature = <80000>;
4011.1Sjmcneill};
4021.1Sjmcneill
4031.1Sjmcneill&cpu_alert1 {
4041.1Sjmcneill	temperature = <95000>;
4051.1Sjmcneill};
4061.1Sjmcneill
4071.1Sjmcneill&cpu_crit {
4081.1Sjmcneill	temperature = <100000>;
4091.1Sjmcneill};
4101.1Sjmcneill
4111.1Sjmcneill&emmc_phy {
4121.1Sjmcneill	status = "okay";
4131.1Sjmcneill};
4141.1Sjmcneill
4151.1Sjmcneill&hdmi_sound {
4161.1Sjmcneill	status = "okay";
4171.1Sjmcneill};
4181.1Sjmcneill
4191.1Sjmcneill&hdmi {
4201.1Sjmcneill	ddc-i2c-bus = <&i2c3>;
4211.1Sjmcneill	pinctrl-names = "default";
4221.1Sjmcneill	pinctrl-0 = <&hdmi_cec>;
4231.1Sjmcneill	status = "disabled";
4241.1Sjmcneill};
4251.1Sjmcneill
4261.1Sjmcneill&gpu {
4271.1Sjmcneill	mali-supply = <&vdd_gpu>;
4281.1Sjmcneill	status = "okay";
4291.1Sjmcneill};
4301.1Sjmcneill
4311.1Sjmcneill&i2c0 {
4321.1Sjmcneill	clock-frequency = <400000>;
4331.1Sjmcneill	i2c-scl-rising-time-ns = <168>;
4341.1Sjmcneill	i2c-scl-falling-time-ns = <4>;
4351.1Sjmcneill	status = "okay";
4361.1Sjmcneill
4371.1Sjmcneill	rk808: pmic@1b {
4381.1Sjmcneill		compatible = "rockchip,rk808";
4391.1Sjmcneill		reg = <0x1b>;
4401.1Sjmcneill		interrupt-parent = <&gpio3>;
4411.1Sjmcneill		interrupts = <10 IRQ_TYPE_LEVEL_LOW>;
4421.1Sjmcneill		#clock-cells = <1>;
4431.1Sjmcneill		clock-output-names = "xin32k", "rk808-clkout2";
4441.1Sjmcneill		pinctrl-names = "default";
4451.1Sjmcneill		pinctrl-0 = <&pmic_int_l>;
4461.1Sjmcneill		rockchip,system-power-controller;
4471.1Sjmcneill		wakeup-source;
4481.1Sjmcneill
4491.1Sjmcneill		vcc1-supply = <&vcc_sys>;
4501.1Sjmcneill		vcc2-supply = <&vcc_sys>;
4511.1Sjmcneill		vcc3-supply = <&vcc_sys>;
4521.1Sjmcneill		vcc4-supply = <&vcc_sys>;
4531.1Sjmcneill		vcc6-supply = <&vcc_sys>;
4541.1Sjmcneill		vcc7-supply = <&vcc_sys>;
4551.1Sjmcneill		vcc8-supply = <&vcc3v3_sys>;
4561.1Sjmcneill		vcc9-supply = <&vcc_sys>;
4571.1Sjmcneill		vcc10-supply = <&vcc_sys>;
4581.1Sjmcneill		vcc11-supply = <&vcc_sys>;
4591.1Sjmcneill		vcc12-supply = <&vcc3v3_sys>;
4601.1Sjmcneill		vddio-supply = <&vcc1v8_pmu>;
4611.1Sjmcneill
4621.1Sjmcneill		regulators {
4631.1Sjmcneill			vdd_center: DCDC_REG1 {
4641.1Sjmcneill				regulator-name = "vdd_center";
4651.1Sjmcneill				regulator-always-on;
4661.1Sjmcneill				regulator-boot-on;
4671.1Sjmcneill				regulator-min-microvolt = <750000>;
4681.1Sjmcneill				regulator-max-microvolt = <1350000>;
4691.1Sjmcneill				regulator-ramp-delay = <6001>;
4701.1Sjmcneill				regulator-state-mem {
4711.1Sjmcneill					regulator-off-in-suspend;
4721.1Sjmcneill				};
4731.1Sjmcneill			};
4741.1Sjmcneill
4751.1Sjmcneill			vdd_cpu_l: DCDC_REG2 {
4761.1Sjmcneill				regulator-name = "vdd_cpu_l";
4771.1Sjmcneill				regulator-always-on;
4781.1Sjmcneill				regulator-boot-on;
4791.1Sjmcneill				regulator-min-microvolt = <750000>;
4801.1Sjmcneill				regulator-max-microvolt = <1350000>;
4811.1Sjmcneill				regulator-ramp-delay = <6001>;
4821.1Sjmcneill				regulator-state-mem {
4831.1Sjmcneill					regulator-off-in-suspend;
4841.1Sjmcneill				};
4851.1Sjmcneill			};
4861.1Sjmcneill
4871.1Sjmcneill			vcc_ddr: DCDC_REG3 {
4881.1Sjmcneill				regulator-name = "vcc_ddr";
4891.1Sjmcneill				regulator-always-on;
4901.1Sjmcneill				regulator-boot-on;
4911.1Sjmcneill				regulator-state-mem {
4921.1Sjmcneill					regulator-on-in-suspend;
4931.1Sjmcneill				};
4941.1Sjmcneill			};
4951.1Sjmcneill
4961.1Sjmcneill			vcc_1v8: DCDC_REG4 {
4971.1Sjmcneill				regulator-name = "vcc_1v8";
4981.1Sjmcneill				regulator-always-on;
4991.1Sjmcneill				regulator-boot-on;
5001.1Sjmcneill				regulator-min-microvolt = <1800000>;
5011.1Sjmcneill				regulator-max-microvolt = <1800000>;
5021.1Sjmcneill				regulator-state-mem {
5031.1Sjmcneill					regulator-on-in-suspend;
5041.1Sjmcneill					regulator-suspend-microvolt = <1800000>;
5051.1Sjmcneill				};
5061.1Sjmcneill			};
5071.1Sjmcneill
5081.1Sjmcneill			vcc1v8_dvp: LDO_REG1 {
5091.1Sjmcneill				regulator-name = "vcc1v8_dvp";
5101.1Sjmcneill				regulator-always-on;
5111.1Sjmcneill				regulator-boot-on;
5121.1Sjmcneill				regulator-min-microvolt = <1800000>;
5131.1Sjmcneill				regulator-max-microvolt = <1800000>;
5141.1Sjmcneill				regulator-state-mem {
5151.1Sjmcneill					regulator-off-in-suspend;
5161.1Sjmcneill				};
5171.1Sjmcneill			};
5181.1Sjmcneill
5191.1Sjmcneill			vcc3v0_touch: LDO_REG2 {
5201.1Sjmcneill				regulator-name = "vcc3v0_touch";
5211.1Sjmcneill				regulator-always-on;
5221.1Sjmcneill				regulator-boot-on;
5231.1Sjmcneill				regulator-min-microvolt = <3000000>;
5241.1Sjmcneill				regulator-max-microvolt = <3000000>;
5251.1Sjmcneill				regulator-state-mem {
5261.1Sjmcneill					regulator-off-in-suspend;
5271.1Sjmcneill				};
5281.1Sjmcneill			};
5291.1Sjmcneill
5301.1Sjmcneill			vcc1v8_pmu: LDO_REG3 {
5311.1Sjmcneill				regulator-name = "vcc1v8_pmu";
5321.1Sjmcneill				regulator-always-on;
5331.1Sjmcneill				regulator-boot-on;
5341.1Sjmcneill				regulator-min-microvolt = <1800000>;
5351.1Sjmcneill				regulator-max-microvolt = <1800000>;
5361.1Sjmcneill				regulator-state-mem {
5371.1Sjmcneill					regulator-on-in-suspend;
5381.1Sjmcneill					regulator-suspend-microvolt = <1800000>;
5391.1Sjmcneill				};
5401.1Sjmcneill			};
5411.1Sjmcneill
5421.1Sjmcneill			vcc_sdio: LDO_REG4 {
5431.1Sjmcneill				regulator-name = "vcc_sdio";
5441.1Sjmcneill				regulator-always-on;
5451.1Sjmcneill				regulator-boot-on;
5461.1Sjmcneill				regulator-min-microvolt = <1800000>;
5471.1Sjmcneill				regulator-max-microvolt = <3000000>;
5481.1Sjmcneill				regulator-state-mem {
5491.1Sjmcneill					regulator-on-in-suspend;
5501.1Sjmcneill					regulator-suspend-microvolt = <3000000>;
5511.1Sjmcneill				};
5521.1Sjmcneill			};
5531.1Sjmcneill
5541.1Sjmcneill			vcca3v0_codec: LDO_REG5 {
5551.1Sjmcneill				regulator-name = "vcca3v0_codec";
5561.1Sjmcneill				regulator-always-on;
5571.1Sjmcneill				regulator-boot-on;
5581.1Sjmcneill				regulator-min-microvolt = <3000000>;
5591.1Sjmcneill				regulator-max-microvolt = <3000000>;
5601.1Sjmcneill				regulator-state-mem {
5611.1Sjmcneill					regulator-off-in-suspend;
5621.1Sjmcneill				};
5631.1Sjmcneill			};
5641.1Sjmcneill
5651.1Sjmcneill			vcc_1v5: LDO_REG6 {
5661.1Sjmcneill				regulator-name = "vcc_1v5";
5671.1Sjmcneill				regulator-always-on;
5681.1Sjmcneill				regulator-boot-on;
5691.1Sjmcneill				regulator-min-microvolt = <1500000>;
5701.1Sjmcneill				regulator-max-microvolt = <1500000>;
5711.1Sjmcneill				regulator-state-mem {
5721.1Sjmcneill					regulator-on-in-suspend;
5731.1Sjmcneill					regulator-suspend-microvolt = <1500000>;
5741.1Sjmcneill				};
5751.1Sjmcneill			};
5761.1Sjmcneill
5771.1Sjmcneill			vcca1v8_codec: LDO_REG7 {
5781.1Sjmcneill				regulator-name = "vcca1v8_codec";
5791.1Sjmcneill				regulator-always-on;
5801.1Sjmcneill				regulator-boot-on;
5811.1Sjmcneill				regulator-min-microvolt = <1800000>;
5821.1Sjmcneill				regulator-max-microvolt = <1800000>;
5831.1Sjmcneill				regulator-state-mem {
5841.1Sjmcneill					regulator-off-in-suspend;
5851.1Sjmcneill				};
5861.1Sjmcneill			};
5871.1Sjmcneill
5881.1Sjmcneill			vcc_3v0: LDO_REG8 {
5891.1Sjmcneill				regulator-name = "vcc_3v0";
5901.1Sjmcneill				regulator-always-on;
5911.1Sjmcneill				regulator-boot-on;
5921.1Sjmcneill				regulator-min-microvolt = <3000000>;
5931.1Sjmcneill				regulator-max-microvolt = <3000000>;
5941.1Sjmcneill				regulator-state-mem {
5951.1Sjmcneill					regulator-on-in-suspend;
5961.1Sjmcneill					regulator-suspend-microvolt = <3000000>;
5971.1Sjmcneill				};
5981.1Sjmcneill			};
5991.1Sjmcneill
6001.1Sjmcneill			vcc3v3_s3: vcc_lan: SWITCH_REG1 {
6011.1Sjmcneill				regulator-name = "vcc3v3_s3";
6021.1Sjmcneill				regulator-always-on;
6031.1Sjmcneill				regulator-boot-on;
6041.1Sjmcneill				regulator-state-mem {
6051.1Sjmcneill					regulator-off-in-suspend;
6061.1Sjmcneill				};
6071.1Sjmcneill			};
6081.1Sjmcneill
6091.1Sjmcneill			vcc3v3_s0: SWITCH_REG2 {
6101.1Sjmcneill				regulator-name = "vcc3v3_s0";
6111.1Sjmcneill				regulator-always-on;
6121.1Sjmcneill				regulator-boot-on;
6131.1Sjmcneill				regulator-state-mem {
6141.1Sjmcneill					regulator-off-in-suspend;
6151.1Sjmcneill				};
6161.1Sjmcneill			};
6171.1Sjmcneill		};
6181.1Sjmcneill	};
6191.1Sjmcneill
6201.1Sjmcneill	vdd_cpu_b: regulator@40 {
6211.1Sjmcneill		compatible = "silergy,syr827";
6221.1Sjmcneill		reg = <0x40>;
6231.1Sjmcneill		fcs,suspend-voltage-selector = <1>;
6241.1Sjmcneill		pinctrl-names = "default";
6251.1Sjmcneill		pinctrl-0 = <&vsel1_gpio>;
6261.1Sjmcneill		vsel-gpios = <&gpio1 RK_PC1 GPIO_ACTIVE_HIGH>;
6271.1Sjmcneill		regulator-compatible = "fan53555-reg";
6281.1Sjmcneill		regulator-name = "vdd_cpu_b";
6291.1Sjmcneill		regulator-min-microvolt = <712500>;
6301.1Sjmcneill		regulator-max-microvolt = <1500000>;
6311.1Sjmcneill		regulator-ramp-delay = <1000>;
6321.1Sjmcneill		regulator-always-on;
6331.1Sjmcneill		regulator-boot-on;
6341.1Sjmcneill		vin-supply = <&vcc_sys>;
6351.1Sjmcneill
6361.1Sjmcneill		regulator-state-mem {
6371.1Sjmcneill			regulator-off-in-suspend;
6381.1Sjmcneill		};
6391.1Sjmcneill	};
6401.1Sjmcneill
6411.1Sjmcneill	vdd_gpu: regulator@41 {
6421.1Sjmcneill		compatible = "silergy,syr828";
6431.1Sjmcneill		reg = <0x41>;
6441.1Sjmcneill		fcs,suspend-voltage-selector = <1>;
6451.1Sjmcneill		pinctrl-names = "default";
6461.1Sjmcneill		pinctrl-0 = <&vsel2_gpio>;
6471.1Sjmcneill		vsel-gpios = <&gpio1 RK_PB6 GPIO_ACTIVE_HIGH>;
6481.1Sjmcneill		regulator-compatible = "fan53555-reg";
6491.1Sjmcneill		regulator-name = "vdd_gpu";
6501.1Sjmcneill		regulator-min-microvolt = <712500>;
6511.1Sjmcneill		regulator-max-microvolt = <1500000>;
6521.1Sjmcneill		regulator-ramp-delay = <1000>;
6531.1Sjmcneill		regulator-always-on;
6541.1Sjmcneill		regulator-boot-on;
6551.1Sjmcneill		vin-supply = <&vcc_sys>;
6561.1Sjmcneill
6571.1Sjmcneill		regulator-state-mem {
6581.1Sjmcneill			regulator-off-in-suspend;
6591.1Sjmcneill		};
6601.1Sjmcneill	};
6611.1Sjmcneill};
6621.1Sjmcneill
6631.1Sjmcneill&i2c1 {
6641.1Sjmcneill	i2c-scl-rising-time-ns = <168>;
6651.1Sjmcneill	i2c-scl-falling-time-ns = <4>;
6661.1Sjmcneill	status = "okay";
6671.1Sjmcneill
6681.1Sjmcneill	clock-frequency = <100000>;
6691.1Sjmcneill
6701.1Sjmcneill	es8316: es8316@11 {
6711.1Sjmcneill		#sound-dai-cells = <0>;
6721.1Sjmcneill		compatible = "everest,es8316";
6731.1Sjmcneill		reg = <0x11>;
6741.1Sjmcneill		clocks = <&cru SCLK_I2S_8CH_OUT>;
6751.1Sjmcneill		clock-names = "mclk";
6761.1Sjmcneill	};
6771.1Sjmcneill};
6781.1Sjmcneill
6791.1Sjmcneill&i2c3 {
6801.1Sjmcneill	i2c-scl-rising-time-ns = <450>;
6811.1Sjmcneill	i2c-scl-falling-time-ns = <15>;
6821.1Sjmcneill	status = "okay";
6831.1Sjmcneill};
6841.1Sjmcneill
6851.1Sjmcneill
6861.1Sjmcneill
6871.1Sjmcneill&i2c4 {
6881.1Sjmcneill	i2c-scl-rising-time-ns = <600>;
6891.1Sjmcneill	i2c-scl-falling-time-ns = <20>;
6901.1Sjmcneill	status = "okay";
6911.1Sjmcneill
6921.1Sjmcneill	fusb0: fusb30x@22 {
6931.1Sjmcneill		compatible = "fcs,fusb302";
6941.1Sjmcneill		reg = <0x22>;
6951.1Sjmcneill		pinctrl-names = "default";
6961.1Sjmcneill		pinctrl-0 = <&fusb0_int>;
6971.1Sjmcneill		fcs,int_n = <&gpio1 RK_PA2 GPIO_ACTIVE_HIGH>;
6981.1Sjmcneill		vbus-supply = <&vcc5v0_typec>;
6991.1Sjmcneill		status = "okay";
7001.1Sjmcneill		connector {
7011.1Sjmcneill			compatible = "usb-c-connector";
7021.1Sjmcneill			label = "USB-C";
7031.1Sjmcneill			power-role = "dual";
7041.1Sjmcneill			try-power-role = "sink";
7051.1Sjmcneill			source-pdos = <PDO_FIXED(5000, 1400, PDO_FIXED_USB_COMM)>;
7061.1Sjmcneill			sink-pdos = <PDO_FIXED(5000, 2500, PDO_FIXED_USB_COMM)>;
7071.1Sjmcneill			op-sink-microwatt = <1000000>;
7081.1Sjmcneill			extcon-cables = <1 2 5 6 9 10 12 44>;
7091.1Sjmcneill			typec-altmodes = <0xff01 1 0x001c0000 1>;
7101.1Sjmcneill		};
7111.1Sjmcneill	};
7121.1Sjmcneill
7131.1Sjmcneill	cw2015@62 {
7141.1Sjmcneill		status = "okay";
7151.1Sjmcneill		compatible = "cellwise,cw201x";
7161.1Sjmcneill		reg = <0x62>;
7171.1Sjmcneill		cellwise,bat-config-info = <
7181.1Sjmcneill			0x17 0x67 0x80 0x73 0x6E 0x6C 0x6B 0x63
7191.1Sjmcneill			0x77 0x51 0x5C 0x58 0x50 0x4C 0x48 0x36
7201.1Sjmcneill			0x15 0x0C 0x0C 0x19 0x5B 0x7D 0x6F 0x69
7211.1Sjmcneill			0x69 0x5B 0x0C 0x29 0x20 0x40 0x52 0x59
7221.1Sjmcneill			0x57 0x56 0x54 0x4F 0x3B 0x1F 0x7F 0x17
7231.1Sjmcneill			0x06 0x1A 0x30 0x5A 0x85 0x93 0x96 0x2D
7241.1Sjmcneill			0x48 0x77 0x9C 0xB3 0x80 0x52 0x94 0xCB
7251.1Sjmcneill			0x2F 0x00 0x64 0xA5 0xB5 0x11 0xF0 0x11
7261.1Sjmcneill		>;
7271.1Sjmcneill		cellwise,monitor-interval = <5>;
7281.1Sjmcneill		cellwise,virtual-power = <0>;
7291.1Sjmcneill		cellwise,design-capacity = <9800>;
7301.1Sjmcneill		power-supplies = <&mains_charger>, <&fusb0>;
7311.1Sjmcneill	};
7321.1Sjmcneill};
7331.1Sjmcneill
7341.1Sjmcneill&i2s0 {
7351.1Sjmcneill	status = "disabled";
7361.1Sjmcneill};
7371.1Sjmcneill
7381.1Sjmcneill&i2s1 {
7391.1Sjmcneill	rockchip,i2s-broken-burst-len;
7401.1Sjmcneill	rockchip,playback-channels = <8>;
7411.1Sjmcneill	rockchip,capture-channels = <8>;
7421.1Sjmcneill	#sound-dai-cells = <0>;
7431.1Sjmcneill	pinctrl-names = "default";
7441.1Sjmcneill	pinctrl-0 = <&i2s_8ch_mclk>, <&i2s1_2ch_bus>;
7451.1Sjmcneill	status = "okay";
7461.1Sjmcneill};
7471.1Sjmcneill
7481.1Sjmcneill&i2s2 {
7491.1Sjmcneill	#sound-dai-cells = <0>;
7501.1Sjmcneill	status = "disabled";
7511.1Sjmcneill};
7521.1Sjmcneill
7531.1Sjmcneill&io_domains {
7541.1Sjmcneill	status = "okay";
7551.1Sjmcneill
7561.1Sjmcneill	bt656-supply = <&vcc1v8_dvp>;
7571.1Sjmcneill	audio-supply = <&vcca1v8_codec>;
7581.1Sjmcneill	sdmmc-supply = <&vcc_sdio>;
7591.1Sjmcneill	gpio1830-supply = <&vcc_3v0>;
7601.1Sjmcneill};
7611.1Sjmcneill
7621.1Sjmcneill&pcie_phy {
7631.1Sjmcneill	status = "okay";
7641.1Sjmcneill};
7651.1Sjmcneill
7661.1Sjmcneill&pcie0 {
7671.1Sjmcneill	ep-gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_HIGH>;
7681.1Sjmcneill	num-lanes = <4>;
7691.1Sjmcneill	max-link-speed = <2>;
7701.1Sjmcneill	pinctrl-names = "default";
7711.1Sjmcneill	pinctrl-0 = <&pcie_clkreqn_cpm>;
7721.1Sjmcneill	vpcie3v3-supply = <&vcc3v3_pcie>;
7731.1Sjmcneill	bus-scan-delay-ms = <1000>;
7741.1Sjmcneill	status = "okay";
7751.1Sjmcneill};
7761.1Sjmcneill
7771.1Sjmcneill&pmu_io_domains {
7781.1Sjmcneill	pmu1830-supply = <&vcc_3v0>;
7791.1Sjmcneill	status = "okay";
7801.1Sjmcneill};
7811.1Sjmcneill
7821.1Sjmcneill&cluster1_opp {
7831.1Sjmcneill	opp08 {
7841.1Sjmcneill		opp-hz = /bits/ 64 <2000000000>;
7851.1Sjmcneill		opp-microvolt = <1300000>;
7861.1Sjmcneill	};
7871.1Sjmcneill};
7881.1Sjmcneill
7891.1Sjmcneill&pinctrl {
7901.1Sjmcneill	buttons {
7911.1Sjmcneill		pwrbtn: pwrbtn {
7921.1Sjmcneill			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_up>;
7931.1Sjmcneill		};
7941.1Sjmcneill		lidbtn: lidbtn {
7951.1Sjmcneill			rockchip,pins = <1 RK_PA1 RK_FUNC_GPIO &pcfg_pull_up>;
7961.1Sjmcneill		};
7971.1Sjmcneill	};
7981.1Sjmcneill
7991.1Sjmcneill	dc-charger {
8001.1Sjmcneill		dc_det_gpio: dc-det-gpio {
8011.1Sjmcneill			rockchip,pins = <4 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
8021.1Sjmcneill		};
8031.1Sjmcneill	};
8041.1Sjmcneill
8051.1Sjmcneill	fusb302x {
8061.1Sjmcneill		fusb0_int: fusb0-int {
8071.1Sjmcneill			rockchip,pins = <1 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
8081.1Sjmcneill		};
8091.1Sjmcneill	};
8101.1Sjmcneill
8111.1Sjmcneill	leds {
8121.1Sjmcneill		pwrled: pwrled {
8131.1Sjmcneill			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
8141.1Sjmcneill		};
8151.1Sjmcneill
8161.1Sjmcneill		slpled: slpled {
8171.1Sjmcneill			rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
8181.1Sjmcneill		};
8191.1Sjmcneill	};
8201.1Sjmcneill
8211.1Sjmcneill	lcd-panel {
8221.1Sjmcneill		lcd_panel_reset: lcd-panel-reset {
8231.1Sjmcneill			rockchip,pins = <4 RK_PD6 RK_FUNC_GPIO &pcfg_pull_up>;
8241.1Sjmcneill		};
8251.1Sjmcneill	};
8261.1Sjmcneill
8271.1Sjmcneill	pcie {
8281.1Sjmcneill		pcie_pwr_en: pcie-pwr-en {
8291.1Sjmcneill			rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_none>;
8301.1Sjmcneill		};
8311.1Sjmcneill	};
8321.1Sjmcneill
8331.1Sjmcneill	pmic {
8341.1Sjmcneill		pmic_int_l: pmic-int-l {
8351.1Sjmcneill			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
8361.1Sjmcneill		};
8371.1Sjmcneill
8381.1Sjmcneill		vsel1_gpio: vsel1-gpio {
8391.1Sjmcneill			rockchip,pins = <1 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
8401.1Sjmcneill		};
8411.1Sjmcneill
8421.1Sjmcneill		vsel2_gpio: vsel2-gpio {
8431.1Sjmcneill			rockchip,pins = <1 RK_PB6 RK_FUNC_GPIO &pcfg_pull_down>;
8441.1Sjmcneill		};
8451.1Sjmcneill	};
8461.1Sjmcneill
8471.1Sjmcneill	sdio-pwrseq {
8481.1Sjmcneill		wifi_enable_h: wifi-enable-h {
8491.1Sjmcneill			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
8501.1Sjmcneill		};
8511.1Sjmcneill	};
8521.1Sjmcneill
8531.1Sjmcneill	usb-typec {
8541.1Sjmcneill		vcc5v0_typec_en: vcc5v0_typec_en {
8551.1Sjmcneill			rockchip,pins = <1 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
8561.1Sjmcneill		};
8571.1Sjmcneill	};
8581.1Sjmcneill
8591.1Sjmcneill	usb2 {
8601.1Sjmcneill		vcc5v0_host_en: vcc5v0-host-en {
8611.1Sjmcneill			rockchip,pins = <4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
8621.1Sjmcneill		};
8631.1Sjmcneill	};
8641.1Sjmcneill
8651.1Sjmcneill	i2s1 {
8661.1Sjmcneill		i2s_8ch_mclk: i2s-8ch-mclk {
8671.1Sjmcneill			rockchip,pins = <4 0 RK_FUNC_1 &pcfg_pull_none>;
8681.1Sjmcneill		};
8691.1Sjmcneill	};
8701.1Sjmcneill
8711.1Sjmcneill	wireless-bluetooth {
8721.1Sjmcneill		bt_wake_gpio: bt-wake {
8731.1Sjmcneill			rockchip,pins =
8741.1Sjmcneill				<2 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
8751.1Sjmcneill		};
8761.1Sjmcneill		bt_host_wake_gpio: bt-host-wake {
8771.1Sjmcneill			rockchip,pins =
8781.1Sjmcneill				<0 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
8791.1Sjmcneill		};
8801.1Sjmcneill
8811.1Sjmcneill		bt_reset_gpio: bt-reset {
8821.1Sjmcneill			rockchip,pins =
8831.1Sjmcneill				<0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
8841.1Sjmcneill		};
8851.1Sjmcneill	};
8861.1Sjmcneill};
8871.1Sjmcneill
8881.1Sjmcneill&pwm0 {
8891.1Sjmcneill	status = "okay";
8901.1Sjmcneill};
8911.1Sjmcneill
8921.1Sjmcneill&pwm2 {
8931.1Sjmcneill	status = "okay";
8941.1Sjmcneill};
8951.1Sjmcneill
8961.1Sjmcneill&saradc {
8971.1Sjmcneill	vref-supply = <&vcca1v8_s3>;
8981.1Sjmcneill	status = "okay";
8991.1Sjmcneill};
9001.1Sjmcneill
9011.1Sjmcneill&sdmmc {
9021.1Sjmcneill	bus-width = <4>;
9031.1Sjmcneill	cap-mmc-highspeed;
9041.1Sjmcneill	cap-sd-highspeed;
9051.1Sjmcneill	cd-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_LOW>;
9061.1Sjmcneill	disable-wp;
9071.1Sjmcneill	sd-uhs-sdr104;
9081.1Sjmcneill	max-frequency = <150000000>;
9091.1Sjmcneill	vqmmc-supply = <&vcc_sdio>;
9101.1Sjmcneill	pinctrl-names = "default";
9111.1Sjmcneill	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_bus4>;
9121.1Sjmcneill	status = "okay";
9131.1Sjmcneill};
9141.1Sjmcneill
9151.1Sjmcneill&sdio0 {
9161.1Sjmcneill	supports-sdio;
9171.1Sjmcneill	bus-width = <4>;
9181.1Sjmcneill	disable-wp;
9191.1Sjmcneill	cap-sd-highspeed;
9201.1Sjmcneill	cap-sdio-irq;
9211.1Sjmcneill	keep-power-in-suspend;
9221.1Sjmcneill	mmc-pwrseq = <&sdio_pwrseq>;
9231.1Sjmcneill	non-removable;
9241.1Sjmcneill	num-slots = <1>;
9251.1Sjmcneill	pinctrl-names = "default";
9261.1Sjmcneill	pinctrl-0 = <&sdio0_bus4 &sdio0_cmd &sdio0_clk>;
9271.1Sjmcneill	sd-uhs-sdr104;
9281.1Sjmcneill	status = "okay";
9291.1Sjmcneill	defer_pcie = <2000>;
9301.1Sjmcneill};
9311.1Sjmcneill
9321.1Sjmcneill&sdhci {
9331.1Sjmcneill	bus-width = <8>;
9341.1Sjmcneill	//mmc-hs400-1_8v;
9351.1Sjmcneill	mmc-hs200-1_8v;
9361.1Sjmcneill	//mmc-hs400-enhanced-strobe;
9371.1Sjmcneill	non-removable;
9381.1Sjmcneill	status = "okay";
9391.1Sjmcneill};
9401.1Sjmcneill
9411.1Sjmcneill&tcphy0 {
9421.1Sjmcneill	extcon = <&fusb0>;
9431.1Sjmcneill	status = "okay";
9441.1Sjmcneill};
9451.1Sjmcneill
9461.1Sjmcneill&tcphy1 {
9471.1Sjmcneill	status = "okay";
9481.1Sjmcneill};
9491.1Sjmcneill
9501.1Sjmcneill&tsadc {
9511.1Sjmcneill	/* tshut mode 0:CRU 1:GPIO */
9521.1Sjmcneill	rockchip,hw-tshut-mode = <1>;
9531.1Sjmcneill	/* tshut polarity 0:LOW 1:HIGH */
9541.1Sjmcneill	rockchip,hw-tshut-polarity = <1>;
9551.1Sjmcneill	status = "okay";
9561.1Sjmcneill};
9571.1Sjmcneill
9581.1Sjmcneill&u2phy0 {
9591.1Sjmcneill	status = "okay";
9601.1Sjmcneill
9611.1Sjmcneill	u2phy0_otg: otg-port {
9621.1Sjmcneill		status = "okay";
9631.1Sjmcneill	};
9641.1Sjmcneill
9651.1Sjmcneill	u2phy0_host: host-port {
9661.1Sjmcneill		phy-supply = <&vcc5v0_host>;
9671.1Sjmcneill		status = "okay";
9681.1Sjmcneill	};
9691.1Sjmcneill};
9701.1Sjmcneill
9711.1Sjmcneill&u2phy1 {
9721.1Sjmcneill	status = "okay";
9731.1Sjmcneill
9741.1Sjmcneill	u2phy1_otg: otg-port {
9751.1Sjmcneill		status = "okay";
9761.1Sjmcneill	};
9771.1Sjmcneill
9781.1Sjmcneill	u2phy1_host: host-port {
9791.1Sjmcneill		phy-supply = <&vcc5v0_host>;
9801.1Sjmcneill		status = "okay";
9811.1Sjmcneill	};
9821.1Sjmcneill};
9831.1Sjmcneill
9841.1Sjmcneill
9851.1Sjmcneill&uart0 {
9861.1Sjmcneill	pinctrl-names = "default";
9871.1Sjmcneill	pinctrl-0 = <&uart0_xfer &uart0_cts &uart0_rts>;
9881.1Sjmcneill	uart-has-rtscts;
9891.1Sjmcneill	status = "okay";
9901.1Sjmcneill
9911.1Sjmcneill	bluetooth {
9921.1Sjmcneill		compatible = "brcm,bcm4345c5";
9931.1Sjmcneill		clocks = <&rk808 1>;
9941.1Sjmcneill		clock-names = "lpo";
9951.1Sjmcneill		pinctrl-names = "default";
9961.1Sjmcneill		pinctrl-0 = <&bt_host_wake_gpio &bt_wake_gpio &bt_reset_gpio>;
9971.1Sjmcneill		shutdown-gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
9981.1Sjmcneill		device-wakeup-gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_HIGH>;
9991.1Sjmcneill		host-wakeup-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_HIGH>;
10001.1Sjmcneill		max-speed = <1500000>;
10011.1Sjmcneill		vbat-supply = <&vcc3v3_sys>;
10021.1Sjmcneill		vddio-supply = <&vcc_1v8>;
10031.1Sjmcneill	};
10041.1Sjmcneill};
10051.1Sjmcneill
10061.1Sjmcneill&uart2 {
10071.1Sjmcneill	status = "okay";
10081.1Sjmcneill};
10091.1Sjmcneill
10101.1Sjmcneill&usb_host0_ehci {
10111.1Sjmcneill	status = "okay";
10121.1Sjmcneill};
10131.1Sjmcneill
10141.1Sjmcneill&usb_host0_ohci {
10151.1Sjmcneill	status = "okay";
10161.1Sjmcneill};
10171.1Sjmcneill
10181.1Sjmcneill&usb_host1_ehci {
10191.1Sjmcneill	status = "okay";
10201.1Sjmcneill};
10211.1Sjmcneill
10221.1Sjmcneill&usb_host1_ohci {
10231.1Sjmcneill	status = "okay";
10241.1Sjmcneill};
10251.1Sjmcneill
10261.1Sjmcneill&usbdrd3_0 {
10271.1Sjmcneill	status = "okay";
10281.1Sjmcneill};
10291.1Sjmcneill
10301.1Sjmcneill&usbdrd_dwc3_0 {
10311.1Sjmcneill	status = "okay";
10321.1Sjmcneill	dr_mode = "host";
10331.1Sjmcneill};
10341.1Sjmcneill
10351.1Sjmcneill&usbdrd3_1 {
10361.1Sjmcneill	status = "okay";
10371.1Sjmcneill};
10381.1Sjmcneill
10391.1Sjmcneill&usbdrd_dwc3_1 {
10401.1Sjmcneill	status = "okay";
10411.1Sjmcneill	dr_mode = "host";
10421.1Sjmcneill};
10431.1Sjmcneill
10441.1Sjmcneill&vopb {
10451.1Sjmcneill	status = "okay";
10461.1Sjmcneill};
10471.1Sjmcneill
10481.1Sjmcneill&vopb_mmu {
10491.1Sjmcneill	status = "okay";
10501.1Sjmcneill};
10511.1Sjmcneill
10521.1Sjmcneill&vopl {
10531.1Sjmcneill	status = "okay";
10541.1Sjmcneill};
10551.1Sjmcneill
10561.1Sjmcneill&vopl_mmu {
10571.1Sjmcneill	status = "okay";
10581.1Sjmcneill};
10591.1Sjmcneill
10601.1Sjmcneill&spi1 {
10611.2Sjmcneill	// XXXJDM disable until rkspi issues are sorted out
10621.2Sjmcneill	status = "disabled";
10631.1Sjmcneill	max-freq = <10000000>;
10641.1Sjmcneill
10651.1Sjmcneill	spiflash: spi-flash@0 {
10661.1Sjmcneill		#address-cells = <0x1>;
10671.1Sjmcneill		#size-cells = <1>;
10681.1Sjmcneill		compatible = "jedec,spi-nor";
10691.1Sjmcneill		reg = <0x0>;
10701.1Sjmcneill		spi-max-frequency = <10000000>;
10711.1Sjmcneill		status = "okay";
10721.1Sjmcneill		m25p,fast-read;
10731.1Sjmcneill
10741.1Sjmcneill		partitions {
10751.1Sjmcneill			compatible = "fixed-partitions";
10761.1Sjmcneill			#address-cells = <1>;
10771.1Sjmcneill			#size-cells = <1>;
10781.1Sjmcneill
10791.1Sjmcneill			loader@8000 {
10801.1Sjmcneill				label = "loader";
10811.1Sjmcneill				reg = <0x0 0x3F8000>;
10821.1Sjmcneill			};
10831.1Sjmcneill
10841.1Sjmcneill			env@3f8000 {
10851.1Sjmcneill				label = "env";
10861.1Sjmcneill				reg = <0x3F8000 0x8000>;
10871.1Sjmcneill			};
10881.1Sjmcneill
10891.1Sjmcneill			vendor@7c0000 {
10901.1Sjmcneill				label = "vendor";
10911.1Sjmcneill				reg = <0x7C0000 0x40000>;
10921.1Sjmcneill			};
10931.1Sjmcneill		};
10941.1Sjmcneill	};
10951.1Sjmcneill};
1096