xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/rv1126-evb-ddr3-v13-dualcam-tb-emmc.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2020 Rockchip Electronics Co., Ltd.
4 */
5
6/dts-v1/;
7#include "rv1126.dtsi"
8#include "rv1126-evb-v13.dtsi"
9#include "rv1126-thunder-boot-emmc.dtsi"
10#include "rv1126-evb-thunder-boot.dtsi"
11
12/ {
13	model = "Rockchip RV1126 EVB DDR3 V13 with eMMC (Dualcam Thunder Boot)";
14	compatible = "rockchip,rv1126-evb-ddr3-v13-dualcam-tb-emmc", "rockchip,rv1126";
15
16	chosen {
17		bootargs = "loglevel=0 initcall_nr_threads=-1 initcall_debug=0 printk.devkmsg=on root=/dev/rd0 console=ttyFIQ0 snd_aloop.index=7 driver_async_probe=dwmmc_rockchip rk.root2nd=/dev/mmcblk0p7";
18	};
19
20	pwmleds {
21		compatible = "pwm-leds";
22
23		pwmi_ir {
24			label = "PWM-IR";
25			pwms = <&pwm11 0 25000 0>;
26			max-brightness = <255>;
27		};
28	};
29
30	vcc1v2_dvdd: vcc1v2-dvdd {
31		compatible = "regulator-fixed";
32		regulator-name = "vcc1v2_dvdd";
33		regulator-min-microvolt = <1200000>;
34		regulator-max-microvolt = <1200000>;
35	};
36
37	vcc2v8_avdd: vcc2v8-avdd {
38		compatible = "regulator-fixed";
39		regulator-name = "vcc2v8_avdd";
40		regulator-min-microvolt = <2800000>;
41		regulator-max-microvolt = <2800000>;
42	};
43};
44
45&csi_dphy0 {
46	status = "okay";
47	ports {
48		port@0 {
49			mipi_in_ucam0: endpoint@1 {
50				remote-endpoint = <&ucam_out0>;
51				data-lanes = <1 2>;
52			};
53		};
54		port@1 {
55			csidphy0_out: endpoint@0 {
56				remote-endpoint = <&mipi_csi2_input>;
57				data-lanes = <1 2>;
58			};
59		};
60	};
61};
62
63&csi_dphy1 {
64	status = "okay";
65	ports {
66		port@0 {
67			csi_dphy1_input: endpoint@1 {
68				remote-endpoint = <&ucam_out1>;
69				data-lanes = <1 2>;
70			};
71		};
72		port@1 {
73			csi_dphy1_output: endpoint@0 {
74				remote-endpoint = <&isp_in>;
75				data-lanes = <1 2>;
76			};
77		};
78	};
79};
80
81&i2c1 {
82	/delete-node/ ar0230@10;
83	/delete-node/ ov4689@36;
84	/delete-node/ os04a10@36;
85	ov2718: ov2718@10 {
86		compatible = "ovti,ov2718";
87		reg = <0x10>;
88		clocks = <&cru CLK_MIPICSI_OUT>;
89		clock-names = "xvclk";
90		power-domains = <&power RV1126_PD_VI>;
91		pinctrl-names = "rockchip,camera_default";
92		pinctrl-0 = <&mipicsi_clk1>;
93		avdd-supply = <&vcc_avdd>;
94		dovdd-supply = <&vcc_dovdd>;
95		dvdd-supply = <&vcc_dvdd>;
96		pwd-gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_HIGH>;
97		reset-gpios = <&gpio2 RK_PA0 GPIO_ACTIVE_LOW>;
98		rockchip,camera-module-index = <1>;
99		rockchip,camera-module-facing = "front";
100		rockchip,camera-module-name = "YT-RV1109-3-V1";
101		rockchip,camera-module-lens-name = "M43-4IR-2MP-F2";
102		ir-cut = <&cam_ircut0>;
103		port {
104			ucam_out1: endpoint {
105				remote-endpoint = <&csi_dphy1_input>;
106				data-lanes = <1 2>;
107			};
108		};
109	};
110
111	gc2053: gc2053@37 {
112		compatible = "galaxycore,gc2053";
113		reg = <0x37>;
114
115		clocks = <&cru CLK_MIPICSI_OUT>;
116		clock-names = "xvclk";
117
118		power-domains = <&power RV1126_PD_VI>;
119		pinctrl-names = "rockchip,camera_default";
120		pinctrl-0 = <&mipicsi_clk0>;
121		power-gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_HIGH>;
122		pwdn-gpios = <&gpio1 RK_PD4 GPIO_ACTIVE_LOW>;
123		reset-gpios = <&gpio1 RK_PD5 GPIO_ACTIVE_LOW>;
124
125		avdd-supply = <&vcc2v8_avdd>;
126		dovdd-supply = <&vcc_dovdd>;
127		dvdd-supply = <&vcc1v2_dvdd>;
128
129		rockchip,camera-module-index = <0>;
130		rockchip,camera-module-facing = "front";
131		rockchip,camera-module-name = "YT-RV1109-2-V1";
132		rockchip,camera-module-lens-name = "40IR-2MP-F20";
133		port {
134			ucam_out0: endpoint {
135				remote-endpoint = <&mipi_in_ucam0>;
136				data-lanes = <1 2>;
137			};
138		};
139	};
140};
141
142/* isp cma buffer don't fiddle with it, dual camera(1920 * 1080) need 92M buffer */
143&isp_reserved {
144	size = <0x5c00000>;
145};
146
147&mipi_csi2 {
148	status = "okay";
149	ports {
150		port@0 {
151			mipi_csi2_input: endpoint@1 {
152				remote-endpoint = <&csidphy0_out>;
153				data-lanes = <1 2>;
154			};
155		};
156
157		port@1 {
158			mipi_csi2_output: endpoint@0 {
159				remote-endpoint = <&cif_mipi_in>;
160				data-lanes = <1 2>;
161			};
162		};
163	};
164};
165
166&pwm11 {
167	status = "okay";
168	pinctrl-names = "active";
169	pinctrl-0 = <&pwm11m1_pins_pull_down>;
170};
171
172&rk809 {
173	regulators {
174		vcc_dvdd: LDO_REG6 {
175			regulator-min-microvolt = <1300000>;
176			regulator-max-microvolt = <1300000>;
177		};
178
179		vcc_avdd: LDO_REG7 {
180			regulator-min-microvolt = <3300000>;
181			regulator-max-microvolt = <3300000>;
182		};
183	};
184};
185
186&rkcif_mipi_lvds {
187	status = "okay";
188	port {
189		cif_mipi_in: endpoint {
190			remote-endpoint = <&mipi_csi2_output>;
191			data-lanes = <1 2>;
192		};
193	};
194};
195
196&rkcif_mipi_lvds_sditf {
197	status = "okay";
198
199	port {
200		cif_sditf: endpoint {
201			remote-endpoint = <&isp_virt1_in>;
202			data-lanes = <1 2 3 4>;
203		};
204	};
205};
206
207&rkisp_vir0 {
208	ports {
209		port@0 {
210			isp_in: endpoint@0 {
211				remote-endpoint = <&csi_dphy1_output>;
212			};
213		};
214	};
215};
216
217&rkisp_vir1 {
218	status = "okay";
219	ports {
220		port@0 {
221			reg = <0>;
222			#address-cells = <1>;
223			#size-cells = <0>;
224
225			isp_virt1_in: endpoint@0 {
226				reg = <0>;
227				remote-endpoint = <&cif_sditf>;
228			};
229		};
230	};
231};
232
233&rkispp_vir1 {
234	status = "okay";
235};
236
237&rkispp {
238	status = "okay";
239	/* the max input w h and fps of mulit sensor */
240	max-input = <1920 1080 30>;
241};
242