1// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2/*
3 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
4 *
5 */
6
7&csi2_dphy0_hw {
8	status = "okay";
9};
10
11&csi2_dphy0 {
12	status = "okay";
13
14	ports {
15		#address-cells = <1>;
16		#size-cells = <0>;
17		port@0 {
18			reg = <0>;
19			#address-cells = <1>;
20			#size-cells = <0>;
21
22			mipi_dphy0_in_nvp6188: endpoint@1 {
23				reg = <1>;
24				remote-endpoint = <&nvp6188_out>;
25				data-lanes = <1 2 3 4>;
26			};
27		};
28		port@1 {
29			reg = <1>;
30			#address-cells = <1>;
31			#size-cells = <0>;
32
33			csidphy0_out: endpoint@0 {
34				reg = <0>;
35				remote-endpoint = <&mipi2_csi2_input>;
36			};
37		};
38	};
39};
40
41&i2c7 {
42	status = "okay";
43
44
45	nvp6188: nvp6188@31 {
46		compatible = "nvp6188";
47		status = "okay";
48		reg = <0x31>;
49		clocks = <&cru CLK_MIPI_CAMARAOUT_M2>;
50		clock-names = "xvclk";
51		power-domains = <&power RK3588_PD_VI>;
52		pinctrl-names = "default";
53		pinctrl-0 = <&mipim1_camera1_clk>;
54		rockchip,grf = <&sys_grf>;
55		/*power-gpios = <&gpio3 RK_PC6 GPIO_ACTIVE_HIGH>;*/
56		reset-gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_HIGH>;
57		rockchip,camera-module-index = <0>;
58		rockchip,camera-module-facing = "back";
59		rockchip,camera-module-name = "nvp6188";
60		rockchip,camera-module-lens-name = "nvp6188";
61
62		port {
63			nvp6188_out: endpoint {
64				remote-endpoint = <&mipi_dphy0_in_nvp6188>;
65				data-lanes = <1 2 3 4>;
66			};
67		};
68	};
69};
70
71&mipi2_csi2 {
72	status = "okay";
73
74	ports {
75		#address-cells = <1>;
76		#size-cells = <0>;
77
78		port@0 {
79			reg = <0>;
80			#address-cells = <1>;
81			#size-cells = <0>;
82
83			mipi2_csi2_input: endpoint@1 {
84				reg = <1>;
85				remote-endpoint = <&csidphy0_out>;
86			};
87		};
88
89		port@1 {
90			reg = <1>;
91			#address-cells = <1>;
92			#size-cells = <0>;
93
94			mipi2_csi2_output: endpoint@0 {
95				reg = <0>;
96				remote-endpoint = <&cif_mipi2_in>;
97			};
98		};
99	};
100};
101
102&rkcif_mipi_lvds2 {
103	status = "okay";
104	/* parameters for do cif reset detecting:
105	 * index0: monitor mode,
106		   0 for idle,
107		   1 for continue,
108		   2 for trigger,
109		   3 for hotplug (for nextchip)
110	 * index1: the frame id to start timer,
111		   min is 2
112	 * index2: frame num of monitoring cycle
113	 * index3: err time for keep monitoring
114		   after finding out err (ms)
115	 * index4: csi2 err reference val for resetting
116	 */
117	rockchip,cif-monitor = <3 2 1 1000 5>;
118
119	port {
120		cif_mipi2_in: endpoint {
121			remote-endpoint = <&mipi2_csi2_output>;
122		};
123	};
124};
125
126&rkcif {
127	status = "okay";
128	rockchip,android-usb-camerahal-enable;
129	// memory-region = <&cif_reserved>;
130};
131
132&rkcif_mmu {
133	status = "okay";
134};
135
136