xref: /OK3568_Linux_fs/kernel/arch/arm64/boot/dts/rockchip/rk3568-nvr.dtsi (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7#include "rk3568.dtsi"
8#include <dt-bindings/gpio/gpio.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/sensor-dev.h>
13
14/ {
15	adc_keys: adc-keys {
16		compatible = "adc-keys";
17		io-channels = <&saradc 0>;
18		io-channel-names = "buttons";
19		keyup-threshold-microvolt = <1800000>;
20		poll-interval = <100>;
21
22		vol-up-key {
23			label = "volume up";
24			linux,code = <KEY_VOLUMEUP>;
25			press-threshold-microvolt = <1750>;
26		};
27
28		vol-down-key {
29			label = "volume down";
30			linux,code = <KEY_VOLUMEDOWN>;
31			press-threshold-microvolt = <297500>;
32		};
33	};
34
35	dc_12v: dc-12v {
36		compatible = "regulator-fixed";
37		regulator-name = "dc_12v";
38		regulator-always-on;
39		regulator-boot-on;
40		regulator-min-microvolt = <12000000>;
41		regulator-max-microvolt = <12000000>;
42	};
43
44	hdmi_sound: hdmi-sound {
45		compatible = "simple-audio-card";
46		simple-audio-card,format = "i2s";
47		simple-audio-card,mclk-fs = <128>;
48		simple-audio-card,name = "hdmi-sound";
49		status = "okay";
50
51		simple-audio-card,cpu {
52				sound-dai = <&i2s0_8ch>;
53		};
54		simple-audio-card,codec {
55				sound-dai = <&hdmi>;
56		};
57	};
58
59	reserved-memory {
60		#address-cells = <2>;
61		#size-cells = <2>;
62		ranges;
63
64		rknpu_reserved: rknpu {
65			compatible = "shared-dma-pool";
66			inactive;
67			reusable;
68			size = <0x0 0x20000000>;
69			alignment = <0x0 0x1000>;
70		};
71	};
72
73	spdif-sound {
74		status = "okay";
75		compatible = "simple-audio-card";
76		simple-audio-card,name = "ROCKCHIP,SPDIF";
77		simple-audio-card,mclk-fs = <128>;
78		simple-audio-card,cpu {
79				sound-dai = <&spdif_8ch>;
80		};
81		simple-audio-card,codec {
82				sound-dai = <&spdif_out>;
83		};
84	};
85
86	spdif_out: spdif-out {
87			status = "okay";
88			compatible = "linux,spdif-dit";
89			#sound-dai-cells = <0>;
90	};
91
92	vcc3v3_sys: vcc3v3-sys {
93		compatible = "regulator-fixed";
94		regulator-name = "vcc3v3_sys";
95		regulator-always-on;
96		regulator-boot-on;
97		regulator-min-microvolt = <3300000>;
98		regulator-max-microvolt = <3300000>;
99		vin-supply = <&dc_12v>;
100	};
101
102	vcc5v0_sys: vcc5v0-sys {
103		compatible = "regulator-fixed";
104		regulator-name = "vcc5v0_sys";
105		regulator-always-on;
106		regulator-boot-on;
107		regulator-min-microvolt = <5000000>;
108		regulator-max-microvolt = <5000000>;
109		vin-supply = <&dc_12v>;
110	};
111
112	vcc5v0_host: vcc5v0-host-regulator {
113		compatible = "regulator-fixed";
114		enable-active-high;
115		gpio = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>;
116		pinctrl-names = "default";
117		pinctrl-0 = <&vcc5v0_host_en>;
118		regulator-name = "vcc5v0_host";
119		regulator-always-on;
120	};
121
122	vcc_1v8: vcc_1v8 {
123		compatible = "regulator-fixed";
124		regulator-name = "vcc_1v8";
125		regulator-always-on;
126		regulator-boot-on;
127		regulator-min-microvolt = <1800000>;
128		regulator-max-microvolt = <1800000>;
129		vin-supply = <&vcc5v0_sys>;
130	};
131
132	vcc_3v3: vcc_3v3{
133		compatible = "regulator-fixed";
134		regulator-name = "vcc_3v3";
135		regulator-always-on;
136		regulator-boot-on;
137		regulator-min-microvolt = <3300000>;
138		regulator-max-microvolt = <3300000>;
139		vin-supply = <&vcc5v0_sys>;
140	};
141
142	vdd_fixed: vdd-fixed {
143		compatible = "regulator-fixed";
144		regulator-name = "vdd_fixed";
145		regulator-min-microvolt = <900000>;
146		regulator-max-microvolt = <900000>;
147		regulator-always-on;
148		regulator-boot-on;
149		vin-supply = <&vcc5v0_sys>;
150	};
151
152	vdd_logic: vdd-logic {
153		compatible = "pwm-regulator";
154		pwms = <&pwm1 0 5000 1>;
155		regulator-name = "vdd_logic";
156		regulator-min-microvolt = <800000>;
157		regulator-max-microvolt = <1200000>;
158		regulator-init-microvolt = <900000>;
159		regulator-always-on;
160		regulator-boot-on;
161		regulator-settling-time-up-us = <250>;
162		pwm-supply = <&vcc5v0_sys>;
163		status = "okay";
164	};
165
166	vdd_npu: vdd-npu {
167		compatible = "pwm-regulator";
168		pwms = <&pwm2 0 5000 1>;
169		regulator-name = "vdd_npu";
170		regulator-min-microvolt = <800000>;
171		regulator-max-microvolt = <1200000>;
172		regulator-init-microvolt = <950000>;
173		regulator-always-on;
174		regulator-boot-on;
175		regulator-settling-time-up-us = <250>;
176		pwm-supply = <&vcc5v0_sys>;
177		status = "okay";
178	};
179};
180
181&bus_npu {
182	bus-supply = <&vdd_logic>;
183	pvtm-supply = <&vdd_cpu>;
184	status = "okay";
185};
186
187&combphy0_us {
188	status = "okay";
189};
190
191&cpu0 {
192	cpu-supply = <&vdd_cpu>;
193};
194
195&cpu0_opp_table {
196	/delete-node/ opp-1992000000;
197};
198
199&CPU_SLEEP {
200	status = "disabled";
201};
202
203&dsi0_in_vp0 {
204	status = "disabled";
205};
206
207&dsi0_in_vp1 {
208	status = "okay";
209};
210
211&dsi1_in_vp0 {
212	status = "disabled";
213};
214
215&dsi1_in_vp1 {
216	status = "okay";
217};
218
219&edp {
220	hpd-gpios = <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>;
221	status = "okay";
222};
223
224&edp_in_vp0 {
225	status = "disabled";
226};
227
228&edp_in_vp1 {
229	status = "okay";
230};
231
232&edp_phy {
233	status = "okay";
234};
235
236&gpu {
237	mali-supply = <&vdd_fixed>;
238	status = "okay";
239};
240
241&gpu_opp_table {
242	/delete-node/ opp-800000000;
243};
244
245&hdmi {
246	skip-check-420-mode;
247	status = "okay";
248};
249
250&hdmi_in_vp0 {
251	status = "okay";
252};
253
254&hdmi_in_vp1 {
255	status = "disabled";
256};
257
258&i2c0 {
259	status = "okay";
260
261	vdd_cpu: tcs4525@1c {
262		compatible = "tcs,tcs4525";
263		reg = <0x1c>;
264		vin-supply = <&vcc5v0_sys>;
265		regulator-compatible = "fan53555-reg";
266		regulator-name = "vdd_cpu";
267		regulator-min-microvolt = <712500>;
268		regulator-max-microvolt = <1390000>;
269		regulator-init-microvolt = <900000>;
270		regulator-ramp-delay = <2300>;
271		fcs,suspend-voltage-selector = <1>;
272		regulator-boot-on;
273		regulator-always-on;
274		regulator-state-mem {
275			regulator-off-in-suspend;
276		};
277	};
278};
279
280&i2s0_8ch {
281	status = "okay";
282};
283
284&i2s1_8ch {
285	status = "okay";
286	rockchip,clk-trcm = <1>;
287	pinctrl-names = "default";
288	pinctrl-0 = <&i2s1m0_sclktx
289		     &i2s1m0_lrcktx
290		     &i2s1m0_sdi0
291		     &i2s1m0_sdo0>;
292};
293
294&iep {
295	status = "okay";
296};
297
298&iep_mmu {
299	status = "okay";
300};
301
302&jpegd {
303	status = "okay";
304};
305
306&jpegd_mmu {
307	status = "okay";
308};
309
310&video_phy0 {
311	status = "okay";
312};
313
314&video_phy1 {
315	status = "okay";
316};
317
318&mpp_srv {
319	status = "okay";
320};
321
322/* Need to be modified according to the actual hardware */
323&pmu_io_domains {
324	status = "okay";
325	pmuio2-supply = <&vcc_3v3>;
326	vccio1-supply = <&vcc_3v3>;
327	vccio3-supply = <&vcc_3v3>;
328	vccio4-supply = <&vcc_3v3>;
329	vccio5-supply = <&vcc_3v3>;
330	vccio6-supply = <&vcc_3v3>;
331	vccio7-supply = <&vcc_3v3>;
332};
333
334&pwm1 {
335	status = "okay";
336	pinctrl-names = "active";
337};
338
339&pwm2 {
340	status = "okay";
341	pinctrl-names = "active";
342};
343
344&rk_rga {
345	status = "okay";
346};
347
348&rknpu {
349	memory-region = <&rknpu_reserved>;
350	rknpu-supply = <&vdd_npu>;
351	status = "okay";
352};
353
354&rknpu_mmu {
355	status = "disabled";
356};
357
358&rkvdec {
359	rockchip,disable-auto-freq;
360	assigned-clock-rates = <396000000>, <396000000>, <396000000>, <600000000>;
361	status = "okay";
362};
363
364&rkvdec_mmu {
365	status = "okay";
366};
367
368&rkvdec_sram {
369	reg = <0x0 0x10000>;
370};
371
372&rkvenc {
373	status = "okay";
374};
375
376&rkvenc_mmu {
377	status = "okay";
378};
379
380&route_hdmi {
381	status = "okay";
382	connect = <&vp0_out_hdmi>;
383};
384
385&saradc {
386	status = "okay";
387	vref-supply = <&vcc_1v8>;
388};
389
390&sdhci {
391	bus-width = <8>;
392	no-sdio;
393	no-sd;
394	non-removable;
395	status = "okay";
396};
397
398&sfc {
399	status = "okay";
400
401	flash@0 {
402		compatible = "spi-nand";
403		reg = <0>;
404		spi-max-frequency = <75000000>;
405		spi-rx-bus-width = <4>;
406		spi-tx-bus-width = <1>;
407	};
408};
409
410&spdif_8ch {
411	status = "okay";
412};
413
414&sram {
415	reg = <0x0 0xfdcc0000 0x0 0x10000>;
416	ranges = <0x0 0x0 0xfdcc0000 0x10000>;
417};
418
419&tsadc {
420	status = "okay";
421};
422
423&u2phy0_host {
424	phy-supply = <&vcc5v0_host>;
425	status = "okay";
426};
427
428&u2phy0_otg {
429	phy-supply = <&vcc5v0_host>;
430	status = "okay";
431};
432
433&u2phy1_host {
434	phy-supply = <&vcc5v0_host>;
435	status = "okay";
436};
437
438&u2phy1_otg {
439	phy-supply = <&vcc5v0_host>;
440	status = "okay";
441};
442
443&usb2phy0 {
444	status = "okay";
445};
446
447&usb2phy1 {
448	status = "okay";
449};
450
451&usb_host0_ehci {
452	status = "okay";
453};
454
455&usb_host0_ohci {
456	status = "okay";
457};
458
459&usb_host1_ehci {
460	status = "okay";
461};
462
463&usb_host1_ohci {
464	status = "okay";
465};
466
467&usbdrd_dwc3 {
468	dr_mode = "otg";
469	extcon = <&usb2phy0>;
470	status = "okay";
471};
472
473&usbdrd30 {
474	status = "okay";
475};
476
477&usbhost_dwc3 {
478	phys = <&u2phy0_host>;
479	phy-names = "usb2-phy";
480	maximum-speed = "high-speed";
481	status = "okay";
482};
483
484&usbhost30 {
485	status = "okay";
486};
487
488&vdpu {
489	status = "okay";
490};
491
492&vdpu_mmu {
493	status = "okay";
494};
495
496&vepu {
497	status = "okay";
498};
499
500&vepu_mmu {
501	status = "okay";
502};
503
504&vop {
505	status = "okay";
506	assigned-clocks = <&cru DCLK_VOP1>;
507	assigned-clock-parents = <&cru PLL_VPLL>;
508};
509
510&vop_mmu {
511	status = "okay";
512};
513
514&pinctrl {
515	usb {
516		vcc5v0_host_en: vcc5v0-host-en {
517			rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
518		};
519	};
520};
521