xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3566-pinetab2.dtsi (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*01950c46SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*01950c46SEmmanuel Vadot
3*01950c46SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
4*01950c46SEmmanuel Vadot#include <dt-bindings/input/gpio-keys.h>
5*01950c46SEmmanuel Vadot#include <dt-bindings/input/input.h>
6*01950c46SEmmanuel Vadot#include <dt-bindings/leds/common.h>
7*01950c46SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
8*01950c46SEmmanuel Vadot#include <dt-bindings/soc/rockchip,vop2.h>
9*01950c46SEmmanuel Vadot#include <dt-bindings/usb/pd.h>
10*01950c46SEmmanuel Vadot#include "rk3566.dtsi"
11*01950c46SEmmanuel Vadot
12*01950c46SEmmanuel Vadot/ {
13*01950c46SEmmanuel Vadot	chassis-type = "tablet";
14*01950c46SEmmanuel Vadot
15*01950c46SEmmanuel Vadot	aliases {
16*01950c46SEmmanuel Vadot		mmc0 = &sdhci;
17*01950c46SEmmanuel Vadot		mmc1 = &sdmmc0;
18*01950c46SEmmanuel Vadot	};
19*01950c46SEmmanuel Vadot
20*01950c46SEmmanuel Vadot	chosen {
21*01950c46SEmmanuel Vadot		stdout-path = "serial2:1500000n8";
22*01950c46SEmmanuel Vadot	};
23*01950c46SEmmanuel Vadot
24*01950c46SEmmanuel Vadot	adc-keys {
25*01950c46SEmmanuel Vadot		compatible = "adc-keys";
26*01950c46SEmmanuel Vadot		io-channels = <&saradc 0>;
27*01950c46SEmmanuel Vadot		io-channel-names = "buttons";
28*01950c46SEmmanuel Vadot		keyup-threshold-microvolt = <1800000>;
29*01950c46SEmmanuel Vadot		poll-interval = <25>;
30*01950c46SEmmanuel Vadot
31*01950c46SEmmanuel Vadot		button-vol-up {
32*01950c46SEmmanuel Vadot			label = "Volume Up";
33*01950c46SEmmanuel Vadot			linux,code = <KEY_VOLUMEUP>;
34*01950c46SEmmanuel Vadot			press-threshold-microvolt = <297500>;
35*01950c46SEmmanuel Vadot		};
36*01950c46SEmmanuel Vadot
37*01950c46SEmmanuel Vadot		button-vol-down {
38*01950c46SEmmanuel Vadot			label = "Volume Down";
39*01950c46SEmmanuel Vadot			linux,code = <KEY_VOLUMEDOWN>;
40*01950c46SEmmanuel Vadot			press-threshold-microvolt = <1750>;
41*01950c46SEmmanuel Vadot		};
42*01950c46SEmmanuel Vadot	};
43*01950c46SEmmanuel Vadot
44*01950c46SEmmanuel Vadot	backlight: backlight {
45*01950c46SEmmanuel Vadot		compatible = "pwm-backlight";
46*01950c46SEmmanuel Vadot		pwms = <&pwm4 0 25000 0>;
47*01950c46SEmmanuel Vadot		brightness-levels = <20 220>;
48*01950c46SEmmanuel Vadot		num-interpolated-steps = <200>;
49*01950c46SEmmanuel Vadot		default-brightness-level = <100>;
50*01950c46SEmmanuel Vadot		power-supply = <&vcc_sys>;
51*01950c46SEmmanuel Vadot	};
52*01950c46SEmmanuel Vadot
53*01950c46SEmmanuel Vadot	battery: battery {
54*01950c46SEmmanuel Vadot		compatible = "simple-battery";
55*01950c46SEmmanuel Vadot		charge-full-design-microamp-hours = <6000000>;
56*01950c46SEmmanuel Vadot		charge-term-current-microamp = <300000>;
57*01950c46SEmmanuel Vadot		constant-charge-current-max-microamp = <2000000>;
58*01950c46SEmmanuel Vadot		constant-charge-voltage-max-microvolt = <4300000>;
59*01950c46SEmmanuel Vadot		voltage-max-design-microvolt = <4350000>;
60*01950c46SEmmanuel Vadot		voltage-min-design-microvolt = <3400000>;
61*01950c46SEmmanuel Vadot
62*01950c46SEmmanuel Vadot		ocv-capacity-celsius = <20>;
63*01950c46SEmmanuel Vadot		ocv-capacity-table-0 = <4322000 100>, <4250000 95>, <4192000 90>, <4136000 85>,
64*01950c46SEmmanuel Vadot				       <4080000 80>, <4022000 75>, <3972000 70>, <3928000 65>,
65*01950c46SEmmanuel Vadot				       <3885000 60>, <3833000 55>, <3798000 50>, <3780000 45>,
66*01950c46SEmmanuel Vadot				       <3776000 40>, <3773000 35>, <3755000 30>, <3706000 25>,
67*01950c46SEmmanuel Vadot				       <3640000 20>, <3589000 15>, <3535000 10>, <3492000 5>,
68*01950c46SEmmanuel Vadot				       <3400000 0>;
69*01950c46SEmmanuel Vadot	};
70*01950c46SEmmanuel Vadot
71*01950c46SEmmanuel Vadot	gpio_keys: gpio-keys {
72*01950c46SEmmanuel Vadot		compatible = "gpio-keys";
73*01950c46SEmmanuel Vadot		pinctrl-names = "default";
74*01950c46SEmmanuel Vadot		pinctrl-0 = <&kb_id_det>;
75*01950c46SEmmanuel Vadot
76*01950c46SEmmanuel Vadot		tablet-mode-switch {
77*01950c46SEmmanuel Vadot			debounce-interval = <20>;
78*01950c46SEmmanuel Vadot			gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_HIGH>;
79*01950c46SEmmanuel Vadot			label = "Tablet Mode";
80*01950c46SEmmanuel Vadot			linux,input-type = <EV_SW>;
81*01950c46SEmmanuel Vadot			linux,code = <SW_TABLET_MODE>;
82*01950c46SEmmanuel Vadot		};
83*01950c46SEmmanuel Vadot	};
84*01950c46SEmmanuel Vadot
85*01950c46SEmmanuel Vadot	hdmi-connector {
86*01950c46SEmmanuel Vadot		compatible = "hdmi-connector";
87*01950c46SEmmanuel Vadot		type = "d";
88*01950c46SEmmanuel Vadot
89*01950c46SEmmanuel Vadot		port {
90*01950c46SEmmanuel Vadot			hdmi_con_in: endpoint {
91*01950c46SEmmanuel Vadot				remote-endpoint = <&hdmi_out_con>;
92*01950c46SEmmanuel Vadot			};
93*01950c46SEmmanuel Vadot		};
94*01950c46SEmmanuel Vadot	};
95*01950c46SEmmanuel Vadot
96*01950c46SEmmanuel Vadot	led-0 {
97*01950c46SEmmanuel Vadot		compatible = "regulator-led";
98*01950c46SEmmanuel Vadot		vled-supply = <&vcc5v0_flashled>;
99*01950c46SEmmanuel Vadot		color = <LED_COLOR_ID_WHITE>;
100*01950c46SEmmanuel Vadot		function = LED_FUNCTION_FLASH;
101*01950c46SEmmanuel Vadot	};
102*01950c46SEmmanuel Vadot
103*01950c46SEmmanuel Vadot	rk817-sound {
104*01950c46SEmmanuel Vadot		compatible = "simple-audio-card";
105*01950c46SEmmanuel Vadot		pinctrl-names = "default";
106*01950c46SEmmanuel Vadot		pinctrl-0 = <&hp_det_l>;
107*01950c46SEmmanuel Vadot		simple-audio-card,format = "i2s";
108*01950c46SEmmanuel Vadot		simple-audio-card,name = "rk817_ext";
109*01950c46SEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
110*01950c46SEmmanuel Vadot
111*01950c46SEmmanuel Vadot		simple-audio-card,widgets =
112*01950c46SEmmanuel Vadot			"Microphone", "Mic Jack",
113*01950c46SEmmanuel Vadot			"Headphone", "Headphones",
114*01950c46SEmmanuel Vadot			"Speaker", "Internal Speakers";
115*01950c46SEmmanuel Vadot
116*01950c46SEmmanuel Vadot		simple-audio-card,routing =
117*01950c46SEmmanuel Vadot			"MICR", "Mic Jack",
118*01950c46SEmmanuel Vadot			"Headphones", "HPOL",
119*01950c46SEmmanuel Vadot			"Headphones", "HPOR",
120*01950c46SEmmanuel Vadot			"Internal Speakers", "Speaker Amplifier OUTL",
121*01950c46SEmmanuel Vadot			"Internal Speakers", "Speaker Amplifier OUTR",
122*01950c46SEmmanuel Vadot			"Speaker Amplifier INL", "HPOL",
123*01950c46SEmmanuel Vadot			"Speaker Amplifier INR", "HPOR";
124*01950c46SEmmanuel Vadot		simple-audio-card,hp-det-gpio = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
125*01950c46SEmmanuel Vadot		simple-audio-card,aux-devs = <&speaker_amp>;
126*01950c46SEmmanuel Vadot		simple-audio-card,pin-switches = "Internal Speakers";
127*01950c46SEmmanuel Vadot
128*01950c46SEmmanuel Vadot		simple-audio-card,cpu {
129*01950c46SEmmanuel Vadot			sound-dai = <&i2s1_8ch>;
130*01950c46SEmmanuel Vadot		};
131*01950c46SEmmanuel Vadot
132*01950c46SEmmanuel Vadot		simple-audio-card,codec {
133*01950c46SEmmanuel Vadot			sound-dai = <&rk817>;
134*01950c46SEmmanuel Vadot		};
135*01950c46SEmmanuel Vadot	};
136*01950c46SEmmanuel Vadot
137*01950c46SEmmanuel Vadot	speaker_amp: speaker-amplifier {
138*01950c46SEmmanuel Vadot		compatible = "simple-audio-amplifier";
139*01950c46SEmmanuel Vadot		pinctrl-names = "default";
140*01950c46SEmmanuel Vadot		pinctrl-0 = <&spk_ctl>;
141*01950c46SEmmanuel Vadot		enable-gpios = <&gpio4 RK_PC2 GPIO_ACTIVE_HIGH>;
142*01950c46SEmmanuel Vadot		sound-name-prefix = "Speaker Amplifier";
143*01950c46SEmmanuel Vadot		VCC-supply = <&vcc_bat>;
144*01950c46SEmmanuel Vadot	};
145*01950c46SEmmanuel Vadot
146*01950c46SEmmanuel Vadot	vcc_3v3: vcc-3v3-regulator {
147*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
148*01950c46SEmmanuel Vadot		regulator-name = "vcc_3v3";
149*01950c46SEmmanuel Vadot		regulator-always-on;
150*01950c46SEmmanuel Vadot		regulator-boot-on;
151*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
152*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
153*01950c46SEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
154*01950c46SEmmanuel Vadot	};
155*01950c46SEmmanuel Vadot
156*01950c46SEmmanuel Vadot	vcc3v3_minipcie: vcc3v3-minipcie-regulator {
157*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
158*01950c46SEmmanuel Vadot		enable-active-high;
159*01950c46SEmmanuel Vadot		gpio = <&gpio4 RK_PC3 GPIO_ACTIVE_HIGH>;
160*01950c46SEmmanuel Vadot		pinctrl-names = "default";
161*01950c46SEmmanuel Vadot		pinctrl-0 = <&pcie_pwren_h>;
162*01950c46SEmmanuel Vadot		regulator-name = "vcc3v3_minipcie";
163*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
164*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
165*01950c46SEmmanuel Vadot		vin-supply = <&vcc_sys>;
166*01950c46SEmmanuel Vadot	};
167*01950c46SEmmanuel Vadot
168*01950c46SEmmanuel Vadot	vcc3v3_sd: vcc3v3-sd-regulator {
169*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
170*01950c46SEmmanuel Vadot		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
171*01950c46SEmmanuel Vadot		pinctrl-names = "default";
172*01950c46SEmmanuel Vadot		pinctrl-0 = <&sdmmc_pwren_l>;
173*01950c46SEmmanuel Vadot		regulator-name = "vcc3v3_sd";
174*01950c46SEmmanuel Vadot		regulator-min-microvolt = <3300000>;
175*01950c46SEmmanuel Vadot		regulator-max-microvolt = <3300000>;
176*01950c46SEmmanuel Vadot		vin-supply = <&vcc3v3_sys>;
177*01950c46SEmmanuel Vadot	};
178*01950c46SEmmanuel Vadot
179*01950c46SEmmanuel Vadot	vcc5v0_flashled: vcc5v0-flashled-regulator {
180*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
181*01950c46SEmmanuel Vadot		enable-active-high;
182*01950c46SEmmanuel Vadot		gpio = <&gpio4 RK_PA5 GPIO_ACTIVE_HIGH>;
183*01950c46SEmmanuel Vadot		pinctrl-names = "default";
184*01950c46SEmmanuel Vadot		pinctrl-0 = <&flash_led_en_h>;
185*01950c46SEmmanuel Vadot		regulator-name = "vcc5v0_flashled";
186*01950c46SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
187*01950c46SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
188*01950c46SEmmanuel Vadot		vin-supply = <&vcc5v_midu>;
189*01950c46SEmmanuel Vadot	};
190*01950c46SEmmanuel Vadot
191*01950c46SEmmanuel Vadot	vcc5v0_usb_host0: vcc5v0-usb-host0-regulator {
192*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
193*01950c46SEmmanuel Vadot		enable-active-high;
194*01950c46SEmmanuel Vadot		gpio = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
195*01950c46SEmmanuel Vadot		pinctrl-names = "default";
196*01950c46SEmmanuel Vadot		pinctrl-0 = <&usb_host_pwren1_h>;
197*01950c46SEmmanuel Vadot		regulator-name = "vcc5v0_usb_host0";
198*01950c46SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
199*01950c46SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
200*01950c46SEmmanuel Vadot		vin-supply = <&vcc5v_midu>;
201*01950c46SEmmanuel Vadot	};
202*01950c46SEmmanuel Vadot
203*01950c46SEmmanuel Vadot	vcc5v0_usb_host2: vcc5v0-usb-host2-regulator {
204*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
205*01950c46SEmmanuel Vadot		enable-active-high;
206*01950c46SEmmanuel Vadot		gpio = <&gpio4 RK_PC5 GPIO_ACTIVE_HIGH>;
207*01950c46SEmmanuel Vadot		pinctrl-names = "default";
208*01950c46SEmmanuel Vadot		pinctrl-0 = <&usb_host_pwren2_h>;
209*01950c46SEmmanuel Vadot		regulator-name = "vcc5v0_usb_host2";
210*01950c46SEmmanuel Vadot		regulator-min-microvolt = <5000000>;
211*01950c46SEmmanuel Vadot		regulator-max-microvolt = <5000000>;
212*01950c46SEmmanuel Vadot		vin-supply = <&vcc5v_midu>;
213*01950c46SEmmanuel Vadot	};
214*01950c46SEmmanuel Vadot
215*01950c46SEmmanuel Vadot	vcc_bat: vcc-bat-regulator {
216*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
217*01950c46SEmmanuel Vadot		regulator-name = "vcc_bat";
218*01950c46SEmmanuel Vadot		regulator-always-on;
219*01950c46SEmmanuel Vadot		regulator-boot-on;
220*01950c46SEmmanuel Vadot	};
221*01950c46SEmmanuel Vadot
222*01950c46SEmmanuel Vadot	vcc_sys: vcc-sys-regulator {
223*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
224*01950c46SEmmanuel Vadot		regulator-name = "vcc_sys";
225*01950c46SEmmanuel Vadot		regulator-always-on;
226*01950c46SEmmanuel Vadot		regulator-boot-on;
227*01950c46SEmmanuel Vadot		vin-supply = <&vcc_bat>;
228*01950c46SEmmanuel Vadot	};
229*01950c46SEmmanuel Vadot
230*01950c46SEmmanuel Vadot	vdd1v2_dvp: vdd1v2-dvp-regulator {
231*01950c46SEmmanuel Vadot		compatible = "regulator-fixed";
232*01950c46SEmmanuel Vadot		regulator-name = "vdd1v2_dvp";
233*01950c46SEmmanuel Vadot		regulator-min-microvolt = <1200000>;
234*01950c46SEmmanuel Vadot		regulator-max-microvolt = <1200000>;
235*01950c46SEmmanuel Vadot		vin-supply = <&vcc_3v3>;
236*01950c46SEmmanuel Vadot	};
237*01950c46SEmmanuel Vadot};
238*01950c46SEmmanuel Vadot
239*01950c46SEmmanuel Vadot&combphy1 {
240*01950c46SEmmanuel Vadot	status = "okay";
241*01950c46SEmmanuel Vadot};
242*01950c46SEmmanuel Vadot
243*01950c46SEmmanuel Vadot&combphy2 {
244*01950c46SEmmanuel Vadot	status = "okay";
245*01950c46SEmmanuel Vadot};
246*01950c46SEmmanuel Vadot
247*01950c46SEmmanuel Vadot&cpu0 {
248*01950c46SEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
249*01950c46SEmmanuel Vadot};
250*01950c46SEmmanuel Vadot
251*01950c46SEmmanuel Vadot&cpu1 {
252*01950c46SEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
253*01950c46SEmmanuel Vadot};
254*01950c46SEmmanuel Vadot
255*01950c46SEmmanuel Vadot&cpu2 {
256*01950c46SEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
257*01950c46SEmmanuel Vadot};
258*01950c46SEmmanuel Vadot
259*01950c46SEmmanuel Vadot&cpu3 {
260*01950c46SEmmanuel Vadot	cpu-supply = <&vdd_cpu>;
261*01950c46SEmmanuel Vadot};
262*01950c46SEmmanuel Vadot
263*01950c46SEmmanuel Vadot&cru {
264*01950c46SEmmanuel Vadot	assigned-clocks = <&pmucru CLK_RTC_32K>, <&cru PLL_GPLL>,
265*01950c46SEmmanuel Vadot			  <&pmucru PLL_PPLL>, <&cru PLL_VPLL>;
266*01950c46SEmmanuel Vadot	assigned-clock-rates = <32768>, <1200000000>, <200000000>, <500000000>;
267*01950c46SEmmanuel Vadot	assigned-clock-parents = <&pmucru CLK_RTC32K_FRAC>;
268*01950c46SEmmanuel Vadot};
269*01950c46SEmmanuel Vadot
270*01950c46SEmmanuel Vadot&csi_dphy {
271*01950c46SEmmanuel Vadot	status = "okay";
272*01950c46SEmmanuel Vadot};
273*01950c46SEmmanuel Vadot
274*01950c46SEmmanuel Vadot&dsi0 {
275*01950c46SEmmanuel Vadot	status = "okay";
276*01950c46SEmmanuel Vadot	clock-master;
277*01950c46SEmmanuel Vadot	#address-cells = <1>;
278*01950c46SEmmanuel Vadot	#size-cells = <0>;
279*01950c46SEmmanuel Vadot
280*01950c46SEmmanuel Vadot	lcd: panel@0 {
281*01950c46SEmmanuel Vadot		compatible = "boe,th101mb31ig002-28a";
282*01950c46SEmmanuel Vadot		reg = <0>;
283*01950c46SEmmanuel Vadot		backlight = <&backlight>;
284*01950c46SEmmanuel Vadot		enable-gpios = <&gpio0 RK_PC7 GPIO_ACTIVE_HIGH>;
285*01950c46SEmmanuel Vadot		rotation = <90>;
286*01950c46SEmmanuel Vadot		power-supply = <&vcc_3v3>;
287*01950c46SEmmanuel Vadot
288*01950c46SEmmanuel Vadot		port@0 {
289*01950c46SEmmanuel Vadot			panel_in_dsi: endpoint@0 {
290*01950c46SEmmanuel Vadot				remote-endpoint = <&dsi0_out_con>;
291*01950c46SEmmanuel Vadot			};
292*01950c46SEmmanuel Vadot		};
293*01950c46SEmmanuel Vadot	};
294*01950c46SEmmanuel Vadot};
295*01950c46SEmmanuel Vadot
296*01950c46SEmmanuel Vadot&dsi0_in {
297*01950c46SEmmanuel Vadot	dsi0_in_vp1: endpoint {
298*01950c46SEmmanuel Vadot		remote-endpoint = <&vp1_out_dsi0>;
299*01950c46SEmmanuel Vadot	};
300*01950c46SEmmanuel Vadot};
301*01950c46SEmmanuel Vadot
302*01950c46SEmmanuel Vadot&dsi0_out {
303*01950c46SEmmanuel Vadot	dsi0_out_con: endpoint {
304*01950c46SEmmanuel Vadot		remote-endpoint = <&panel_in_dsi>;
305*01950c46SEmmanuel Vadot	};
306*01950c46SEmmanuel Vadot};
307*01950c46SEmmanuel Vadot
308*01950c46SEmmanuel Vadot&dsi_dphy0 {
309*01950c46SEmmanuel Vadot	status = "okay";
310*01950c46SEmmanuel Vadot};
311*01950c46SEmmanuel Vadot
312*01950c46SEmmanuel Vadot&gpu {
313*01950c46SEmmanuel Vadot	mali-supply = <&vdd_gpu_npu>;
314*01950c46SEmmanuel Vadot	status = "okay";
315*01950c46SEmmanuel Vadot};
316*01950c46SEmmanuel Vadot
317*01950c46SEmmanuel Vadot&hdmi {
318*01950c46SEmmanuel Vadot	avdd-0v9-supply = <&vdda_0v9_p>;
319*01950c46SEmmanuel Vadot	avdd-1v8-supply = <&vcc_1v8>;
320*01950c46SEmmanuel Vadot	status = "okay";
321*01950c46SEmmanuel Vadot};
322*01950c46SEmmanuel Vadot
323*01950c46SEmmanuel Vadot&hdmi_in {
324*01950c46SEmmanuel Vadot	hdmi_in_vp0: endpoint {
325*01950c46SEmmanuel Vadot		remote-endpoint = <&vp0_out_hdmi>;
326*01950c46SEmmanuel Vadot	};
327*01950c46SEmmanuel Vadot};
328*01950c46SEmmanuel Vadot
329*01950c46SEmmanuel Vadot&hdmi_out {
330*01950c46SEmmanuel Vadot	hdmi_out_con: endpoint {
331*01950c46SEmmanuel Vadot		remote-endpoint = <&hdmi_con_in>;
332*01950c46SEmmanuel Vadot	};
333*01950c46SEmmanuel Vadot};
334*01950c46SEmmanuel Vadot
335*01950c46SEmmanuel Vadot&hdmi_sound {
336*01950c46SEmmanuel Vadot	status = "okay";
337*01950c46SEmmanuel Vadot};
338*01950c46SEmmanuel Vadot
339*01950c46SEmmanuel Vadot&i2c0 {
340*01950c46SEmmanuel Vadot	clock-frequency = <400000>;
341*01950c46SEmmanuel Vadot	status = "okay";
342*01950c46SEmmanuel Vadot
343*01950c46SEmmanuel Vadot	vdd_cpu: regulator@1c {
344*01950c46SEmmanuel Vadot		compatible = "tcs,tcs4525";
345*01950c46SEmmanuel Vadot		reg = <0x1c>;
346*01950c46SEmmanuel Vadot		fcs,suspend-voltage-selector = <1>;
347*01950c46SEmmanuel Vadot		regulator-name = "vdd_cpu";
348*01950c46SEmmanuel Vadot		regulator-min-microvolt = <800000>;
349*01950c46SEmmanuel Vadot		regulator-max-microvolt = <1150000>;
350*01950c46SEmmanuel Vadot		regulator-ramp-delay = <2300>;
351*01950c46SEmmanuel Vadot		regulator-always-on;
352*01950c46SEmmanuel Vadot		regulator-boot-on;
353*01950c46SEmmanuel Vadot		vin-supply = <&vcc_sys>;
354*01950c46SEmmanuel Vadot
355*01950c46SEmmanuel Vadot		regulator-state-mem {
356*01950c46SEmmanuel Vadot			regulator-off-in-suspend;
357*01950c46SEmmanuel Vadot		};
358*01950c46SEmmanuel Vadot	};
359*01950c46SEmmanuel Vadot
360*01950c46SEmmanuel Vadot	rk817: pmic@20 {
361*01950c46SEmmanuel Vadot		compatible = "rockchip,rk817";
362*01950c46SEmmanuel Vadot		reg = <0x20>;
363*01950c46SEmmanuel Vadot		interrupt-parent = <&gpio0>;
364*01950c46SEmmanuel Vadot		interrupts = <RK_PA3 IRQ_TYPE_LEVEL_LOW>;
365*01950c46SEmmanuel Vadot		assigned-clocks = <&cru I2S1_MCLKOUT_TX>;
366*01950c46SEmmanuel Vadot		assigned-clock-parents = <&cru CLK_I2S1_8CH_TX>;
367*01950c46SEmmanuel Vadot		clock-names = "mclk";
368*01950c46SEmmanuel Vadot		clocks = <&cru I2S1_MCLKOUT_TX>;
369*01950c46SEmmanuel Vadot		clock-output-names = "rk808-clkout1", "rk808-clkout2";
370*01950c46SEmmanuel Vadot		#clock-cells = <1>;
371*01950c46SEmmanuel Vadot		pinctrl-names = "default";
372*01950c46SEmmanuel Vadot		pinctrl-0 = <&pmic_int_l>, <&i2s1m0_mclk>;
373*01950c46SEmmanuel Vadot		rockchip,system-power-controller;
374*01950c46SEmmanuel Vadot		#sound-dai-cells = <0>;
375*01950c46SEmmanuel Vadot		wakeup-source;
376*01950c46SEmmanuel Vadot
377*01950c46SEmmanuel Vadot		vcc1-supply = <&vcc_sys>;
378*01950c46SEmmanuel Vadot		vcc2-supply = <&vcc_sys>;
379*01950c46SEmmanuel Vadot		vcc3-supply = <&vcc_sys>;
380*01950c46SEmmanuel Vadot		vcc4-supply = <&vcc_sys>;
381*01950c46SEmmanuel Vadot		vcc5-supply = <&vcc_sys>;
382*01950c46SEmmanuel Vadot		vcc6-supply = <&vcc_sys>;
383*01950c46SEmmanuel Vadot		vcc7-supply = <&vcc_sys>;
384*01950c46SEmmanuel Vadot		vcc8-supply = <&vcc_sys>;
385*01950c46SEmmanuel Vadot		vcc9-supply = <&vcc5v_midu>;
386*01950c46SEmmanuel Vadot
387*01950c46SEmmanuel Vadot		regulators {
388*01950c46SEmmanuel Vadot			vdd_logic: DCDC_REG1 {
389*01950c46SEmmanuel Vadot				regulator-always-on;
390*01950c46SEmmanuel Vadot				regulator-boot-on;
391*01950c46SEmmanuel Vadot				regulator-min-microvolt = <500000>;
392*01950c46SEmmanuel Vadot				regulator-max-microvolt = <1350000>;
393*01950c46SEmmanuel Vadot				regulator-ramp-delay = <6001>;
394*01950c46SEmmanuel Vadot				regulator-initial-mode = <0x2>;
395*01950c46SEmmanuel Vadot				regulator-name = "vdd_logic";
396*01950c46SEmmanuel Vadot				regulator-state-mem {
397*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
398*01950c46SEmmanuel Vadot				};
399*01950c46SEmmanuel Vadot			};
400*01950c46SEmmanuel Vadot
401*01950c46SEmmanuel Vadot			vdd_gpu_npu: DCDC_REG2 {
402*01950c46SEmmanuel Vadot				regulator-min-microvolt = <500000>;
403*01950c46SEmmanuel Vadot				regulator-max-microvolt = <1350000>;
404*01950c46SEmmanuel Vadot				regulator-ramp-delay = <6001>;
405*01950c46SEmmanuel Vadot				regulator-initial-mode = <0x2>;
406*01950c46SEmmanuel Vadot				regulator-name = "vdd_gpu_npu";
407*01950c46SEmmanuel Vadot				regulator-state-mem {
408*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
409*01950c46SEmmanuel Vadot				};
410*01950c46SEmmanuel Vadot			};
411*01950c46SEmmanuel Vadot
412*01950c46SEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
413*01950c46SEmmanuel Vadot				regulator-always-on;
414*01950c46SEmmanuel Vadot				regulator-boot-on;
415*01950c46SEmmanuel Vadot				regulator-initial-mode = <0x2>;
416*01950c46SEmmanuel Vadot				regulator-name = "vcc_ddr";
417*01950c46SEmmanuel Vadot				regulator-state-mem {
418*01950c46SEmmanuel Vadot					regulator-on-in-suspend;
419*01950c46SEmmanuel Vadot				};
420*01950c46SEmmanuel Vadot			};
421*01950c46SEmmanuel Vadot
422*01950c46SEmmanuel Vadot			vcc3v3_sys: DCDC_REG4 {
423*01950c46SEmmanuel Vadot				regulator-always-on;
424*01950c46SEmmanuel Vadot				regulator-boot-on;
425*01950c46SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
426*01950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
427*01950c46SEmmanuel Vadot				regulator-initial-mode = <0x2>;
428*01950c46SEmmanuel Vadot				regulator-name = "vcc3v3_sys";
429*01950c46SEmmanuel Vadot				regulator-state-mem {
430*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
431*01950c46SEmmanuel Vadot				};
432*01950c46SEmmanuel Vadot			};
433*01950c46SEmmanuel Vadot
434*01950c46SEmmanuel Vadot			vcca1v8_pmu: LDO_REG1 {
435*01950c46SEmmanuel Vadot				regulator-always-on;
436*01950c46SEmmanuel Vadot				regulator-boot-on;
437*01950c46SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
438*01950c46SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
439*01950c46SEmmanuel Vadot				regulator-name = "vcca1v8_pmu";
440*01950c46SEmmanuel Vadot				regulator-state-mem {
441*01950c46SEmmanuel Vadot					regulator-on-in-suspend;
442*01950c46SEmmanuel Vadot				};
443*01950c46SEmmanuel Vadot			};
444*01950c46SEmmanuel Vadot
445*01950c46SEmmanuel Vadot			vdda_0v9_p: LDO_REG2 {
446*01950c46SEmmanuel Vadot				regulator-always-on;
447*01950c46SEmmanuel Vadot				regulator-boot-on;
448*01950c46SEmmanuel Vadot				regulator-min-microvolt = <900000>;
449*01950c46SEmmanuel Vadot				regulator-max-microvolt = <900000>;
450*01950c46SEmmanuel Vadot				regulator-name = "vdda_0v9_p";
451*01950c46SEmmanuel Vadot				regulator-state-mem {
452*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
453*01950c46SEmmanuel Vadot				};
454*01950c46SEmmanuel Vadot			};
455*01950c46SEmmanuel Vadot
456*01950c46SEmmanuel Vadot			vdda0v9_pmu: LDO_REG3 {
457*01950c46SEmmanuel Vadot				regulator-always-on;
458*01950c46SEmmanuel Vadot				regulator-boot-on;
459*01950c46SEmmanuel Vadot				regulator-min-microvolt = <900000>;
460*01950c46SEmmanuel Vadot				regulator-max-microvolt = <900000>;
461*01950c46SEmmanuel Vadot				regulator-name = "vdda0v9_pmu";
462*01950c46SEmmanuel Vadot				regulator-state-mem {
463*01950c46SEmmanuel Vadot					regulator-on-in-suspend;
464*01950c46SEmmanuel Vadot				};
465*01950c46SEmmanuel Vadot			};
466*01950c46SEmmanuel Vadot
467*01950c46SEmmanuel Vadot			vccio_acodec: LDO_REG4 {
468*01950c46SEmmanuel Vadot				regulator-always-on;
469*01950c46SEmmanuel Vadot				regulator-boot-on;
470*01950c46SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
471*01950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
472*01950c46SEmmanuel Vadot				regulator-name = "vccio_acodec";
473*01950c46SEmmanuel Vadot				regulator-state-mem {
474*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
475*01950c46SEmmanuel Vadot				};
476*01950c46SEmmanuel Vadot			};
477*01950c46SEmmanuel Vadot
478*01950c46SEmmanuel Vadot			vccio_sd: LDO_REG5 {
479*01950c46SEmmanuel Vadot				regulator-always-on;
480*01950c46SEmmanuel Vadot				regulator-boot-on;
481*01950c46SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
482*01950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
483*01950c46SEmmanuel Vadot				regulator-name = "vccio_sd";
484*01950c46SEmmanuel Vadot				regulator-state-mem {
485*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
486*01950c46SEmmanuel Vadot				};
487*01950c46SEmmanuel Vadot			};
488*01950c46SEmmanuel Vadot
489*01950c46SEmmanuel Vadot			vcc3v3_pmu: LDO_REG6 {
490*01950c46SEmmanuel Vadot				regulator-always-on;
491*01950c46SEmmanuel Vadot				regulator-boot-on;
492*01950c46SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
493*01950c46SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
494*01950c46SEmmanuel Vadot				regulator-name = "vcc3v3_pmu";
495*01950c46SEmmanuel Vadot				regulator-state-mem {
496*01950c46SEmmanuel Vadot					regulator-on-in-suspend;
497*01950c46SEmmanuel Vadot				};
498*01950c46SEmmanuel Vadot			};
499*01950c46SEmmanuel Vadot
500*01950c46SEmmanuel Vadot			vcc_1v8: LDO_REG7 {
501*01950c46SEmmanuel Vadot				regulator-always-on;
502*01950c46SEmmanuel Vadot				regulator-boot-on;
503*01950c46SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
504*01950c46SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
505*01950c46SEmmanuel Vadot				regulator-name = "vcc_1v8";
506*01950c46SEmmanuel Vadot				regulator-state-mem {
507*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
508*01950c46SEmmanuel Vadot				};
509*01950c46SEmmanuel Vadot			};
510*01950c46SEmmanuel Vadot
511*01950c46SEmmanuel Vadot			vcc1v8_dvp: LDO_REG8 {
512*01950c46SEmmanuel Vadot				regulator-always-on;
513*01950c46SEmmanuel Vadot				regulator-boot-on;
514*01950c46SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
515*01950c46SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
516*01950c46SEmmanuel Vadot				regulator-name = "vcc1v8_dvp";
517*01950c46SEmmanuel Vadot				regulator-state-mem {
518*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
519*01950c46SEmmanuel Vadot				};
520*01950c46SEmmanuel Vadot			};
521*01950c46SEmmanuel Vadot
522*01950c46SEmmanuel Vadot			vcc2v8_dvp: LDO_REG9 {
523*01950c46SEmmanuel Vadot				regulator-always-on;
524*01950c46SEmmanuel Vadot				regulator-boot-on;
525*01950c46SEmmanuel Vadot				regulator-min-microvolt = <2800000>;
526*01950c46SEmmanuel Vadot				regulator-max-microvolt = <2800000>;
527*01950c46SEmmanuel Vadot				regulator-name = "vcc2v8_dvp";
528*01950c46SEmmanuel Vadot				regulator-state-mem {
529*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
530*01950c46SEmmanuel Vadot				};
531*01950c46SEmmanuel Vadot			};
532*01950c46SEmmanuel Vadot
533*01950c46SEmmanuel Vadot			vcc5v_midu: BOOST {
534*01950c46SEmmanuel Vadot				regulator-always-on;
535*01950c46SEmmanuel Vadot				regulator-boot-on;
536*01950c46SEmmanuel Vadot				regulator-min-microvolt = <5000000>;
537*01950c46SEmmanuel Vadot				regulator-max-microvolt = <5000000>;
538*01950c46SEmmanuel Vadot				regulator-name = "boost";
539*01950c46SEmmanuel Vadot				regulator-state-mem {
540*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
541*01950c46SEmmanuel Vadot				};
542*01950c46SEmmanuel Vadot			};
543*01950c46SEmmanuel Vadot
544*01950c46SEmmanuel Vadot			vbus: OTG_SWITCH {
545*01950c46SEmmanuel Vadot				regulator-min-microvolt = <5000000>;
546*01950c46SEmmanuel Vadot				regulator-max-microvolt = <5000000>;
547*01950c46SEmmanuel Vadot				regulator-name = "otg_switch";
548*01950c46SEmmanuel Vadot				regulator-state-mem {
549*01950c46SEmmanuel Vadot					regulator-off-in-suspend;
550*01950c46SEmmanuel Vadot				};
551*01950c46SEmmanuel Vadot			};
552*01950c46SEmmanuel Vadot		};
553*01950c46SEmmanuel Vadot
554*01950c46SEmmanuel Vadot		charger {
555*01950c46SEmmanuel Vadot			monitored-battery = <&battery>;
556*01950c46SEmmanuel Vadot			rockchip,resistor-sense-micro-ohms = <10000>;
557*01950c46SEmmanuel Vadot			rockchip,sleep-enter-current-microamp = <300000>;
558*01950c46SEmmanuel Vadot			rockchip,sleep-filter-current-microamp = <100000>;
559*01950c46SEmmanuel Vadot		};
560*01950c46SEmmanuel Vadot	};
561*01950c46SEmmanuel Vadot};
562*01950c46SEmmanuel Vadot
563*01950c46SEmmanuel Vadot&i2c1 {
564*01950c46SEmmanuel Vadot	clock-frequency = <400000>;
565*01950c46SEmmanuel Vadot	status = "okay";
566*01950c46SEmmanuel Vadot
567*01950c46SEmmanuel Vadot	touchscreen@5d {
568*01950c46SEmmanuel Vadot		compatible = "goodix,gt911";
569*01950c46SEmmanuel Vadot		reg = <0x5d>;
570*01950c46SEmmanuel Vadot		interrupt-parent = <&gpio0>;
571*01950c46SEmmanuel Vadot		interrupts = <RK_PB0 IRQ_TYPE_EDGE_FALLING>;
572*01950c46SEmmanuel Vadot		pinctrl-names = "default";
573*01950c46SEmmanuel Vadot		pinctrl-0 = <&tp_int_l_pmuio2>, <&tp_rst_l_pmuio2>;
574*01950c46SEmmanuel Vadot		AVDD28-supply = <&vcc3v3_pmu>;
575*01950c46SEmmanuel Vadot		VDDIO-supply = <&vcca1v8_pmu>;
576*01950c46SEmmanuel Vadot		irq-gpios = <&gpio0 RK_PB0 GPIO_ACTIVE_HIGH>;
577*01950c46SEmmanuel Vadot		reset-gpios = <&gpio0 RK_PC2 GPIO_ACTIVE_HIGH>;
578*01950c46SEmmanuel Vadot	};
579*01950c46SEmmanuel Vadot};
580*01950c46SEmmanuel Vadot
581*01950c46SEmmanuel Vadot&i2c2 {
582*01950c46SEmmanuel Vadot	clock-frequency = <400000>;
583*01950c46SEmmanuel Vadot	pinctrl-0 = <&i2c2m1_xfer>;
584*01950c46SEmmanuel Vadot	status = "okay";
585*01950c46SEmmanuel Vadot
586*01950c46SEmmanuel Vadot	vcm@c {
587*01950c46SEmmanuel Vadot		compatible = "dongwoon,dw9714";
588*01950c46SEmmanuel Vadot		reg = <0x0c>;
589*01950c46SEmmanuel Vadot		vcc-supply = <&vcc1v8_dvp>;
590*01950c46SEmmanuel Vadot	};
591*01950c46SEmmanuel Vadot
592*01950c46SEmmanuel Vadot	camera@36 {
593*01950c46SEmmanuel Vadot		compatible = "ovti,ov5648";
594*01950c46SEmmanuel Vadot		reg = <0x36>;
595*01950c46SEmmanuel Vadot		pinctrl-names = "default";
596*01950c46SEmmanuel Vadot		pinctrl-0 = <&camerab_pdn_l &camerab_rst_l>;
597*01950c46SEmmanuel Vadot
598*01950c46SEmmanuel Vadot		clocks = <&cru CLK_CIF_OUT>;
599*01950c46SEmmanuel Vadot		assigned-clocks = <&cru CLK_CIF_OUT>;
600*01950c46SEmmanuel Vadot		assigned-clock-rates = <24000000>;
601*01950c46SEmmanuel Vadot
602*01950c46SEmmanuel Vadot		avdd-supply = <&vcc2v8_dvp>;
603*01950c46SEmmanuel Vadot		dvdd-supply = <&vdd1v2_dvp>;
604*01950c46SEmmanuel Vadot		dovdd-supply = <&vcc1v8_dvp>;
605*01950c46SEmmanuel Vadot		powerdown-gpios = <&gpio4 RK_PB3 GPIO_ACTIVE_LOW>;
606*01950c46SEmmanuel Vadot		reset-gpios = <&gpio4 RK_PB1 GPIO_ACTIVE_LOW>;
607*01950c46SEmmanuel Vadot
608*01950c46SEmmanuel Vadot		port {
609*01950c46SEmmanuel Vadot			endpoint {
610*01950c46SEmmanuel Vadot				data-lanes = <1 2>;
611*01950c46SEmmanuel Vadot				remote-endpoint = <0>;
612*01950c46SEmmanuel Vadot				link-frequencies = /bits/ 64 <210000000 168000000>;
613*01950c46SEmmanuel Vadot			};
614*01950c46SEmmanuel Vadot		};
615*01950c46SEmmanuel Vadot	};
616*01950c46SEmmanuel Vadot};
617*01950c46SEmmanuel Vadot
618*01950c46SEmmanuel Vadot&i2c5 {
619*01950c46SEmmanuel Vadot	clock-frequency = <400000>;
620*01950c46SEmmanuel Vadot	status = "okay";
621*01950c46SEmmanuel Vadot
622*01950c46SEmmanuel Vadot	accelerometer@18 {
623*01950c46SEmmanuel Vadot		compatible = "silan,sc7a20";
624*01950c46SEmmanuel Vadot		reg = <0x18>;
625*01950c46SEmmanuel Vadot		interrupt-parent = <&gpio3>;
626*01950c46SEmmanuel Vadot		interrupts = <RK_PA2 IRQ_TYPE_LEVEL_LOW>;
627*01950c46SEmmanuel Vadot		pinctrl-names = "default";
628*01950c46SEmmanuel Vadot		pinctrl-0 = <&gsensor_int_l>;
629*01950c46SEmmanuel Vadot		st,drdy-int-pin = <1>;
630*01950c46SEmmanuel Vadot		vdd-supply = <&vcc_1v8>;
631*01950c46SEmmanuel Vadot		vddio-supply = <&vcc_1v8>;
632*01950c46SEmmanuel Vadot		mount-matrix = "1", "0", "0",
633*01950c46SEmmanuel Vadot			       "0", "0", "1",
634*01950c46SEmmanuel Vadot			       "0", "1", "0";
635*01950c46SEmmanuel Vadot	};
636*01950c46SEmmanuel Vadot};
637*01950c46SEmmanuel Vadot
638*01950c46SEmmanuel Vadot&i2s0_8ch {
639*01950c46SEmmanuel Vadot	status = "okay";
640*01950c46SEmmanuel Vadot};
641*01950c46SEmmanuel Vadot
642*01950c46SEmmanuel Vadot&i2s1_8ch {
643*01950c46SEmmanuel Vadot	pinctrl-names = "default";
644*01950c46SEmmanuel Vadot	pinctrl-0 = <&i2s1m0_sclktx
645*01950c46SEmmanuel Vadot		     &i2s1m0_lrcktx
646*01950c46SEmmanuel Vadot		     &i2s1m0_sdi0
647*01950c46SEmmanuel Vadot		     &i2s1m0_sdo0>;
648*01950c46SEmmanuel Vadot	rockchip,trcm-sync-tx-only;
649*01950c46SEmmanuel Vadot	status = "okay";
650*01950c46SEmmanuel Vadot};
651*01950c46SEmmanuel Vadot
652*01950c46SEmmanuel Vadot&pcie2x1 {
653*01950c46SEmmanuel Vadot	pinctrl-names = "default";
654*01950c46SEmmanuel Vadot	pinctrl-0 = <&pcie_reset_h>;
655*01950c46SEmmanuel Vadot	reset-gpios = <&gpio1 RK_PB2 GPIO_ACTIVE_HIGH>;
656*01950c46SEmmanuel Vadot	vpcie3v3-supply = <&vcc3v3_minipcie>;
657*01950c46SEmmanuel Vadot	status = "okay";
658*01950c46SEmmanuel Vadot};
659*01950c46SEmmanuel Vadot
660*01950c46SEmmanuel Vadot&pinctrl {
661*01950c46SEmmanuel Vadot	camerab {
662*01950c46SEmmanuel Vadot		camerab_pdn_l: camerab-pdn-l {
663*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
664*01950c46SEmmanuel Vadot		};
665*01950c46SEmmanuel Vadot
666*01950c46SEmmanuel Vadot		camerab_rst_l: camerab-rst-l {
667*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>;
668*01950c46SEmmanuel Vadot		};
669*01950c46SEmmanuel Vadot	};
670*01950c46SEmmanuel Vadot
671*01950c46SEmmanuel Vadot	cameraf {
672*01950c46SEmmanuel Vadot		cameraf_pdn_l: cameraf-pdn-l {
673*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
674*01950c46SEmmanuel Vadot		};
675*01950c46SEmmanuel Vadot
676*01950c46SEmmanuel Vadot		cameraf_rst_l: cameraf-rst-l {
677*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
678*01950c46SEmmanuel Vadot		};
679*01950c46SEmmanuel Vadot	};
680*01950c46SEmmanuel Vadot
681*01950c46SEmmanuel Vadot	flash {
682*01950c46SEmmanuel Vadot		flash_led_en_h: flash-led-en-h {
683*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
684*01950c46SEmmanuel Vadot		};
685*01950c46SEmmanuel Vadot	};
686*01950c46SEmmanuel Vadot
687*01950c46SEmmanuel Vadot	fspi {
688*01950c46SEmmanuel Vadot		fspi_dual_io_pins: fspi-dual-io-pins {
689*01950c46SEmmanuel Vadot			rockchip,pins =
690*01950c46SEmmanuel Vadot				/* fspi_clk */
691*01950c46SEmmanuel Vadot				<1 RK_PD0 1 &pcfg_pull_none>,
692*01950c46SEmmanuel Vadot				/* fspi_cs0n */
693*01950c46SEmmanuel Vadot				<1 RK_PD3 1 &pcfg_pull_none>,
694*01950c46SEmmanuel Vadot				/* fspi_d0 */
695*01950c46SEmmanuel Vadot				<1 RK_PD1 1 &pcfg_pull_none>,
696*01950c46SEmmanuel Vadot				/* fspi_d1 */
697*01950c46SEmmanuel Vadot				<1 RK_PD2 1 &pcfg_pull_none>;
698*01950c46SEmmanuel Vadot		};
699*01950c46SEmmanuel Vadot	};
700*01950c46SEmmanuel Vadot
701*01950c46SEmmanuel Vadot	gsensor {
702*01950c46SEmmanuel Vadot		gsensor_int_l: gsensor-int-l {
703*01950c46SEmmanuel Vadot			rockchip,pins = <3 RK_PA2 RK_FUNC_GPIO &pcfg_pull_up>;
704*01950c46SEmmanuel Vadot		};
705*01950c46SEmmanuel Vadot	};
706*01950c46SEmmanuel Vadot
707*01950c46SEmmanuel Vadot	kb {
708*01950c46SEmmanuel Vadot		kb_id_det: kb-id-det {
709*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
710*01950c46SEmmanuel Vadot		};
711*01950c46SEmmanuel Vadot	};
712*01950c46SEmmanuel Vadot
713*01950c46SEmmanuel Vadot	lcd {
714*01950c46SEmmanuel Vadot		lcd_pwren_h: lcd-pwren-h {
715*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PC7 RK_FUNC_GPIO &pcfg_pull_none>;
716*01950c46SEmmanuel Vadot		};
717*01950c46SEmmanuel Vadot	};
718*01950c46SEmmanuel Vadot
719*01950c46SEmmanuel Vadot	pcie {
720*01950c46SEmmanuel Vadot		pcie_pwren_h: pcie-pwren-h {
721*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
722*01950c46SEmmanuel Vadot		};
723*01950c46SEmmanuel Vadot
724*01950c46SEmmanuel Vadot		pcie_reset_h: pcie-reset-h {
725*01950c46SEmmanuel Vadot			rockchip,pins = <1 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>;
726*01950c46SEmmanuel Vadot		};
727*01950c46SEmmanuel Vadot	};
728*01950c46SEmmanuel Vadot
729*01950c46SEmmanuel Vadot	pmic {
730*01950c46SEmmanuel Vadot		pmic_int_l: pmic-int-l {
731*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>;
732*01950c46SEmmanuel Vadot		};
733*01950c46SEmmanuel Vadot	};
734*01950c46SEmmanuel Vadot
735*01950c46SEmmanuel Vadot	sdmmc {
736*01950c46SEmmanuel Vadot		sdmmc_pwren_l: sdmmc-pwren-l {
737*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
738*01950c46SEmmanuel Vadot		};
739*01950c46SEmmanuel Vadot	};
740*01950c46SEmmanuel Vadot
741*01950c46SEmmanuel Vadot	sound {
742*01950c46SEmmanuel Vadot		hp_det_l: hp-det-l {
743*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
744*01950c46SEmmanuel Vadot		};
745*01950c46SEmmanuel Vadot
746*01950c46SEmmanuel Vadot		spk_ctl: spk-ctl {
747*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
748*01950c46SEmmanuel Vadot		};
749*01950c46SEmmanuel Vadot	};
750*01950c46SEmmanuel Vadot
751*01950c46SEmmanuel Vadot	tp {
752*01950c46SEmmanuel Vadot		tp_int_l_pmuio2: tp-int-l-pmuio2 {
753*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
754*01950c46SEmmanuel Vadot		};
755*01950c46SEmmanuel Vadot
756*01950c46SEmmanuel Vadot		tp_rst_l_pmuio2: tp-rst-l-pmuio2 {
757*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
758*01950c46SEmmanuel Vadot		};
759*01950c46SEmmanuel Vadot	};
760*01950c46SEmmanuel Vadot
761*01950c46SEmmanuel Vadot	usb {
762*01950c46SEmmanuel Vadot		usbcc_int_l: usbcc-int-l {
763*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
764*01950c46SEmmanuel Vadot		};
765*01950c46SEmmanuel Vadot
766*01950c46SEmmanuel Vadot		usb_host_pwren1_h: usb-host-pwren1-h {
767*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>;
768*01950c46SEmmanuel Vadot		};
769*01950c46SEmmanuel Vadot
770*01950c46SEmmanuel Vadot		usb_host_pwren2_h: usb-host-pwren2-h {
771*01950c46SEmmanuel Vadot			rockchip,pins = <4 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
772*01950c46SEmmanuel Vadot		};
773*01950c46SEmmanuel Vadot	};
774*01950c46SEmmanuel Vadot
775*01950c46SEmmanuel Vadot	wifi {
776*01950c46SEmmanuel Vadot		host_wake_wl: host-wake-wl {
777*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>;
778*01950c46SEmmanuel Vadot		};
779*01950c46SEmmanuel Vadot
780*01950c46SEmmanuel Vadot		wifi_wake_host_h: wifi-wake-host-h {
781*01950c46SEmmanuel Vadot			rockchip,pins = <0 RK_PC4 RK_FUNC_GPIO &pcfg_pull_down>;
782*01950c46SEmmanuel Vadot		};
783*01950c46SEmmanuel Vadot	};
784*01950c46SEmmanuel Vadot};
785*01950c46SEmmanuel Vadot
786*01950c46SEmmanuel Vadot&pmu_io_domains {
787*01950c46SEmmanuel Vadot	pmuio1-supply = <&vcc3v3_pmu>;
788*01950c46SEmmanuel Vadot	pmuio2-supply = <&vcca1v8_pmu>;
789*01950c46SEmmanuel Vadot	vccio1-supply = <&vccio_acodec>;
790*01950c46SEmmanuel Vadot	vccio2-supply = <&vcc_1v8>;
791*01950c46SEmmanuel Vadot	vccio3-supply = <&vccio_sd>;
792*01950c46SEmmanuel Vadot	vccio4-supply = <&vcc_1v8>;
793*01950c46SEmmanuel Vadot	vccio5-supply = <&vcc_1v8>;
794*01950c46SEmmanuel Vadot	vccio6-supply = <&vcc1v8_dvp>;
795*01950c46SEmmanuel Vadot	vccio7-supply = <&vcc_3v3>;
796*01950c46SEmmanuel Vadot	status = "okay";
797*01950c46SEmmanuel Vadot};
798*01950c46SEmmanuel Vadot
799*01950c46SEmmanuel Vadot&pwm4 {
800*01950c46SEmmanuel Vadot	status = "okay";
801*01950c46SEmmanuel Vadot};
802*01950c46SEmmanuel Vadot
803*01950c46SEmmanuel Vadot&saradc {
804*01950c46SEmmanuel Vadot	vref-supply = <&vcc_1v8>;
805*01950c46SEmmanuel Vadot	status = "okay";
806*01950c46SEmmanuel Vadot};
807*01950c46SEmmanuel Vadot
808*01950c46SEmmanuel Vadot&sdhci {
809*01950c46SEmmanuel Vadot	bus-width = <8>;
810*01950c46SEmmanuel Vadot	no-sdio;
811*01950c46SEmmanuel Vadot	no-sd;
812*01950c46SEmmanuel Vadot	non-removable;
813*01950c46SEmmanuel Vadot	max-frequency = <200000000>;
814*01950c46SEmmanuel Vadot	mmc-hs200-1_8v;
815*01950c46SEmmanuel Vadot	pinctrl-names = "default";
816*01950c46SEmmanuel Vadot	pinctrl-0 = <&emmc_bus8
817*01950c46SEmmanuel Vadot		     &emmc_clk
818*01950c46SEmmanuel Vadot		     &emmc_cmd
819*01950c46SEmmanuel Vadot		     &emmc_datastrobe
820*01950c46SEmmanuel Vadot		     &emmc_rstnout>;
821*01950c46SEmmanuel Vadot	vmmc-supply = <&vcc_3v3>;
822*01950c46SEmmanuel Vadot	vqmmc-supply = <&vcc_1v8>;
823*01950c46SEmmanuel Vadot	status = "okay";
824*01950c46SEmmanuel Vadot};
825*01950c46SEmmanuel Vadot
826*01950c46SEmmanuel Vadot&sdmmc0 {
827*01950c46SEmmanuel Vadot	bus-width = <4>;
828*01950c46SEmmanuel Vadot	cap-sd-highspeed;
829*01950c46SEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA4 GPIO_ACTIVE_LOW>;
830*01950c46SEmmanuel Vadot	disable-wp;
831*01950c46SEmmanuel Vadot	pinctrl-names = "default";
832*01950c46SEmmanuel Vadot	pinctrl-0 = <&sdmmc0_bus4
833*01950c46SEmmanuel Vadot		     &sdmmc0_clk
834*01950c46SEmmanuel Vadot		     &sdmmc0_cmd
835*01950c46SEmmanuel Vadot		     &sdmmc0_det>;
836*01950c46SEmmanuel Vadot	sd-uhs-sdr104;
837*01950c46SEmmanuel Vadot	vmmc-supply = <&vcc3v3_sd>;
838*01950c46SEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
839*01950c46SEmmanuel Vadot	status = "okay";
840*01950c46SEmmanuel Vadot};
841*01950c46SEmmanuel Vadot
842*01950c46SEmmanuel Vadot&sdmmc1 {
843*01950c46SEmmanuel Vadot	bus-width = <4>;
844*01950c46SEmmanuel Vadot	cap-sd-highspeed;
845*01950c46SEmmanuel Vadot	cap-sdio-irq;
846*01950c46SEmmanuel Vadot	keep-power-in-suspend;
847*01950c46SEmmanuel Vadot	non-removable;
848*01950c46SEmmanuel Vadot	pinctrl-names = "default";
849*01950c46SEmmanuel Vadot	pinctrl-0 = <&sdmmc1_bus4
850*01950c46SEmmanuel Vadot		     &sdmmc1_cmd
851*01950c46SEmmanuel Vadot		     &sdmmc1_clk>;
852*01950c46SEmmanuel Vadot	sd-uhs-sdr104;
853*01950c46SEmmanuel Vadot	vqmmc-supply = <&vcca1v8_pmu>;
854*01950c46SEmmanuel Vadot	status = "okay";
855*01950c46SEmmanuel Vadot};
856*01950c46SEmmanuel Vadot
857*01950c46SEmmanuel Vadot&sfc {
858*01950c46SEmmanuel Vadot	pinctrl-names = "default";
859*01950c46SEmmanuel Vadot	pinctrl-0 = <&fspi_dual_io_pins>;
860*01950c46SEmmanuel Vadot	status = "okay";
861*01950c46SEmmanuel Vadot	#address-cells = <1>;
862*01950c46SEmmanuel Vadot	#size-cells = <0>;
863*01950c46SEmmanuel Vadot
864*01950c46SEmmanuel Vadot	flash@0 {
865*01950c46SEmmanuel Vadot		compatible = "jedec,spi-nor";
866*01950c46SEmmanuel Vadot		reg = <0>;
867*01950c46SEmmanuel Vadot		spi-max-frequency = <100000000>;
868*01950c46SEmmanuel Vadot		spi-rx-bus-width = <2>;
869*01950c46SEmmanuel Vadot		spi-tx-bus-width = <1>;
870*01950c46SEmmanuel Vadot	};
871*01950c46SEmmanuel Vadot};
872*01950c46SEmmanuel Vadot
873*01950c46SEmmanuel Vadot&tsadc {
874*01950c46SEmmanuel Vadot	rockchip,hw-tshut-mode = <1>;
875*01950c46SEmmanuel Vadot	rockchip,hw-tshut-polarity = <0>;
876*01950c46SEmmanuel Vadot	status = "okay";
877*01950c46SEmmanuel Vadot};
878*01950c46SEmmanuel Vadot
879*01950c46SEmmanuel Vadot&uart2 {
880*01950c46SEmmanuel Vadot	status = "okay";
881*01950c46SEmmanuel Vadot};
882*01950c46SEmmanuel Vadot
883*01950c46SEmmanuel Vadot&usb_host0_ehci {
884*01950c46SEmmanuel Vadot	status = "okay";
885*01950c46SEmmanuel Vadot};
886*01950c46SEmmanuel Vadot
887*01950c46SEmmanuel Vadot&usb_host0_ohci {
888*01950c46SEmmanuel Vadot	status = "okay";
889*01950c46SEmmanuel Vadot};
890*01950c46SEmmanuel Vadot
891*01950c46SEmmanuel Vadot&usb_host0_xhci {
892*01950c46SEmmanuel Vadot	status = "okay";
893*01950c46SEmmanuel Vadot};
894*01950c46SEmmanuel Vadot
895*01950c46SEmmanuel Vadot&usb_host1_xhci {
896*01950c46SEmmanuel Vadot	status = "okay";
897*01950c46SEmmanuel Vadot};
898*01950c46SEmmanuel Vadot
899*01950c46SEmmanuel Vadot&usb2phy0 {
900*01950c46SEmmanuel Vadot	status = "okay";
901*01950c46SEmmanuel Vadot};
902*01950c46SEmmanuel Vadot
903*01950c46SEmmanuel Vadot&usb2phy0_host {
904*01950c46SEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host0>;
905*01950c46SEmmanuel Vadot	status = "okay";
906*01950c46SEmmanuel Vadot};
907*01950c46SEmmanuel Vadot
908*01950c46SEmmanuel Vadot&usb2phy0_otg {
909*01950c46SEmmanuel Vadot	status = "okay";
910*01950c46SEmmanuel Vadot};
911*01950c46SEmmanuel Vadot
912*01950c46SEmmanuel Vadot&usb2phy1 {
913*01950c46SEmmanuel Vadot	status = "okay";
914*01950c46SEmmanuel Vadot};
915*01950c46SEmmanuel Vadot
916*01950c46SEmmanuel Vadot&usb2phy1_otg {
917*01950c46SEmmanuel Vadot	phy-supply = <&vcc5v0_usb_host2>;
918*01950c46SEmmanuel Vadot	status = "okay";
919*01950c46SEmmanuel Vadot};
920*01950c46SEmmanuel Vadot
921*01950c46SEmmanuel Vadot&vop {
922*01950c46SEmmanuel Vadot	assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
923*01950c46SEmmanuel Vadot	assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
924*01950c46SEmmanuel Vadot	status = "okay";
925*01950c46SEmmanuel Vadot};
926*01950c46SEmmanuel Vadot
927*01950c46SEmmanuel Vadot&vop_mmu {
928*01950c46SEmmanuel Vadot	status = "okay";
929*01950c46SEmmanuel Vadot};
930*01950c46SEmmanuel Vadot
931*01950c46SEmmanuel Vadot&vp0 {
932*01950c46SEmmanuel Vadot	vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
933*01950c46SEmmanuel Vadot		reg = <ROCKCHIP_VOP2_EP_HDMI0>;
934*01950c46SEmmanuel Vadot		remote-endpoint = <&hdmi_in_vp0>;
935*01950c46SEmmanuel Vadot	};
936*01950c46SEmmanuel Vadot};
937*01950c46SEmmanuel Vadot
938*01950c46SEmmanuel Vadot&vp1 {
939*01950c46SEmmanuel Vadot	vp1_out_dsi0: endpoint@ROCKCHIP_VOP2_EP_MIPI0 {
940*01950c46SEmmanuel Vadot		reg = <ROCKCHIP_VOP2_EP_MIPI0>;
941*01950c46SEmmanuel Vadot		remote-endpoint = <&dsi0_in_vp1>;
942*01950c46SEmmanuel Vadot	};
943*01950c46SEmmanuel Vadot};
944