xref: /freebsd/sys/contrib/device-tree/src/arm64/rockchip/rk3326-anbernic-rg351m.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*8d13bc63SEmmanuel Vadot/*
3*8d13bc63SEmmanuel Vadot * Copyright (c) 2019 Hardkernel Co., Ltd
4*8d13bc63SEmmanuel Vadot * Copyright (c) 2020 Theobroma Systems Design und Consulting GmbH
5*8d13bc63SEmmanuel Vadot * Copyright (c) 2022 Maya Matuszczyk <maccraft123mc@gmail.com>
6*8d13bc63SEmmanuel Vadot */
7*8d13bc63SEmmanuel Vadot
8*8d13bc63SEmmanuel Vadot/dts-v1/;
9*8d13bc63SEmmanuel Vadot#include <dt-bindings/gpio/gpio.h>
10*8d13bc63SEmmanuel Vadot#include <dt-bindings/input/input.h>
11*8d13bc63SEmmanuel Vadot#include <dt-bindings/leds/common.h>
12*8d13bc63SEmmanuel Vadot#include <dt-bindings/pinctrl/rockchip.h>
13*8d13bc63SEmmanuel Vadot#include "rk3326.dtsi"
14*8d13bc63SEmmanuel Vadot
15*8d13bc63SEmmanuel Vadot/ {
16*8d13bc63SEmmanuel Vadot	aliases {
17*8d13bc63SEmmanuel Vadot		mmc0 = &sdmmc;
18*8d13bc63SEmmanuel Vadot	};
19*8d13bc63SEmmanuel Vadot
20*8d13bc63SEmmanuel Vadot	chosen {
21*8d13bc63SEmmanuel Vadot		stdout-path = "serial2:115200n8";
22*8d13bc63SEmmanuel Vadot	};
23*8d13bc63SEmmanuel Vadot
24*8d13bc63SEmmanuel Vadot	backlight: backlight {
25*8d13bc63SEmmanuel Vadot		compatible = "pwm-backlight";
26*8d13bc63SEmmanuel Vadot		power-supply = <&vcc_bl>;
27*8d13bc63SEmmanuel Vadot		pwms = <&pwm1 0 25000 0>;
28*8d13bc63SEmmanuel Vadot	};
29*8d13bc63SEmmanuel Vadot
30*8d13bc63SEmmanuel Vadot	/*
31*8d13bc63SEmmanuel Vadot	 * LED is a tri-state. Driven high it is red, driven low it is
32*8d13bc63SEmmanuel Vadot	 * green, and not driven at all (pin set to input) it is amber.
33*8d13bc63SEmmanuel Vadot	 * Additionally, there is a 2nd LED that is not controllable
34*8d13bc63SEmmanuel Vadot	 * that is on (red) when plugged in to power.
35*8d13bc63SEmmanuel Vadot	 */
36*8d13bc63SEmmanuel Vadot	gpio_led: gpio-leds {
37*8d13bc63SEmmanuel Vadot		compatible = "gpio-leds";
38*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
39*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&led_pin>;
40*8d13bc63SEmmanuel Vadot
41*8d13bc63SEmmanuel Vadot		red_green_led: led-0 {
42*8d13bc63SEmmanuel Vadot			color = <LED_COLOR_ID_RED>;
43*8d13bc63SEmmanuel Vadot			gpios = <&gpio2 RK_PB5 GPIO_ACTIVE_HIGH>;
44*8d13bc63SEmmanuel Vadot			function = LED_FUNCTION_CHARGING;
45*8d13bc63SEmmanuel Vadot		};
46*8d13bc63SEmmanuel Vadot	};
47*8d13bc63SEmmanuel Vadot
48*8d13bc63SEmmanuel Vadot	rk817-sound {
49*8d13bc63SEmmanuel Vadot		compatible = "simple-audio-card";
50*8d13bc63SEmmanuel Vadot		simple-audio-card,name = "rk817_int";
51*8d13bc63SEmmanuel Vadot		simple-audio-card,format = "i2s";
52*8d13bc63SEmmanuel Vadot		simple-audio-card,hp-det-gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
53*8d13bc63SEmmanuel Vadot		simple-audio-card,mclk-fs = <256>;
54*8d13bc63SEmmanuel Vadot		simple-audio-card,widgets =
55*8d13bc63SEmmanuel Vadot			"Microphone", "Mic Jack",
56*8d13bc63SEmmanuel Vadot			"Headphone", "Headphones",
57*8d13bc63SEmmanuel Vadot			"Speaker", "Speaker";
58*8d13bc63SEmmanuel Vadot		simple-audio-card,routing =
59*8d13bc63SEmmanuel Vadot			"MICL", "Mic Jack",
60*8d13bc63SEmmanuel Vadot			"Headphones", "HPOL",
61*8d13bc63SEmmanuel Vadot			"Headphones", "HPOR",
62*8d13bc63SEmmanuel Vadot			"Speaker", "SPKO";
63*8d13bc63SEmmanuel Vadot
64*8d13bc63SEmmanuel Vadot		simple-audio-card,codec {
65*8d13bc63SEmmanuel Vadot			sound-dai = <&rk817>;
66*8d13bc63SEmmanuel Vadot		};
67*8d13bc63SEmmanuel Vadot
68*8d13bc63SEmmanuel Vadot		simple-audio-card,cpu {
69*8d13bc63SEmmanuel Vadot			sound-dai = <&i2s1_2ch>;
70*8d13bc63SEmmanuel Vadot		};
71*8d13bc63SEmmanuel Vadot	};
72*8d13bc63SEmmanuel Vadot
73*8d13bc63SEmmanuel Vadot	vccsys: vccsys {
74*8d13bc63SEmmanuel Vadot		compatible = "regulator-fixed";
75*8d13bc63SEmmanuel Vadot		regulator-name = "vcc3v8_sys";
76*8d13bc63SEmmanuel Vadot		regulator-always-on;
77*8d13bc63SEmmanuel Vadot		regulator-min-microvolt = <3800000>;
78*8d13bc63SEmmanuel Vadot		regulator-max-microvolt = <3800000>;
79*8d13bc63SEmmanuel Vadot	};
80*8d13bc63SEmmanuel Vadot
81*8d13bc63SEmmanuel Vadot	vibrator {
82*8d13bc63SEmmanuel Vadot		compatible = "pwm-vibrator";
83*8d13bc63SEmmanuel Vadot		pwms = <&pwm0 0 1000000 0>;
84*8d13bc63SEmmanuel Vadot		pwm-names = "enable";
85*8d13bc63SEmmanuel Vadot	};
86*8d13bc63SEmmanuel Vadot};
87*8d13bc63SEmmanuel Vadot
88*8d13bc63SEmmanuel Vadot&cpu0 {
89*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_arm>;
90*8d13bc63SEmmanuel Vadot};
91*8d13bc63SEmmanuel Vadot
92*8d13bc63SEmmanuel Vadot&cpu1 {
93*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_arm>;
94*8d13bc63SEmmanuel Vadot};
95*8d13bc63SEmmanuel Vadot
96*8d13bc63SEmmanuel Vadot&cpu2 {
97*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_arm>;
98*8d13bc63SEmmanuel Vadot};
99*8d13bc63SEmmanuel Vadot
100*8d13bc63SEmmanuel Vadot&cpu3 {
101*8d13bc63SEmmanuel Vadot	cpu-supply = <&vdd_arm>;
102*8d13bc63SEmmanuel Vadot};
103*8d13bc63SEmmanuel Vadot
104*8d13bc63SEmmanuel Vadot&cru {
105*8d13bc63SEmmanuel Vadot	assigned-clocks = <&cru PLL_NPLL>,
106*8d13bc63SEmmanuel Vadot		<&cru ACLK_BUS_PRE>, <&cru ACLK_PERI_PRE>,
107*8d13bc63SEmmanuel Vadot		<&cru HCLK_BUS_PRE>, <&cru HCLK_PERI_PRE>,
108*8d13bc63SEmmanuel Vadot		<&cru PCLK_BUS_PRE>, <&cru SCLK_GPU>;
109*8d13bc63SEmmanuel Vadot
110*8d13bc63SEmmanuel Vadot	assigned-clock-rates = <1188000000>,
111*8d13bc63SEmmanuel Vadot		<200000000>, <200000000>,
112*8d13bc63SEmmanuel Vadot		<150000000>, <150000000>,
113*8d13bc63SEmmanuel Vadot		<100000000>, <200000000>;
114*8d13bc63SEmmanuel Vadot};
115*8d13bc63SEmmanuel Vadot
116*8d13bc63SEmmanuel Vadot&display_subsystem {
117*8d13bc63SEmmanuel Vadot	status = "okay";
118*8d13bc63SEmmanuel Vadot};
119*8d13bc63SEmmanuel Vadot
120*8d13bc63SEmmanuel Vadot&dsi {
121*8d13bc63SEmmanuel Vadot	status = "okay";
122*8d13bc63SEmmanuel Vadot
123*8d13bc63SEmmanuel Vadot	ports {
124*8d13bc63SEmmanuel Vadot		mipi_out: port@1 {
125*8d13bc63SEmmanuel Vadot			reg = <1>;
126*8d13bc63SEmmanuel Vadot
127*8d13bc63SEmmanuel Vadot			mipi_out_panel: endpoint {
128*8d13bc63SEmmanuel Vadot				remote-endpoint = <&mipi_in_panel>;
129*8d13bc63SEmmanuel Vadot			};
130*8d13bc63SEmmanuel Vadot		};
131*8d13bc63SEmmanuel Vadot	};
132*8d13bc63SEmmanuel Vadot
133*8d13bc63SEmmanuel Vadot	internal_display: panel@0 {
134*8d13bc63SEmmanuel Vadot		reg = <0>;
135*8d13bc63SEmmanuel Vadot		backlight = <&backlight>;
136*8d13bc63SEmmanuel Vadot		reset-gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>;
137*8d13bc63SEmmanuel Vadot
138*8d13bc63SEmmanuel Vadot		port {
139*8d13bc63SEmmanuel Vadot			mipi_in_panel: endpoint {
140*8d13bc63SEmmanuel Vadot				remote-endpoint = <&mipi_out_panel>;
141*8d13bc63SEmmanuel Vadot			};
142*8d13bc63SEmmanuel Vadot		};
143*8d13bc63SEmmanuel Vadot	};
144*8d13bc63SEmmanuel Vadot};
145*8d13bc63SEmmanuel Vadot
146*8d13bc63SEmmanuel Vadot&dsi_dphy {
147*8d13bc63SEmmanuel Vadot	status = "okay";
148*8d13bc63SEmmanuel Vadot};
149*8d13bc63SEmmanuel Vadot
150*8d13bc63SEmmanuel Vadot&gpu {
151*8d13bc63SEmmanuel Vadot	mali-supply = <&vdd_logic>;
152*8d13bc63SEmmanuel Vadot	status = "okay";
153*8d13bc63SEmmanuel Vadot};
154*8d13bc63SEmmanuel Vadot
155*8d13bc63SEmmanuel Vadot&i2c0 {
156*8d13bc63SEmmanuel Vadot	clock-frequency = <400000>;
157*8d13bc63SEmmanuel Vadot	i2c-scl-falling-time-ns = <16>;
158*8d13bc63SEmmanuel Vadot	i2c-scl-rising-time-ns = <280>;
159*8d13bc63SEmmanuel Vadot	status = "okay";
160*8d13bc63SEmmanuel Vadot
161*8d13bc63SEmmanuel Vadot	rk817: pmic@20 {
162*8d13bc63SEmmanuel Vadot		compatible = "rockchip,rk817";
163*8d13bc63SEmmanuel Vadot		reg = <0x20>;
164*8d13bc63SEmmanuel Vadot		#clock-cells = <1>;
165*8d13bc63SEmmanuel Vadot		clock-names = "mclk";
166*8d13bc63SEmmanuel Vadot		clock-output-names = "rk808-clkout1", "xin32k";
167*8d13bc63SEmmanuel Vadot		clocks = <&cru SCLK_I2S1_OUT>;
168*8d13bc63SEmmanuel Vadot		interrupt-parent = <&gpio0>;
169*8d13bc63SEmmanuel Vadot		interrupts = <RK_PB2 IRQ_TYPE_LEVEL_LOW>;
170*8d13bc63SEmmanuel Vadot		pinctrl-0 = <&pmic_int>, <&i2s1_2ch_mclk>;
171*8d13bc63SEmmanuel Vadot		pinctrl-names = "default";
172*8d13bc63SEmmanuel Vadot		#sound-dai-cells = <0>;
173*8d13bc63SEmmanuel Vadot		wakeup-source;
174*8d13bc63SEmmanuel Vadot
175*8d13bc63SEmmanuel Vadot		vcc1-supply = <&vccsys>;
176*8d13bc63SEmmanuel Vadot		vcc2-supply = <&vccsys>;
177*8d13bc63SEmmanuel Vadot		vcc3-supply = <&vccsys>;
178*8d13bc63SEmmanuel Vadot		vcc4-supply = <&vccsys>;
179*8d13bc63SEmmanuel Vadot		vcc5-supply = <&vccsys>;
180*8d13bc63SEmmanuel Vadot		vcc6-supply = <&vccsys>;
181*8d13bc63SEmmanuel Vadot		vcc7-supply = <&vccsys>;
182*8d13bc63SEmmanuel Vadot		vcc8-supply = <&vccsys>;
183*8d13bc63SEmmanuel Vadot
184*8d13bc63SEmmanuel Vadot		regulators {
185*8d13bc63SEmmanuel Vadot			vdd_logic: DCDC_REG1 {
186*8d13bc63SEmmanuel Vadot				regulator-always-on;
187*8d13bc63SEmmanuel Vadot				regulator-boot-on;
188*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1150000>;
189*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <950000>;
190*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_logic";
191*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <6001>;
192*8d13bc63SEmmanuel Vadot
193*8d13bc63SEmmanuel Vadot				regulator-state-mem {
194*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
195*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <950000>;
196*8d13bc63SEmmanuel Vadot				};
197*8d13bc63SEmmanuel Vadot			};
198*8d13bc63SEmmanuel Vadot
199*8d13bc63SEmmanuel Vadot			vdd_arm: DCDC_REG2 {
200*8d13bc63SEmmanuel Vadot				regulator-always-on;
201*8d13bc63SEmmanuel Vadot				regulator-boot-on;
202*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1350000>;
203*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <950000>;
204*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_arm";
205*8d13bc63SEmmanuel Vadot				regulator-ramp-delay = <6001>;
206*8d13bc63SEmmanuel Vadot
207*8d13bc63SEmmanuel Vadot				regulator-state-mem {
208*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
209*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <950000>;
210*8d13bc63SEmmanuel Vadot				};
211*8d13bc63SEmmanuel Vadot			};
212*8d13bc63SEmmanuel Vadot
213*8d13bc63SEmmanuel Vadot			vcc_ddr: DCDC_REG3 {
214*8d13bc63SEmmanuel Vadot				regulator-always-on;
215*8d13bc63SEmmanuel Vadot				regulator-boot-on;
216*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_ddr";
217*8d13bc63SEmmanuel Vadot
218*8d13bc63SEmmanuel Vadot				regulator-state-mem {
219*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
220*8d13bc63SEmmanuel Vadot				};
221*8d13bc63SEmmanuel Vadot			};
222*8d13bc63SEmmanuel Vadot
223*8d13bc63SEmmanuel Vadot			vcc_3v3: DCDC_REG4 {
224*8d13bc63SEmmanuel Vadot				regulator-always-on;
225*8d13bc63SEmmanuel Vadot				regulator-boot-on;
226*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
227*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
228*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_3v3";
229*8d13bc63SEmmanuel Vadot
230*8d13bc63SEmmanuel Vadot				regulator-state-mem {
231*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
232*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
233*8d13bc63SEmmanuel Vadot				};
234*8d13bc63SEmmanuel Vadot			};
235*8d13bc63SEmmanuel Vadot
236*8d13bc63SEmmanuel Vadot			vcc_1v8: LDO_REG2 {
237*8d13bc63SEmmanuel Vadot				regulator-always-on;
238*8d13bc63SEmmanuel Vadot				regulator-boot-on;
239*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1800000>;
240*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
241*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_1v8";
242*8d13bc63SEmmanuel Vadot
243*8d13bc63SEmmanuel Vadot				regulator-state-mem {
244*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
245*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <1800000>;
246*8d13bc63SEmmanuel Vadot				};
247*8d13bc63SEmmanuel Vadot			};
248*8d13bc63SEmmanuel Vadot
249*8d13bc63SEmmanuel Vadot			vdd_1v0: LDO_REG3 {
250*8d13bc63SEmmanuel Vadot				regulator-always-on;
251*8d13bc63SEmmanuel Vadot				regulator-boot-on;
252*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <1000000>;
253*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1000000>;
254*8d13bc63SEmmanuel Vadot				regulator-name = "vdd_1v0";
255*8d13bc63SEmmanuel Vadot
256*8d13bc63SEmmanuel Vadot				regulator-state-mem {
257*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
258*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <1000000>;
259*8d13bc63SEmmanuel Vadot				};
260*8d13bc63SEmmanuel Vadot			};
261*8d13bc63SEmmanuel Vadot
262*8d13bc63SEmmanuel Vadot			vcc3v3_pmu: LDO_REG4 {
263*8d13bc63SEmmanuel Vadot				regulator-always-on;
264*8d13bc63SEmmanuel Vadot				regulator-boot-on;
265*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
266*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
267*8d13bc63SEmmanuel Vadot				regulator-name = "vcc3v3_pmu";
268*8d13bc63SEmmanuel Vadot
269*8d13bc63SEmmanuel Vadot				regulator-state-mem {
270*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
271*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
272*8d13bc63SEmmanuel Vadot				};
273*8d13bc63SEmmanuel Vadot			};
274*8d13bc63SEmmanuel Vadot
275*8d13bc63SEmmanuel Vadot			vccio_sd: LDO_REG5 {
276*8d13bc63SEmmanuel Vadot				regulator-always-on;
277*8d13bc63SEmmanuel Vadot				regulator-boot-on;
278*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
279*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <1800000>;
280*8d13bc63SEmmanuel Vadot				regulator-name = "vccio_sd";
281*8d13bc63SEmmanuel Vadot
282*8d13bc63SEmmanuel Vadot				regulator-state-mem {
283*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
284*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
285*8d13bc63SEmmanuel Vadot				};
286*8d13bc63SEmmanuel Vadot			};
287*8d13bc63SEmmanuel Vadot
288*8d13bc63SEmmanuel Vadot			vcc_sd: LDO_REG6 {
289*8d13bc63SEmmanuel Vadot				regulator-boot-on;
290*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
291*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
292*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_sd";
293*8d13bc63SEmmanuel Vadot
294*8d13bc63SEmmanuel Vadot				regulator-state-mem {
295*8d13bc63SEmmanuel Vadot					regulator-on-in-suspend;
296*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
297*8d13bc63SEmmanuel Vadot				};
298*8d13bc63SEmmanuel Vadot			};
299*8d13bc63SEmmanuel Vadot
300*8d13bc63SEmmanuel Vadot			vcc_bl: LDO_REG7 {
301*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
302*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
303*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_bl";
304*8d13bc63SEmmanuel Vadot
305*8d13bc63SEmmanuel Vadot				regulator-state-mem {
306*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
307*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
308*8d13bc63SEmmanuel Vadot				};
309*8d13bc63SEmmanuel Vadot			};
310*8d13bc63SEmmanuel Vadot
311*8d13bc63SEmmanuel Vadot			vcc_lcd: LDO_REG8 {
312*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <2800000>;
313*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <2800000>;
314*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_lcd";
315*8d13bc63SEmmanuel Vadot
316*8d13bc63SEmmanuel Vadot				regulator-state-mem {
317*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
318*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <2800000>;
319*8d13bc63SEmmanuel Vadot				};
320*8d13bc63SEmmanuel Vadot			};
321*8d13bc63SEmmanuel Vadot
322*8d13bc63SEmmanuel Vadot			vcc_wifi: LDO_REG9 {
323*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <3300000>;
324*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <3300000>;
325*8d13bc63SEmmanuel Vadot				regulator-name = "vcc_wifi";
326*8d13bc63SEmmanuel Vadot
327*8d13bc63SEmmanuel Vadot				regulator-state-mem {
328*8d13bc63SEmmanuel Vadot					regulator-off-in-suspend;
329*8d13bc63SEmmanuel Vadot					regulator-suspend-microvolt = <3300000>;
330*8d13bc63SEmmanuel Vadot				};
331*8d13bc63SEmmanuel Vadot			};
332*8d13bc63SEmmanuel Vadot
333*8d13bc63SEmmanuel Vadot			usb_midu: BOOST {
334*8d13bc63SEmmanuel Vadot				regulator-always-on;
335*8d13bc63SEmmanuel Vadot				regulator-boot-on;
336*8d13bc63SEmmanuel Vadot				regulator-max-microvolt = <5400000>;
337*8d13bc63SEmmanuel Vadot				regulator-min-microvolt = <5000000>;
338*8d13bc63SEmmanuel Vadot				regulator-name = "usb_midu";
339*8d13bc63SEmmanuel Vadot			};
340*8d13bc63SEmmanuel Vadot		};
341*8d13bc63SEmmanuel Vadot
342*8d13bc63SEmmanuel Vadot		rk817_codec: codec {
343*8d13bc63SEmmanuel Vadot			rockchip,mic-in-differential;
344*8d13bc63SEmmanuel Vadot		};
345*8d13bc63SEmmanuel Vadot	};
346*8d13bc63SEmmanuel Vadot};
347*8d13bc63SEmmanuel Vadot
348*8d13bc63SEmmanuel Vadot&i2s1_2ch {
349*8d13bc63SEmmanuel Vadot	status = "okay";
350*8d13bc63SEmmanuel Vadot};
351*8d13bc63SEmmanuel Vadot
352*8d13bc63SEmmanuel Vadot&io_domains {
353*8d13bc63SEmmanuel Vadot	vccio1-supply = <&vcc_3v3>;
354*8d13bc63SEmmanuel Vadot	vccio2-supply = <&vccio_sd>;
355*8d13bc63SEmmanuel Vadot	vccio3-supply = <&vcc_3v3>;
356*8d13bc63SEmmanuel Vadot	vccio4-supply = <&vcc_3v3>;
357*8d13bc63SEmmanuel Vadot	vccio5-supply = <&vcc_3v3>;
358*8d13bc63SEmmanuel Vadot	vccio6-supply = <&vcc_3v3>;
359*8d13bc63SEmmanuel Vadot	status = "okay";
360*8d13bc63SEmmanuel Vadot};
361*8d13bc63SEmmanuel Vadot
362*8d13bc63SEmmanuel Vadot&pmu_io_domains {
363*8d13bc63SEmmanuel Vadot	pmuio1-supply = <&vcc3v3_pmu>;
364*8d13bc63SEmmanuel Vadot	pmuio2-supply = <&vcc3v3_pmu>;
365*8d13bc63SEmmanuel Vadot	status = "okay";
366*8d13bc63SEmmanuel Vadot};
367*8d13bc63SEmmanuel Vadot
368*8d13bc63SEmmanuel Vadot&pwm0 {
369*8d13bc63SEmmanuel Vadot	status = "okay";
370*8d13bc63SEmmanuel Vadot};
371*8d13bc63SEmmanuel Vadot
372*8d13bc63SEmmanuel Vadot&pwm1 {
373*8d13bc63SEmmanuel Vadot	status = "okay";
374*8d13bc63SEmmanuel Vadot};
375*8d13bc63SEmmanuel Vadot
376*8d13bc63SEmmanuel Vadot&saradc {
377*8d13bc63SEmmanuel Vadot	vref-supply = <&vcc_1v8>;
378*8d13bc63SEmmanuel Vadot	status = "okay";
379*8d13bc63SEmmanuel Vadot};
380*8d13bc63SEmmanuel Vadot
381*8d13bc63SEmmanuel Vadot&sdmmc {
382*8d13bc63SEmmanuel Vadot	cap-sd-highspeed;
383*8d13bc63SEmmanuel Vadot	card-detect-delay = <200>;
384*8d13bc63SEmmanuel Vadot	cd-gpios = <&gpio0 RK_PA3 GPIO_ACTIVE_LOW>;
385*8d13bc63SEmmanuel Vadot	sd-uhs-sdr12;
386*8d13bc63SEmmanuel Vadot	sd-uhs-sdr25;
387*8d13bc63SEmmanuel Vadot	sd-uhs-sdr50;
388*8d13bc63SEmmanuel Vadot	sd-uhs-sdr104;
389*8d13bc63SEmmanuel Vadot	vmmc-supply = <&vcc_sd>;
390*8d13bc63SEmmanuel Vadot	vqmmc-supply = <&vccio_sd>;
391*8d13bc63SEmmanuel Vadot	status = "okay";
392*8d13bc63SEmmanuel Vadot};
393*8d13bc63SEmmanuel Vadot
394*8d13bc63SEmmanuel Vadot&sfc {
395*8d13bc63SEmmanuel Vadot	#address-cells = <1>;
396*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&sfc_clk &sfc_cs0 &sfc_bus2>;
397*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
398*8d13bc63SEmmanuel Vadot	#size-cells = <0>;
399*8d13bc63SEmmanuel Vadot	status = "okay";
400*8d13bc63SEmmanuel Vadot
401*8d13bc63SEmmanuel Vadot	flash@0 {
402*8d13bc63SEmmanuel Vadot		compatible = "jedec,spi-nor";
403*8d13bc63SEmmanuel Vadot		reg = <0>;
404*8d13bc63SEmmanuel Vadot		spi-max-frequency = <108000000>;
405*8d13bc63SEmmanuel Vadot		spi-rx-bus-width = <2>;
406*8d13bc63SEmmanuel Vadot		spi-tx-bus-width = <1>;
407*8d13bc63SEmmanuel Vadot	};
408*8d13bc63SEmmanuel Vadot};
409*8d13bc63SEmmanuel Vadot
410*8d13bc63SEmmanuel Vadot&tsadc {
411*8d13bc63SEmmanuel Vadot	status = "okay";
412*8d13bc63SEmmanuel Vadot};
413*8d13bc63SEmmanuel Vadot
414*8d13bc63SEmmanuel Vadot&u2phy {
415*8d13bc63SEmmanuel Vadot	status = "okay";
416*8d13bc63SEmmanuel Vadot
417*8d13bc63SEmmanuel Vadot	u2phy_host: host-port {
418*8d13bc63SEmmanuel Vadot		status = "okay";
419*8d13bc63SEmmanuel Vadot	};
420*8d13bc63SEmmanuel Vadot
421*8d13bc63SEmmanuel Vadot	u2phy_otg: otg-port {
422*8d13bc63SEmmanuel Vadot		status = "disabled";
423*8d13bc63SEmmanuel Vadot	};
424*8d13bc63SEmmanuel Vadot};
425*8d13bc63SEmmanuel Vadot
426*8d13bc63SEmmanuel Vadot&usb20_otg {
427*8d13bc63SEmmanuel Vadot	status = "okay";
428*8d13bc63SEmmanuel Vadot};
429*8d13bc63SEmmanuel Vadot
430*8d13bc63SEmmanuel Vadot&uart2 {
431*8d13bc63SEmmanuel Vadot	pinctrl-0 = <&uart2m1_xfer>;
432*8d13bc63SEmmanuel Vadot	pinctrl-names = "default";
433*8d13bc63SEmmanuel Vadot	status = "okay";
434*8d13bc63SEmmanuel Vadot};
435*8d13bc63SEmmanuel Vadot
436*8d13bc63SEmmanuel Vadot&vopb {
437*8d13bc63SEmmanuel Vadot	status = "okay";
438*8d13bc63SEmmanuel Vadot};
439*8d13bc63SEmmanuel Vadot
440*8d13bc63SEmmanuel Vadot&vopb_mmu {
441*8d13bc63SEmmanuel Vadot	status = "okay";
442*8d13bc63SEmmanuel Vadot};
443*8d13bc63SEmmanuel Vadot
444*8d13bc63SEmmanuel Vadot&pinctrl {
445*8d13bc63SEmmanuel Vadot	headphone {
446*8d13bc63SEmmanuel Vadot		hp_det: hp-det {
447*8d13bc63SEmmanuel Vadot			rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_down>;
448*8d13bc63SEmmanuel Vadot		};
449*8d13bc63SEmmanuel Vadot	};
450*8d13bc63SEmmanuel Vadot
451*8d13bc63SEmmanuel Vadot	leds {
452*8d13bc63SEmmanuel Vadot		led_pin: led-pin {
453*8d13bc63SEmmanuel Vadot			rockchip,pins = <2 RK_PB5 RK_FUNC_GPIO &pcfg_pull_none>;
454*8d13bc63SEmmanuel Vadot		};
455*8d13bc63SEmmanuel Vadot	};
456*8d13bc63SEmmanuel Vadot
457*8d13bc63SEmmanuel Vadot	pmic {
458*8d13bc63SEmmanuel Vadot		dc_det: dc-det {
459*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PB3 RK_FUNC_GPIO &pcfg_pull_none>;
460*8d13bc63SEmmanuel Vadot		};
461*8d13bc63SEmmanuel Vadot
462*8d13bc63SEmmanuel Vadot		pmic_int: pmic-int {
463*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PB2 RK_FUNC_GPIO &pcfg_pull_up>;
464*8d13bc63SEmmanuel Vadot		};
465*8d13bc63SEmmanuel Vadot
466*8d13bc63SEmmanuel Vadot		soc_slppin_gpio: soc_slppin_gpio {
467*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PA4 RK_FUNC_GPIO &pcfg_output_low>;
468*8d13bc63SEmmanuel Vadot		};
469*8d13bc63SEmmanuel Vadot
470*8d13bc63SEmmanuel Vadot		soc_slppin_rst: soc_slppin_rst {
471*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PA4 2 &pcfg_pull_none>;
472*8d13bc63SEmmanuel Vadot		};
473*8d13bc63SEmmanuel Vadot
474*8d13bc63SEmmanuel Vadot		soc_slppin_slp: soc_slppin_slp {
475*8d13bc63SEmmanuel Vadot			rockchip,pins = <0 RK_PA4 1 &pcfg_pull_none>;
476*8d13bc63SEmmanuel Vadot		};
477*8d13bc63SEmmanuel Vadot	};
478*8d13bc63SEmmanuel Vadot};
479