xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3588-vehicle.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7#include <dt-bindings/gpio/gpio.h>
8#include <dt-bindings/pwm/pwm.h>
9#include <dt-bindings/pinctrl/rockchip.h>
10#include <dt-bindings/input/rk-input.h>
11#include <dt-bindings/display/drm_mipi_dsi.h>
12#include <dt-bindings/display/rockchip_vop.h>
13#include <dt-bindings/sensor-dev.h>
14
15/ {
16	adc_keys: adc-keys {
17		compatible = "adc-keys";
18		io-channels = <&saradc 1>;
19		io-channel-names = "buttons";
20		keyup-threshold-microvolt = <1800000>;
21		poll-interval = <100>;
22
23		vol-up-key {
24			label = "volume up";
25			linux,code = <KEY_VOLUMEUP>;
26			press-threshold-microvolt = <17000>;
27		};
28
29		vol-down-key {
30			label = "volume down";
31			linux,code = <KEY_VOLUMEDOWN>;
32			press-threshold-microvolt = <417000>;
33		};
34
35		menu-key {
36			label = "menu";
37			linux,code = <KEY_MENU>;
38			press-threshold-microvolt = <890000>;
39		};
40
41		back-key {
42			label = "back";
43			linux,code = <KEY_BACK>;
44			press-threshold-microvolt = <1235000>;
45		};
46	};
47
48	backlight: backlight {
49		compatible = "pwm-backlight";
50		brightness-levels = <
51			  0  20  20  21  21  22  22  23
52			 23  24  24  25  25  26  26  27
53			 27  28  28  29  29  30  30  31
54			 31  32  32  33  33  34  34  35
55			 35  36  36  37  37  38  38  39
56			 40  41  42  43  44  45  46  47
57			 48  49  50  51  52  53  54  55
58			 56  57  58  59  60  61  62  63
59			 64  65  66  67  68  69  70  71
60			 72  73  74  75  76  77  78  79
61			 80  81  82  83  84  85  86  87
62			 88  89  90  91  92  93  94  95
63			 96  97  98  99 100 101 102 103
64			104 105 106 107 108 109 110 111
65			112 113 114 115 116 117 118 119
66			120 121 122 123 124 125 126 127
67			128 129 130 131 132 133 134 135
68			136 137 138 139 140 141 142 143
69			144 145 146 147 148 149 150 151
70			152 153 154 155 156 157 158 159
71			160 161 162 163 164 165 166 167
72			168 169 170 171 172 173 174 175
73			176 177 178 179 180 181 182 183
74			184 185 186 187 188 189 190 191
75			192 193 194 195 196 197 198 199
76			200 201 202 203 204 205 206 207
77			208 209 210 211 212 213 214 215
78			216 217 218 219 220 221 222 223
79			224 225 226 227 228 229 230 231
80			232 233 234 235 236 237 238 239
81			240 241 242 243 244 245 246 247
82			248 249 250 251 252 253 254 255
83		>;
84		default-brightness-level = <200>;
85	};
86
87	hdmi0_sound: hdmi0-sound {
88		status = "disabled";
89		compatible = "rockchip,hdmi";
90		rockchip,mclk-fs = <128>;
91		rockchip,card-name = "rockchip-hdmi0";
92		rockchip,cpu = <&i2s5_8ch>;
93		rockchip,codec = <&hdmi0>;
94		rockchip,jack-det;
95	};
96
97	hdmi1_sound: hdmi1-sound {
98		status = "disabled";
99		compatible = "rockchip,hdmi";
100		rockchip,mclk-fs = <128>;
101		rockchip,card-name = "rockchip-hdmi1";
102		rockchip,cpu = <&i2s6_8ch>;
103		rockchip,codec = <&hdmi1>;
104		rockchip,jack-det;
105	};
106
107	dp0_sound: dp0-sound {
108		status = "disabled";
109		compatible = "rockchip,hdmi";
110		rockchip,card-name= "rockchip-dp0";
111		rockchip,mclk-fs = <512>;
112		rockchip,cpu = <&spdif_tx2>;
113		rockchip,codec = <&dp0 1>;
114		rockchip,jack-det;
115	};
116
117	dp1_sound: dp1-sound {
118		status = "disabled";
119		compatible = "rockchip,hdmi";
120		rockchip,card-name= "rockchip-dp1";
121		rockchip,mclk-fs = <512>;
122		rockchip,cpu = <&spdif_tx5>;
123		rockchip,codec = <&dp1 1>;
124		rockchip,jack-det;
125	};
126
127	leds: leds {
128		compatible = "gpio-leds";
129		work_led: work {
130			gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_HIGH>;
131			linux,default-trigger = "heartbeat";
132		};
133	};
134
135	spdif_tx1_dc: spdif-tx1-dc {
136		status = "disabled";
137		compatible = "linux,spdif-dit";
138		#sound-dai-cells = <0>;
139	};
140
141	spdif_tx1_sound: spdif-tx1-sound {
142		status = "disabled";
143		compatible = "simple-audio-card";
144		simple-audio-card,name = "rockchip,spdif-tx1";
145		simple-audio-card,mclk-fs = <128>;
146		simple-audio-card,cpu {
147			sound-dai = <&spdif_tx1>;
148		};
149		simple-audio-card,codec {
150			sound-dai = <&spdif_tx1_dc>;
151		};
152	};
153
154	test-power {
155		status = "okay";
156	};
157
158	vcc12v_dcin: vcc12v-dcin {
159		compatible = "regulator-fixed";
160		regulator-name = "vcc12v_dcin";
161		regulator-always-on;
162		regulator-boot-on;
163		regulator-min-microvolt = <12000000>;
164		regulator-max-microvolt = <12000000>;
165	};
166
167	vcc5v0_sys: vcc5v0-sys {
168		compatible = "regulator-fixed";
169		regulator-name = "vcc5v0_sys";
170		regulator-always-on;
171		regulator-boot-on;
172		regulator-min-microvolt = <5000000>;
173		regulator-max-microvolt = <5000000>;
174		vin-supply = <&vcc12v_dcin>;
175	};
176
177	vcc5v0_usbdcin: vcc5v0-usbdcin {
178		compatible = "regulator-fixed";
179		regulator-name = "vcc5v0_usbdcin";
180		regulator-always-on;
181		regulator-boot-on;
182		regulator-min-microvolt = <5000000>;
183		regulator-max-microvolt = <5000000>;
184		vin-supply = <&vcc12v_dcin>;
185	};
186
187	vcc5v0_usb: vcc5v0-usb {
188		compatible = "regulator-fixed";
189		regulator-name = "vcc5v0_usb";
190		regulator-always-on;
191		regulator-boot-on;
192		regulator-min-microvolt = <5000000>;
193		regulator-max-microvolt = <5000000>;
194		vin-supply = <&vcc5v0_usbdcin>;
195	};
196};
197
198&av1d_mmu {
199	status = "okay";
200};
201
202&cpu_l0 {
203	cpu-supply = <&vdd_cpu_lit_s0>;
204	mem-supply = <&vdd_cpu_lit_mem_s0>;
205};
206
207&cpu_b0 {
208	cpu-supply = <&vdd_cpu_big0_s0>;
209	mem-supply = <&vdd_cpu_big0_mem_s0>;
210};
211
212&cpu_b2 {
213	cpu-supply = <&vdd_cpu_big1_s0>;
214	mem-supply = <&vdd_cpu_big1_mem_s0>;
215};
216
217&gpu {
218	mali-supply = <&vdd_gpu_s0>;
219	mem-supply = <&vdd_gpu_mem_s0>;
220	status = "okay";
221};
222
223&i2s0_8ch {
224	status = "okay";
225	pinctrl-0 = <&i2s0_lrck
226		     &i2s0_sclk
227		     &i2s0_sdi0
228		     &i2s0_sdo0>;
229};
230
231&iep {
232	status = "okay";
233};
234
235&iep_mmu {
236	status = "okay";
237};
238
239&jpegd {
240	status = "okay";
241};
242
243&jpegd_mmu {
244	status = "okay";
245};
246
247&jpege_ccu {
248	status = "okay";
249};
250
251&jpege0 {
252	status = "okay";
253};
254
255&jpege0_mmu {
256	status = "okay";
257};
258
259&jpege1 {
260	status = "okay";
261};
262
263&jpege1_mmu {
264	status = "okay";
265};
266
267&jpege2 {
268	status = "okay";
269};
270
271&jpege2_mmu {
272	status = "okay";
273};
274
275&jpege3 {
276	status = "okay";
277};
278
279&jpege3_mmu {
280	status = "okay";
281};
282
283&mpp_srv {
284	status = "okay";
285};
286
287&rga3_core0 {
288	status = "okay";
289};
290
291&rga3_0_mmu {
292	status = "okay";
293};
294
295&rga3_core1 {
296	status = "okay";
297};
298
299&rga3_1_mmu {
300	status = "okay";
301};
302
303&rga2 {
304	status = "okay";
305};
306
307&rknpu {
308	rknpu-supply = <&vdd_npu_s0>;
309	mem-supply = <&vdd_npu_mem_s0>;
310	status = "okay";
311};
312
313&rknpu_mmu {
314	status = "okay";
315};
316
317&rkvdec_ccu {
318	status = "okay";
319};
320
321&rkvdec0 {
322	status = "okay";
323};
324
325&rkvdec0_mmu {
326	status = "okay";
327};
328
329&rkvdec1 {
330	status = "okay";
331};
332
333&rkvdec1_mmu {
334	status = "okay";
335};
336
337&rkvenc_ccu {
338	status = "okay";
339};
340
341&rkvenc0 {
342	venc-supply = <&vdd_vdenc_s0>;
343	mem-supply = <&vdd_vdenc_mem_s0>;
344	status = "okay";
345};
346
347&rkvenc0_mmu {
348	status = "okay";
349};
350
351&rkvenc1 {
352	venc-supply = <&vdd_vdenc_s0>;
353	mem-supply = <&vdd_vdenc_mem_s0>;
354	status = "okay";
355};
356
357&rkvenc1_mmu {
358	status = "okay";
359};
360
361&rockchip_suspend {
362	status = "okay";
363	rockchip,sleep-debug-en = <1>;
364};
365
366&saradc {
367	status = "okay";
368	vref-supply = <&vcc_1v8_s0>;
369};
370
371&sdhci {
372	bus-width = <8>;
373	no-sdio;
374	no-sd;
375	non-removable;
376	max-frequency = <200000000>;
377	mmc-hs400-1_8v;
378	mmc-hs400-enhanced-strobe;
379	status = "okay";
380};
381
382&sdmmc {
383	max-frequency = <150000000>;
384	no-sdio;
385	no-mmc;
386	bus-width = <4>;
387	cap-mmc-highspeed;
388	cap-sd-highspeed;
389	disable-wp;
390	sd-uhs-sdr104;
391	vqmmc-supply = <&vccio_sd_s0>;
392	status = "disabled";
393};
394
395&tsadc {
396	status = "okay";
397};
398
399&u2phy0 {
400	status = "okay";
401};
402
403&u2phy1 {
404	status = "okay";
405};
406
407&u2phy2 {
408	status = "okay";
409};
410
411&u2phy3 {
412	status = "okay";
413};
414
415&u2phy0_otg {
416	status = "okay";
417};
418
419&u2phy1_otg {
420	status = "okay";
421};
422
423&u2phy2_host {
424	status = "okay";
425};
426
427&u2phy3_host {
428	status = "okay";
429};
430
431&usb_host0_ehci {
432	status = "okay";
433};
434
435&usb_host0_ohci {
436	status = "okay";
437};
438
439&usb_host1_ehci {
440	status = "okay";
441};
442
443&usb_host1_ohci {
444	status = "okay";
445};
446
447&usbdp_phy0 {
448	status = "okay";
449};
450
451&usbdp_phy0_dp {
452	status = "okay";
453};
454
455&usbdp_phy0_u3 {
456	status = "okay";
457};
458
459&usbdp_phy1 {
460	status = "okay";
461};
462
463&usbdp_phy1_dp {
464	status = "okay";
465};
466
467&usbdp_phy1_u3 {
468	status = "okay";
469};
470
471&usbdrd3_0 {
472	status = "okay";
473};
474
475&usbdrd_dwc3_0 {
476	dr_mode = "otg";
477	status = "okay";
478};
479
480&usbhost3_0 {
481	status = "okay";
482};
483
484&usbhost_dwc3_0 {
485	status = "okay";
486};
487
488&usbdrd3_1 {
489	status = "okay";
490};
491
492&usbdrd_dwc3_1 {
493	status = "okay";
494};
495
496&vdpu {
497	status = "okay";
498};
499
500&vdpu_mmu {
501	status = "okay";
502};
503
504&vepu {
505	status = "okay";
506};
507
508&vop {
509	status = "okay";
510};
511
512&vop_mmu {
513	status = "okay";
514};
515
516/* vp0 & vp1 splice for 8K output */
517&vp0 {
518	rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER0 | 1 << ROCKCHIP_VOP2_ESMART0)>;
519	rockchip,primary-plane = <ROCKCHIP_VOP2_ESMART0>;
520};
521
522&vp1 {
523	rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER1 | 1 << ROCKCHIP_VOP2_ESMART1)>;
524	rockchip,primary-plane = <ROCKCHIP_VOP2_ESMART1>;
525};
526
527&vp2 {
528	rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER2 | 1 << ROCKCHIP_VOP2_ESMART2)>;
529	rockchip,primary-plane = <ROCKCHIP_VOP2_ESMART2>;
530};
531
532&vp3 {
533	rockchip,plane-mask = <(1 << ROCKCHIP_VOP2_CLUSTER3 | 1 << ROCKCHIP_VOP2_ESMART3)>;
534	rockchip,primary-plane = <ROCKCHIP_VOP2_ESMART3>;
535};
536