xref: /linux/scripts/dtc/include-prefixes/arm64/rockchip/rk3588-firefly-itx-3588j.dts (revision 2f24482304ebd32c5aa374f31465b9941a860b92)
1ebe82df4SShimrra Shai// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2ebe82df4SShimrra Shai
3ebe82df4SShimrra Shai/dts-v1/;
4ebe82df4SShimrra Shai
5ebe82df4SShimrra Shai#include <dt-bindings/gpio/gpio.h>
6ebe82df4SShimrra Shai#include <dt-bindings/input/input.h>
7ebe82df4SShimrra Shai#include <dt-bindings/leds/common.h>
8ebe82df4SShimrra Shai#include <dt-bindings/pinctrl/rockchip.h>
9ebe82df4SShimrra Shai#include <dt-bindings/pwm/pwm.h>
10ebe82df4SShimrra Shai#include <dt-bindings/soc/rockchip,vop2.h>
11ebe82df4SShimrra Shai#include "dt-bindings/usb/pd.h"
12ebe82df4SShimrra Shai
13ebe82df4SShimrra Shai#include "rk3588-firefly-core-3588j.dtsi"
14ebe82df4SShimrra Shai
15ebe82df4SShimrra Shai/ {
16ebe82df4SShimrra Shai	model = "Firefly ITX-3588J";
17ebe82df4SShimrra Shai	compatible = "firefly,itx-3588j", "firefly,core-3588j", "rockchip,rk3588";
18ebe82df4SShimrra Shai
19ebe82df4SShimrra Shai	aliases {
20ebe82df4SShimrra Shai		ethernet0 = &gmac0;
21ebe82df4SShimrra Shai		ethernet1 = &gmac1;
22ebe82df4SShimrra Shai	};
23ebe82df4SShimrra Shai
24ebe82df4SShimrra Shai	chosen {
25ebe82df4SShimrra Shai		stdout-path = "serial2:1500000n8";
26ebe82df4SShimrra Shai	};
27ebe82df4SShimrra Shai
28ebe82df4SShimrra Shai	/*
29ebe82df4SShimrra Shai	 * there are also a "Reset" and "Mask ROM" button, but the needed
30ebe82df4SShimrra Shai	 * settings are unknown at this time
31ebe82df4SShimrra Shai	 */
32ebe82df4SShimrra Shai	adc-keys-0 {
33ebe82df4SShimrra Shai		compatible = "adc-keys";
34ebe82df4SShimrra Shai		io-channels = <&saradc 1>;
35ebe82df4SShimrra Shai		io-channel-names = "buttons";
36ebe82df4SShimrra Shai		keyup-threshold-microvolt = <1800000>;
37ebe82df4SShimrra Shai		poll-interval = <100>;
38ebe82df4SShimrra Shai
39ebe82df4SShimrra Shai		button-recovery {
40ebe82df4SShimrra Shai			label = "Recovery";
41ebe82df4SShimrra Shai			linux,code = <KEY_VENDOR>;
42ebe82df4SShimrra Shai			press-threshold-microvolt = <2000>;
43ebe82df4SShimrra Shai		};
44ebe82df4SShimrra Shai	};
45ebe82df4SShimrra Shai
46ebe82df4SShimrra Shai	analog-sound {
47ebe82df4SShimrra Shai		compatible = "simple-audio-card";
48ebe82df4SShimrra Shai		pinctrl-0 = <&hp_detect>;
49ebe82df4SShimrra Shai		pinctrl-names = "default";
50ebe82df4SShimrra Shai		simple-audio-card,aux-devs = <&amp_headphones>, <&amp_speaker>;
51ebe82df4SShimrra Shai		simple-audio-card,format = "i2s";
52ebe82df4SShimrra Shai		simple-audio-card,hp-det-gpios = <&gpio1 RK_PC4 GPIO_ACTIVE_LOW>;
53ebe82df4SShimrra Shai		simple-audio-card,mclk-fs = <384>;
54ebe82df4SShimrra Shai		simple-audio-card,name = "rockchip_es8323";
55ebe82df4SShimrra Shai		simple-audio-card,pin-switches = "Headphones", "Speaker";
56ebe82df4SShimrra Shai		simple-audio-card,routing =
57ebe82df4SShimrra Shai			"Speaker Amplifier INL", "LOUT2",
58ebe82df4SShimrra Shai			"Speaker Amplifier INR", "ROUT2",
59ebe82df4SShimrra Shai			"Speaker", "Speaker Amplifier OUTL",
60ebe82df4SShimrra Shai			"Speaker", "Speaker Amplifier OUTR",
61ebe82df4SShimrra Shai			"Headphones Amplifier INL", "LOUT1",
62ebe82df4SShimrra Shai			"Headphones Amplifier INR", "ROUT1",
63ebe82df4SShimrra Shai			"Headphones", "Headphones Amplifier OUTL",
64ebe82df4SShimrra Shai			"Headphones", "Headphones Amplifier OUTR",
65ebe82df4SShimrra Shai			"LINPUT1", "Microphone Jack",
66ebe82df4SShimrra Shai			"RINPUT1", "Microphone Jack",
67ebe82df4SShimrra Shai			"LINPUT2", "Onboard Microphone",
68ebe82df4SShimrra Shai			"RINPUT2", "Onboard Microphone";
69ebe82df4SShimrra Shai		simple-audio-card,widgets =
70ebe82df4SShimrra Shai			"Microphone", "Microphone Jack",
71ebe82df4SShimrra Shai			"Microphone", "Onboard Microphone",
72ebe82df4SShimrra Shai			"Headphone", "Headphones",
73ebe82df4SShimrra Shai			"Speaker", "Speaker";
74ebe82df4SShimrra Shai
75ebe82df4SShimrra Shai		simple-audio-card,cpu {
76ebe82df4SShimrra Shai			sound-dai = <&i2s0_8ch>;
77ebe82df4SShimrra Shai		};
78ebe82df4SShimrra Shai
79ebe82df4SShimrra Shai		simple-audio-card,codec {
80ebe82df4SShimrra Shai			sound-dai = <&es8323>;
81ebe82df4SShimrra Shai			system-clock-frequency = <12288000>;
82ebe82df4SShimrra Shai		};
83ebe82df4SShimrra Shai	};
84ebe82df4SShimrra Shai
85ebe82df4SShimrra Shai	/*
86ebe82df4SShimrra Shai	 * this does not seem to be a proper "amplifier" but is just
87ebe82df4SShimrra Shai	 * a way to control the GPIO pins to switch on or off the given
88ebe82df4SShimrra Shai	 * sound output device
89ebe82df4SShimrra Shai	 */
90ebe82df4SShimrra Shai	amp_headphones: headphones-audio-amplifier {
91ebe82df4SShimrra Shai		compatible = "simple-audio-amplifier";
92ebe82df4SShimrra Shai		enable-gpios = <&gpio4 RK_PB0 GPIO_ACTIVE_HIGH>;
93ebe82df4SShimrra Shai		pinctrl-names = "default";
94ebe82df4SShimrra Shai		pinctrl-0 = <&headphone_amplifier_en>;
95ebe82df4SShimrra Shai		sound-name-prefix = "Headphones Amplifier";
96ebe82df4SShimrra Shai	};
97ebe82df4SShimrra Shai
98ebe82df4SShimrra Shai	amp_speaker: speaker-audio-amplifier {
99ebe82df4SShimrra Shai		compatible = "simple-audio-amplifier";
100ebe82df4SShimrra Shai		enable-gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_HIGH>;
101ebe82df4SShimrra Shai		pinctrl-names = "default";
102ebe82df4SShimrra Shai		pinctrl-0 = <&speaker_amplifier_en>;
103ebe82df4SShimrra Shai		sound-name-prefix = "Speaker Amplifier";
104ebe82df4SShimrra Shai	};
105ebe82df4SShimrra Shai
106ebe82df4SShimrra Shai	fan: pwm-fan {
107ebe82df4SShimrra Shai		compatible = "pwm-fan";
108ebe82df4SShimrra Shai		#cooling-cells = <2>;
109ebe82df4SShimrra Shai		cooling-levels = <0 120 150 180 210 240 255>;
110ebe82df4SShimrra Shai		fan-supply = <&vcc12v_dcin>;
111ebe82df4SShimrra Shai		pwms = <&pwm15 0 50000 1>;
112ebe82df4SShimrra Shai	};
113ebe82df4SShimrra Shai
114ebe82df4SShimrra Shai	hdmi0-con {
115ebe82df4SShimrra Shai		compatible = "hdmi-connector";
116ebe82df4SShimrra Shai		type = "a";
117ebe82df4SShimrra Shai
118ebe82df4SShimrra Shai		port {
119ebe82df4SShimrra Shai			hdmi0_con_in: endpoint {
120ebe82df4SShimrra Shai				remote-endpoint = <&hdmi0_out_con>;
121ebe82df4SShimrra Shai			};
122ebe82df4SShimrra Shai		};
123ebe82df4SShimrra Shai	};
124ebe82df4SShimrra Shai
125ebe82df4SShimrra Shai	leds {
126ebe82df4SShimrra Shai		compatible = "gpio-leds";
127ebe82df4SShimrra Shai
128ebe82df4SShimrra Shai		/*
129ebe82df4SShimrra Shai		 * There is also a Power LED control @ RK_PB3 on
130ebe82df4SShimrra Shai		 * GPIO1 but for some reason it doesn't seem to work right
131ebe82df4SShimrra Shai		 */
132ebe82df4SShimrra Shai
133ebe82df4SShimrra Shai		user_led: led-1 {
134ebe82df4SShimrra Shai			gpios = <&pca9555 3 GPIO_ACTIVE_HIGH>;
135ebe82df4SShimrra Shai			linux,default-trigger = "disk-activity";
136ebe82df4SShimrra Shai		};
137ebe82df4SShimrra Shai	};
138ebe82df4SShimrra Shai
139ebe82df4SShimrra Shai	pcie30_avdd0v75: regulator-pcie30-avdd0v75 {
140ebe82df4SShimrra Shai		compatible = "regulator-fixed";
141ebe82df4SShimrra Shai		regulator-always-on;
142ebe82df4SShimrra Shai		regulator-boot-on;
143ebe82df4SShimrra Shai		regulator-min-microvolt = <750000>;
144ebe82df4SShimrra Shai		regulator-max-microvolt = <750000>;
145ebe82df4SShimrra Shai		regulator-name = "pcie30_avdd0v75";
146ebe82df4SShimrra Shai		vin-supply = <&avdd_0v75_s0>;
147ebe82df4SShimrra Shai	};
148ebe82df4SShimrra Shai
149ebe82df4SShimrra Shai	vbus5v0_typec_pwr_en: regulator-vbus5v0-typec-pwr-en {
150ebe82df4SShimrra Shai		compatible = "regulator-fixed";
151ebe82df4SShimrra Shai		enable-active-high;
152ebe82df4SShimrra Shai		gpios = <&pca9555 12 GPIO_ACTIVE_HIGH>;
153ebe82df4SShimrra Shai		regulator-min-microvolt = <5000000>;
154ebe82df4SShimrra Shai		regulator-max-microvolt = <5000000>;
155ebe82df4SShimrra Shai		regulator-name = "vbus5v0_typec_pwr_en";
156ebe82df4SShimrra Shai	};
157ebe82df4SShimrra Shai
158ebe82df4SShimrra Shai	vcc12v_dcin: regulator-vcc12v-dcin {
159ebe82df4SShimrra Shai		compatible = "regulator-fixed";
160ebe82df4SShimrra Shai		regulator-always-on;
161ebe82df4SShimrra Shai		regulator-boot-on;
162ebe82df4SShimrra Shai		regulator-min-microvolt = <12000000>;
163ebe82df4SShimrra Shai		regulator-max-microvolt = <12000000>;
164ebe82df4SShimrra Shai		regulator-name = "vcc12v_dcin";
165ebe82df4SShimrra Shai	};
166ebe82df4SShimrra Shai
167ebe82df4SShimrra Shai	vcc3v3_pcie30: regulator-vcc3v3-pcie30 {
168ebe82df4SShimrra Shai		compatible = "regulator-fixed";
169ebe82df4SShimrra Shai		enable-active-high;
170ebe82df4SShimrra Shai		gpios = <&gpio2 RK_PC5 GPIO_ACTIVE_HIGH>;
171ebe82df4SShimrra Shai		pinctrl-names = "default";
172ebe82df4SShimrra Shai		pinctrl-0 = <&pcie3_vcc3v3_en>;
173ebe82df4SShimrra Shai		regulator-min-microvolt = <3300000>;
174ebe82df4SShimrra Shai		regulator-max-microvolt = <3300000>;
175ebe82df4SShimrra Shai		regulator-name = "vcc3v3_pcie30";
176ebe82df4SShimrra Shai		startup-delay-us = <5000>;
177ebe82df4SShimrra Shai		vin-supply = <&vcc12v_dcin>;
178ebe82df4SShimrra Shai	};
179ebe82df4SShimrra Shai
180ebe82df4SShimrra Shai	vcc5v0_host: regulator-vcc5v0-host {
181ebe82df4SShimrra Shai		compatible = "regulator-fixed";
182ebe82df4SShimrra Shai		enable-active-high;
183ebe82df4SShimrra Shai		gpios = <&pca9555 5 GPIO_ACTIVE_HIGH>;
184ebe82df4SShimrra Shai		regulator-always-on;
185ebe82df4SShimrra Shai		regulator-boot-on;
186ebe82df4SShimrra Shai		regulator-min-microvolt = <5000000>;
187ebe82df4SShimrra Shai		regulator-max-microvolt = <5000000>;
188ebe82df4SShimrra Shai		regulator-name = "vcc5v0_host";
189ebe82df4SShimrra Shai		vin-supply = <&vcc5v0_usb>;
190ebe82df4SShimrra Shai	};
191ebe82df4SShimrra Shai
192ebe82df4SShimrra Shai	vcc5v0_host3: regulator-vcc5v0-host3 {
193ebe82df4SShimrra Shai		compatible = "regulator-fixed";
194ebe82df4SShimrra Shai		enable-active-high;
195ebe82df4SShimrra Shai		gpios = <&pca9555 7 GPIO_ACTIVE_HIGH>;
196ebe82df4SShimrra Shai		regulator-name = "vcc5v0_host3";
197ebe82df4SShimrra Shai		regulator-boot-on;
198ebe82df4SShimrra Shai		regulator-always-on;
199ebe82df4SShimrra Shai		regulator-min-microvolt = <5000000>;
200ebe82df4SShimrra Shai		regulator-max-microvolt = <5000000>;
201ebe82df4SShimrra Shai		vin-supply = <&vcc5v0_usb>;
202ebe82df4SShimrra Shai	};
203ebe82df4SShimrra Shai
204ebe82df4SShimrra Shai	vcc5v0_sys: regulator-vcc5v0-sys {
205ebe82df4SShimrra Shai		compatible = "regulator-fixed";
206ebe82df4SShimrra Shai		regulator-always-on;
207ebe82df4SShimrra Shai		regulator-boot-on;
208ebe82df4SShimrra Shai		regulator-min-microvolt = <5000000>;
209ebe82df4SShimrra Shai		regulator-max-microvolt = <5000000>;
210ebe82df4SShimrra Shai		regulator-name = "vcc5v0_sys";
211ebe82df4SShimrra Shai		vin-supply = <&vcc12v_dcin>;
212ebe82df4SShimrra Shai	};
213ebe82df4SShimrra Shai
214ebe82df4SShimrra Shai	vcc5v0_usb: regulator-vcc5v0-usb {
215ebe82df4SShimrra Shai		compatible = "regulator-fixed";
216ebe82df4SShimrra Shai		regulator-always-on;
217ebe82df4SShimrra Shai		regulator-boot-on;
218ebe82df4SShimrra Shai		regulator-min-microvolt = <5000000>;
219ebe82df4SShimrra Shai		regulator-max-microvolt = <5000000>;
220ebe82df4SShimrra Shai		regulator-name = "vcc5v0_usb";
221ebe82df4SShimrra Shai		vin-supply = <&vcc12v_dcin>;
222ebe82df4SShimrra Shai	};
223ebe82df4SShimrra Shai
224ebe82df4SShimrra Shai	vcc_1v1_nldo_s3: regulator-vcc-1v1-nldo-s3 {
225ebe82df4SShimrra Shai		compatible = "regulator-fixed";
226ebe82df4SShimrra Shai		regulator-always-on;
227ebe82df4SShimrra Shai		regulator-boot-on;
228ebe82df4SShimrra Shai		regulator-min-microvolt = <1100000>;
229ebe82df4SShimrra Shai		regulator-max-microvolt = <1100000>;
230ebe82df4SShimrra Shai		regulator-name = "vcc_1v1_nldo_s3";
231ebe82df4SShimrra Shai		vin-supply = <&vcc5v0_sys>;
232ebe82df4SShimrra Shai	};
233ebe82df4SShimrra Shai
234ebe82df4SShimrra Shai	vcc_fan_pwr_en: regulator-vcc-fan-pwr-en {
235ebe82df4SShimrra Shai		compatible = "regulator-fixed";
236ebe82df4SShimrra Shai		enable-active-high;
237ebe82df4SShimrra Shai		gpios = <&pca9555 11 GPIO_ACTIVE_HIGH>;
238ebe82df4SShimrra Shai		regulator-always-on;
239ebe82df4SShimrra Shai		regulator-boot-on;
240ebe82df4SShimrra Shai		regulator-name = "vcc_fan_pwr_en";
241ebe82df4SShimrra Shai	};
242ebe82df4SShimrra Shai
243ebe82df4SShimrra Shai	vcc_hub_reset: regulator-vcc-hub-reset {
244ebe82df4SShimrra Shai		compatible = "regulator-fixed";
245ebe82df4SShimrra Shai		enable-active-high;
246ebe82df4SShimrra Shai		gpios = <&pca9555 4 GPIO_ACTIVE_HIGH>;
247ebe82df4SShimrra Shai		regulator-always-on;
248ebe82df4SShimrra Shai		regulator-boot-on;
249ebe82df4SShimrra Shai		regulator-name = "vcc_hub_reset";
250ebe82df4SShimrra Shai	};
251ebe82df4SShimrra Shai
252ebe82df4SShimrra Shai	vcc_hub3_reset: regulator-vcc-hub3-reset {
253ebe82df4SShimrra Shai		compatible = "regulator-fixed";
254ebe82df4SShimrra Shai		enable-active-high;
255ebe82df4SShimrra Shai		gpios = <&pca9555 6 GPIO_ACTIVE_HIGH>;
256ebe82df4SShimrra Shai		regulator-always-on;
257ebe82df4SShimrra Shai		regulator-name = "vcc_hub3_reset";
258ebe82df4SShimrra Shai	};
259ebe82df4SShimrra Shai
260ebe82df4SShimrra Shai	vcc_sata_pwr_en: regulator-vcc-sata-pwr-en {
261ebe82df4SShimrra Shai		compatible = "regulator-fixed";
262ebe82df4SShimrra Shai		enable-active-high;
263ebe82df4SShimrra Shai		gpios = <&pca9555 10 GPIO_ACTIVE_HIGH>;
264ebe82df4SShimrra Shai		regulator-always-on;
265ebe82df4SShimrra Shai		regulator-boot-on;
266ebe82df4SShimrra Shai		regulator-name = "vcc_sata_pwr_en";
267ebe82df4SShimrra Shai	};
268ebe82df4SShimrra Shai};
269ebe82df4SShimrra Shai
270ebe82df4SShimrra Shai&avcc_1v8_s0 {
271ebe82df4SShimrra Shai	regulator-state-mem {
272ebe82df4SShimrra Shai		regulator-on-in-suspend;
273ebe82df4SShimrra Shai	};
274ebe82df4SShimrra Shai};
275ebe82df4SShimrra Shai
276ebe82df4SShimrra Shai&combphy0_ps {
277ebe82df4SShimrra Shai	status = "okay";
278ebe82df4SShimrra Shai};
279ebe82df4SShimrra Shai
280ebe82df4SShimrra Shai&combphy1_ps {
281ebe82df4SShimrra Shai	status = "okay";
282ebe82df4SShimrra Shai};
283ebe82df4SShimrra Shai
284ebe82df4SShimrra Shai&combphy2_psu {
285ebe82df4SShimrra Shai	status = "okay";
286ebe82df4SShimrra Shai};
287ebe82df4SShimrra Shai
288ebe82df4SShimrra Shai&gmac0 {
289ebe82df4SShimrra Shai	clock_in_out = "output";
290ebe82df4SShimrra Shai	phy-handle = <&rgmii_phy0>;
291ebe82df4SShimrra Shai	phy-mode = "rgmii-rxid";
292ebe82df4SShimrra Shai	pinctrl-names = "default";
293ebe82df4SShimrra Shai	pinctrl-0 = <&gmac0_miim
294ebe82df4SShimrra Shai		     &gmac0_tx_bus2
295ebe82df4SShimrra Shai		     &gmac0_rx_bus2
296ebe82df4SShimrra Shai		     &gmac0_rgmii_clk
297ebe82df4SShimrra Shai		     &gmac0_rgmii_bus>;
298ebe82df4SShimrra Shai	tx_delay = <0x45>;
299ebe82df4SShimrra Shai	rx_delay = <0x4a>;
300ebe82df4SShimrra Shai	status = "okay";
301ebe82df4SShimrra Shai};
302ebe82df4SShimrra Shai
303ebe82df4SShimrra Shai&gmac1 {
304ebe82df4SShimrra Shai	clock_in_out = "output";
305ebe82df4SShimrra Shai	phy-handle = <&rgmii_phy1>;
306ebe82df4SShimrra Shai	phy-mode = "rgmii-rxid";
307ebe82df4SShimrra Shai	pinctrl-names = "default";
308ebe82df4SShimrra Shai	pinctrl-0 = <&gmac1_miim
309ebe82df4SShimrra Shai		     &gmac1_tx_bus2
310ebe82df4SShimrra Shai		     &gmac1_rx_bus2
311ebe82df4SShimrra Shai		     &gmac1_rgmii_clk
312ebe82df4SShimrra Shai		     &gmac1_rgmii_bus>;
313ebe82df4SShimrra Shai	tx_delay = <0x42>;
314ebe82df4SShimrra Shai	rx_delay = <0x4f>;
315ebe82df4SShimrra Shai	status = "okay";
316ebe82df4SShimrra Shai};
317ebe82df4SShimrra Shai
318ebe82df4SShimrra Shai&gpu {
319ebe82df4SShimrra Shai	mali-supply = <&vdd_gpu_s0>;
320ebe82df4SShimrra Shai	sram-supply = <&vdd_gpu_mem_s0>;
321ebe82df4SShimrra Shai	status = "okay";
322ebe82df4SShimrra Shai};
323ebe82df4SShimrra Shai
324ebe82df4SShimrra Shai&hdmi0 {
325ebe82df4SShimrra Shai	status = "okay";
326ebe82df4SShimrra Shai};
327ebe82df4SShimrra Shai
328ebe82df4SShimrra Shai&hdmi0_in {
329ebe82df4SShimrra Shai	hdmi0_in_vp0: endpoint {
330ebe82df4SShimrra Shai		remote-endpoint = <&vp0_out_hdmi0>;
331ebe82df4SShimrra Shai	};
332ebe82df4SShimrra Shai};
333ebe82df4SShimrra Shai
334ebe82df4SShimrra Shai&hdmi0_out {
335ebe82df4SShimrra Shai	hdmi0_out_con: endpoint {
336ebe82df4SShimrra Shai		remote-endpoint = <&hdmi0_con_in>;
337ebe82df4SShimrra Shai	};
338ebe82df4SShimrra Shai};
339ebe82df4SShimrra Shai
340*2efdb041SDamon Ding&hdptxphy0 {
341ebe82df4SShimrra Shai	status = "okay";
342ebe82df4SShimrra Shai};
343ebe82df4SShimrra Shai
344ebe82df4SShimrra Shai&i2c3 {
345ebe82df4SShimrra Shai	status = "okay";
346ebe82df4SShimrra Shai
347ebe82df4SShimrra Shai	/*
348ebe82df4SShimrra Shai	 * in the Firefly BSP source this was confusingly called an
349ebe82df4SShimrra Shai	 * "ES8388" - it actually seems to be an ES8323 and the drivers
350ebe82df4SShimrra Shai	 * for that work best
351ebe82df4SShimrra Shai	 */
352ebe82df4SShimrra Shai	es8323: audio-codec@11 {
353ebe82df4SShimrra Shai		compatible = "everest,es8323";
354ebe82df4SShimrra Shai		reg = <0x11>;
355ebe82df4SShimrra Shai		assigned-clocks = <&cru I2S0_8CH_MCLKOUT>;
356ebe82df4SShimrra Shai		assigned-clock-rates = <12288000>;
357ebe82df4SShimrra Shai		clocks = <&cru I2S0_8CH_MCLKOUT>;
358ebe82df4SShimrra Shai		clock-names = "mclk";
359ebe82df4SShimrra Shai		#sound-dai-cells = <0>;
360ebe82df4SShimrra Shai	};
361ebe82df4SShimrra Shai};
362ebe82df4SShimrra Shai
363ebe82df4SShimrra Shai&i2c6 {
364ebe82df4SShimrra Shai	pinctrl-names = "default";
365ebe82df4SShimrra Shai	pinctrl-0 = <&i2c6m0_xfer>;
366ebe82df4SShimrra Shai	status = "okay";
367ebe82df4SShimrra Shai
368ebe82df4SShimrra Shai	pca9555: gpio@21 {
369ebe82df4SShimrra Shai		compatible = "nxp,pca9555";
370ebe82df4SShimrra Shai		reg = <0x21>;
371ebe82df4SShimrra Shai		gpio-controller;
372ebe82df4SShimrra Shai		#gpio-cells = <2>;
373ebe82df4SShimrra Shai	};
374ebe82df4SShimrra Shai
375ebe82df4SShimrra Shai	usbc0: usb-typec@22 {
376ebe82df4SShimrra Shai		compatible = "fcs,fusb302";
377ebe82df4SShimrra Shai		reg = <0x22>;
378ebe82df4SShimrra Shai		interrupt-parent = <&gpio0>;
379ebe82df4SShimrra Shai		interrupts = <RK_PD3 IRQ_TYPE_LEVEL_LOW>;
380ebe82df4SShimrra Shai		pinctrl-names = "default";
381ebe82df4SShimrra Shai		pinctrl-0 = <&usbc0_int>;
382ebe82df4SShimrra Shai		vbus-supply = <&vbus5v0_typec_pwr_en>;
383ebe82df4SShimrra Shai
384ebe82df4SShimrra Shai		usb_con: connector {
385ebe82df4SShimrra Shai			compatible = "usb-c-connector";
386ebe82df4SShimrra Shai			label = "USB-C";
387ebe82df4SShimrra Shai			data-role = "dual";
388ebe82df4SShimrra Shai			op-sink-microwatt = <1000000>;
389ebe82df4SShimrra Shai			power-role = "dual";
390ebe82df4SShimrra Shai			sink-pdos =
391ebe82df4SShimrra Shai				<PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
392ebe82df4SShimrra Shai			source-pdos =
393ebe82df4SShimrra Shai				<PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
394ebe82df4SShimrra Shai			try-power-role = "source";
395ebe82df4SShimrra Shai
396ebe82df4SShimrra Shai			ports {
397ebe82df4SShimrra Shai				#address-cells = <1>;
398ebe82df4SShimrra Shai				#size-cells = <0>;
399ebe82df4SShimrra Shai
400ebe82df4SShimrra Shai				port@0 {
401ebe82df4SShimrra Shai					reg = <0>;
402ebe82df4SShimrra Shai
403ebe82df4SShimrra Shai					usbc0_orien_sw: endpoint {
404ebe82df4SShimrra Shai						remote-endpoint = <&usbdp_phy0_orientation_switch>;
405ebe82df4SShimrra Shai					};
406ebe82df4SShimrra Shai				};
407ebe82df4SShimrra Shai
408ebe82df4SShimrra Shai				port@1 {
409ebe82df4SShimrra Shai					reg = <1>;
410ebe82df4SShimrra Shai
411ebe82df4SShimrra Shai					usbc0_role_sw: endpoint {
412ebe82df4SShimrra Shai						remote-endpoint = <&dwc3_0_role_switch>;
413ebe82df4SShimrra Shai					};
414ebe82df4SShimrra Shai				};
415ebe82df4SShimrra Shai
416ebe82df4SShimrra Shai				port@2 {
417ebe82df4SShimrra Shai					reg = <2>;
418ebe82df4SShimrra Shai
419ebe82df4SShimrra Shai					dp_altmode_mux: endpoint {
420ebe82df4SShimrra Shai						remote-endpoint = <&usbdp_phy0_dp_altmode_mux>;
421ebe82df4SShimrra Shai					};
422ebe82df4SShimrra Shai				};
423ebe82df4SShimrra Shai			};
424ebe82df4SShimrra Shai		};
425ebe82df4SShimrra Shai	};
426ebe82df4SShimrra Shai
427ebe82df4SShimrra Shai	hym8563: rtc@51 {
428ebe82df4SShimrra Shai		compatible = "haoyu,hym8563";
429ebe82df4SShimrra Shai		reg = <0x51>;
430ebe82df4SShimrra Shai		interrupt-parent = <&gpio0>;
431ebe82df4SShimrra Shai		interrupts = <RK_PB0 IRQ_TYPE_LEVEL_LOW>;
432ebe82df4SShimrra Shai		#clock-cells = <0>;
433ebe82df4SShimrra Shai		clock-output-names = "hym8563";
434ebe82df4SShimrra Shai		pinctrl-names = "default";
435ebe82df4SShimrra Shai		pinctrl-0 = <&hym8563_int>;
436ebe82df4SShimrra Shai		wakeup-source;
437ebe82df4SShimrra Shai	};
438ebe82df4SShimrra Shai};
439ebe82df4SShimrra Shai
440ebe82df4SShimrra Shai&i2s0_8ch {
441ebe82df4SShimrra Shai	pinctrl-names = "default";
442ebe82df4SShimrra Shai	pinctrl-0 = <&i2s0_lrck
443ebe82df4SShimrra Shai		     &i2s0_mclk
444ebe82df4SShimrra Shai		     &i2s0_sclk
445ebe82df4SShimrra Shai		     &i2s0_sdi0
446ebe82df4SShimrra Shai		     &i2s0_sdo0>;
447ebe82df4SShimrra Shai	status = "okay";
448ebe82df4SShimrra Shai};
449ebe82df4SShimrra Shai
450ebe82df4SShimrra Shai&mdio0 {
451ebe82df4SShimrra Shai	rgmii_phy0: ethernet-phy@1 {
452ebe82df4SShimrra Shai		compatible = "ethernet-phy-ieee802.3-c22";
453ebe82df4SShimrra Shai		reg = <0x1>;
454ebe82df4SShimrra Shai	};
455ebe82df4SShimrra Shai};
456ebe82df4SShimrra Shai
457ebe82df4SShimrra Shai&mdio1 {
458ebe82df4SShimrra Shai	rgmii_phy1: ethernet-phy@1 {
459ebe82df4SShimrra Shai		compatible = "ethernet-phy-ieee802.3-c22";
460ebe82df4SShimrra Shai		reg = <0x1>;
461ebe82df4SShimrra Shai	};
462ebe82df4SShimrra Shai};
463ebe82df4SShimrra Shai
464ebe82df4SShimrra Shai&pcie2x1l0 {
465ebe82df4SShimrra Shai	pinctrl-names = "default";
466ebe82df4SShimrra Shai	pinctrl-0 = <&pcie2_0_rst>;
467ebe82df4SShimrra Shai	reset-gpios = <&gpio1 RK_PB4 GPIO_ACTIVE_HIGH>;
468ebe82df4SShimrra Shai	status = "okay";
469ebe82df4SShimrra Shai};
470ebe82df4SShimrra Shai
471ebe82df4SShimrra Shai&pcie30phy {
472ebe82df4SShimrra Shai	status = "okay";
473ebe82df4SShimrra Shai};
474ebe82df4SShimrra Shai
475ebe82df4SShimrra Shai&pcie3x4 {
476ebe82df4SShimrra Shai	pinctrl-names = "default";
477ebe82df4SShimrra Shai	pinctrl-0 = <&pcie3_rst>;
478ebe82df4SShimrra Shai	reset-gpios = <&gpio4 RK_PB6 GPIO_ACTIVE_HIGH>;
479ebe82df4SShimrra Shai	vpcie3v3-supply = <&vcc3v3_pcie30>;
480ebe82df4SShimrra Shai	status = "okay";
481ebe82df4SShimrra Shai};
482ebe82df4SShimrra Shai
483ebe82df4SShimrra Shai&pinctrl {
484ebe82df4SShimrra Shai	dp {
485ebe82df4SShimrra Shai		dp1_hpd: dp1-hpd {
486ebe82df4SShimrra Shai			 rockchip,pins = <1 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
487ebe82df4SShimrra Shai		};
488ebe82df4SShimrra Shai	};
489ebe82df4SShimrra Shai
490ebe82df4SShimrra Shai	hym8563 {
491ebe82df4SShimrra Shai		hym8563_int: hym8563-int {
492ebe82df4SShimrra Shai			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
493ebe82df4SShimrra Shai		};
494ebe82df4SShimrra Shai	};
495ebe82df4SShimrra Shai
496ebe82df4SShimrra Shai	gpio-leds {
497ebe82df4SShimrra Shai		sys_led_pin: sys-led-pin {
498ebe82df4SShimrra Shai			rockchip,pins =
499ebe82df4SShimrra Shai				<1 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
500ebe82df4SShimrra Shai		};
501ebe82df4SShimrra Shai	};
502ebe82df4SShimrra Shai
503ebe82df4SShimrra Shai	pcie2 {
504ebe82df4SShimrra Shai		pcie2_0_rst: pcie2-0-rst {
505ebe82df4SShimrra Shai			rockchip,pins = <1 RK_PB4 RK_FUNC_GPIO &pcfg_pull_none>;
506ebe82df4SShimrra Shai		};
507ebe82df4SShimrra Shai	};
508ebe82df4SShimrra Shai
509ebe82df4SShimrra Shai	pcie3 {
510ebe82df4SShimrra Shai		pcie3_rst: pcie3-rst {
511ebe82df4SShimrra Shai			rockchip,pins = <4 RK_PB6 RK_FUNC_GPIO &pcfg_pull_none>;
512ebe82df4SShimrra Shai		};
513ebe82df4SShimrra Shai
514ebe82df4SShimrra Shai		pcie3_vcc3v3_en: pcie3-vcc3v3-en {
515ebe82df4SShimrra Shai			rockchip,pins = <2 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
516ebe82df4SShimrra Shai		};
517ebe82df4SShimrra Shai	};
518ebe82df4SShimrra Shai
519ebe82df4SShimrra Shai	sound {
520ebe82df4SShimrra Shai		hp_detect: hp-detect {
521ebe82df4SShimrra Shai			rockchip,pins = <1 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
522ebe82df4SShimrra Shai		};
523ebe82df4SShimrra Shai
524ebe82df4SShimrra Shai		headphone_amplifier_en: headphone-amplifier-en {
525ebe82df4SShimrra Shai			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
526ebe82df4SShimrra Shai		};
527ebe82df4SShimrra Shai
528ebe82df4SShimrra Shai		speaker_amplifier_en: speaker-amplifier-en {
529ebe82df4SShimrra Shai			rockchip,pins = <3 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
530ebe82df4SShimrra Shai		};
531ebe82df4SShimrra Shai	};
532ebe82df4SShimrra Shai
533ebe82df4SShimrra Shai	usb {
534ebe82df4SShimrra Shai		usbc0_int: usbc0-int {
535ebe82df4SShimrra Shai			rockchip,pins = <0 RK_PD3 RK_FUNC_GPIO &pcfg_pull_up>;
536ebe82df4SShimrra Shai		};
537ebe82df4SShimrra Shai	};
538ebe82df4SShimrra Shai};
539ebe82df4SShimrra Shai
540ebe82df4SShimrra Shai&pwm15 {
541ebe82df4SShimrra Shai	pinctrl-names = "default";
542ebe82df4SShimrra Shai	pinctrl-0 = <&pwm15m2_pins>;
543ebe82df4SShimrra Shai	status = "okay";
544ebe82df4SShimrra Shai};
545ebe82df4SShimrra Shai
546ebe82df4SShimrra Shai&sata0 {
547ebe82df4SShimrra Shai	status = "okay";
548ebe82df4SShimrra Shai};
549ebe82df4SShimrra Shai
550ebe82df4SShimrra Shai&sata1 {
551ebe82df4SShimrra Shai	status = "okay";
552ebe82df4SShimrra Shai};
553ebe82df4SShimrra Shai
554ebe82df4SShimrra Shai&sata2 {
555ebe82df4SShimrra Shai	status = "okay";
556ebe82df4SShimrra Shai};
557ebe82df4SShimrra Shai
558ebe82df4SShimrra Shai/* uart/232/485 */
559ebe82df4SShimrra Shai&uart0 {
560ebe82df4SShimrra Shai	pinctrl-0 = <&uart0m2_xfer>;
561ebe82df4SShimrra Shai	status = "okay";
562ebe82df4SShimrra Shai};
563ebe82df4SShimrra Shai
564ebe82df4SShimrra Shai&uart1 {
565ebe82df4SShimrra Shai	pinctrl-0 = <&uart1m1_xfer>;
566ebe82df4SShimrra Shai	status = "okay";
567ebe82df4SShimrra Shai};
568ebe82df4SShimrra Shai
569ebe82df4SShimrra Shai/* usb enable */
570ebe82df4SShimrra Shai&u2phy0 {
571ebe82df4SShimrra Shai	status = "okay";
572ebe82df4SShimrra Shai};
573ebe82df4SShimrra Shai
574ebe82df4SShimrra Shai&u2phy0_otg {
575ebe82df4SShimrra Shai	status = "okay";
576ebe82df4SShimrra Shai};
577ebe82df4SShimrra Shai
578ebe82df4SShimrra Shai&u2phy1 {
579ebe82df4SShimrra Shai	status = "okay";
580ebe82df4SShimrra Shai};
581ebe82df4SShimrra Shai
582ebe82df4SShimrra Shai&u2phy1_otg {
583ebe82df4SShimrra Shai	phy-supply = <&vcc5v0_host>;
584ebe82df4SShimrra Shai	status = "okay";
585ebe82df4SShimrra Shai};
586ebe82df4SShimrra Shai
587ebe82df4SShimrra Shai&u2phy2 {
588ebe82df4SShimrra Shai	status = "okay";
589ebe82df4SShimrra Shai};
590ebe82df4SShimrra Shai
591ebe82df4SShimrra Shai&u2phy2_host {
592ebe82df4SShimrra Shai	phy-supply = <&vcc5v0_host>;
593ebe82df4SShimrra Shai	status = "okay";
594ebe82df4SShimrra Shai};
595ebe82df4SShimrra Shai
596ebe82df4SShimrra Shai&u2phy3 {
597ebe82df4SShimrra Shai	status = "okay";
598ebe82df4SShimrra Shai};
599ebe82df4SShimrra Shai
600ebe82df4SShimrra Shai&u2phy3_host {
601ebe82df4SShimrra Shai	phy-supply = <&vcc5v0_host>;
602ebe82df4SShimrra Shai	status = "okay";
603ebe82df4SShimrra Shai};
604ebe82df4SShimrra Shai
605ebe82df4SShimrra Shai&usb_host0_ehci {
606ebe82df4SShimrra Shai	status = "okay";
607ebe82df4SShimrra Shai};
608ebe82df4SShimrra Shai
609ebe82df4SShimrra Shai&usb_host0_ohci {
610ebe82df4SShimrra Shai	status = "okay";
611ebe82df4SShimrra Shai};
612ebe82df4SShimrra Shai
613ebe82df4SShimrra Shai&usb_host1_ehci {
614ebe82df4SShimrra Shai	status = "okay";
615ebe82df4SShimrra Shai};
616ebe82df4SShimrra Shai
617ebe82df4SShimrra Shai&usb_host1_ohci {
618ebe82df4SShimrra Shai	status = "okay";
619ebe82df4SShimrra Shai};
620ebe82df4SShimrra Shai
621ebe82df4SShimrra Shai&usb_host0_xhci {
622ebe82df4SShimrra Shai	usb-role-switch;
623ebe82df4SShimrra Shai	dr_mode = "otg";
624ebe82df4SShimrra Shai	status = "okay";
625ebe82df4SShimrra Shai
626ebe82df4SShimrra Shai	port {
627ebe82df4SShimrra Shai		#address-cells = <1>;
628ebe82df4SShimrra Shai		#size-cells = <0>;
629ebe82df4SShimrra Shai
630ebe82df4SShimrra Shai		dwc3_0_role_switch: endpoint@0 {
631ebe82df4SShimrra Shai			reg = <0>;
632ebe82df4SShimrra Shai			remote-endpoint = <&usbc0_role_sw>;
633ebe82df4SShimrra Shai		};
634ebe82df4SShimrra Shai	};
635ebe82df4SShimrra Shai};
636ebe82df4SShimrra Shai
637ebe82df4SShimrra Shai&usb_host1_xhci {
638ebe82df4SShimrra Shai	dr_mode = "host";
639ebe82df4SShimrra Shai	status = "okay";
640ebe82df4SShimrra Shai};
641ebe82df4SShimrra Shai
642ebe82df4SShimrra Shai&usb_host2_xhci {
643ebe82df4SShimrra Shai	status = "okay";
644ebe82df4SShimrra Shai};
645ebe82df4SShimrra Shai
646ebe82df4SShimrra Shai&usbdp_phy0 {
647ebe82df4SShimrra Shai	orientation-switch;
648ebe82df4SShimrra Shai	sbu1-dc-gpios = <&gpio4 RK_PA6 GPIO_ACTIVE_HIGH>;
649ebe82df4SShimrra Shai	sbu2-dc-gpios = <&gpio4 RK_PA7 GPIO_ACTIVE_HIGH>;
650ebe82df4SShimrra Shai	status = "okay";
651ebe82df4SShimrra Shai
652ebe82df4SShimrra Shai	port {
653ebe82df4SShimrra Shai		#address-cells = <1>;
654ebe82df4SShimrra Shai		#size-cells = <0>;
655ebe82df4SShimrra Shai
656ebe82df4SShimrra Shai		usbdp_phy0_orientation_switch: endpoint@0 {
657ebe82df4SShimrra Shai			reg = <0>;
658ebe82df4SShimrra Shai			remote-endpoint = <&usbc0_orien_sw>;
659ebe82df4SShimrra Shai		};
660ebe82df4SShimrra Shai
661ebe82df4SShimrra Shai		usbdp_phy0_dp_altmode_mux: endpoint@1 {
662ebe82df4SShimrra Shai			reg = <1>;
663ebe82df4SShimrra Shai			remote-endpoint = <&dp_altmode_mux>;
664ebe82df4SShimrra Shai		};
665ebe82df4SShimrra Shai	};
666ebe82df4SShimrra Shai};
667ebe82df4SShimrra Shai
668ebe82df4SShimrra Shai&usbdp_phy1 {
669ebe82df4SShimrra Shai	rockchip,dp-lane-mux = <2 3>;
670ebe82df4SShimrra Shai	status = "okay";
671ebe82df4SShimrra Shai};
672ebe82df4SShimrra Shai
673ebe82df4SShimrra Shai&vcc_1v8_s0 {
674ebe82df4SShimrra Shai	regulator-state-mem {
675ebe82df4SShimrra Shai		regulator-on-in-suspend;
676ebe82df4SShimrra Shai		regulator-suspend-microvolt = <1800000>;
677ebe82df4SShimrra Shai	};
678ebe82df4SShimrra Shai};
679ebe82df4SShimrra Shai
680ebe82df4SShimrra Shai/* for fan when deep sleep */
681ebe82df4SShimrra Shai&vdd_log_s0 {
682ebe82df4SShimrra Shai	regulator-state-mem {
683ebe82df4SShimrra Shai		regulator-on-in-suspend;
684ebe82df4SShimrra Shai		regulator-suspend-microvolt = <750000>;
685ebe82df4SShimrra Shai	};
686ebe82df4SShimrra Shai};
687ebe82df4SShimrra Shai
688ebe82df4SShimrra Shai/* display generator */
689ebe82df4SShimrra Shai&vop_mmu {
690ebe82df4SShimrra Shai	status = "okay";
691ebe82df4SShimrra Shai};
692ebe82df4SShimrra Shai
693ebe82df4SShimrra Shai&vop {
694ebe82df4SShimrra Shai	status = "okay";
695ebe82df4SShimrra Shai};
696ebe82df4SShimrra Shai
697ebe82df4SShimrra Shai&vp0 {
698ebe82df4SShimrra Shai	vp0_out_hdmi0: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
699ebe82df4SShimrra Shai		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
700ebe82df4SShimrra Shai		remote-endpoint = <&hdmi0_in_vp0>;
701ebe82df4SShimrra Shai	};
702ebe82df4SShimrra Shai};
703