armbian / linux-rockchip

Improved Rockchip Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The RK3588 uses TechPoint TP2855 to decode how the device tree is configured

lantianhaohh opened this issue · comments

Hello, I would like to ask, I use the image decoding chip techpoint TP2855 external four cameras in RK3588, using the code under your techpoint directory, how do I configure the device tree? What is my device tree configuration? Can you help me correct it? Thank you.

&csi2_dphy0_hw {
	status = "okay";
};

&csi2_dphy0 {
	status = "okay";
	ports {
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			mipi_in_ucam0: endpoint@1 {
				reg = <1>;
				remote-endpoint = <&ucam_out0>;
				data-lanes = <1 2 3 4>;
			};
		};
		port@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			csidphy0_out: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&mipi2_csi2_input>;
			};
		};
	};
};

&i2c3 {
	status = "okay";

	techpoint: tp2855_a@44 {
	     compatible = "techbotify,tp2855";
             // compatible = "techpoint,tp2855";
            status = "okay";
		reg = <0x44>;
		clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
		clock-names = "xvclk";
		// pinctrl-names = "default";
                pinctrl-names = "rockchip,camera_default";
		pinctrl-0 = <&mipim0_camera3_clk>;
		power-domains = <&power RK3588_PD_VI>;
                // avdd-supply = <&vcc_avdd>;
		// dovdd-supply = <&vcc_dovdd>;
		// dvdd-supply = <&vcc_dvdd>;

		dovdd-supply = <&vcc_mipicsi1>;
                avdd-supply = <&vcc_mipicsi0>;
                dvdd-supply = <&vcc_mipicsi1>;
		// pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>;
		pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
		reset-gpios = <&gpio4 RK_PC6 GPIO_ACTIVE_LOW>;
		rockchip,camera-module-index = <0>;
		rockchip,camera-module-facing = "back";
		rockchip,camera-module-name = "tp2855";
		rockchip,camera-module-lens-name = "tp2855";
		port {
			ucam_out0: endpoint {
				remote-endpoint = <&mipi_in_ucam0>;
				data-lanes = <1 2 3 4>;
			};
		};
	};
};

&mipi2_csi2 {
	status = "okay";
	ports {
		#address-cells = <1>;
		#size-cells = <0>;
		port@0 {
			reg = <0>;
			#address-cells = <1>;
			#size-cells = <0>;
			mipi2_csi2_input: endpoint@1 {
				reg = <1>;
				remote-endpoint = <&csidphy0_out>;
			};
		};
		port@1 {
			reg = <1>;
			#address-cells = <1>;
			#size-cells = <0>;
			mipi2_csi2_output: endpoint@0 {
				reg = <0>;
				remote-endpoint = <&cif_mipi_in2>;
			};
		};
	};
};

&rkcif {
	status = "okay";
};

&rkcif_mipi_lvds2 {
	status = "okay";
	port {
		cif_mipi_in2: endpoint {
			remote-endpoint = <&mipi2_csi2_output>;
		};
	};
};

&rkcif_mmu {
	status = "okay";
};
&rkisp0 {
	status = "okay";
};

&isp0_mmu {
	status = "okay";
};

&rkisp0_vir0 {
	status = "okay";
	port {
		#address-cells = <1>;
		#size-cells = <0>;
		isp0_vir0: endpoint@0 {
			reg = <0>;
			remote-endpoint = <&mipi_lvds_sditf>;
		};
	};
};
commented

Can you help me correct it?

Since this is not an issue, i would recommend you to use forums https://forum.armbian.com/