xref: /openbmc/linux/arch/arm64/boot/dts/rockchip/rk3566-quartz64-a.dts (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
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/ {
11b33a22a1SPeter Geis	model = "Pine64 RK3566 Quartz64-A Board";
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";
3340b0bfbbSPeter Geis		gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
3440b0bfbbSPeter Geis		gpio-fan,speed-map = <0    0
3540b0bfbbSPeter Geis				      4500 1>;
36fb4f915cSPeter Geis		pinctrl-names = "default";
37fb4f915cSPeter Geis		pinctrl-0 = <&fan_en_h>;
3840b0bfbbSPeter Geis		#cooling-cells = <2>;
3940b0bfbbSPeter Geis	};
4040b0bfbbSPeter Geis
410c096d6eSMichael Riesch	hdmi-con {
420c096d6eSMichael Riesch		compatible = "hdmi-connector";
430c096d6eSMichael Riesch		type = "a";
440c096d6eSMichael Riesch
450c096d6eSMichael Riesch		port {
460c096d6eSMichael Riesch			hdmi_con_in: endpoint {
470c096d6eSMichael Riesch				remote-endpoint = <&hdmi_out_con>;
480c096d6eSMichael Riesch			};
490c096d6eSMichael Riesch		};
500c096d6eSMichael Riesch	};
510c096d6eSMichael Riesch
52b33a22a1SPeter Geis	leds {
53b33a22a1SPeter Geis		compatible = "gpio-leds";
54b33a22a1SPeter Geis
55b33a22a1SPeter Geis		led-work {
56b33a22a1SPeter Geis			label = "work-led";
57b33a22a1SPeter Geis			default-state = "off";
58b33a22a1SPeter Geis			gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_HIGH>;
59b33a22a1SPeter Geis			pinctrl-names = "default";
60b33a22a1SPeter Geis			pinctrl-0 = <&work_led_enable_h>;
61b33a22a1SPeter Geis			retain-state-suspended;
62b33a22a1SPeter Geis		};
63b33a22a1SPeter Geis
64b33a22a1SPeter Geis		led-diy {
65b33a22a1SPeter Geis			label = "diy-led";
66b33a22a1SPeter Geis			default-state = "on";
67b33a22a1SPeter Geis			gpios = <&gpio0 RK_PD4 GPIO_ACTIVE_HIGH>;
68b33a22a1SPeter Geis			linux,default-trigger = "heartbeat";
69b33a22a1SPeter Geis			pinctrl-names = "default";
70b33a22a1SPeter Geis			pinctrl-0 = <&diy_led_enable_h>;
71b33a22a1SPeter Geis			retain-state-suspended;
72b33a22a1SPeter Geis		};
73b33a22a1SPeter Geis	};
74b33a22a1SPeter Geis
751938b585SNicolas Frattaroli	rk817-sound {
761938b585SNicolas Frattaroli		compatible = "simple-audio-card";
771938b585SNicolas Frattaroli		simple-audio-card,format = "i2s";
781938b585SNicolas Frattaroli		simple-audio-card,name = "Analog RK817";
791938b585SNicolas Frattaroli		simple-audio-card,mclk-fs = <256>;
801938b585SNicolas Frattaroli
811938b585SNicolas Frattaroli		simple-audio-card,cpu {
821938b585SNicolas Frattaroli			sound-dai = <&i2s1_8ch>;
831938b585SNicolas Frattaroli		};
841938b585SNicolas Frattaroli
851938b585SNicolas Frattaroli		simple-audio-card,codec {
861938b585SNicolas Frattaroli			sound-dai = <&rk817>;
871938b585SNicolas Frattaroli		};
881938b585SNicolas Frattaroli	};
891938b585SNicolas Frattaroli
902ed1e354SPeter Geis	sdio_pwrseq: sdio-pwrseq {
912ed1e354SPeter Geis		compatible = "mmc-pwrseq-simple";
922ed1e354SPeter Geis		clocks = <&rk817 1>;
932ed1e354SPeter Geis		clock-names = "ext_clock";
942ed1e354SPeter Geis		pinctrl-names = "default";
952ed1e354SPeter Geis		pinctrl-0 = <&wifi_enable_h>;
962ed1e354SPeter Geis		post-power-on-delay-ms = <100>;
972ed1e354SPeter Geis		power-off-delay-us = <5000000>;
982ed1e354SPeter Geis		reset-gpios = <&gpio2 RK_PC2 GPIO_ACTIVE_LOW>;
992ed1e354SPeter Geis	};
1002ed1e354SPeter Geis
1017ab91acdSNicolas Frattaroli	spdif_dit: spdif-dit {
1027ab91acdSNicolas Frattaroli		compatible = "linux,spdif-dit";
1037ab91acdSNicolas Frattaroli		#sound-dai-cells = <0>;
1047ab91acdSNicolas Frattaroli	};
1057ab91acdSNicolas Frattaroli
1067ab91acdSNicolas Frattaroli	spdif_sound: spdif-sound {
1077ab91acdSNicolas Frattaroli		compatible = "simple-audio-card";
1087ab91acdSNicolas Frattaroli		simple-audio-card,name = "SPDIF";
1097ab91acdSNicolas Frattaroli
1107ab91acdSNicolas Frattaroli		simple-audio-card,cpu {
1117ab91acdSNicolas Frattaroli			sound-dai = <&spdif>;
1127ab91acdSNicolas Frattaroli		};
1137ab91acdSNicolas Frattaroli
1147ab91acdSNicolas Frattaroli		simple-audio-card,codec {
1157ab91acdSNicolas Frattaroli			sound-dai = <&spdif_dit>;
1167ab91acdSNicolas Frattaroli		};
1177ab91acdSNicolas Frattaroli	};
1187ab91acdSNicolas Frattaroli
119b33a22a1SPeter Geis	vcc12v_dcin: vcc12v_dcin {
120b33a22a1SPeter Geis		compatible = "regulator-fixed";
121b33a22a1SPeter Geis		regulator-name = "vcc12v_dcin";
122b33a22a1SPeter Geis		regulator-always-on;
123b33a22a1SPeter Geis		regulator-boot-on;
124b33a22a1SPeter Geis		regulator-min-microvolt = <12000000>;
125b33a22a1SPeter Geis		regulator-max-microvolt = <12000000>;
126b33a22a1SPeter Geis	};
127b33a22a1SPeter Geis
128b33a22a1SPeter Geis	/* vbus feeds the rk817 usb input.
129b33a22a1SPeter Geis	 * With no battery attached, also feeds vcc_bat+
130b33a22a1SPeter Geis	 * via ON/OFF_BAT jumper
131b33a22a1SPeter Geis	 */
132b33a22a1SPeter Geis	vbus: vbus {
133b33a22a1SPeter Geis		compatible = "regulator-fixed";
134b33a22a1SPeter Geis		regulator-name = "vbus";
135b33a22a1SPeter Geis		regulator-always-on;
136b33a22a1SPeter Geis		regulator-boot-on;
137b33a22a1SPeter Geis		regulator-min-microvolt = <5000000>;
138b33a22a1SPeter Geis		regulator-max-microvolt = <5000000>;
139b33a22a1SPeter Geis		vin-supply = <&vcc12v_dcin>;
140b33a22a1SPeter Geis	};
141b33a22a1SPeter Geis
14289504897SPeter Geis	vcc3v3_pcie_p: vcc3v3-pcie-p-regulator {
14389504897SPeter Geis		compatible = "regulator-fixed";
14489504897SPeter Geis		enable-active-high;
14589504897SPeter Geis		gpio = <&gpio0 RK_PC6 GPIO_ACTIVE_HIGH>;
14689504897SPeter Geis		pinctrl-names = "default";
14789504897SPeter Geis		pinctrl-0 = <&pcie_enable_h>;
14889504897SPeter Geis		regulator-name = "vcc3v3_pcie_p";
14989504897SPeter Geis		regulator-min-microvolt = <3300000>;
15089504897SPeter Geis		regulator-max-microvolt = <3300000>;
15189504897SPeter Geis		vin-supply = <&vcc_3v3>;
15289504897SPeter Geis	};
15389504897SPeter Geis
154b33a22a1SPeter Geis	vcc5v0_usb: vcc5v0_usb {
155b33a22a1SPeter Geis		compatible = "regulator-fixed";
156b33a22a1SPeter Geis		regulator-name = "vcc5v0_usb";
157b33a22a1SPeter Geis		regulator-always-on;
158b33a22a1SPeter Geis		regulator-boot-on;
159b33a22a1SPeter Geis		regulator-min-microvolt = <5000000>;
160b33a22a1SPeter Geis		regulator-max-microvolt = <5000000>;
161b33a22a1SPeter Geis		vin-supply = <&vcc12v_dcin>;
162b33a22a1SPeter Geis	};
163b33a22a1SPeter Geis
1641ff37c22SPeter Geis	/* all four ports are controlled by one gpio
1651ff37c22SPeter Geis	 * the host ports are sourced from vcc5v0_usb
1661ff37c22SPeter Geis	 * the otg port is sourced from vcc5v0_midu
1671ff37c22SPeter Geis	 */
1681ff37c22SPeter Geis	vcc5v0_usb20_host: vcc5v0_usb20_host {
1691ff37c22SPeter Geis		compatible = "regulator-fixed";
1701ff37c22SPeter Geis		enable-active-high;
1711ff37c22SPeter Geis		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
1721ff37c22SPeter Geis		pinctrl-names = "default";
1731ff37c22SPeter Geis		pinctrl-0 = <&vcc5v0_usb20_host_en>;
1741ff37c22SPeter Geis		regulator-name = "vcc5v0_usb20_host";
1751ff37c22SPeter Geis		regulator-min-microvolt = <5000000>;
1761ff37c22SPeter Geis		regulator-max-microvolt = <5000000>;
1771ff37c22SPeter Geis		vin-supply = <&vcc5v0_usb>;
1781ff37c22SPeter Geis	};
1791ff37c22SPeter Geis
180e432309fSPeter Geis	vcc5v0_usb20_otg: vcc5v0_usb20_otg {
181e432309fSPeter Geis		compatible = "regulator-fixed";
182e432309fSPeter Geis		enable-active-high;
183e432309fSPeter Geis		gpio = <&gpio4 RK_PB5 GPIO_ACTIVE_HIGH>;
184e432309fSPeter Geis		regulator-name = "vcc5v0_usb20_otg";
185e432309fSPeter Geis		regulator-min-microvolt = <5000000>;
186e432309fSPeter Geis		regulator-max-microvolt = <5000000>;
187e432309fSPeter Geis		vin-supply = <&dcdc_boost>;
188e432309fSPeter Geis	};
189e432309fSPeter Geis
190b33a22a1SPeter Geis	vcc3v3_sd: vcc3v3_sd {
191b33a22a1SPeter Geis		compatible = "regulator-fixed";
192b33a22a1SPeter Geis		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_LOW>;
193b33a22a1SPeter Geis		pinctrl-names = "default";
194b33a22a1SPeter Geis		pinctrl-0 = <&vcc_sd_h>;
195b33a22a1SPeter Geis		regulator-boot-on;
196b33a22a1SPeter Geis		regulator-name = "vcc3v3_sd";
197b33a22a1SPeter Geis		regulator-min-microvolt = <3300000>;
198b33a22a1SPeter Geis		regulator-max-microvolt = <3300000>;
199b33a22a1SPeter Geis		vin-supply = <&vcc_3v3>;
200b33a22a1SPeter Geis	};
201b33a22a1SPeter Geis
202b33a22a1SPeter Geis	/* sourced from vbus and vcc_bat+ via rk817 sw5 */
203b33a22a1SPeter Geis	vcc_sys: vcc_sys {
204b33a22a1SPeter Geis		compatible = "regulator-fixed";
205b33a22a1SPeter Geis		regulator-name = "vcc_sys";
206b33a22a1SPeter Geis		regulator-always-on;
207b33a22a1SPeter Geis		regulator-boot-on;
208b33a22a1SPeter Geis		regulator-min-microvolt = <4400000>;
209b33a22a1SPeter Geis		regulator-max-microvolt = <4400000>;
210b33a22a1SPeter Geis		vin-supply = <&vbus>;
211b33a22a1SPeter Geis	};
2122ed1e354SPeter Geis
2132ed1e354SPeter Geis	/* sourced from vcc_sys, sdio module operates internally at 3.3v */
2142ed1e354SPeter Geis	vcc_wl: vcc_wl {
2152ed1e354SPeter Geis		compatible = "regulator-fixed";
2162ed1e354SPeter Geis		regulator-name = "vcc_wl";
2172ed1e354SPeter Geis		regulator-always-on;
2182ed1e354SPeter Geis		regulator-boot-on;
2192ed1e354SPeter Geis		regulator-min-microvolt = <3300000>;
2202ed1e354SPeter Geis		regulator-max-microvolt = <3300000>;
2212ed1e354SPeter Geis		vin-supply = <&vcc_sys>;
2222ed1e354SPeter Geis	};
223b33a22a1SPeter Geis};
224b33a22a1SPeter Geis
225e432309fSPeter Geis&combphy1 {
226e432309fSPeter Geis	status = "okay";
227e432309fSPeter Geis};
228e432309fSPeter Geis
22989504897SPeter Geis&combphy2 {
23089504897SPeter Geis	status = "okay";
23189504897SPeter Geis};
23289504897SPeter Geis
233b33a22a1SPeter Geis&cpu0 {
234b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
235b33a22a1SPeter Geis};
236b33a22a1SPeter Geis
237b33a22a1SPeter Geis&cpu1 {
238b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
239b33a22a1SPeter Geis};
240b33a22a1SPeter Geis
241b33a22a1SPeter Geis&cpu2 {
242b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
243b33a22a1SPeter Geis};
244b33a22a1SPeter Geis
245b33a22a1SPeter Geis&cpu3 {
246b33a22a1SPeter Geis	cpu-supply = <&vdd_cpu>;
247b33a22a1SPeter Geis};
248b33a22a1SPeter Geis
24940b0bfbbSPeter Geis&cpu_thermal {
25040b0bfbbSPeter Geis	trips {
25140b0bfbbSPeter Geis		cpu_hot: cpu_hot {
25240b0bfbbSPeter Geis			temperature = <55000>;
25340b0bfbbSPeter Geis			hysteresis = <2000>;
25440b0bfbbSPeter Geis			type = "active";
25540b0bfbbSPeter Geis		};
25640b0bfbbSPeter Geis	};
25740b0bfbbSPeter Geis
25840b0bfbbSPeter Geis	cooling-maps {
25940b0bfbbSPeter Geis		map1 {
26040b0bfbbSPeter Geis			trip = <&cpu_hot>;
26140b0bfbbSPeter Geis			cooling-device = <&fan THERMAL_NO_LIMIT THERMAL_NO_LIMIT>;
26240b0bfbbSPeter Geis		};
26340b0bfbbSPeter Geis	};
26440b0bfbbSPeter Geis};
26540b0bfbbSPeter Geis
266c3dd497fSPeter Geis&gmac1 {
267c3dd497fSPeter Geis	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>;
268c3dd497fSPeter Geis	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru SCLK_GMAC1>, <&gmac1_clkin>;
269c3dd497fSPeter Geis	clock_in_out = "input";
270c3dd497fSPeter Geis	phy-supply = <&vcc_3v3>;
271c3dd497fSPeter Geis	phy-mode = "rgmii";
272c3dd497fSPeter Geis	pinctrl-names = "default";
273c3dd497fSPeter Geis	pinctrl-0 = <&gmac1m0_miim
274c3dd497fSPeter Geis		     &gmac1m0_tx_bus2
275c3dd497fSPeter Geis		     &gmac1m0_rx_bus2
276c3dd497fSPeter Geis		     &gmac1m0_rgmii_clk
277c3dd497fSPeter Geis		     &gmac1m0_clkinout
278c3dd497fSPeter Geis		     &gmac1m0_rgmii_bus>;
279c3dd497fSPeter Geis	snps,reset-gpio = <&gpio0 RK_PC3 GPIO_ACTIVE_LOW>;
280c3dd497fSPeter Geis	snps,reset-active-low;
281c3dd497fSPeter Geis	/* Reset time is 20ms, 100ms for rtl8211f */
282c3dd497fSPeter Geis	snps,reset-delays-us = <0 20000 100000>;
283c3dd497fSPeter Geis	tx_delay = <0x30>;
284c3dd497fSPeter Geis	rx_delay = <0x10>;
285c3dd497fSPeter Geis	phy-handle = <&rgmii_phy1>;
286c3dd497fSPeter Geis	status = "okay";
287c3dd497fSPeter Geis};
288c3dd497fSPeter Geis
2896ac38345SEzequiel Garcia&gpu {
2906ac38345SEzequiel Garcia	mali-supply = <&vdd_gpu>;
2916ac38345SEzequiel Garcia	status = "okay";
2926ac38345SEzequiel Garcia};
2936ac38345SEzequiel Garcia
2940c096d6eSMichael Riesch&hdmi {
2950c096d6eSMichael Riesch	avdd-0v9-supply = <&vdda_0v9>;
2960c096d6eSMichael Riesch	avdd-1v8-supply = <&vcc_1v8>;
2970c096d6eSMichael Riesch	status = "okay";
2980c096d6eSMichael Riesch};
2990c096d6eSMichael Riesch
3000c096d6eSMichael Riesch&hdmi_in {
3010c096d6eSMichael Riesch	hdmi_in_vp0: endpoint {
3020c096d6eSMichael Riesch		remote-endpoint = <&vp0_out_hdmi>;
3030c096d6eSMichael Riesch	};
3040c096d6eSMichael Riesch};
3050c096d6eSMichael Riesch
3060c096d6eSMichael Riesch&hdmi_out {
3070c096d6eSMichael Riesch	hdmi_out_con: endpoint {
3080c096d6eSMichael Riesch		remote-endpoint = <&hdmi_con_in>;
3090c096d6eSMichael Riesch	};
3100c096d6eSMichael Riesch};
3110c096d6eSMichael Riesch
3124188962dSNicolas Frattaroli&hdmi_sound {
3134188962dSNicolas Frattaroli	status = "okay";
3144188962dSNicolas Frattaroli};
3154188962dSNicolas Frattaroli
316b33a22a1SPeter Geis&i2c0 {
317b33a22a1SPeter Geis	status = "okay";
318b33a22a1SPeter Geis
319b33a22a1SPeter Geis	vdd_cpu: regulator@1c {
320b33a22a1SPeter Geis		compatible = "tcs,tcs4525";
321b33a22a1SPeter Geis		reg = <0x1c>;
322b33a22a1SPeter Geis		fcs,suspend-voltage-selector = <1>;
323b33a22a1SPeter Geis		regulator-name = "vdd_cpu";
324b33a22a1SPeter Geis		regulator-min-microvolt = <800000>;
325b33a22a1SPeter Geis		regulator-max-microvolt = <1150000>;
326b33a22a1SPeter Geis		regulator-ramp-delay = <2300>;
327b33a22a1SPeter Geis		regulator-always-on;
328b33a22a1SPeter Geis		regulator-boot-on;
329b33a22a1SPeter Geis		vin-supply = <&vcc_sys>;
330b33a22a1SPeter Geis
331b33a22a1SPeter Geis		regulator-state-mem {
332b33a22a1SPeter Geis			regulator-off-in-suspend;
333b33a22a1SPeter Geis		};
334b33a22a1SPeter Geis	};
335b33a22a1SPeter Geis
336b33a22a1SPeter Geis	rk817: pmic@20 {
337b33a22a1SPeter Geis		compatible = "rockchip,rk817";
338b33a22a1SPeter Geis		reg = <0x20>;
339b33a22a1SPeter Geis		interrupt-parent = <&gpio0>;
340b33a22a1SPeter Geis		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
3411938b585SNicolas Frattaroli		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
3421938b585SNicolas Frattaroli		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
3431938b585SNicolas Frattaroli		clock-names = "mclk";
3441938b585SNicolas Frattaroli		clocks = <&cru I2S1_MCLKOUT_TX>;
345b33a22a1SPeter Geis		clock-output-names = "rk808-clkout1", "rk808-clkout2";
346b33a22a1SPeter Geis		#clock-cells = <1>;
3471938b585SNicolas Frattaroli		pinctrl-names = "default";
3481938b585SNicolas Frattaroli		pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
3491938b585SNicolas Frattaroli		rockchip,system-power-controller;
3501938b585SNicolas Frattaroli		#sound-dai-cells = <0>;
3511938b585SNicolas Frattaroli		wakeup-source;
352b33a22a1SPeter Geis
353b33a22a1SPeter Geis		vcc1-supply = <&vcc_sys>;
354b33a22a1SPeter Geis		vcc2-supply = <&vcc_sys>;
355b33a22a1SPeter Geis		vcc3-supply = <&vcc_sys>;
356b33a22a1SPeter Geis		vcc4-supply = <&vcc_sys>;
357b33a22a1SPeter Geis		vcc5-supply = <&vcc_sys>;
358b33a22a1SPeter Geis		vcc6-supply = <&vcc_sys>;
359b33a22a1SPeter Geis		vcc7-supply = <&vcc_sys>;
360b33a22a1SPeter Geis		vcc8-supply = <&vcc_sys>;
361b33a22a1SPeter Geis		vcc9-supply = <&dcdc_boost>;
362b33a22a1SPeter Geis
363b33a22a1SPeter Geis		regulators {
364b33a22a1SPeter Geis			vdd_logic: DCDC_REG1 {
365b33a22a1SPeter Geis				regulator-always-on;
366b33a22a1SPeter Geis				regulator-boot-on;
367b33a22a1SPeter Geis				regulator-min-microvolt = <500000>;
368b33a22a1SPeter Geis				regulator-max-microvolt = <1350000>;
369b33a22a1SPeter Geis				regulator-ramp-delay = <6001>;
370b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
371b33a22a1SPeter Geis				regulator-name = "vdd_logic";
372b33a22a1SPeter Geis				regulator-state-mem {
373b33a22a1SPeter Geis					regulator-on-in-suspend;
374b33a22a1SPeter Geis					regulator-suspend-microvolt = <900000>;
375b33a22a1SPeter Geis				};
376b33a22a1SPeter Geis			};
377b33a22a1SPeter Geis
378b33a22a1SPeter Geis			vdd_gpu: DCDC_REG2 {
379b33a22a1SPeter Geis				regulator-always-on;
380b33a22a1SPeter Geis				regulator-boot-on;
381b33a22a1SPeter Geis				regulator-min-microvolt = <500000>;
382b33a22a1SPeter Geis				regulator-max-microvolt = <1350000>;
383b33a22a1SPeter Geis				regulator-ramp-delay = <6001>;
384b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
385b33a22a1SPeter Geis				regulator-name = "vdd_gpu";
386b33a22a1SPeter Geis					regulator-state-mem {
387b33a22a1SPeter Geis					regulator-off-in-suspend;
388b33a22a1SPeter Geis				};
389b33a22a1SPeter Geis			};
390b33a22a1SPeter Geis
391b33a22a1SPeter Geis			vcc_ddr: DCDC_REG3 {
392b33a22a1SPeter Geis				regulator-always-on;
393b33a22a1SPeter Geis				regulator-boot-on;
394b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
395b33a22a1SPeter Geis				regulator-name = "vcc_ddr";
396b33a22a1SPeter Geis				regulator-state-mem {
397b33a22a1SPeter Geis					regulator-on-in-suspend;
398b33a22a1SPeter Geis				};
399b33a22a1SPeter Geis			};
400b33a22a1SPeter Geis
401b33a22a1SPeter Geis			vcc_3v3: DCDC_REG4 {
402b33a22a1SPeter Geis				regulator-always-on;
403b33a22a1SPeter Geis				regulator-boot-on;
404b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
405b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
406b33a22a1SPeter Geis				regulator-initial-mode = <0x2>;
407b33a22a1SPeter Geis				regulator-name = "vcc_3v3";
408b33a22a1SPeter Geis				regulator-state-mem {
409b33a22a1SPeter Geis					regulator-off-in-suspend;
410b33a22a1SPeter Geis				};
411b33a22a1SPeter Geis			};
412b33a22a1SPeter Geis
413b33a22a1SPeter Geis			vcca1v8_pmu: LDO_REG1 {
414b33a22a1SPeter Geis				regulator-always-on;
415b33a22a1SPeter Geis				regulator-boot-on;
416b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
417b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
418b33a22a1SPeter Geis				regulator-name = "vcca1v8_pmu";
419b33a22a1SPeter Geis				regulator-state-mem {
420b33a22a1SPeter Geis					regulator-on-in-suspend;
421b33a22a1SPeter Geis					regulator-suspend-microvolt = <1800000>;
422b33a22a1SPeter Geis				};
423b33a22a1SPeter Geis			};
424b33a22a1SPeter Geis
425b33a22a1SPeter Geis			vdda_0v9: LDO_REG2 {
426b33a22a1SPeter Geis				regulator-always-on;
427b33a22a1SPeter Geis				regulator-boot-on;
428b33a22a1SPeter Geis				regulator-min-microvolt = <900000>;
429b33a22a1SPeter Geis				regulator-max-microvolt = <900000>;
430b33a22a1SPeter Geis				regulator-name = "vdda_0v9";
431b33a22a1SPeter Geis				regulator-state-mem {
432b33a22a1SPeter Geis					regulator-off-in-suspend;
433b33a22a1SPeter Geis				};
434b33a22a1SPeter Geis			};
435b33a22a1SPeter Geis
436b33a22a1SPeter Geis			vdda0v9_pmu: LDO_REG3 {
437b33a22a1SPeter Geis				regulator-always-on;
438b33a22a1SPeter Geis				regulator-boot-on;
439b33a22a1SPeter Geis				regulator-min-microvolt = <900000>;
440b33a22a1SPeter Geis				regulator-max-microvolt = <900000>;
441b33a22a1SPeter Geis				regulator-name = "vdda0v9_pmu";
442b33a22a1SPeter Geis				regulator-state-mem {
443b33a22a1SPeter Geis					regulator-on-in-suspend;
444b33a22a1SPeter Geis					regulator-suspend-microvolt = <900000>;
445b33a22a1SPeter Geis				};
446b33a22a1SPeter Geis			};
447b33a22a1SPeter Geis
448b33a22a1SPeter Geis			vccio_acodec: LDO_REG4 {
449b33a22a1SPeter Geis				regulator-always-on;
450b33a22a1SPeter Geis				regulator-boot-on;
451b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
452b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
453b33a22a1SPeter Geis				regulator-name = "vccio_acodec";
454b33a22a1SPeter Geis				regulator-state-mem {
455b33a22a1SPeter Geis					regulator-off-in-suspend;
456b33a22a1SPeter Geis				};
457b33a22a1SPeter Geis			};
458b33a22a1SPeter Geis
459b33a22a1SPeter Geis			vccio_sd: LDO_REG5 {
460b33a22a1SPeter Geis				regulator-always-on;
461b33a22a1SPeter Geis				regulator-boot-on;
462b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
463b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
464b33a22a1SPeter Geis				regulator-name = "vccio_sd";
465b33a22a1SPeter Geis				regulator-state-mem {
466b33a22a1SPeter Geis					regulator-off-in-suspend;
467b33a22a1SPeter Geis				};
468b33a22a1SPeter Geis			};
469b33a22a1SPeter Geis
470b33a22a1SPeter Geis			vcc3v3_pmu: LDO_REG6 {
471b33a22a1SPeter Geis				regulator-always-on;
472b33a22a1SPeter Geis				regulator-boot-on;
473b33a22a1SPeter Geis				regulator-min-microvolt = <3300000>;
474b33a22a1SPeter Geis				regulator-max-microvolt = <3300000>;
475b33a22a1SPeter Geis				regulator-name = "vcc3v3_pmu";
476b33a22a1SPeter Geis				regulator-state-mem {
477b33a22a1SPeter Geis					regulator-on-in-suspend;
478b33a22a1SPeter Geis					regulator-suspend-microvolt = <3300000>;
479b33a22a1SPeter Geis				};
480b33a22a1SPeter Geis			};
481b33a22a1SPeter Geis
482b33a22a1SPeter Geis			vcc_1v8: LDO_REG7 {
483b33a22a1SPeter Geis				regulator-always-on;
484b33a22a1SPeter Geis				regulator-boot-on;
485b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
486b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
487b33a22a1SPeter Geis				regulator-name = "vcc_1v8";
488b33a22a1SPeter Geis				regulator-state-mem {
489b33a22a1SPeter Geis					regulator-off-in-suspend;
490b33a22a1SPeter Geis				};
491b33a22a1SPeter Geis			};
492b33a22a1SPeter Geis
493b33a22a1SPeter Geis			vcc1v8_dvp: LDO_REG8 {
494b33a22a1SPeter Geis				regulator-always-on;
495b33a22a1SPeter Geis				regulator-boot-on;
496b33a22a1SPeter Geis				regulator-min-microvolt = <1800000>;
497b33a22a1SPeter Geis				regulator-max-microvolt = <1800000>;
498b33a22a1SPeter Geis				regulator-name = "vcc1v8_dvp";
499b33a22a1SPeter Geis				regulator-state-mem {
500b33a22a1SPeter Geis					regulator-off-in-suspend;
501b33a22a1SPeter Geis				};
502b33a22a1SPeter Geis			};
503b33a22a1SPeter Geis
504b33a22a1SPeter Geis			vcc2v8_dvp: LDO_REG9 {
505b33a22a1SPeter Geis				regulator-always-on;
506b33a22a1SPeter Geis				regulator-boot-on;
507b33a22a1SPeter Geis				regulator-min-microvolt = <2800000>;
508b33a22a1SPeter Geis				regulator-max-microvolt = <2800000>;
509b33a22a1SPeter Geis				regulator-name = "vcc2v8_dvp";
510b33a22a1SPeter Geis				regulator-state-mem {
511b33a22a1SPeter Geis					regulator-off-in-suspend;
512b33a22a1SPeter Geis				};
513b33a22a1SPeter Geis			};
514b33a22a1SPeter Geis
515b33a22a1SPeter Geis			dcdc_boost: BOOST {
516b33a22a1SPeter Geis				regulator-always-on;
517b33a22a1SPeter Geis				regulator-boot-on;
518b33a22a1SPeter Geis				regulator-min-microvolt = <5000000>;
519b33a22a1SPeter Geis				regulator-max-microvolt = <5000000>;
520b33a22a1SPeter Geis				regulator-name = "boost";
521b33a22a1SPeter Geis				regulator-state-mem {
522b33a22a1SPeter Geis					regulator-off-in-suspend;
523b33a22a1SPeter Geis				};
524b33a22a1SPeter Geis			};
525b33a22a1SPeter Geis
526b33a22a1SPeter Geis			otg_switch: OTG_SWITCH {
527b33a22a1SPeter Geis				regulator-name = "otg_switch";
528b33a22a1SPeter Geis				regulator-state-mem {
529b33a22a1SPeter Geis					regulator-off-in-suspend;
530b33a22a1SPeter Geis				};
531b33a22a1SPeter Geis			};
532b33a22a1SPeter Geis		};
533b33a22a1SPeter Geis	};
534b33a22a1SPeter Geis};
535b33a22a1SPeter Geis
5362943660fSPeter Geis/* i2c3 is exposed on con40
5372943660fSPeter Geis * pin 3 - i2c3_sda_m0, pullup to vcc_3v3
5382943660fSPeter Geis * pin 5 - i2c3_scl_m0, pullup to vcc_3v3
5392943660fSPeter Geis */
5402943660fSPeter Geis&i2c3 {
5412943660fSPeter Geis	status = "okay";
5422943660fSPeter Geis};
5432943660fSPeter Geis
5444188962dSNicolas Frattaroli&i2s0_8ch {
5454188962dSNicolas Frattaroli	status = "okay";
5464188962dSNicolas Frattaroli};
5474188962dSNicolas Frattaroli
5481938b585SNicolas Frattaroli&i2s1_8ch {
5491938b585SNicolas Frattaroli	pinctrl-names = "default";
5501938b585SNicolas Frattaroli	pinctrl-0 = <&i2s1m0_sclktx
5511938b585SNicolas Frattaroli		     &i2s1m0_lrcktx
5521938b585SNicolas Frattaroli		     &i2s1m0_sdi0
5531938b585SNicolas Frattaroli		     &i2s1m0_sdo0>;
5541938b585SNicolas Frattaroli	rockchip,trcm-sync-tx-only;
5551938b585SNicolas Frattaroli	status = "okay";
5561938b585SNicolas Frattaroli};
5571938b585SNicolas Frattaroli
558c3dd497fSPeter Geis&mdio1 {
559c3dd497fSPeter Geis	rgmii_phy1: ethernet-phy@0 {
560c3dd497fSPeter Geis		compatible = "ethernet-phy-ieee802.3-c22";
561c3dd497fSPeter Geis		reg = <0>;
562c3dd497fSPeter Geis	};
563c3dd497fSPeter Geis};
564c3dd497fSPeter Geis
56589504897SPeter Geis&pcie2x1 {
56689504897SPeter Geis	pinctrl-names = "default";
56789504897SPeter Geis	pinctrl-0 = <&pcie_reset_h>;
56889504897SPeter Geis	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
56989504897SPeter Geis	vpcie3v3-supply = <&vcc3v3_pcie_p>;
57089504897SPeter Geis	status = "okay";
57189504897SPeter Geis};
57289504897SPeter Geis
573b33a22a1SPeter Geis&pinctrl {
574b33a22a1SPeter Geis	bt {
575b33a22a1SPeter Geis		bt_enable_h: bt-enable-h {
576b33a22a1SPeter Geis			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
577b33a22a1SPeter Geis		};
578b33a22a1SPeter Geis
579b33a22a1SPeter Geis		bt_host_wake_l: bt-host-wake-l {
580b33a22a1SPeter Geis			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>;
581b33a22a1SPeter Geis		};
582b33a22a1SPeter Geis
583b33a22a1SPeter Geis		bt_wake_l: bt-wake-l {
584b33a22a1SPeter Geis			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>;
585b33a22a1SPeter Geis		};
586b33a22a1SPeter Geis	};
587b33a22a1SPeter Geis
588fb4f915cSPeter Geis	fan {
589fb4f915cSPeter Geis		fan_en_h: fan-en-h {
590fb4f915cSPeter Geis			rockchip,pins = <0 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
591fb4f915cSPeter Geis		};
592fb4f915cSPeter Geis	};
593fb4f915cSPeter Geis
594b33a22a1SPeter Geis	leds {
595b33a22a1SPeter Geis		work_led_enable_h: work-led-enable-h {
596b33a22a1SPeter Geis			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
597b33a22a1SPeter Geis		};
598b33a22a1SPeter Geis
599b33a22a1SPeter Geis		diy_led_enable_h: diy-led-enable-h {
600b33a22a1SPeter Geis			rockchip,pins = <0 RK_PD4 RK_FUNC_GPIO &pcfg_pull_none>;
601b33a22a1SPeter Geis		};
602b33a22a1SPeter Geis	};
603b33a22a1SPeter Geis
60489504897SPeter Geis	pcie {
60589504897SPeter Geis		pcie_enable_h: pcie-enable-h {
60689504897SPeter Geis			rockchip,pins = <0 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
60789504897SPeter Geis		};
60889504897SPeter Geis
60989504897SPeter Geis		pcie_reset_h: pcie-reset-h {
61089504897SPeter Geis			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
61189504897SPeter Geis		};
61289504897SPeter Geis	};
61389504897SPeter Geis
614b33a22a1SPeter Geis	pmic {
615b33a22a1SPeter Geis		pmic_int_l: pmic-int-l {
616b33a22a1SPeter Geis			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
617b33a22a1SPeter Geis		};
618b33a22a1SPeter Geis	};
619b33a22a1SPeter Geis
6201ff37c22SPeter Geis	usb2 {
6211ff37c22SPeter Geis		vcc5v0_usb20_host_en: vcc5v0-usb20-host-en {
6221ff37c22SPeter Geis			rockchip,pins = <4 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
6231ff37c22SPeter Geis		};
6241ff37c22SPeter Geis	};
6251ff37c22SPeter Geis
6262ed1e354SPeter Geis	sdio-pwrseq {
6272ed1e354SPeter Geis		wifi_enable_h: wifi-enable-h {
6282ed1e354SPeter Geis			rockchip,pins = <2 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
6292ed1e354SPeter Geis		};
6302ed1e354SPeter Geis	};
6312ed1e354SPeter Geis
632b33a22a1SPeter Geis	vcc_sd {
633b33a22a1SPeter Geis		vcc_sd_h: vcc-sd-h {
634b33a22a1SPeter Geis			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
635b33a22a1SPeter Geis		};
636b33a22a1SPeter Geis	};
637b33a22a1SPeter Geis};
638b33a22a1SPeter Geis
639827dfba8SPeter Geis&pmu_io_domains {
640827dfba8SPeter Geis	pmuio1-supply = <&vcc3v3_pmu>;
641827dfba8SPeter Geis	pmuio2-supply = <&vcc3v3_pmu>;
642827dfba8SPeter Geis	vccio1-supply = <&vccio_acodec>;
643827dfba8SPeter Geis	vccio2-supply = <&vcc_1v8>;
644827dfba8SPeter Geis	vccio3-supply = <&vccio_sd>;
645827dfba8SPeter Geis	vccio4-supply = <&vcc_1v8>;
646827dfba8SPeter Geis	vccio5-supply = <&vcc_3v3>;
647827dfba8SPeter Geis	vccio6-supply = <&vcc1v8_dvp>;
648827dfba8SPeter Geis	vccio7-supply = <&vcc_3v3>;
649827dfba8SPeter Geis	status = "okay";
650827dfba8SPeter Geis};
651827dfba8SPeter Geis
652b33a22a1SPeter Geis&sdhci {
653b33a22a1SPeter Geis	bus-width = <8>;
654b33a22a1SPeter Geis	mmc-hs200-1_8v;
655b33a22a1SPeter Geis	non-removable;
656b33a22a1SPeter Geis	vmmc-supply = <&vcc_3v3>;
657b33a22a1SPeter Geis	vqmmc-supply = <&vcc_1v8>;
658b33a22a1SPeter Geis	status = "okay";
659b33a22a1SPeter Geis};
660b33a22a1SPeter Geis
661b33a22a1SPeter Geis&sdmmc0 {
662b33a22a1SPeter Geis	bus-width = <4>;
663b33a22a1SPeter Geis	cap-sd-highspeed;
664b33a22a1SPeter Geis	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
665b33a22a1SPeter Geis	disable-wp;
666b33a22a1SPeter Geis	pinctrl-names = "default";
667b33a22a1SPeter Geis	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
66828ae8a98SPeter Geis	sd-uhs-sdr104;
669b33a22a1SPeter Geis	vmmc-supply = <&vcc3v3_sd>;
670b33a22a1SPeter Geis	vqmmc-supply = <&vccio_sd>;
671b33a22a1SPeter Geis	status = "okay";
672b33a22a1SPeter Geis};
673b33a22a1SPeter Geis
6742ed1e354SPeter Geis&sdmmc1 {
6752ed1e354SPeter Geis	bus-width = <4>;
6762ed1e354SPeter Geis	cap-sd-highspeed;
6772ed1e354SPeter Geis	cap-sdio-irq;
6782ed1e354SPeter Geis	keep-power-in-suspend;
6792ed1e354SPeter Geis	mmc-pwrseq = <&sdio_pwrseq>;
6802ed1e354SPeter Geis	non-removable;
6812ed1e354SPeter Geis	pinctrl-names = "default";
6822ed1e354SPeter Geis	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
6832ed1e354SPeter Geis	sd-uhs-sdr104;
6842ed1e354SPeter Geis	vmmc-supply = <&vcc_wl>;
6852ed1e354SPeter Geis	vqmmc-supply = <&vcc_1v8>;
6862ed1e354SPeter Geis	status = "okay";
6872ed1e354SPeter Geis};
6882ed1e354SPeter Geis
689b181a1e8SPeter Geis&sfc {
690b181a1e8SPeter Geis	pinctrl-0 = <&fspi_pins>;
691b181a1e8SPeter Geis	pinctrl-names = "default";
692b181a1e8SPeter Geis	#address-cells = <1>;
693b181a1e8SPeter Geis	#size-cells = <0>;
694b181a1e8SPeter Geis	status = "disabled";
695b181a1e8SPeter Geis
696b181a1e8SPeter Geis	flash@0 {
697b181a1e8SPeter Geis		compatible = "jedec,spi-nor";
698b181a1e8SPeter Geis		reg = <0>;
699b181a1e8SPeter Geis		spi-max-frequency = <24000000>;
700b181a1e8SPeter Geis		spi-rx-bus-width = <4>;
701b181a1e8SPeter Geis		spi-tx-bus-width = <1>;
702b181a1e8SPeter Geis	};
703b181a1e8SPeter Geis};
704b181a1e8SPeter Geis
7052943660fSPeter Geis/* spdif is exposed on con40 pin 18 */
7067ab91acdSNicolas Frattaroli&spdif {
7077ab91acdSNicolas Frattaroli	status = "okay";
7087ab91acdSNicolas Frattaroli};
7097ab91acdSNicolas Frattaroli
7102943660fSPeter Geis/* spi1 is exposed on con40
7112943660fSPeter Geis * pin 11 - spi1_mosi_m1
7122943660fSPeter Geis * pin 13 - spi1_miso_m1
7132943660fSPeter Geis * pin 15 - spi1_clk_m1
7142943660fSPeter Geis * pin 17 - spi1_cs0_m1
7152943660fSPeter Geis */
716ea1847c0SNicolas Frattaroli&spi1 {
717ea1847c0SNicolas Frattaroli	pinctrl-names = "default";
718ea1847c0SNicolas Frattaroli	pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
719ea1847c0SNicolas Frattaroli};
720ea1847c0SNicolas Frattaroli
72140b0bfbbSPeter Geis&tsadc {
72240b0bfbbSPeter Geis	/* tshut mode 0:CRU 1:GPIO */
72340b0bfbbSPeter Geis	rockchip,hw-tshut-mode = <1>;
72440b0bfbbSPeter Geis	/* tshut polarity 0:LOW 1:HIGH */
72540b0bfbbSPeter Geis	rockchip,hw-tshut-polarity = <0>;
72640b0bfbbSPeter Geis	status = "okay";
72740b0bfbbSPeter Geis};
72840b0bfbbSPeter Geis
7292943660fSPeter Geis/* uart0 is exposed on con40
7302943660fSPeter Geis * pin 12 - uart0_tx
7312943660fSPeter Geis * pin 14 - uart0_rx
7322943660fSPeter Geis */
733b33a22a1SPeter Geis&uart0 {
734b33a22a1SPeter Geis	pinctrl-names = "default";
735b33a22a1SPeter Geis	pinctrl-0 = <&uart0_xfer>;
736b33a22a1SPeter Geis	status = "okay";
737b33a22a1SPeter Geis};
738b33a22a1SPeter Geis
739b33a22a1SPeter Geis&uart1 {
740b33a22a1SPeter Geis	pinctrl-names = "default";
741*2dcd7e0cSLev Popov	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
742b33a22a1SPeter Geis	status = "okay";
743b33a22a1SPeter Geis	uart-has-rtscts;
744b33a22a1SPeter Geis
745b33a22a1SPeter Geis	bluetooth {
746b33a22a1SPeter Geis		compatible = "brcm,bcm43438-bt";
747b33a22a1SPeter Geis		clocks = <&rk817 1>;
748b33a22a1SPeter Geis		clock-names = "lpo";
749*2dcd7e0cSLev Popov		host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
750*2dcd7e0cSLev Popov		device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
751b33a22a1SPeter Geis		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
752b33a22a1SPeter Geis		pinctrl-names = "default";
753b33a22a1SPeter Geis		pinctrl-0 = <&bt_host_wake_l &bt_wake_l &bt_enable_h>;
754b33a22a1SPeter Geis		vbat-supply = <&vcc_sys>;
755b33a22a1SPeter Geis		vddio-supply = <&vcca1v8_pmu>;
756*2dcd7e0cSLev Popov		max-speed = <3000000>;
757b33a22a1SPeter Geis	};
758b33a22a1SPeter Geis};
759b33a22a1SPeter Geis
7602943660fSPeter Geis/* uart2 is exposed on con40
7612943660fSPeter Geis * pin 8 - uart2_tx_m0_debug
7622943660fSPeter Geis * pin 10 - uart2_rx_m0_debug
7632943660fSPeter Geis */
764b33a22a1SPeter Geis&uart2 {
765b33a22a1SPeter Geis	status = "okay";
766b33a22a1SPeter Geis};
7671ff37c22SPeter Geis
7681ff37c22SPeter Geis&usb_host0_ehci {
7691ff37c22SPeter Geis	status = "okay";
7701ff37c22SPeter Geis};
7711ff37c22SPeter Geis
7721ff37c22SPeter Geis&usb_host0_ohci {
7731ff37c22SPeter Geis	status = "okay";
7741ff37c22SPeter Geis};
7751ff37c22SPeter Geis
7761ff37c22SPeter Geis&usb_host1_ehci {
7771ff37c22SPeter Geis	status = "okay";
7781ff37c22SPeter Geis};
7791ff37c22SPeter Geis
7801ff37c22SPeter Geis&usb_host1_ohci {
7811ff37c22SPeter Geis	status = "okay";
7821ff37c22SPeter Geis};
78378f71860SMichael Riesch
784e432309fSPeter Geis&usb_host0_xhci {
7852881a4abSPeter Geis	dr_mode = "host";
786e432309fSPeter Geis	status = "okay";
787e432309fSPeter Geis};
788e432309fSPeter Geis
789e432309fSPeter Geis/* usb3 controller is muxed with sata1 */
790e432309fSPeter Geis&usb_host1_xhci {
791e432309fSPeter Geis	status = "okay";
792e432309fSPeter Geis};
793e432309fSPeter Geis
794e432309fSPeter Geis&usb2phy0 {
795e432309fSPeter Geis	status = "okay";
796e432309fSPeter Geis};
797e432309fSPeter Geis
798e432309fSPeter Geis&usb2phy0_host {
799e432309fSPeter Geis	phy-supply = <&vcc5v0_usb20_host>;
800e432309fSPeter Geis	status = "okay";
801e432309fSPeter Geis};
802e432309fSPeter Geis
803e432309fSPeter Geis&usb2phy0_otg {
804e432309fSPeter Geis	phy-supply = <&vcc5v0_usb20_otg>;
805e432309fSPeter Geis	status = "okay";
806e432309fSPeter Geis};
807e432309fSPeter Geis
80878f71860SMichael Riesch&usb2phy1 {
80978f71860SMichael Riesch	status = "okay";
81078f71860SMichael Riesch};
81178f71860SMichael Riesch
81278f71860SMichael Riesch&usb2phy1_host {
81378f71860SMichael Riesch	phy-supply = <&vcc5v0_usb20_host>;
81478f71860SMichael Riesch	status = "okay";
81578f71860SMichael Riesch};
81678f71860SMichael Riesch
81778f71860SMichael Riesch&usb2phy1_otg {
81878f71860SMichael Riesch	phy-supply = <&vcc5v0_usb20_host>;
81978f71860SMichael Riesch	status = "okay";
82078f71860SMichael Riesch};
8210c096d6eSMichael Riesch
8220c096d6eSMichael Riesch&vop {
8230c096d6eSMichael Riesch	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
8240c096d6eSMichael Riesch	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
8250c096d6eSMichael Riesch	status = "okay";
8260c096d6eSMichael Riesch};
8270c096d6eSMichael Riesch
8280c096d6eSMichael Riesch&vop_mmu {
8290c096d6eSMichael Riesch	status = "okay";
8300c096d6eSMichael Riesch};
8310c096d6eSMichael Riesch
8320c096d6eSMichael Riesch&vp0 {
8330c096d6eSMichael Riesch	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
8340c096d6eSMichael Riesch		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
8350c096d6eSMichael Riesch		remote-endpoint = <&hdmi_in_vp0>;
8360c096d6eSMichael Riesch	};
8370c096d6eSMichael Riesch};
838