xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3566-quartz64-a.dts (revision 4664a4ddb9211a3513aa769453e3a1095fc806d0)
1b33a22a1SPeter Geis// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2b33a22a1SPeter Geis
3b33a22a1SPeter Geis/dts-v1/;
4b33a22a1SPeter Geis
5b33a22a1SPeter Geis#include <dt-bindings/gpio/gpio.h>
6b33a22a1SPeter Geis#include <dt-bindings/pinctrl/rockchip.h>
70c096d6eSMichael Riesch#include <dt-bindings/soc/rockchip,vop2.h>
8b33a22a1SPeter Geis#include "rk3566.dtsi"
9b33a22a1SPeter Geis
10b33a22a1SPeter Geis/ {
11adbc5e6bSDragan Simic	model = "Pine64 Quartz64 Model A";
12b33a22a1SPeter Geis	compatible = "pine64,quartz64-a", "rockchip,rk3566";
13b33a22a1SPeter Geis
14b33a22a1SPeter Geis	aliases {
15c3dd497fSPeter Geis		ethernet0 = &gmac1;
16b33a22a1SPeter Geis		mmc0 = &sdmmc0;
17b33a22a1SPeter Geis		mmc1 = &sdhci;
18b33a22a1SPeter Geis	};
19b33a22a1SPeter Geis
20b33a22a1SPeter Geis	chosen: chosen {
21b33a22a1SPeter Geis		stdout-path = "serial2:1500000n8";
22b33a22a1SPeter Geis	};
23b33a22a1SPeter Geis
24c3dd497fSPeter Geis	gmac1_clkin: external-gmac1-clock {
25c3dd497fSPeter Geis		compatible = "fixed-clock";
26c3dd497fSPeter Geis		clock-frequency = <125000000>;
27c3dd497fSPeter Geis		clock-output-names = "gmac1_clkin";
28c3dd497fSPeter Geis		#clock-cells = <0>;
29c3dd497fSPeter Geis	};
30c3dd497fSPeter Geis
3140b0bfbbSPeter Geis	fan: gpio_fan {
3240b0bfbbSPeter Geis		compatible = "gpio-fan";
33*9037532aSDiederik de Haas		fan-supply = <&vcc12v_dcin>;
3440b0bfbbSPeter Geis		gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
35c87847cfSDavid Heidelberg		gpio-fan,speed-map =
36c87847cfSDavid Heidelberg				<   0 0>,
37c87847cfSDavid Heidelberg				<4500 1>;
38fb4f915cSPeter Geis		pinctrl-names = "default";
39fb4f915cSPeter Geis		pinctrl-0 = <&fan_en_h>;
4040b0bfbbSPeter Geis		#cooling-cells = <2>;
4140b0bfbbSPeter Geis	};
4240b0bfbbSPeter Geis
430c096d6eSMichael Riesch	hdmi-con {
440c096d6eSMichael Riesch		compatible = "hdmi-connector";
450c096d6eSMichael Riesch		type = "a";
460c096d6eSMichael Riesch
470c096d6eSMichael Riesch		port {
480c096d6eSMichael Riesch			hdmi_con_in: endpoint {
490c096d6eSMichael Riesch				remote-endpoint = <&hdmi_out_con>;
500c096d6eSMichael Riesch			};
510c096d6eSMichael Riesch		};
520c096d6eSMichael Riesch	};
530c096d6eSMichael Riesch
54b33a22a1SPeter Geis	leds {
55b33a22a1SPeter Geis		compatible = "gpio-leds";
56b33a22a1SPeter Geis
57b33a22a1SPeter Geis		led-work {
58b33a22a1SPeter Geis			label = "work-led";
59b33a22a1SPeter Geis			default-state = "off";
60b33a22a1SPeter Geis			gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
61b33a22a1SPeter Geis			pinctrl-names = "default";
62b33a22a1SPeter Geis			pinctrl-0 = <&work_led_enable_h>;
63b33a22a1SPeter Geis			retain-state-suspended;
64b33a22a1SPeter Geis		};
65b33a22a1SPeter Geis
66b33a22a1SPeter Geis		led-diy {
67b33a22a1SPeter Geis			label = "diy-led";
68b33a22a1SPeter Geis			default-state = "on";
69b33a22a1SPeter Geis			gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
70b33a22a1SPeter Geis			linux,default-trigger = "heartbeat";
71b33a22a1SPeter Geis			pinctrl-names = "default";
72b33a22a1SPeter Geis			pinctrl-0 = <&diy_led_enable_h>;
73b33a22a1SPeter Geis			retain-state-suspended;
74b33a22a1SPeter Geis		};
75b33a22a1SPeter Geis	};
76b33a22a1SPeter Geis
771938b585SNicolas Frattaroli	rk817-sound {
781938b585SNicolas Frattaroli		compatible = "simple-audio-card";
791938b585SNicolas Frattaroli		simple-audio-card,format = "i2s";
801938b585SNicolas Frattaroli		simple-audio-card,name = "Analog RK817";
811938b585SNicolas Frattaroli		simple-audio-card,mclk-fs = <256>;
821938b585SNicolas Frattaroli
831938b585SNicolas Frattaroli		simple-audio-card,cpu {
841938b585SNicolas Frattaroli			sound-dai = <&i2s1_8ch>;
851938b585SNicolas Frattaroli		};
861938b585SNicolas Frattaroli
871938b585SNicolas Frattaroli		simple-audio-card,codec {
881938b585SNicolas Frattaroli			sound-dai = <&rk817>;
891938b585SNicolas Frattaroli		};
901938b585SNicolas Frattaroli	};
911938b585SNicolas Frattaroli
922ed1e354SPeter Geis	sdio_pwrseq: sdio-pwrseq {
932ed1e354SPeter Geis		compatible = "mmc-pwrseq-simple";
942ed1e354SPeter Geis		clocks = <&rk817 1>;
952ed1e354SPeter Geis		clock-names = "ext_clock";
962ed1e354SPeter Geis		pinctrl-names = "default";
972ed1e354SPeter Geis		pinctrl-0 = <&wifi_enable_h>;
982ed1e354SPeter Geis		post-power-on-delay-ms = <100>;
992ed1e354SPeter Geis		power-off-delay-us = <5000000>;
1002ed1e354SPeter Geis		reset-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_LOW>;
1012ed1e354SPeter Geis	};
1022ed1e354SPeter Geis
1037ab91acdSNicolas Frattaroli	spdif_dit: spdif-dit {
1047ab91acdSNicolas Frattaroli		compatible = "linux,spdif-dit";
1057ab91acdSNicolas Frattaroli		#sound-dai-cells = <0>;
1067ab91acdSNicolas Frattaroli	};
1077ab91acdSNicolas Frattaroli
1087ab91acdSNicolas Frattaroli	spdif_sound: spdif-sound {
1097ab91acdSNicolas Frattaroli		compatible = "simple-audio-card";
1107ab91acdSNicolas Frattaroli		simple-audio-card,name = "SPDIF";
1117ab91acdSNicolas Frattaroli
1127ab91acdSNicolas Frattaroli		simple-audio-card,cpu {
1137ab91acdSNicolas Frattaroli			sound-dai = <&spdif>;
1147ab91acdSNicolas Frattaroli		};
1157ab91acdSNicolas Frattaroli
1167ab91acdSNicolas Frattaroli		simple-audio-card,codec {
1177ab91acdSNicolas Frattaroli			sound-dai = <&spdif_dit>;
1187ab91acdSNicolas Frattaroli		};
1197ab91acdSNicolas Frattaroli	};
1207ab91acdSNicolas Frattaroli
1215c96e633SJohan Jonker	vcc12v_dcin: regulator-vcc12v-dcin {
122b33a22a1SPeter Geis		compatible = "regulator-fixed";
123b33a22a1SPeter Geis		regulator-name = "vcc12v_dcin";
124b33a22a1SPeter Geis		regulator-always-on;
125b33a22a1SPeter Geis		regulator-boot-on;
126b33a22a1SPeter Geis		regulator-min-microvolt = <12000000>;
127b33a22a1SPeter Geis		regulator-max-microvolt = <12000000>;
128b33a22a1SPeter Geis	};
129b33a22a1SPeter Geis
130b33a22a1SPeter Geis	/* vbus feeds the rk817 usb input.
131b33a22a1SPeter Geis	 * With no battery attached, also feeds vcc_bat+
132b33a22a1SPeter Geis	 * via ON/OFF_BAT jumper
133b33a22a1SPeter Geis	 */
1345c96e633SJohan Jonker	vbus: regulator-vbus {
135b33a22a1SPeter Geis		compatible = "regulator-fixed";
136b33a22a1SPeter Geis		regulator-name = "vbus";
137b33a22a1SPeter Geis		regulator-always-on;
138b33a22a1SPeter Geis		regulator-boot-on;
139b33a22a1SPeter Geis		regulator-min-microvolt = <5000000>;
140b33a22a1SPeter Geis		regulator-max-microvolt = <5000000>;
141b33a22a1SPeter Geis		vin-supply = <&vcc12v_dcin>;
142b33a22a1SPeter Geis	};
143b33a22a1SPeter Geis
1445c96e633SJohan Jonker	vcc3v3_pcie_p: regulator-vcc3v3-pcie-p {
14589504897SPeter Geis		compatible = "regulator-fixed";
14689504897SPeter Geis		enable-active-high;
14789504897SPeter Geis		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
14889504897SPeter Geis		pinctrl-names = "default";
14989504897SPeter Geis		pinctrl-0 = <&pcie_enable_h>;
15089504897SPeter Geis		regulator-name = "vcc3v3_pcie_p";
15189504897SPeter Geis		regulator-min-microvolt = <3300000>;
15289504897SPeter Geis		regulator-max-microvolt = <3300000>;
15389504897SPeter Geis		vin-supply = <&vcc_3v3>;
15489504897SPeter Geis	};
15589504897SPeter Geis
1565c96e633SJohan Jonker	vcc5v0_usb: regulator-vcc5v0-usb {
157b33a22a1SPeter Geis		compatible = "regulator-fixed";
158b33a22a1SPeter Geis		regulator-name = "vcc5v0_usb";
159b33a22a1SPeter Geis		regulator-always-on;
160b33a22a1SPeter Geis		regulator-boot-on;
161b33a22a1SPeter Geis		regulator-min-microvolt = <5000000>;
162b33a22a1SPeter Geis		regulator-max-microvolt = <5000000>;
163b33a22a1SPeter Geis		vin-supply = <&vcc12v_dcin>;
164b33a22a1SPeter Geis	};
165b33a22a1SPeter Geis
1661ff37c22SPeter Geis	/* all four ports are controlled by one gpio
1671ff37c22SPeter Geis	 * the host ports are sourced from vcc5v0_usb
1681ff37c22SPeter Geis	 * the otg port is sourced from vcc5v0_midu
1691ff37c22SPeter Geis	 */
1705c96e633SJohan Jonker	vcc5v0_usb20_host: regulator-vcc5v0-usb20-host {
1711ff37c22SPeter Geis		compatible = "regulator-fixed";
1721ff37c22SPeter Geis		enable-active-high;
1731ff37c22SPeter Geis		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
1741ff37c22SPeter Geis		pinctrl-names = "default";
1751ff37c22SPeter Geis		pinctrl-0 = <&vcc5v0_usb20_host_en>;
1761ff37c22SPeter Geis		regulator-name = "vcc5v0_usb20_host";
1771ff37c22SPeter Geis		regulator-min-microvolt = <5000000>;
1781ff37c22SPeter Geis		regulator-max-microvolt = <5000000>;
1791ff37c22SPeter Geis		vin-supply = <&vcc5v0_usb>;
1801ff37c22SPeter Geis	};
1811ff37c22SPeter Geis
1825c96e633SJohan Jonker	vcc5v0_usb20_otg: regulator-vcc5v0-usb20-otg {
183e432309fSPeter Geis		compatible = "regulator-fixed";
184e432309fSPeter Geis		enable-active-high;
185e432309fSPeter Geis		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
186e432309fSPeter Geis		regulator-name = "vcc5v0_usb20_otg";
187e432309fSPeter Geis		regulator-min-microvolt = <5000000>;
188e432309fSPeter Geis		regulator-max-microvolt = <5000000>;
189e432309fSPeter Geis		vin-supply = <&dcdc_boost>;
190e432309fSPeter Geis	};
191e432309fSPeter Geis
1925c96e633SJohan Jonker	vcc3v3_sd: regulator-vcc3v3-sd {
193b33a22a1SPeter Geis		compatible = "regulator-fixed";
194b33a22a1SPeter Geis		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
195b33a22a1SPeter Geis		pinctrl-names = "default";
196b33a22a1SPeter Geis		pinctrl-0 = <&vcc_sd_h>;
197b33a22a1SPeter Geis		regulator-boot-on;
198b33a22a1SPeter Geis		regulator-name = "vcc3v3_sd";
199b33a22a1SPeter Geis		regulator-min-microvolt = <3300000>;
200b33a22a1SPeter Geis		regulator-max-microvolt = <3300000>;
201b33a22a1SPeter Geis		vin-supply = <&vcc_3v3>;
202b33a22a1SPeter Geis	};
203b33a22a1SPeter Geis
204b33a22a1SPeter Geis	/* sourced from vbus and vcc_bat+ via rk817 sw5 */
2055c96e633SJohan Jonker	vcc_sys: regulator-vcc-sys {
206b33a22a1SPeter Geis		compatible = "regulator-fixed";
207b33a22a1SPeter Geis		regulator-name = "vcc_sys";
208b33a22a1SPeter Geis		regulator-always-on;
209b33a22a1SPeter Geis		regulator-boot-on;
210b33a22a1SPeter Geis		regulator-min-microvolt = <4400000>;
211b33a22a1SPeter Geis		regulator-max-microvolt = <4400000>;
212b33a22a1SPeter Geis		vin-supply = <&vbus>;
213b33a22a1SPeter Geis	};
2142ed1e354SPeter Geis
2152ed1e354SPeter Geis	/* sourced from vcc_sys, sdio module operates internally at 3.3v */
2165c96e633SJohan Jonker	vcc_wl: regulator-vcc-wl {
2172ed1e354SPeter Geis		compatible = "regulator-fixed";
2182ed1e354SPeter Geis		regulator-name = "vcc_wl";
2192ed1e354SPeter Geis		regulator-always-on;
2202ed1e354SPeter Geis		regulator-boot-on;
2212ed1e354SPeter Geis		regulator-min-microvolt = <3300000>;
2222ed1e354SPeter Geis		regulator-max-microvolt = <3300000>;
2232ed1e354SPeter Geis		vin-supply = <&vcc_sys>;
2242ed1e354SPeter Geis	};
225b33a22a1SPeter Geis};
226b33a22a1SPeter Geis
227e432309fSPeter Geis&combphy1 {
228e432309fSPeter Geis	status = "okay";
229e432309fSPeter Geis};
230e432309fSPeter Geis
23189504897SPeter Geis&combphy2 {
23289504897SPeter Geis	status = "okay";
23389504897SPeter Geis};
23489504897SPeter Geis
235b33a22a1SPeter Geis&cpu0 {
236b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
237b33a22a1SPeter Geis};
238b33a22a1SPeter Geis
239b33a22a1SPeter Geis&cpu1 {
240b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
241b33a22a1SPeter Geis};
242b33a22a1SPeter Geis
243b33a22a1SPeter Geis&cpu2 {
244b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
245b33a22a1SPeter Geis};
246b33a22a1SPeter Geis
247b33a22a1SPeter Geis&cpu3 {
248b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
249b33a22a1SPeter Geis};
250b33a22a1SPeter Geis
25140b0bfbbSPeter Geis&cpu_thermal {
25240b0bfbbSPeter Geis	trips {
25340b0bfbbSPeter Geis		cpu_hot: cpu_hot {
25440b0bfbbSPeter Geis			temperature = <55000>;
25540b0bfbbSPeter Geis			hysteresis = <2000>;
25640b0bfbbSPeter Geis			type = "active";
25740b0bfbbSPeter Geis		};
25840b0bfbbSPeter Geis	};
25940b0bfbbSPeter Geis
26040b0bfbbSPeter Geis	cooling-maps {
26140b0bfbbSPeter Geis		map1 {
26240b0bfbbSPeter Geis			trip = <&cpu_hot>;
26340b0bfbbSPeter Geis			cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
26440b0bfbbSPeter Geis		};
26540b0bfbbSPeter Geis	};
26640b0bfbbSPeter Geis};
26740b0bfbbSPeter Geis
268c3dd497fSPeter Geis&gmac1 {
269e857cdedSDragan Simic	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>,
270e857cdedSDragan Simic			  <&cru SCLK_GMAC1_RGMII_SPEED>,
271e857cdedSDragan Simic			  <&cru SCLK_GMAC1>;
272e857cdedSDragan Simic	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>,
273e857cdedSDragan Simic				 <&cru SCLK_GMAC1>,
274e857cdedSDragan Simic				 <&gmac1_clkin>;
275c3dd497fSPeter Geis	clock_in_out = "input";
276c3dd497fSPeter Geis	phy-supply = <&vcc_3v3>;
277c3dd497fSPeter Geis	phy-mode = "rgmii";
278c3dd497fSPeter Geis	pinctrl-names = "default";
279c3dd497fSPeter Geis	pinctrl-0 = <&gmac1m0_miim
280c3dd497fSPeter Geis		     &gmac1m0_tx_bus2
281c3dd497fSPeter Geis		     &gmac1m0_rx_bus2
282c3dd497fSPeter Geis		     &gmac1m0_rgmii_clk
283c3dd497fSPeter Geis		     &gmac1m0_clkinout
284c3dd497fSPeter Geis		     &gmac1m0_rgmii_bus>;
285c3dd497fSPeter Geis	snps,reset-gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
286c3dd497fSPeter Geis	snps,reset-active-low;
287c3dd497fSPeter Geis	/* Reset time is 20ms, 100ms for rtl8211f */
288c3dd497fSPeter Geis	snps,reset-delays-us = <0 20000 100000>;
289c3dd497fSPeter Geis	tx_delay = <0x30>;
290c3dd497fSPeter Geis	rx_delay = <0x10>;
291c3dd497fSPeter Geis	phy-handle = <&rgmii_phy1>;
292c3dd497fSPeter Geis	status = "okay";
293c3dd497fSPeter Geis};
294c3dd497fSPeter Geis
2956ac38345SEzequiel Garcia&gpu {
2966ac38345SEzequiel Garcia	mali-supply = <&vdd_gpu>;
2976ac38345SEzequiel Garcia	status = "okay";
2986ac38345SEzequiel Garcia};
2996ac38345SEzequiel Garcia
3000c096d6eSMichael Riesch&hdmi {
3010c096d6eSMichael Riesch	avdd-0v9-supply = <&vdda_0v9>;
3020c096d6eSMichael Riesch	avdd-1v8-supply = <&vcc_1v8>;
3030c096d6eSMichael Riesch	status = "okay";
3040c096d6eSMichael Riesch};
3050c096d6eSMichael Riesch
3060c096d6eSMichael Riesch&hdmi_in {
3070c096d6eSMichael Riesch	hdmi_in_vp0: endpoint {
3080c096d6eSMichael Riesch		remote-endpoint = <&vp0_out_hdmi>;
3090c096d6eSMichael Riesch	};
3100c096d6eSMichael Riesch};
3110c096d6eSMichael Riesch
3120c096d6eSMichael Riesch&hdmi_out {
3130c096d6eSMichael Riesch	hdmi_out_con: endpoint {
3140c096d6eSMichael Riesch		remote-endpoint = <&hdmi_con_in>;
3150c096d6eSMichael Riesch	};
3160c096d6eSMichael Riesch};
3170c096d6eSMichael Riesch
3184188962dSNicolas Frattaroli&hdmi_sound {
3194188962dSNicolas Frattaroli	status = "okay";
3204188962dSNicolas Frattaroli};
3214188962dSNicolas Frattaroli
322b33a22a1SPeter Geis&i2c0 {
323b33a22a1SPeter Geis	status = "okay";
324b33a22a1SPeter Geis
325b33a22a1SPeter Geis	vdd_cpu: regulator@1c {
326b33a22a1SPeter Geis		compatible = "tcs,tcs4525";
327b33a22a1SPeter Geis		reg = <0x1c>;
328b33a22a1SPeter Geis		fcs,suspend-voltage-selector = <1>;
329b33a22a1SPeter Geis		regulator-name = "vdd_cpu";
330b33a22a1SPeter Geis		regulator-min-microvolt = <800000>;
331b33a22a1SPeter Geis		regulator-max-microvolt = <1150000>;
332b33a22a1SPeter Geis		regulator-ramp-delay = <2300>;
333b33a22a1SPeter Geis		regulator-always-on;
334b33a22a1SPeter Geis		regulator-boot-on;
335b33a22a1SPeter Geis		vin-supply = <&vcc_sys>;
336b33a22a1SPeter Geis
337b33a22a1SPeter Geis		regulator-state-mem {
338b33a22a1SPeter Geis			regulator-off-in-suspend;
339b33a22a1SPeter Geis		};
340b33a22a1SPeter Geis	};
341b33a22a1SPeter Geis
342b33a22a1SPeter Geis	rk817: pmic@20 {
343b33a22a1SPeter Geis		compatible = "rockchip,rk817";
344b33a22a1SPeter Geis		reg = <0x20>;
345b33a22a1SPeter Geis		interrupt-parent = <&gpio0>;
346b33a22a1SPeter Geis		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
3471938b585SNicolas Frattaroli		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
3481938b585SNicolas Frattaroli		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
3491938b585SNicolas Frattaroli		clock-names = "mclk";
3501938b585SNicolas Frattaroli		clocks = <&cru I2S1_MCLKOUT_TX>;
351b33a22a1SPeter Geis		clock-output-names = "rk808-clkout1", "rk808-clkout2";
352b33a22a1SPeter Geis		#clock-cells = <1>;
3531938b585SNicolas Frattaroli		pinctrl-names = "default";
3541938b585SNicolas Frattaroli		pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
355b99ac7e2SDiederik de Haas		system-power-controller;
3561938b585SNicolas Frattaroli		#sound-dai-cells = <0>;
3571938b585SNicolas Frattaroli		wakeup-source;
358b33a22a1SPeter Geis
359b33a22a1SPeter Geis		vcc1-supply = <&vcc_sys>;
360b33a22a1SPeter Geis		vcc2-supply = <&vcc_sys>;
361b33a22a1SPeter Geis		vcc3-supply = <&vcc_sys>;
362b33a22a1SPeter Geis		vcc4-supply = <&vcc_sys>;
363b33a22a1SPeter Geis		vcc5-supply = <&vcc_sys>;
364b33a22a1SPeter Geis		vcc6-supply = <&vcc_sys>;
365b33a22a1SPeter Geis		vcc7-supply = <&vcc_sys>;
366b33a22a1SPeter Geis		vcc8-supply = <&vcc_sys>;
367b33a22a1SPeter Geis		vcc9-supply = <&dcdc_boost>;
368b33a22a1SPeter Geis
369b33a22a1SPeter Geis		regulators {
370b33a22a1SPeter Geis			vdd_logic: DCDC_REG1 {
371b33a22a1SPeter Geis				regulator-always-on;
372b33a22a1SPeter Geis				regulator-boot-on;
373b33a22a1SPeter Geis				regulator-min-microvolt = <500000>;
374b33a22a1SPeter Geis				regulator-max-microvolt = <1350000>;
375b33a22a1SPeter Geis				regulator-ramp-delay = <6001>;
376b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
377b33a22a1SPeter Geis				regulator-name = "vdd_logic";
378b33a22a1SPeter Geis				regulator-state-mem {
379b33a22a1SPeter Geis					regulator-on-in-suspend;
380b33a22a1SPeter Geis					regulator-suspend-microvolt = <900000>;
381b33a22a1SPeter Geis				};
382b33a22a1SPeter Geis			};
383b33a22a1SPeter Geis
384b33a22a1SPeter Geis			vdd_gpu: DCDC_REG2 {
385b33a22a1SPeter Geis				regulator-always-on;
386b33a22a1SPeter Geis				regulator-boot-on;
387b33a22a1SPeter Geis				regulator-min-microvolt = <500000>;
388b33a22a1SPeter Geis				regulator-max-microvolt = <1350000>;
389b33a22a1SPeter Geis				regulator-ramp-delay = <6001>;
390b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
391b33a22a1SPeter Geis				regulator-name = "vdd_gpu";
392b33a22a1SPeter Geis					regulator-state-mem {
393b33a22a1SPeter Geis					regulator-off-in-suspend;
394b33a22a1SPeter Geis				};
395b33a22a1SPeter Geis			};
396b33a22a1SPeter Geis
397b33a22a1SPeter Geis			vcc_ddr: DCDC_REG3 {
398b33a22a1SPeter Geis				regulator-always-on;
399b33a22a1SPeter Geis				regulator-boot-on;
400b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
401b33a22a1SPeter Geis				regulator-name = "vcc_ddr";
402b33a22a1SPeter Geis				regulator-state-mem {
403b33a22a1SPeter Geis					regulator-on-in-suspend;
404b33a22a1SPeter Geis				};
405b33a22a1SPeter Geis			};
406b33a22a1SPeter Geis
407b33a22a1SPeter Geis			vcc_3v3: DCDC_REG4 {
408b33a22a1SPeter Geis				regulator-always-on;
409b33a22a1SPeter Geis				regulator-boot-on;
410b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
411b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
412b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
413b33a22a1SPeter Geis				regulator-name = "vcc_3v3";
414b33a22a1SPeter Geis				regulator-state-mem {
415b33a22a1SPeter Geis					regulator-off-in-suspend;
416b33a22a1SPeter Geis				};
417b33a22a1SPeter Geis			};
418b33a22a1SPeter Geis
419b33a22a1SPeter Geis			vcca1v8_pmu: LDO_REG1 {
420b33a22a1SPeter Geis				regulator-always-on;
421b33a22a1SPeter Geis				regulator-boot-on;
422b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
423b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
424b33a22a1SPeter Geis				regulator-name = "vcca1v8_pmu";
425b33a22a1SPeter Geis				regulator-state-mem {
426b33a22a1SPeter Geis					regulator-on-in-suspend;
427b33a22a1SPeter Geis					regulator-suspend-microvolt = <1800000>;
428b33a22a1SPeter Geis				};
429b33a22a1SPeter Geis			};
430b33a22a1SPeter Geis
431b33a22a1SPeter Geis			vdda_0v9: LDO_REG2 {
432b33a22a1SPeter Geis				regulator-always-on;
433b33a22a1SPeter Geis				regulator-boot-on;
434b33a22a1SPeter Geis				regulator-min-microvolt = <900000>;
435b33a22a1SPeter Geis				regulator-max-microvolt = <900000>;
436b33a22a1SPeter Geis				regulator-name = "vdda_0v9";
437b33a22a1SPeter Geis				regulator-state-mem {
438b33a22a1SPeter Geis					regulator-off-in-suspend;
439b33a22a1SPeter Geis				};
440b33a22a1SPeter Geis			};
441b33a22a1SPeter Geis
442b33a22a1SPeter Geis			vdda0v9_pmu: LDO_REG3 {
443b33a22a1SPeter Geis				regulator-always-on;
444b33a22a1SPeter Geis				regulator-boot-on;
445b33a22a1SPeter Geis				regulator-min-microvolt = <900000>;
446b33a22a1SPeter Geis				regulator-max-microvolt = <900000>;
447b33a22a1SPeter Geis				regulator-name = "vdda0v9_pmu";
448b33a22a1SPeter Geis				regulator-state-mem {
449b33a22a1SPeter Geis					regulator-on-in-suspend;
450b33a22a1SPeter Geis					regulator-suspend-microvolt = <900000>;
451b33a22a1SPeter Geis				};
452b33a22a1SPeter Geis			};
453b33a22a1SPeter Geis
454b33a22a1SPeter Geis			vccio_acodec: LDO_REG4 {
455b33a22a1SPeter Geis				regulator-always-on;
456b33a22a1SPeter Geis				regulator-boot-on;
457b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
458b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
459b33a22a1SPeter Geis				regulator-name = "vccio_acodec";
460b33a22a1SPeter Geis				regulator-state-mem {
461b33a22a1SPeter Geis					regulator-off-in-suspend;
462b33a22a1SPeter Geis				};
463b33a22a1SPeter Geis			};
464b33a22a1SPeter Geis
465b33a22a1SPeter Geis			vccio_sd: LDO_REG5 {
466b33a22a1SPeter Geis				regulator-always-on;
467b33a22a1SPeter Geis				regulator-boot-on;
468b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
469b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
470b33a22a1SPeter Geis				regulator-name = "vccio_sd";
471b33a22a1SPeter Geis				regulator-state-mem {
472b33a22a1SPeter Geis					regulator-off-in-suspend;
473b33a22a1SPeter Geis				};
474b33a22a1SPeter Geis			};
475b33a22a1SPeter Geis
476b33a22a1SPeter Geis			vcc3v3_pmu: LDO_REG6 {
477b33a22a1SPeter Geis				regulator-always-on;
478b33a22a1SPeter Geis				regulator-boot-on;
479b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
480b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
481b33a22a1SPeter Geis				regulator-name = "vcc3v3_pmu";
482b33a22a1SPeter Geis				regulator-state-mem {
483b33a22a1SPeter Geis					regulator-on-in-suspend;
484b33a22a1SPeter Geis					regulator-suspend-microvolt = <3300000>;
485b33a22a1SPeter Geis				};
486b33a22a1SPeter Geis			};
487b33a22a1SPeter Geis
488b33a22a1SPeter Geis			vcc_1v8: LDO_REG7 {
489b33a22a1SPeter Geis				regulator-always-on;
490b33a22a1SPeter Geis				regulator-boot-on;
491b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
492b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
493b33a22a1SPeter Geis				regulator-name = "vcc_1v8";
494b33a22a1SPeter Geis				regulator-state-mem {
495b33a22a1SPeter Geis					regulator-off-in-suspend;
496b33a22a1SPeter Geis				};
497b33a22a1SPeter Geis			};
498b33a22a1SPeter Geis
499b33a22a1SPeter Geis			vcc1v8_dvp: LDO_REG8 {
500b33a22a1SPeter Geis				regulator-always-on;
501b33a22a1SPeter Geis				regulator-boot-on;
502b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
503b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
504b33a22a1SPeter Geis				regulator-name = "vcc1v8_dvp";
505b33a22a1SPeter Geis				regulator-state-mem {
506b33a22a1SPeter Geis					regulator-off-in-suspend;
507b33a22a1SPeter Geis				};
508b33a22a1SPeter Geis			};
509b33a22a1SPeter Geis
510b33a22a1SPeter Geis			vcc2v8_dvp: LDO_REG9 {
511b33a22a1SPeter Geis				regulator-always-on;
512b33a22a1SPeter Geis				regulator-boot-on;
513b33a22a1SPeter Geis				regulator-min-microvolt = <2800000>;
514b33a22a1SPeter Geis				regulator-max-microvolt = <2800000>;
515b33a22a1SPeter Geis				regulator-name = "vcc2v8_dvp";
516b33a22a1SPeter Geis				regulator-state-mem {
517b33a22a1SPeter Geis					regulator-off-in-suspend;
518b33a22a1SPeter Geis				};
519b33a22a1SPeter Geis			};
520b33a22a1SPeter Geis
521b33a22a1SPeter Geis			dcdc_boost: BOOST {
522b33a22a1SPeter Geis				regulator-always-on;
523b33a22a1SPeter Geis				regulator-boot-on;
524b33a22a1SPeter Geis				regulator-min-microvolt = <5000000>;
525b33a22a1SPeter Geis				regulator-max-microvolt = <5000000>;
526b33a22a1SPeter Geis				regulator-name = "boost";
527b33a22a1SPeter Geis				regulator-state-mem {
528b33a22a1SPeter Geis					regulator-off-in-suspend;
529b33a22a1SPeter Geis				};
530b33a22a1SPeter Geis			};
531b33a22a1SPeter Geis
532b33a22a1SPeter Geis			otg_switch: OTG_SWITCH {
533b33a22a1SPeter Geis				regulator-name = "otg_switch";
534b33a22a1SPeter Geis				regulator-state-mem {
535b33a22a1SPeter Geis					regulator-off-in-suspend;
536b33a22a1SPeter Geis				};
537b33a22a1SPeter Geis			};
538b33a22a1SPeter Geis		};
539b33a22a1SPeter Geis	};
540b33a22a1SPeter Geis};
541b33a22a1SPeter Geis
5422943660fSPeter Geis/* i2c3 is exposed on con40
5432943660fSPeter Geis * pin 3 - i2c3_sda_m0, pullup to vcc_3v3
5442943660fSPeter Geis * pin 5 - i2c3_scl_m0, pullup to vcc_3v3
5452943660fSPeter Geis */
5462943660fSPeter Geis&i2c3 {
5472943660fSPeter Geis	status = "okay";
5482943660fSPeter Geis};
5492943660fSPeter Geis
5504188962dSNicolas Frattaroli&i2s0_8ch {
5514188962dSNicolas Frattaroli	status = "okay";
5524188962dSNicolas Frattaroli};
5534188962dSNicolas Frattaroli
5541938b585SNicolas Frattaroli&i2s1_8ch {
5551938b585SNicolas Frattaroli	pinctrl-names = "default";
5561938b585SNicolas Frattaroli	pinctrl-0 = <&i2s1m0_sclktx
5571938b585SNicolas Frattaroli		     &i2s1m0_lrcktx
5581938b585SNicolas Frattaroli		     &i2s1m0_sdi0
5591938b585SNicolas Frattaroli		     &i2s1m0_sdo0>;
5601938b585SNicolas Frattaroli	rockchip,trcm-sync-tx-only;
5611938b585SNicolas Frattaroli	status = "okay";
5621938b585SNicolas Frattaroli};
5631938b585SNicolas Frattaroli
564c3dd497fSPeter Geis&mdio1 {
565c3dd497fSPeter Geis	rgmii_phy1: ethernet-phy@0 {
566c3dd497fSPeter Geis		compatible = "ethernet-phy-ieee802.3-c22";
567c3dd497fSPeter Geis		reg = <0>;
568c3dd497fSPeter Geis	};
569c3dd497fSPeter Geis};
570c3dd497fSPeter Geis
57189504897SPeter Geis&pcie2x1 {
57289504897SPeter Geis	pinctrl-names = "default";
57389504897SPeter Geis	pinctrl-0 = <&pcie_reset_h>;
57489504897SPeter Geis	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
57589504897SPeter Geis	vpcie3v3-supply = <&vcc3v3_pcie_p>;
57689504897SPeter Geis	status = "okay";
57789504897SPeter Geis};
57889504897SPeter Geis
579b33a22a1SPeter Geis&pinctrl {
580b33a22a1SPeter Geis	bt {
581b33a22a1SPeter Geis		bt_enable_h: bt-enable-h {
582b33a22a1SPeter Geis			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
583b33a22a1SPeter Geis		};
584b33a22a1SPeter Geis
585b33a22a1SPeter Geis		bt_host_wake_l: bt-host-wake-l {
586b33a22a1SPeter Geis			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
587b33a22a1SPeter Geis		};
588b33a22a1SPeter Geis
589b33a22a1SPeter Geis		bt_wake_l: bt-wake-l {
590b33a22a1SPeter Geis			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
591b33a22a1SPeter Geis		};
592b33a22a1SPeter Geis	};
593b33a22a1SPeter Geis
594fb4f915cSPeter Geis	fan {
595fb4f915cSPeter Geis		fan_en_h: fan-en-h {
596fb4f915cSPeter Geis			rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
597fb4f915cSPeter Geis		};
598fb4f915cSPeter Geis	};
599fb4f915cSPeter Geis
600b33a22a1SPeter Geis	leds {
601b33a22a1SPeter Geis		work_led_enable_h: work-led-enable-h {
602b33a22a1SPeter Geis			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
603b33a22a1SPeter Geis		};
604b33a22a1SPeter Geis
605b33a22a1SPeter Geis		diy_led_enable_h: diy-led-enable-h {
606b33a22a1SPeter Geis			rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
607b33a22a1SPeter Geis		};
608b33a22a1SPeter Geis	};
609b33a22a1SPeter Geis
61089504897SPeter Geis	pcie {
61189504897SPeter Geis		pcie_enable_h: pcie-enable-h {
61289504897SPeter Geis			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
61389504897SPeter Geis		};
61489504897SPeter Geis
61589504897SPeter Geis		pcie_reset_h: pcie-reset-h {
61689504897SPeter Geis			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
61789504897SPeter Geis		};
61889504897SPeter Geis	};
61989504897SPeter Geis
620b33a22a1SPeter Geis	pmic {
621b33a22a1SPeter Geis		pmic_int_l: pmic-int-l {
622b33a22a1SPeter Geis			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
623b33a22a1SPeter Geis		};
624b33a22a1SPeter Geis	};
625b33a22a1SPeter Geis
6261ff37c22SPeter Geis	usb2 {
6271ff37c22SPeter Geis		vcc5v0_usb20_host_en: vcc5v0-usb20-host-en {
6281ff37c22SPeter Geis			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
6291ff37c22SPeter Geis		};
6301ff37c22SPeter Geis	};
6311ff37c22SPeter Geis
6322ed1e354SPeter Geis	sdio-pwrseq {
6332ed1e354SPeter Geis		wifi_enable_h: wifi-enable-h {
6342ed1e354SPeter Geis			rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
6352ed1e354SPeter Geis		};
6362ed1e354SPeter Geis	};
6372ed1e354SPeter Geis
638b33a22a1SPeter Geis	vcc_sd {
639b33a22a1SPeter Geis		vcc_sd_h: vcc-sd-h {
640b33a22a1SPeter Geis			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
641b33a22a1SPeter Geis		};
642b33a22a1SPeter Geis	};
643b33a22a1SPeter Geis};
644b33a22a1SPeter Geis
645827dfba8SPeter Geis&pmu_io_domains {
646827dfba8SPeter Geis	pmuio1-supply = <&vcc3v3_pmu>;
647827dfba8SPeter Geis	pmuio2-supply = <&vcc3v3_pmu>;
648827dfba8SPeter Geis	vccio1-supply = <&vccio_acodec>;
649827dfba8SPeter Geis	vccio2-supply = <&vcc_1v8>;
650827dfba8SPeter Geis	vccio3-supply = <&vccio_sd>;
651827dfba8SPeter Geis	vccio4-supply = <&vcc_1v8>;
652827dfba8SPeter Geis	vccio5-supply = <&vcc_3v3>;
653827dfba8SPeter Geis	vccio6-supply = <&vcc1v8_dvp>;
654827dfba8SPeter Geis	vccio7-supply = <&vcc_3v3>;
655827dfba8SPeter Geis	status = "okay";
656827dfba8SPeter Geis};
657827dfba8SPeter Geis
658b33a22a1SPeter Geis&sdhci {
659b33a22a1SPeter Geis	bus-width = <8>;
660b33a22a1SPeter Geis	mmc-hs200-1_8v;
661b33a22a1SPeter Geis	non-removable;
662b33a22a1SPeter Geis	vmmc-supply = <&vcc_3v3>;
663b33a22a1SPeter Geis	vqmmc-supply = <&vcc_1v8>;
664b33a22a1SPeter Geis	status = "okay";
665b33a22a1SPeter Geis};
666b33a22a1SPeter Geis
667b33a22a1SPeter Geis&sdmmc0 {
668b33a22a1SPeter Geis	bus-width = <4>;
669b33a22a1SPeter Geis	cap-sd-highspeed;
670b33a22a1SPeter Geis	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
671b33a22a1SPeter Geis	disable-wp;
672b33a22a1SPeter Geis	pinctrl-names = "default";
673b33a22a1SPeter Geis	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
67428ae8a98SPeter Geis	sd-uhs-sdr104;
675b33a22a1SPeter Geis	vmmc-supply = <&vcc3v3_sd>;
676b33a22a1SPeter Geis	vqmmc-supply = <&vccio_sd>;
677b33a22a1SPeter Geis	status = "okay";
678b33a22a1SPeter Geis};
679b33a22a1SPeter Geis
6802ed1e354SPeter Geis&sdmmc1 {
6812ed1e354SPeter Geis	bus-width = <4>;
6822ed1e354SPeter Geis	cap-sd-highspeed;
6832ed1e354SPeter Geis	cap-sdio-irq;
6842ed1e354SPeter Geis	keep-power-in-suspend;
6852ed1e354SPeter Geis	mmc-pwrseq = <&sdio_pwrseq>;
6862ed1e354SPeter Geis	non-removable;
6872ed1e354SPeter Geis	pinctrl-names = "default";
6882ed1e354SPeter Geis	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
6892ed1e354SPeter Geis	sd-uhs-sdr104;
6902ed1e354SPeter Geis	vmmc-supply = <&vcc_wl>;
6912ed1e354SPeter Geis	vqmmc-supply = <&vcc_1v8>;
6922ed1e354SPeter Geis	status = "okay";
6932ed1e354SPeter Geis};
6942ed1e354SPeter Geis
695b181a1e8SPeter Geis&sfc {
696b181a1e8SPeter Geis	pinctrl-0 = <&fspi_pins>;
697b181a1e8SPeter Geis	pinctrl-names = "default";
698b181a1e8SPeter Geis	#address-cells = <1>;
699b181a1e8SPeter Geis	#size-cells = <0>;
700b181a1e8SPeter Geis	status = "disabled";
701b181a1e8SPeter Geis
702b181a1e8SPeter Geis	flash@0 {
703b181a1e8SPeter Geis		compatible = "jedec,spi-nor";
704b181a1e8SPeter Geis		reg = <0>;
705b181a1e8SPeter Geis		spi-max-frequency = <24000000>;
706b181a1e8SPeter Geis		spi-rx-bus-width = <4>;
707b181a1e8SPeter Geis		spi-tx-bus-width = <1>;
708b181a1e8SPeter Geis	};
709b181a1e8SPeter Geis};
710b181a1e8SPeter Geis
7112943660fSPeter Geis/* spdif is exposed on con40 pin 18 */
7127ab91acdSNicolas Frattaroli&spdif {
7137ab91acdSNicolas Frattaroli	status = "okay";
7147ab91acdSNicolas Frattaroli};
7157ab91acdSNicolas Frattaroli
7162943660fSPeter Geis/* spi1 is exposed on con40
7172943660fSPeter Geis * pin 11 - spi1_mosi_m1
7182943660fSPeter Geis * pin 13 - spi1_miso_m1
7192943660fSPeter Geis * pin 15 - spi1_clk_m1
7202943660fSPeter Geis * pin 17 - spi1_cs0_m1
7212943660fSPeter Geis */
722ea1847c0SNicolas Frattaroli&spi1 {
723ea1847c0SNicolas Frattaroli	pinctrl-names = "default";
724ea1847c0SNicolas Frattaroli	pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
725ea1847c0SNicolas Frattaroli};
726ea1847c0SNicolas Frattaroli
72740b0bfbbSPeter Geis&tsadc {
72840b0bfbbSPeter Geis	/* tshut mode 0:CRU 1:GPIO */
72940b0bfbbSPeter Geis	rockchip,hw-tshut-mode = <1>;
73040b0bfbbSPeter Geis	/* tshut polarity 0:LOW 1:HIGH */
73140b0bfbbSPeter Geis	rockchip,hw-tshut-polarity = <0>;
73240b0bfbbSPeter Geis	status = "okay";
73340b0bfbbSPeter Geis};
73440b0bfbbSPeter Geis
7352943660fSPeter Geis/* uart0 is exposed on con40
7362943660fSPeter Geis * pin 12 - uart0_tx
7372943660fSPeter Geis * pin 14 - uart0_rx
7382943660fSPeter Geis */
739b33a22a1SPeter Geis&uart0 {
740b33a22a1SPeter Geis	pinctrl-names = "default";
741b33a22a1SPeter Geis	pinctrl-0 = <&uart0_xfer>;
742b33a22a1SPeter Geis	status = "okay";
743b33a22a1SPeter Geis};
744b33a22a1SPeter Geis
745b33a22a1SPeter Geis&uart1 {
7463087576eSDiederik de Haas	dma-names = "tx", "rx";
747b33a22a1SPeter Geis	pinctrl-names = "default";
7482dcd7e0cSLev Popov	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
749b33a22a1SPeter Geis	status = "okay";
750b33a22a1SPeter Geis	uart-has-rtscts;
751b33a22a1SPeter Geis
752b33a22a1SPeter Geis	bluetooth {
753b33a22a1SPeter Geis		compatible = "brcm,bcm43438-bt";
754b33a22a1SPeter Geis		clocks = <&rk817 1>;
755b33a22a1SPeter Geis		clock-names = "lpo";
7562dcd7e0cSLev Popov		host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
7572dcd7e0cSLev Popov		device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
758b33a22a1SPeter Geis		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
759b33a22a1SPeter Geis		pinctrl-names = "default";
760b33a22a1SPeter Geis		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
761b33a22a1SPeter Geis		vbat-supply = <&vcc_sys>;
762b33a22a1SPeter Geis		vddio-supply = <&vcca1v8_pmu>;
7632dcd7e0cSLev Popov		max-speed = <3000000>;
764b33a22a1SPeter Geis	};
765b33a22a1SPeter Geis};
766b33a22a1SPeter Geis
7672943660fSPeter Geis/* uart2 is exposed on con40
7682943660fSPeter Geis * pin 8 - uart2_tx_m0_debug
7692943660fSPeter Geis * pin 10 - uart2_rx_m0_debug
7702943660fSPeter Geis */
771b33a22a1SPeter Geis&uart2 {
772b33a22a1SPeter Geis	status = "okay";
773b33a22a1SPeter Geis};
7741ff37c22SPeter Geis
7751ff37c22SPeter Geis&usb_host0_ehci {
7761ff37c22SPeter Geis	status = "okay";
7771ff37c22SPeter Geis};
7781ff37c22SPeter Geis
7791ff37c22SPeter Geis&usb_host0_ohci {
7801ff37c22SPeter Geis	status = "okay";
7811ff37c22SPeter Geis};
7821ff37c22SPeter Geis
7831ff37c22SPeter Geis&usb_host1_ehci {
7841ff37c22SPeter Geis	status = "okay";
7851ff37c22SPeter Geis};
7861ff37c22SPeter Geis
7871ff37c22SPeter Geis&usb_host1_ohci {
7881ff37c22SPeter Geis	status = "okay";
7891ff37c22SPeter Geis};
79078f71860SMichael Riesch
791e432309fSPeter Geis&usb_host0_xhci {
7922881a4abSPeter Geis	dr_mode = "host";
793e432309fSPeter Geis	status = "okay";
794e432309fSPeter Geis};
795e432309fSPeter Geis
796e432309fSPeter Geis/* usb3 controller is muxed with sata1 */
797e432309fSPeter Geis&usb_host1_xhci {
798e432309fSPeter Geis	status = "okay";
799e432309fSPeter Geis};
800e432309fSPeter Geis
801e432309fSPeter Geis&usb2phy0 {
802e432309fSPeter Geis	status = "okay";
803e432309fSPeter Geis};
804e432309fSPeter Geis
805e432309fSPeter Geis&usb2phy0_host {
806e432309fSPeter Geis	phy-supply = <&vcc5v0_usb20_host>;
807e432309fSPeter Geis	status = "okay";
808e432309fSPeter Geis};
809e432309fSPeter Geis
810e432309fSPeter Geis&usb2phy0_otg {
811e432309fSPeter Geis	phy-supply = <&vcc5v0_usb20_otg>;
812e432309fSPeter Geis	status = "okay";
813e432309fSPeter Geis};
814e432309fSPeter Geis
81578f71860SMichael Riesch&usb2phy1 {
81678f71860SMichael Riesch	status = "okay";
81778f71860SMichael Riesch};
81878f71860SMichael Riesch
81978f71860SMichael Riesch&usb2phy1_host {
82078f71860SMichael Riesch	phy-supply = <&vcc5v0_usb20_host>;
82178f71860SMichael Riesch	status = "okay";
82278f71860SMichael Riesch};
82378f71860SMichael Riesch
82478f71860SMichael Riesch&usb2phy1_otg {
82578f71860SMichael Riesch	phy-supply = <&vcc5v0_usb20_host>;
82678f71860SMichael Riesch	status = "okay";
82778f71860SMichael Riesch};
8280c096d6eSMichael Riesch
8290c096d6eSMichael Riesch&vop {
8300c096d6eSMichael Riesch	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
8310c096d6eSMichael Riesch	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
8320c096d6eSMichael Riesch	status = "okay";
8330c096d6eSMichael Riesch};
8340c096d6eSMichael Riesch
8350c096d6eSMichael Riesch&vop_mmu {
8360c096d6eSMichael Riesch	status = "okay";
8370c096d6eSMichael Riesch};
8380c096d6eSMichael Riesch
8390c096d6eSMichael Riesch&vp0 {
8400c096d6eSMichael Riesch	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
8410c096d6eSMichael Riesch		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
8420c096d6eSMichael Riesch		remote-endpoint = <&hdmi_in_vp0>;
8430c096d6eSMichael Riesch	};
8440c096d6eSMichael Riesch};
845