|
本帖最后由 lanth 于 2023-6-17 19:08 编辑
我在rk3588使用图像解码芯片techpoint tp2855外接四个摄像头,有大佬调试过这一部分驱动吗?可以分享一下调试过程,我的设备树配置如下,但是目前摄像头还没有调试成功,可以帮我看一下设备树配置吗?驱动使用的代码是这个链接;https://github.com/armbian/linux-rockchip/tree/rk-5.10-rkr4/drivers/media/i2c/techpoint,我应该使用那个开源的代码,可以分享一下techpoint tp2855的代码链接吗?谢谢了.
&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";
tp2855: tp2855@44 {
// compatible = "tpcamera,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_mipi_lvds2_sditf {
status = "okay";
port {
mipi_lvds_sditf: endpoint {
remote-endpoint = <&isp0_vir0>;
};
};
};
//只有一个
&rkcif_mmu {
status = "okay";
};
//对应0和1
&rkisp0 {
status = "okay";
};
//对应0和1
&isp0_mmu {
status = "okay";
};
//将数据流平均分配到两个isp上即可
&rkisp0_vir0 {
status = "okay";
port {
#address-cells = <1>;
#size-cells = <0>;
isp0_vir0: endpoint@0 {
reg = <0>;
remote-endpoint = <&mipi_lvds_sditf>;
};
};
};
|
|