xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3566-bigtreetech-cb2.dtsi (revision 00f281fd9d8ddc1a83d3b188c087edac2116a089)
1bfbc663dSIvan Sergeev// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2bfbc663dSIvan Sergeev
3bfbc663dSIvan Sergeev/dts-v1/;
4bfbc663dSIvan Sergeev
5bfbc663dSIvan Sergeev#include <dt-bindings/gpio/gpio.h>
6bfbc663dSIvan Sergeev#include <dt-bindings/pwm/pwm.h>
7bfbc663dSIvan Sergeev#include <dt-bindings/pinctrl/rockchip.h>
8bfbc663dSIvan Sergeev#include <dt-bindings/soc/rockchip,vop2.h>
9bfbc663dSIvan Sergeev#include <dt-bindings/leds/common.h>
10bfbc663dSIvan Sergeev#include "rk3566.dtsi"
11bfbc663dSIvan Sergeev
12bfbc663dSIvan Sergeev/ {
13bfbc663dSIvan Sergeev	aliases {
14bfbc663dSIvan Sergeev		ethernet0 = &gmac1;
15bfbc663dSIvan Sergeev		mmc0 = &sdhci;
16bfbc663dSIvan Sergeev		mmc1 = &sdmmc0;
17bfbc663dSIvan Sergeev	};
18bfbc663dSIvan Sergeev
19bfbc663dSIvan Sergeev	chosen: chosen {
20bfbc663dSIvan Sergeev		stdout-path = "serial2:1500000n8";
21bfbc663dSIvan Sergeev	};
22bfbc663dSIvan Sergeev
23bfbc663dSIvan Sergeev	ext_cam_clk: clock-25000000-cam {
24bfbc663dSIvan Sergeev		compatible = "fixed-clock";
25bfbc663dSIvan Sergeev		clock-frequency = <25000000>;
26bfbc663dSIvan Sergeev		clock-output-names = "ext_cam_clk";
27bfbc663dSIvan Sergeev		#clock-cells = <0>;
28bfbc663dSIvan Sergeev	};
29bfbc663dSIvan Sergeev
30bfbc663dSIvan Sergeev	can_mcp2515_osc: clock-8000000-mcp2515 {
31bfbc663dSIvan Sergeev		compatible = "fixed-clock";
32bfbc663dSIvan Sergeev		clock-frequency = <8000000>;
33bfbc663dSIvan Sergeev		#clock-cells = <0>;
34bfbc663dSIvan Sergeev	};
35bfbc663dSIvan Sergeev
36bfbc663dSIvan Sergeev	hdmi-con {
37bfbc663dSIvan Sergeev		compatible = "hdmi-connector";
38bfbc663dSIvan Sergeev		type = "a";
39bfbc663dSIvan Sergeev
40bfbc663dSIvan Sergeev		port {
41bfbc663dSIvan Sergeev			hdmi_con_in: endpoint {
42bfbc663dSIvan Sergeev				remote-endpoint = <&hdmi_out_con>;
43bfbc663dSIvan Sergeev			};
44bfbc663dSIvan Sergeev		};
45bfbc663dSIvan Sergeev	};
46bfbc663dSIvan Sergeev
47bfbc663dSIvan Sergeev	leds: leds {
48bfbc663dSIvan Sergeev		compatible = "gpio-leds";
49bfbc663dSIvan Sergeev
50bfbc663dSIvan Sergeev		led-0 {
51bfbc663dSIvan Sergeev			color = <LED_COLOR_ID_BLUE>;
52bfbc663dSIvan Sergeev			function = LED_FUNCTION_POWER;
53bfbc663dSIvan Sergeev			gpios = <&gpio4 RK_PA1 GPIO_ACTIVE_LOW>;
54bfbc663dSIvan Sergeev			linux,default-trigger = "default-on";
55bfbc663dSIvan Sergeev			pinctrl-names = "default";
56bfbc663dSIvan Sergeev			pinctrl-0 =<&blue_led>;
57bfbc663dSIvan Sergeev		};
58bfbc663dSIvan Sergeev
59bfbc663dSIvan Sergeev		led-1 {
60bfbc663dSIvan Sergeev			color = <LED_COLOR_ID_GREEN>;
61bfbc663dSIvan Sergeev			function = LED_FUNCTION_HEARTBEAT;
62bfbc663dSIvan Sergeev			gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>;
63bfbc663dSIvan Sergeev			linux,default-trigger = "heartbeat";
64bfbc663dSIvan Sergeev			pinctrl-names = "default";
65bfbc663dSIvan Sergeev			pinctrl-0 =<&heartbeat_led>;
66bfbc663dSIvan Sergeev		};
67bfbc663dSIvan Sergeev	};
68bfbc663dSIvan Sergeev
69bfbc663dSIvan Sergeev	fan: pwm-fan {
70bfbc663dSIvan Sergeev		compatible = "pwm-fan";
71bfbc663dSIvan Sergeev		#cooling-cells = <2>;
72bfbc663dSIvan Sergeev		cooling-levels = <0 50 100 150 200 255>;
73bfbc663dSIvan Sergeev		pwms = <&pwm7 0 50000 0>;
74bfbc663dSIvan Sergeev	};
75bfbc663dSIvan Sergeev
76bfbc663dSIvan Sergeev	rk809-sound {
77bfbc663dSIvan Sergeev		compatible = "simple-audio-card";
78bfbc663dSIvan Sergeev		simple-audio-card,format = "i2s";
79bfbc663dSIvan Sergeev		simple-audio-card,name = "Analog RK809";
80bfbc663dSIvan Sergeev		simple-audio-card,mclk-fs = <256>;
81bfbc663dSIvan Sergeev
82bfbc663dSIvan Sergeev		simple-audio-card,cpu {
83bfbc663dSIvan Sergeev			sound-dai = <&i2s1_8ch>;
84bfbc663dSIvan Sergeev		};
85bfbc663dSIvan Sergeev
86bfbc663dSIvan Sergeev		simple-audio-card,codec {
87bfbc663dSIvan Sergeev			sound-dai = <&rk809>;
88bfbc663dSIvan Sergeev		};
89bfbc663dSIvan Sergeev	};
90bfbc663dSIvan Sergeev
91bfbc663dSIvan Sergeev	sdio_pwrseq: sdio-pwrseq {
92bfbc663dSIvan Sergeev		compatible = "mmc-pwrseq-simple";
93bfbc663dSIvan Sergeev		clocks = <&rk809 1>;
94bfbc663dSIvan Sergeev		clock-names = "ext_clock";
95bfbc663dSIvan Sergeev		pinctrl-names = "default";
96bfbc663dSIvan Sergeev		pinctrl-0 = <&wifi_enable_h>;
97bfbc663dSIvan Sergeev		post-power-on-delay-ms = <200>;
98bfbc663dSIvan Sergeev		reset-gpios = <&gpio0 RK_PD3 GPIO_ACTIVE_LOW>;
99bfbc663dSIvan Sergeev	};
100bfbc663dSIvan Sergeev
101bfbc663dSIvan Sergeev	vbus: regulator-vbus {
102bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
103bfbc663dSIvan Sergeev		regulator-name = "vbus";
104bfbc663dSIvan Sergeev		regulator-always-on;
105bfbc663dSIvan Sergeev		regulator-boot-on;
106bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
107bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
108bfbc663dSIvan Sergeev	};
109bfbc663dSIvan Sergeev
110bfbc663dSIvan Sergeev	vcc12v_dcin: regulator-vcc12v-dcin {
111bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
112bfbc663dSIvan Sergeev		regulator-name = "vcc12v_dcin";
113bfbc663dSIvan Sergeev		regulator-always-on;
114bfbc663dSIvan Sergeev		regulator-boot-on;
115bfbc663dSIvan Sergeev		regulator-min-microvolt = <12000000>;
116bfbc663dSIvan Sergeev		regulator-max-microvolt = <12000000>;
117bfbc663dSIvan Sergeev	};
118bfbc663dSIvan Sergeev
119bfbc663dSIvan Sergeev	vcc3v3_pcie: regulator-vcc3v3-pcie {
120bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
121bfbc663dSIvan Sergeev		regulator-name = "vcc3v3_pcie";
122bfbc663dSIvan Sergeev		enable-active-high;
123bfbc663dSIvan Sergeev		gpios = <&gpio0 RK_PB1 GPIO_ACTIVE_HIGH>;
124bfbc663dSIvan Sergeev		pinctrl-names = "default";
125bfbc663dSIvan Sergeev		pinctrl-0 = <&pcie_drv>;
126bfbc663dSIvan Sergeev		regulator-always-on;
127bfbc663dSIvan Sergeev		regulator-boot-on;
128bfbc663dSIvan Sergeev		regulator-min-microvolt = <3300000>;
129bfbc663dSIvan Sergeev		regulator-max-microvolt = <3300000>;
130bfbc663dSIvan Sergeev		vin-supply = <&vcc12v_dcin>;
131bfbc663dSIvan Sergeev	};
132bfbc663dSIvan Sergeev
133bfbc663dSIvan Sergeev	vcc3v3_sys: regulator-vcc3v3-sys {
134bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
135bfbc663dSIvan Sergeev		regulator-name = "vcc3v3_sys";
136bfbc663dSIvan Sergeev		regulator-always-on;
137bfbc663dSIvan Sergeev		regulator-boot-on;
138bfbc663dSIvan Sergeev		regulator-min-microvolt = <3300000>;
139bfbc663dSIvan Sergeev		regulator-max-microvolt = <3300000>;
140bfbc663dSIvan Sergeev		vin-supply = <&vbus>;
141bfbc663dSIvan Sergeev	};
142bfbc663dSIvan Sergeev
143bfbc663dSIvan Sergeev	vcc5v0_host: regulator-vcc5v0-host {
144bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
145bfbc663dSIvan Sergeev		enable-active-high;
146bfbc663dSIvan Sergeev		gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_HIGH>;
147bfbc663dSIvan Sergeev		pinctrl-names = "default";
148bfbc663dSIvan Sergeev		pinctrl-0 = <&vcc5v0_host_en>;
149bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_host3";
150bfbc663dSIvan Sergeev		regulator-always-on;
151bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
152bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
153bfbc663dSIvan Sergeev	};
154bfbc663dSIvan Sergeev
155bfbc663dSIvan Sergeev	vcc5v0_otg: regulator-vcc5v0-otg {
156bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
157bfbc663dSIvan Sergeev		enable-active-high;
158bfbc663dSIvan Sergeev		gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_HIGH>;
159bfbc663dSIvan Sergeev		pinctrl-names = "default";
160bfbc663dSIvan Sergeev		pinctrl-0 = <&vcc5v0_otg_en>;
161bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_otg3";
162bfbc663dSIvan Sergeev		regulator-always-on;
163bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
164bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
165bfbc663dSIvan Sergeev	};
166bfbc663dSIvan Sergeev
167bfbc663dSIvan Sergeev	vcc5v0_sys: regulator-vcc5v0-sys {
168bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
169bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_sys";
170bfbc663dSIvan Sergeev		regulator-always-on;
171bfbc663dSIvan Sergeev		regulator-boot-on;
172bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
173bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
174bfbc663dSIvan Sergeev		vin-supply = <&vbus>;
175bfbc663dSIvan Sergeev	};
176bfbc663dSIvan Sergeev
177bfbc663dSIvan Sergeev	vcc5v0_usb: regulator-vcc5v0-usb {
178bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
179bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_usb";
180bfbc663dSIvan Sergeev		regulator-always-on;
181bfbc663dSIvan Sergeev		regulator-boot-on;
182bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
183bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
184bfbc663dSIvan Sergeev		vin-supply = <&vbus>;
185bfbc663dSIvan Sergeev	};
186bfbc663dSIvan Sergeev
187bfbc663dSIvan Sergeev	vcc5v0_usb2b: regulator-vcc5v0-usb2b {
188bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
189bfbc663dSIvan Sergeev		enable-active-high;
190bfbc663dSIvan Sergeev		gpio = <&gpio0 RK_PC4 GPIO_ACTIVE_HIGH>;
191bfbc663dSIvan Sergeev		pinctrl-names = "default";
192bfbc663dSIvan Sergeev		pinctrl-0 = <&vcc5v0_usb2b_en>;
193bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_usb2b";
194bfbc663dSIvan Sergeev		regulator-always-on;
195bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
196bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
197bfbc663dSIvan Sergeev	};
198bfbc663dSIvan Sergeev
199bfbc663dSIvan Sergeev	vcc5v0_usb2t: regulator-vcc5v0-usb2t {
200bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
201bfbc663dSIvan Sergeev		enable-active-high;
202bfbc663dSIvan Sergeev		gpios = <&gpio0 RK_PD5 GPIO_ACTIVE_HIGH>;
203bfbc663dSIvan Sergeev		pinctrl-names = "default";
204bfbc663dSIvan Sergeev		pinctrl-0 = <&vcc5v0_usb2t_en>;
205bfbc663dSIvan Sergeev		regulator-name = "vcc5v0_usb2t";
206bfbc663dSIvan Sergeev		regulator-always-on;
207bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
208bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
209bfbc663dSIvan Sergeev	};
210bfbc663dSIvan Sergeev
211bfbc663dSIvan Sergeev	vcc_5v: regulator-vcc-5v {
212bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
213bfbc663dSIvan Sergeev		regulator-name = "vcc_5v";
214bfbc663dSIvan Sergeev		regulator-always-on;
215bfbc663dSIvan Sergeev		regulator-boot-on;
216bfbc663dSIvan Sergeev		regulator-min-microvolt = <5000000>;
217bfbc663dSIvan Sergeev		regulator-max-microvolt = <5000000>;
218bfbc663dSIvan Sergeev		vin-supply = <&vcc12v_dcin>;
219bfbc663dSIvan Sergeev	};
220bfbc663dSIvan Sergeev
221bfbc663dSIvan Sergeev	vcc_sd: regulator-vcc-sd {
222bfbc663dSIvan Sergeev		compatible = "regulator-fixed";
223bfbc663dSIvan Sergeev		regulator-max-microvolt = <3300000>;
224bfbc663dSIvan Sergeev		regulator-min-microvolt = <3300000>;
225bfbc663dSIvan Sergeev		regulator-name = "vcc_sd";
226bfbc663dSIvan Sergeev		vin-supply = <&vcc3v3_sys>;
227bfbc663dSIvan Sergeev	};
228bfbc663dSIvan Sergeev};
229bfbc663dSIvan Sergeev
230bfbc663dSIvan Sergeev&combphy1 {
231bfbc663dSIvan Sergeev	status = "okay";
232bfbc663dSIvan Sergeev};
233bfbc663dSIvan Sergeev
234bfbc663dSIvan Sergeev&combphy2 {
235bfbc663dSIvan Sergeev	status = "okay";
236bfbc663dSIvan Sergeev};
237bfbc663dSIvan Sergeev
238bfbc663dSIvan Sergeev&cpu0 {
239bfbc663dSIvan Sergeev	cpu-supply = <&vdd_cpu>;
240bfbc663dSIvan Sergeev};
241bfbc663dSIvan Sergeev
242bfbc663dSIvan Sergeev&cpu1 {
243bfbc663dSIvan Sergeev	cpu-supply = <&vdd_cpu>;
244bfbc663dSIvan Sergeev};
245bfbc663dSIvan Sergeev
246bfbc663dSIvan Sergeev&cpu2 {
247bfbc663dSIvan Sergeev	cpu-supply = <&vdd_cpu>;
248bfbc663dSIvan Sergeev};
249bfbc663dSIvan Sergeev
250bfbc663dSIvan Sergeev&cpu3 {
251bfbc663dSIvan Sergeev	cpu-supply = <&vdd_cpu>;
252bfbc663dSIvan Sergeev};
253bfbc663dSIvan Sergeev
254bfbc663dSIvan Sergeev&gmac1 {
255bfbc663dSIvan Sergeev	assigned-clocks = <&cru SCLK_GMAC1_RX_TX>, <&cru SCLK_GMAC1>;
256bfbc663dSIvan Sergeev	assigned-clock-parents = <&cru SCLK_GMAC1_RGMII_SPEED>, <&cru CLK_MAC1_2TOP>;
257bfbc663dSIvan Sergeev	assigned-clock-rates = <0>, <125000000>;
258bfbc663dSIvan Sergeev	clock_in_out = "input";
259bfbc663dSIvan Sergeev	phy-handle = <&rgmii_phy0>;
260bfbc663dSIvan Sergeev	phy-mode = "rgmii-id";
261bfbc663dSIvan Sergeev	pinctrl-names = "default";
262bfbc663dSIvan Sergeev	pinctrl-0 = <&gmac1m0_miim
263bfbc663dSIvan Sergeev			&gmac1m0_tx_bus2
264bfbc663dSIvan Sergeev			&gmac1m0_rx_bus2
265bfbc663dSIvan Sergeev			&gmac1m0_rgmii_clk
266bfbc663dSIvan Sergeev			&gmac1m0_clkinout
267bfbc663dSIvan Sergeev			&gmac1m0_rgmii_bus>;
268bfbc663dSIvan Sergeev	status = "okay";
269bfbc663dSIvan Sergeev};
270bfbc663dSIvan Sergeev
271bfbc663dSIvan Sergeev&mdio1 {
272bfbc663dSIvan Sergeev	rgmii_phy0: phy@0 {
273bfbc663dSIvan Sergeev		compatible = "ethernet-phy-ieee802.3-c22";
274bfbc663dSIvan Sergeev		reset-delay-us = <20000>;
275bfbc663dSIvan Sergeev		reset-gpios = <&gpio0 RK_PC5 GPIO_ACTIVE_LOW>;
276bfbc663dSIvan Sergeev		reset-post-delay-us = <100000>;
277bfbc663dSIvan Sergeev		reg = <0x0>;
278bfbc663dSIvan Sergeev	};
279bfbc663dSIvan Sergeev};
280bfbc663dSIvan Sergeev
281bfbc663dSIvan Sergeev&gpu {
282bfbc663dSIvan Sergeev	mali-supply = <&vdd_gpu>;
283bfbc663dSIvan Sergeev	status = "okay";
284bfbc663dSIvan Sergeev};
285bfbc663dSIvan Sergeev
286bfbc663dSIvan Sergeev&hdmi {
287bfbc663dSIvan Sergeev	avdd-0v9-supply = <&vdda0v9_image>;
288bfbc663dSIvan Sergeev	avdd-1v8-supply = <&vcca1v8_image>;
289bfbc663dSIvan Sergeev	status = "okay";
290bfbc663dSIvan Sergeev};
291bfbc663dSIvan Sergeev
292bfbc663dSIvan Sergeev&hdmi_in {
293bfbc663dSIvan Sergeev	hdmi_in_vp0: endpoint {
294bfbc663dSIvan Sergeev		remote-endpoint = <&vp0_out_hdmi>;
295bfbc663dSIvan Sergeev	};
296bfbc663dSIvan Sergeev};
297bfbc663dSIvan Sergeev
298bfbc663dSIvan Sergeev&hdmi_out {
299bfbc663dSIvan Sergeev	hdmi_out_con: endpoint {
300bfbc663dSIvan Sergeev		remote-endpoint = <&hdmi_con_in>;
301bfbc663dSIvan Sergeev	};
302bfbc663dSIvan Sergeev};
303bfbc663dSIvan Sergeev
304bfbc663dSIvan Sergeev&hdmi_sound {
305bfbc663dSIvan Sergeev	status = "okay";
306bfbc663dSIvan Sergeev};
307bfbc663dSIvan Sergeev
308bfbc663dSIvan Sergeev&i2c0 {
309bfbc663dSIvan Sergeev	status = "okay";
310bfbc663dSIvan Sergeev
311bfbc663dSIvan Sergeev	vdd_cpu: regulator@1c {
312bfbc663dSIvan Sergeev		compatible = "tcs,tcs4525";
313bfbc663dSIvan Sergeev		reg = <0x1c>;
314bfbc663dSIvan Sergeev		regulator-name = "vdd_cpu";
315bfbc663dSIvan Sergeev		regulator-min-microvolt = <712500>;
316bfbc663dSIvan Sergeev		regulator-max-microvolt = <1390000>;
317bfbc663dSIvan Sergeev		regulator-initial-mode = <1>;
318bfbc663dSIvan Sergeev		regulator-ramp-delay = <2300>;
319bfbc663dSIvan Sergeev		regulator-boot-on;
320bfbc663dSIvan Sergeev		regulator-always-on;
321bfbc663dSIvan Sergeev		vin-supply = <&vcc5v0_sys>;
322bfbc663dSIvan Sergeev		fcs,suspend-voltage-selector = <1>;
323bfbc663dSIvan Sergeev
324bfbc663dSIvan Sergeev		regulator-state-mem {
325bfbc663dSIvan Sergeev			regulator-off-in-suspend;
326bfbc663dSIvan Sergeev		};
327bfbc663dSIvan Sergeev	};
328bfbc663dSIvan Sergeev
329bfbc663dSIvan Sergeev	rk809: pmic@20 {
330bfbc663dSIvan Sergeev		compatible = "rockchip,rk809";
331bfbc663dSIvan Sergeev		reg = <0x20>;
332bfbc663dSIvan Sergeev		interrupt-parent = <&gpio0>;
333bfbc663dSIvan Sergeev		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
334bfbc663dSIvan Sergeev		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
335bfbc663dSIvan Sergeev		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
336bfbc663dSIvan Sergeev		#clock-cells = <1>;
337bfbc663dSIvan Sergeev		clock-names = "mclk";
338bfbc663dSIvan Sergeev		clocks = <&cru I2S1_MCLKOUT_TX>;
339bfbc663dSIvan Sergeev		pinctrl-names = "default", "pmic-sleep",
340bfbc663dSIvan Sergeev				"pmic-power-off", "pmic-reset";
341bfbc663dSIvan Sergeev		pinctrl-0 = <&pmic_int>, <&i2s1m0_mclk>;
342bfbc663dSIvan Sergeev		#sound-dai-cells = <0>;
343bfbc663dSIvan Sergeev		system-power-controller;
344bfbc663dSIvan Sergeev		wakeup-source;
345bfbc663dSIvan Sergeev
346bfbc663dSIvan Sergeev		vcc1-supply = <&vcc3v3_sys>;
347bfbc663dSIvan Sergeev		vcc2-supply = <&vcc3v3_sys>;
348bfbc663dSIvan Sergeev		vcc3-supply = <&vcc3v3_sys>;
349bfbc663dSIvan Sergeev		vcc4-supply = <&vcc3v3_sys>;
350bfbc663dSIvan Sergeev		vcc5-supply = <&vcc3v3_sys>;
351bfbc663dSIvan Sergeev		vcc6-supply = <&vcc3v3_sys>;
352bfbc663dSIvan Sergeev		vcc7-supply = <&vcc3v3_sys>;
353bfbc663dSIvan Sergeev		vcc8-supply = <&vcc3v3_sys>;
354bfbc663dSIvan Sergeev		vcc9-supply = <&vcc3v3_sys>;
355bfbc663dSIvan Sergeev
356bfbc663dSIvan Sergeev		regulators {
357bfbc663dSIvan Sergeev			vdd_logic: DCDC_REG1 {
358bfbc663dSIvan Sergeev				regulator-always-on;
359bfbc663dSIvan Sergeev				regulator-boot-on;
360bfbc663dSIvan Sergeev				regulator-min-microvolt = <500000>;
361bfbc663dSIvan Sergeev				regulator-max-microvolt = <1350000>;
362bfbc663dSIvan Sergeev				regulator-ramp-delay = <6001>;
363bfbc663dSIvan Sergeev				regulator-initial-mode = <0x2>;
364bfbc663dSIvan Sergeev				regulator-name = "vdd_logic";
365bfbc663dSIvan Sergeev
366bfbc663dSIvan Sergeev				regulator-state-mem {
367bfbc663dSIvan Sergeev					regulator-off-in-suspend;
368bfbc663dSIvan Sergeev				};
369bfbc663dSIvan Sergeev			};
370bfbc663dSIvan Sergeev
371bfbc663dSIvan Sergeev			vdd_gpu: DCDC_REG2 {
372bfbc663dSIvan Sergeev				regulator-always-on;
373bfbc663dSIvan Sergeev				regulator-boot-on;
374bfbc663dSIvan Sergeev				regulator-min-microvolt = <500000>;
375bfbc663dSIvan Sergeev				regulator-max-microvolt = <1350000>;
376bfbc663dSIvan Sergeev				regulator-ramp-delay = <6001>;
377bfbc663dSIvan Sergeev				regulator-initial-mode = <0x2>;
378bfbc663dSIvan Sergeev				regulator-name = "vdd_gpu";
379bfbc663dSIvan Sergeev
380bfbc663dSIvan Sergeev				regulator-state-mem {
381bfbc663dSIvan Sergeev					regulator-off-in-suspend;
382bfbc663dSIvan Sergeev				};
383bfbc663dSIvan Sergeev			};
384bfbc663dSIvan Sergeev
385bfbc663dSIvan Sergeev			vcc_ddr: DCDC_REG3 {
386bfbc663dSIvan Sergeev				regulator-always-on;
387bfbc663dSIvan Sergeev				regulator-boot-on;
388bfbc663dSIvan Sergeev				regulator-initial-mode = <0x2>;
389bfbc663dSIvan Sergeev				regulator-name = "vcc_ddr";
390bfbc663dSIvan Sergeev
391bfbc663dSIvan Sergeev				regulator-state-mem {
392bfbc663dSIvan Sergeev					regulator-on-in-suspend;
393bfbc663dSIvan Sergeev				};
394bfbc663dSIvan Sergeev			};
395bfbc663dSIvan Sergeev
396bfbc663dSIvan Sergeev			vdd_npu: DCDC_REG4 {
397bfbc663dSIvan Sergeev				regulator-always-on;
398bfbc663dSIvan Sergeev				regulator-boot-on;
399bfbc663dSIvan Sergeev				regulator-min-microvolt = <500000>;
400bfbc663dSIvan Sergeev				regulator-max-microvolt = <1350000>;
401bfbc663dSIvan Sergeev				regulator-ramp-delay = <6001>;
402bfbc663dSIvan Sergeev				regulator-initial-mode = <0x2>;
403bfbc663dSIvan Sergeev				regulator-name = "vdd_npu";
404bfbc663dSIvan Sergeev
405bfbc663dSIvan Sergeev				regulator-state-mem {
406bfbc663dSIvan Sergeev					regulator-off-in-suspend;
407bfbc663dSIvan Sergeev				};
408bfbc663dSIvan Sergeev			};
409bfbc663dSIvan Sergeev
410bfbc663dSIvan Sergeev			vdda0v9_image: LDO_REG1 {
411bfbc663dSIvan Sergeev				regulator-boot-on;
412bfbc663dSIvan Sergeev				regulator-always-on;
413bfbc663dSIvan Sergeev				regulator-min-microvolt = <900000>;
414bfbc663dSIvan Sergeev				regulator-max-microvolt = <900000>;
415bfbc663dSIvan Sergeev				regulator-name = "vdda0v9_image";
416bfbc663dSIvan Sergeev
417bfbc663dSIvan Sergeev				regulator-state-mem {
418bfbc663dSIvan Sergeev					regulator-off-in-suspend;
419bfbc663dSIvan Sergeev				};
420bfbc663dSIvan Sergeev			};
421bfbc663dSIvan Sergeev
422bfbc663dSIvan Sergeev			vdda_0v9: LDO_REG2 {
423bfbc663dSIvan Sergeev				regulator-always-on;
424bfbc663dSIvan Sergeev				regulator-boot-on;
425bfbc663dSIvan Sergeev				regulator-min-microvolt = <900000>;
426bfbc663dSIvan Sergeev				regulator-max-microvolt = <900000>;
427bfbc663dSIvan Sergeev				regulator-name = "vdda_0v9";
428bfbc663dSIvan Sergeev
429bfbc663dSIvan Sergeev				regulator-state-mem {
430bfbc663dSIvan Sergeev					regulator-off-in-suspend;
431bfbc663dSIvan Sergeev				};
432bfbc663dSIvan Sergeev			};
433bfbc663dSIvan Sergeev
434bfbc663dSIvan Sergeev			vdda0v9_pmu: LDO_REG3 {
435bfbc663dSIvan Sergeev				regulator-always-on;
436bfbc663dSIvan Sergeev				regulator-boot-on;
437bfbc663dSIvan Sergeev				regulator-min-microvolt = <900000>;
438bfbc663dSIvan Sergeev				regulator-max-microvolt = <900000>;
439bfbc663dSIvan Sergeev				regulator-name = "vdda0v9_pmu";
440bfbc663dSIvan Sergeev
441bfbc663dSIvan Sergeev				regulator-state-mem {
442bfbc663dSIvan Sergeev					regulator-on-in-suspend;
443bfbc663dSIvan Sergeev					regulator-suspend-microvolt = <900000>;
444bfbc663dSIvan Sergeev				};
445bfbc663dSIvan Sergeev			};
446bfbc663dSIvan Sergeev
447bfbc663dSIvan Sergeev			vccio_acodec: LDO_REG4 {
448bfbc663dSIvan Sergeev				regulator-always-on;
449bfbc663dSIvan Sergeev				regulator-boot-on;
450bfbc663dSIvan Sergeev				regulator-min-microvolt = <3000000>;
451bfbc663dSIvan Sergeev				regulator-max-microvolt = <3000000>;
452bfbc663dSIvan Sergeev				regulator-name = "vccio_acodec";
453bfbc663dSIvan Sergeev
454bfbc663dSIvan Sergeev				regulator-state-mem {
455bfbc663dSIvan Sergeev					regulator-off-in-suspend;
456bfbc663dSIvan Sergeev				};
457bfbc663dSIvan Sergeev			};
458bfbc663dSIvan Sergeev
459bfbc663dSIvan Sergeev			vccio_sd: LDO_REG5 {
460bfbc663dSIvan Sergeev				regulator-always-on;
461bfbc663dSIvan Sergeev				regulator-boot-on;
462bfbc663dSIvan Sergeev				regulator-min-microvolt = <1800000>;
463bfbc663dSIvan Sergeev				regulator-max-microvolt = <3300000>;
464bfbc663dSIvan Sergeev				regulator-name = "vccio_sd";
465bfbc663dSIvan Sergeev
466bfbc663dSIvan Sergeev				regulator-state-mem {
467bfbc663dSIvan Sergeev					regulator-off-in-suspend;
468bfbc663dSIvan Sergeev				};
469bfbc663dSIvan Sergeev			};
470bfbc663dSIvan Sergeev
471bfbc663dSIvan Sergeev			vcc3v3_pmu: LDO_REG6 {
472bfbc663dSIvan Sergeev				regulator-always-on;
473bfbc663dSIvan Sergeev				regulator-boot-on;
474bfbc663dSIvan Sergeev				regulator-min-microvolt = <3300000>;
475bfbc663dSIvan Sergeev				regulator-max-microvolt = <3300000>;
476bfbc663dSIvan Sergeev				regulator-name = "vcc3v3_pmu";
477bfbc663dSIvan Sergeev
478bfbc663dSIvan Sergeev				regulator-state-mem {
479bfbc663dSIvan Sergeev					regulator-on-in-suspend;
480bfbc663dSIvan Sergeev					regulator-suspend-microvolt = <3300000>;
481bfbc663dSIvan Sergeev				};
482bfbc663dSIvan Sergeev			};
483bfbc663dSIvan Sergeev
484bfbc663dSIvan Sergeev			vcca_1v8: LDO_REG7 {
485bfbc663dSIvan Sergeev				regulator-always-on;
486bfbc663dSIvan Sergeev				regulator-boot-on;
487bfbc663dSIvan Sergeev				regulator-min-microvolt = <1800000>;
488bfbc663dSIvan Sergeev				regulator-max-microvolt = <1800000>;
489bfbc663dSIvan Sergeev				regulator-name = "vcca_1v8";
490bfbc663dSIvan Sergeev
491bfbc663dSIvan Sergeev				regulator-state-mem {
492bfbc663dSIvan Sergeev					regulator-off-in-suspend;
493bfbc663dSIvan Sergeev				};
494bfbc663dSIvan Sergeev			};
495bfbc663dSIvan Sergeev
496bfbc663dSIvan Sergeev			vcca1v8_pmu: LDO_REG8 {
497bfbc663dSIvan Sergeev				regulator-always-on;
498bfbc663dSIvan Sergeev				regulator-boot-on;
499bfbc663dSIvan Sergeev				regulator-min-microvolt = <1800000>;
500bfbc663dSIvan Sergeev				regulator-max-microvolt = <1800000>;
501bfbc663dSIvan Sergeev				regulator-name = "vcca1v8_pmu";
502bfbc663dSIvan Sergeev
503bfbc663dSIvan Sergeev				regulator-state-mem {
504bfbc663dSIvan Sergeev					regulator-on-in-suspend;
505bfbc663dSIvan Sergeev					regulator-suspend-microvolt = <1800000>;
506bfbc663dSIvan Sergeev				};
507bfbc663dSIvan Sergeev			};
508bfbc663dSIvan Sergeev
509bfbc663dSIvan Sergeev			vcca1v8_image: LDO_REG9 {
510bfbc663dSIvan Sergeev				regulator-always-on;
511bfbc663dSIvan Sergeev				regulator-boot-on;
512bfbc663dSIvan Sergeev				regulator-min-microvolt = <1800000>;
513bfbc663dSIvan Sergeev				regulator-max-microvolt = <1800000>;
514bfbc663dSIvan Sergeev				regulator-name = "vcca1v8_image";
515bfbc663dSIvan Sergeev
516bfbc663dSIvan Sergeev				regulator-state-mem {
517bfbc663dSIvan Sergeev					regulator-off-in-suspend;
518bfbc663dSIvan Sergeev				};
519bfbc663dSIvan Sergeev			};
520bfbc663dSIvan Sergeev
521bfbc663dSIvan Sergeev			vcc_1v8: DCDC_REG5 {
522bfbc663dSIvan Sergeev				regulator-always-on;
523bfbc663dSIvan Sergeev				regulator-boot-on;
524bfbc663dSIvan Sergeev				regulator-min-microvolt = <1800000>;
525bfbc663dSIvan Sergeev				regulator-max-microvolt = <1800000>;
526bfbc663dSIvan Sergeev				regulator-name = "vcc_1v8";
527bfbc663dSIvan Sergeev
528bfbc663dSIvan Sergeev				regulator-state-mem {
529bfbc663dSIvan Sergeev					regulator-off-in-suspend;
530bfbc663dSIvan Sergeev				};
531bfbc663dSIvan Sergeev			};
532bfbc663dSIvan Sergeev
533bfbc663dSIvan Sergeev			vcc_3v3: SWITCH_REG1 {
534bfbc663dSIvan Sergeev				regulator-always-on;
535bfbc663dSIvan Sergeev				regulator-boot-on;
536bfbc663dSIvan Sergeev				regulator-name = "vcc_3v3";
537bfbc663dSIvan Sergeev
538bfbc663dSIvan Sergeev				regulator-state-mem {
539bfbc663dSIvan Sergeev					regulator-off-in-suspend;
540bfbc663dSIvan Sergeev				};
541bfbc663dSIvan Sergeev			};
542bfbc663dSIvan Sergeev
543bfbc663dSIvan Sergeev			vcc3v3_sd: SWITCH_REG2 {
544bfbc663dSIvan Sergeev				regulator-always-on;
545bfbc663dSIvan Sergeev				regulator-boot-on;
546bfbc663dSIvan Sergeev				regulator-name = "vcc3v3_sd";
547bfbc663dSIvan Sergeev
548bfbc663dSIvan Sergeev				regulator-state-mem {
549bfbc663dSIvan Sergeev					regulator-off-in-suspend;
550bfbc663dSIvan Sergeev				};
551bfbc663dSIvan Sergeev			};
552bfbc663dSIvan Sergeev		};
553bfbc663dSIvan Sergeev
554bfbc663dSIvan Sergeev		codec {
555bfbc663dSIvan Sergeev			rockchip,mic-in-differential;
556bfbc663dSIvan Sergeev		};
557bfbc663dSIvan Sergeev	};
558bfbc663dSIvan Sergeev};
559bfbc663dSIvan Sergeev
560bfbc663dSIvan Sergeev&i2c2 {
561bfbc663dSIvan Sergeev	pinctrl-0 = <&i2c2m1_xfer>;
562bfbc663dSIvan Sergeev};
563bfbc663dSIvan Sergeev
564bfbc663dSIvan Sergeev&i2c3 {
565bfbc663dSIvan Sergeev	status = "okay";
566bfbc663dSIvan Sergeev
567bfbc663dSIvan Sergeev	tft_tp: touchscreen@48 {
568bfbc663dSIvan Sergeev		compatible = "ti,tsc2007";
569bfbc663dSIvan Sergeev		reg = <0x48>;
570bfbc663dSIvan Sergeev		status = "okay";
571bfbc663dSIvan Sergeev		ti,x-plate-ohms = <660>;
572bfbc663dSIvan Sergeev		ti,rt-thr = <3000>;
573bfbc663dSIvan Sergeev		ti,fuzzx = <32>;
574bfbc663dSIvan Sergeev		ti,fuzzy = <16>;
575bfbc663dSIvan Sergeev	};
576bfbc663dSIvan Sergeev};
577bfbc663dSIvan Sergeev
578bfbc663dSIvan Sergeev&i2s0_8ch {
579bfbc663dSIvan Sergeev	status = "okay";
580bfbc663dSIvan Sergeev};
581bfbc663dSIvan Sergeev
582bfbc663dSIvan Sergeev&i2s1_8ch {
583bfbc663dSIvan Sergeev	pinctrl-names = "default";
584bfbc663dSIvan Sergeev	pinctrl-0 = <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>;
585bfbc663dSIvan Sergeev	rockchip,trcm-sync-tx-only;
586bfbc663dSIvan Sergeev	status = "okay";
587bfbc663dSIvan Sergeev};
588bfbc663dSIvan Sergeev
589bfbc663dSIvan Sergeev&spi1 {
590bfbc663dSIvan Sergeev	pinctrl-names = "default";
591bfbc663dSIvan Sergeev	pinctrl-0 = <&spi1m1_cs0 &spi1m1_pins>;
592bfbc663dSIvan Sergeev
593bfbc663dSIvan Sergeev	can_mcp2515: can@0 {
594bfbc663dSIvan Sergeev		compatible = "microchip,mcp2515";
595bfbc663dSIvan Sergeev		reg = <0x00>;
596bfbc663dSIvan Sergeev		clocks = <&can_mcp2515_osc>;
597bfbc663dSIvan Sergeev		interrupt-parent = <&gpio4>;
598bfbc663dSIvan Sergeev		interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
599bfbc663dSIvan Sergeev		pinctrl-names = "default";
600bfbc663dSIvan Sergeev		pinctrl-0 = <&mcp2515_int_pin>;
601bfbc663dSIvan Sergeev		spi-max-frequency = <10000000>;
602bfbc663dSIvan Sergeev		vdd-supply = <&vcc3v3_sys>;
603bfbc663dSIvan Sergeev		xceiver-supply = <&vcc3v3_sys>;
604bfbc663dSIvan Sergeev	};
605bfbc663dSIvan Sergeev};
606bfbc663dSIvan Sergeev
607bfbc663dSIvan Sergeev&spi3 {
608bfbc663dSIvan Sergeev	pinctrl-names = "default";
609bfbc663dSIvan Sergeev	pinctrl-0 = <&spi3m1_cs0 &spi3m1_pins>;
610bfbc663dSIvan Sergeev};
611bfbc663dSIvan Sergeev
612bfbc663dSIvan Sergeev&pcie2x1 {
613bfbc663dSIvan Sergeev	pinctrl-names = "default";
614bfbc663dSIvan Sergeev	pinctrl-0 = <&pcie_reset_h>;
615bfbc663dSIvan Sergeev	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
616bfbc663dSIvan Sergeev	vpcie3v3-supply = <&vcc3v3_pcie>;
617bfbc663dSIvan Sergeev	status = "okay";
618bfbc663dSIvan Sergeev};
619bfbc663dSIvan Sergeev
620bfbc663dSIvan Sergeev&pinctrl {
621bfbc663dSIvan Sergeev	bt {
622bfbc663dSIvan Sergeev		bt_enable: bt-enable-h {
623bfbc663dSIvan Sergeev			rockchip,pins = <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
624bfbc663dSIvan Sergeev		};
625bfbc663dSIvan Sergeev
626bfbc663dSIvan Sergeev		bt_host_wake: bt-host-wake-l {
627bfbc663dSIvan Sergeev			rockchip,pins = <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_down>;
628bfbc663dSIvan Sergeev		};
629bfbc663dSIvan Sergeev
630bfbc663dSIvan Sergeev		bt_wake: bt-wake-l {
631bfbc663dSIvan Sergeev			rockchip,pins = <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_none>;
632bfbc663dSIvan Sergeev		};
633bfbc663dSIvan Sergeev	};
634bfbc663dSIvan Sergeev
635bfbc663dSIvan Sergeev	pcie {
636bfbc663dSIvan Sergeev		pcie_drv: pcie-drv {
637bfbc663dSIvan Sergeev			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
638bfbc663dSIvan Sergeev		};
639bfbc663dSIvan Sergeev
640bfbc663dSIvan Sergeev		pcie_reset_h: pcie-reset-h {
641bfbc663dSIvan Sergeev			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
642bfbc663dSIvan Sergeev		};
643bfbc663dSIvan Sergeev	};
644bfbc663dSIvan Sergeev
645bfbc663dSIvan Sergeev	pmic {
646bfbc663dSIvan Sergeev		pmic_int: pmic-int {
647bfbc663dSIvan Sergeev			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
648bfbc663dSIvan Sergeev		};
649bfbc663dSIvan Sergeev	};
650bfbc663dSIvan Sergeev
651bfbc663dSIvan Sergeev	sdio-pwrseq {
652bfbc663dSIvan Sergeev		wifi_enable_h: wifi-enable-h {
653bfbc663dSIvan Sergeev			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_none>;
654bfbc663dSIvan Sergeev		};
655bfbc663dSIvan Sergeev
656bfbc663dSIvan Sergeev		wifi_host_wake: wifi-host-wake-l {
657bfbc663dSIvan Sergeev			rockchip,pins = <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_down>;
658bfbc663dSIvan Sergeev		};
659bfbc663dSIvan Sergeev	};
660bfbc663dSIvan Sergeev
661bfbc663dSIvan Sergeev	usb {
662bfbc663dSIvan Sergeev		vcc5v0_host_en: vcc5v0-host-en {
663bfbc663dSIvan Sergeev			rockchip,pins = <0 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
664bfbc663dSIvan Sergeev		};
665bfbc663dSIvan Sergeev
666bfbc663dSIvan Sergeev		vcc5v0_otg_en: vcc5v0-otg-en {
667bfbc663dSIvan Sergeev			rockchip,pins = <0 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
668bfbc663dSIvan Sergeev		};
669bfbc663dSIvan Sergeev
670bfbc663dSIvan Sergeev		vcc5v0_usb2t_en: vcc5v0-usb2t-en {
671bfbc663dSIvan Sergeev			rockchip,pins = <3 RK_PD5 RK_FUNC_GPIO &pcfg_pull_none>;
672bfbc663dSIvan Sergeev		};
673bfbc663dSIvan Sergeev
674bfbc663dSIvan Sergeev		vcc5v0_usb2b_en: vcc5v0-usb2b-en {
675bfbc663dSIvan Sergeev			rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
676bfbc663dSIvan Sergeev		};
677bfbc663dSIvan Sergeev	};
678bfbc663dSIvan Sergeev
679bfbc663dSIvan Sergeev	work-led {
680bfbc663dSIvan Sergeev		heartbeat_led: led-heartbeat {
681bfbc663dSIvan Sergeev			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
682bfbc663dSIvan Sergeev		};
683bfbc663dSIvan Sergeev
684bfbc663dSIvan Sergeev		blue_led: led-blue {
685bfbc663dSIvan Sergeev			rockchip,pins = <4 RK_PA1 RK_FUNC_GPIO &pcfg_pull_none>;
686bfbc663dSIvan Sergeev		};
687bfbc663dSIvan Sergeev	};
688bfbc663dSIvan Sergeev
689bfbc663dSIvan Sergeev	mcp2515 {
690bfbc663dSIvan Sergeev		mcp2515_int_pin: mcp2515-int-pin {
691bfbc663dSIvan Sergeev			rockchip,pins = <4 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
692bfbc663dSIvan Sergeev		};
693bfbc663dSIvan Sergeev	};
694bfbc663dSIvan Sergeev};
695bfbc663dSIvan Sergeev
696bfbc663dSIvan Sergeev&pmu_io_domains {
697bfbc663dSIvan Sergeev	pmuio1-supply = <&vcc3v3_pmu>;
698bfbc663dSIvan Sergeev	pmuio2-supply = <&vcc3v3_pmu>;
699bfbc663dSIvan Sergeev	vccio1-supply = <&vcc_3v3>;
700bfbc663dSIvan Sergeev	vccio2-supply = <&vcc_1v8>;
701bfbc663dSIvan Sergeev	vccio3-supply = <&vccio_sd>;
702bfbc663dSIvan Sergeev	vccio4-supply = <&vcc_1v8>;
703bfbc663dSIvan Sergeev	vccio5-supply = <&vcc_3v3>;
704bfbc663dSIvan Sergeev	vccio6-supply = <&vcc_3v3>;
705bfbc663dSIvan Sergeev	vccio7-supply = <&vcc_3v3>;
706bfbc663dSIvan Sergeev	status = "okay";
707bfbc663dSIvan Sergeev};
708bfbc663dSIvan Sergeev
709bfbc663dSIvan Sergeev&pwm0 {
710bfbc663dSIvan Sergeev	pinctrl-names = "default";
711bfbc663dSIvan Sergeev	pinctrl-0 = <&pwm0m1_pins>;
712bfbc663dSIvan Sergeev};
713bfbc663dSIvan Sergeev
714bfbc663dSIvan Sergeev&pwm12 {
715bfbc663dSIvan Sergeev	pinctrl-names = "default";
716bfbc663dSIvan Sergeev	pinctrl-0 = <&pwm12m1_pins>;
717bfbc663dSIvan Sergeev};
718bfbc663dSIvan Sergeev
719bfbc663dSIvan Sergeev&pwm13 {
720bfbc663dSIvan Sergeev	pinctrl-names = "default";
721bfbc663dSIvan Sergeev	pinctrl-0 = <&pwm13m1_pins>;
722bfbc663dSIvan Sergeev};
723bfbc663dSIvan Sergeev
724bfbc663dSIvan Sergeev&pwm14 {
725bfbc663dSIvan Sergeev	pinctrl-names = "default";
726bfbc663dSIvan Sergeev	pinctrl-0 = <&pwm14m1_pins>;
727bfbc663dSIvan Sergeev};
728bfbc663dSIvan Sergeev
729bfbc663dSIvan Sergeev&pwm15 {
730bfbc663dSIvan Sergeev	pinctrl-names = "default";
731bfbc663dSIvan Sergeev	pinctrl-0 = <&pwm15m1_pins>;
732bfbc663dSIvan Sergeev};
733bfbc663dSIvan Sergeev
734bfbc663dSIvan Sergeev&saradc {
735bfbc663dSIvan Sergeev	vref-supply = <&vcca_1v8>;
736bfbc663dSIvan Sergeev	status = "okay";
737bfbc663dSIvan Sergeev};
738bfbc663dSIvan Sergeev
739bfbc663dSIvan Sergeev&sdhci {
740bfbc663dSIvan Sergeev	bus-width = <8>;
741bfbc663dSIvan Sergeev	max-frequency = <200000000>;
742bfbc663dSIvan Sergeev	non-removable;
743bfbc663dSIvan Sergeev	pinctrl-names = "default";
744bfbc663dSIvan Sergeev	pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd>;
745bfbc663dSIvan Sergeev	status = "okay";
746bfbc663dSIvan Sergeev};
747bfbc663dSIvan Sergeev
748bfbc663dSIvan Sergeev&sdmmc0 {
749bfbc663dSIvan Sergeev	max-frequency = <150000000>;
750bfbc663dSIvan Sergeev	bus-width = <4>;
751bfbc663dSIvan Sergeev	cap-mmc-highspeed;
752bfbc663dSIvan Sergeev	cap-sd-highspeed;
753bfbc663dSIvan Sergeev	disable-wp;
754bfbc663dSIvan Sergeev	pinctrl-names = "default";
755bfbc663dSIvan Sergeev	pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>;
756bfbc663dSIvan Sergeev	vmmc-supply = <&vcc_sd>;
757bfbc663dSIvan Sergeev	vqmmc-supply = <&vccio_sd>;
758bfbc663dSIvan Sergeev	status = "okay";
759bfbc663dSIvan Sergeev};
760bfbc663dSIvan Sergeev
761bfbc663dSIvan Sergeev&sdmmc1 {
762bfbc663dSIvan Sergeev	/* WiFi & BT combo module AMPAK AP6256 */
763bfbc663dSIvan Sergeev	#address-cells = <1>;
764bfbc663dSIvan Sergeev	#size-cells = <0>;
765bfbc663dSIvan Sergeev	bus-width = <4>;
766bfbc663dSIvan Sergeev	cap-sd-highspeed;
767bfbc663dSIvan Sergeev	cap-sdio-irq;
768bfbc663dSIvan Sergeev	disable-wp;
769bfbc663dSIvan Sergeev	keep-power-in-suspend;
770bfbc663dSIvan Sergeev	max-frequency = <150000000>;
771bfbc663dSIvan Sergeev	mmc-pwrseq = <&sdio_pwrseq>;
772bfbc663dSIvan Sergeev	non-removable;
773bfbc663dSIvan Sergeev	pinctrl-names = "default";
774bfbc663dSIvan Sergeev	pinctrl-0 = <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>;
775bfbc663dSIvan Sergeev	rockchip,default-sample-phase = <90>;
776bfbc663dSIvan Sergeev	status = "okay";
777bfbc663dSIvan Sergeev
778*7ec0987dSKrzysztof Kozlowski	wifi@1 {
779bfbc663dSIvan Sergeev		compatible = "brcm,bcm4329-fmac";
780bfbc663dSIvan Sergeev		reg = <1>;
781bfbc663dSIvan Sergeev		interrupt-parent = <&gpio2>;
782bfbc663dSIvan Sergeev		interrupts = <9 IRQ_TYPE_LEVEL_HIGH>;
783bfbc663dSIvan Sergeev		interrupt-names = "host-wake";
784bfbc663dSIvan Sergeev		pinctrl-names = "default";
785bfbc663dSIvan Sergeev		pinctrl-0 = <&wifi_host_wake>;
786bfbc663dSIvan Sergeev		brcm,drive-strength = <10>;
787bfbc663dSIvan Sergeev	};
788bfbc663dSIvan Sergeev};
789bfbc663dSIvan Sergeev
790bfbc663dSIvan Sergeev&sfc {
791bfbc663dSIvan Sergeev	#address-cells = <1>;
792bfbc663dSIvan Sergeev	#size-cells = <0>;
793bfbc663dSIvan Sergeev	status = "okay";
794bfbc663dSIvan Sergeev};
795bfbc663dSIvan Sergeev
796bfbc663dSIvan Sergeev&tsadc {
797bfbc663dSIvan Sergeev	status = "okay";
798bfbc663dSIvan Sergeev};
799bfbc663dSIvan Sergeev
800bfbc663dSIvan Sergeev&uart1 {
801bfbc663dSIvan Sergeev	dma-names = "tx","rx";
802bfbc663dSIvan Sergeev	pinctrl-names = "default";
803bfbc663dSIvan Sergeev	pinctrl-0 = <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>;
804bfbc663dSIvan Sergeev	uart-has-rtscts;
805bfbc663dSIvan Sergeev	status = "okay";
806bfbc663dSIvan Sergeev
807bfbc663dSIvan Sergeev	bluetooth {
808bfbc663dSIvan Sergeev		compatible = "brcm,bcm4345c5";
809bfbc663dSIvan Sergeev		clocks = <&rk809 1>;
810bfbc663dSIvan Sergeev		clock-names = "lpo";
811bfbc663dSIvan Sergeev		device-wakeup-gpios = <&gpio2 RK_PC0 GPIO_ACTIVE_HIGH>;
812bfbc663dSIvan Sergeev		host-wakeup-gpios = <&gpio2 RK_PC1 GPIO_ACTIVE_HIGH>;
813bfbc663dSIvan Sergeev		shutdown-gpios = <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>;
814bfbc663dSIvan Sergeev		pinctrl-names = "default";
815bfbc663dSIvan Sergeev		pinctrl-0 = <&bt_host_wake &bt_wake &bt_enable>;
816bfbc663dSIvan Sergeev		vbat-supply = <&vcc3v3_sys>;
817bfbc663dSIvan Sergeev		vddio-supply = <&vcca1v8_pmu>;
818bfbc663dSIvan Sergeev	};
819bfbc663dSIvan Sergeev};
820bfbc663dSIvan Sergeev
821bfbc663dSIvan Sergeev&uart2 {
822bfbc663dSIvan Sergeev	status = "okay";
823bfbc663dSIvan Sergeev};
824bfbc663dSIvan Sergeev
825bfbc663dSIvan Sergeev&uart5 {
826bfbc663dSIvan Sergeev	pinctrl-names = "default";
827bfbc663dSIvan Sergeev	pinctrl-0 = <&uart5m1_xfer>;
828bfbc663dSIvan Sergeev};
829bfbc663dSIvan Sergeev
830bfbc663dSIvan Sergeev&uart7 {
831bfbc663dSIvan Sergeev	pinctrl-names = "default";
832bfbc663dSIvan Sergeev	pinctrl-0 = <&uart7m2_xfer>;
833bfbc663dSIvan Sergeev};
834bfbc663dSIvan Sergeev
835bfbc663dSIvan Sergeev&usb2phy0 {
836bfbc663dSIvan Sergeev	status = "okay";
837bfbc663dSIvan Sergeev};
838bfbc663dSIvan Sergeev
839bfbc663dSIvan Sergeev&usb2phy0_host {
840bfbc663dSIvan Sergeev	phy-supply = <&vcc5v0_host>;
841bfbc663dSIvan Sergeev	status = "okay";
842bfbc663dSIvan Sergeev};
843bfbc663dSIvan Sergeev
844bfbc663dSIvan Sergeev&usb2phy0_otg {
845bfbc663dSIvan Sergeev	phy-supply = <&vcc5v0_otg>;
846bfbc663dSIvan Sergeev	status = "okay";
847bfbc663dSIvan Sergeev};
848bfbc663dSIvan Sergeev
849bfbc663dSIvan Sergeev&usb2phy1 {
850bfbc663dSIvan Sergeev	status = "okay";
851bfbc663dSIvan Sergeev};
852bfbc663dSIvan Sergeev
853bfbc663dSIvan Sergeev&usb2phy1_host {
854bfbc663dSIvan Sergeev	phy-supply = <&vcc5v0_usb2t>;
855bfbc663dSIvan Sergeev	status = "okay";
856bfbc663dSIvan Sergeev};
857bfbc663dSIvan Sergeev
858bfbc663dSIvan Sergeev&usb2phy1_otg {
859bfbc663dSIvan Sergeev	phy-supply = <&vcc5v0_usb2b>;
860bfbc663dSIvan Sergeev	status = "okay";
861bfbc663dSIvan Sergeev};
862bfbc663dSIvan Sergeev
863bfbc663dSIvan Sergeev&usb_host0_ehci {
864bfbc663dSIvan Sergeev	status = "okay";
865bfbc663dSIvan Sergeev};
866bfbc663dSIvan Sergeev
867bfbc663dSIvan Sergeev&usb_host0_ohci {
868bfbc663dSIvan Sergeev	status = "okay";
869bfbc663dSIvan Sergeev};
870bfbc663dSIvan Sergeev
871bfbc663dSIvan Sergeev&usb_host0_xhci {
872bfbc663dSIvan Sergeev	dr_mode = "host";
873bfbc663dSIvan Sergeev	extcon = <&usb2phy0>;
874bfbc663dSIvan Sergeev	status = "okay";
875bfbc663dSIvan Sergeev};
876bfbc663dSIvan Sergeev
877bfbc663dSIvan Sergeev&usb_host1_ehci {
878bfbc663dSIvan Sergeev	status = "okay";
879bfbc663dSIvan Sergeev};
880bfbc663dSIvan Sergeev
881bfbc663dSIvan Sergeev&usb_host1_ohci {
882bfbc663dSIvan Sergeev	status = "okay";
883bfbc663dSIvan Sergeev};
884bfbc663dSIvan Sergeev
885bfbc663dSIvan Sergeev&usb_host1_xhci {
886bfbc663dSIvan Sergeev	status = "okay";
887bfbc663dSIvan Sergeev};
888bfbc663dSIvan Sergeev
889bfbc663dSIvan Sergeev&vop {
890bfbc663dSIvan Sergeev	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
891bfbc663dSIvan Sergeev	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
892bfbc663dSIvan Sergeev	status = "okay";
893bfbc663dSIvan Sergeev};
894bfbc663dSIvan Sergeev
895bfbc663dSIvan Sergeev&vop_mmu {
896bfbc663dSIvan Sergeev	status = "okay";
897bfbc663dSIvan Sergeev};
898bfbc663dSIvan Sergeev
899bfbc663dSIvan Sergeev&vp0 {
900bfbc663dSIvan Sergeev	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
901bfbc663dSIvan Sergeev		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
902bfbc663dSIvan Sergeev		remote-endpoint = <&hdmi_in_vp0>;
903bfbc663dSIvan Sergeev	};
904bfbc663dSIvan Sergeev};
905