Navigation

    VEYE IMAGING Forum

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Recent
    • Popular
    • Users
    • WIKI
    • veye.cc
    1. Home
    2. teo.chan
    T
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 5
    • Best 0
    • Groups 0

    teo.chan

    @teo.chan

    0
    Reputation
    1
    Profile views
    5
    Posts
    0
    Followers
    0
    Following
    Joined Last Online
    Email ref_ame@163.com

    teo.chan Follow

    Latest posts made by teo.chan

    • RE: 关于IMX385抓图问题

      @veye_xumm 单独给摄像头供5V没问题了,谢谢。

      posted in Rockchip App camera
      T
      teo.chan
    • RE: 关于IMX385抓图问题

      @veye_xumm 刚才量了一下,排线输出的是3.3V,到camera端拉低了一点变成3.0V了。

      posted in Rockchip App camera
      T
      teo.chan
    • RE: 关于IMX385抓图问题

      @veye_xumm 我们做了根FPC排线,这是原理图

      • b3613d4b-aa65-452d-8ebb-7d07f1db5d2d-image.png

      8aa98096-1f81-4f48-8852-0c712f49d6eb-image.png

      posted in Rockchip App camera
      T
      teo.chan
    • RE: 关于IMX385抓图问题

      @veye_xumm 有的,radxa官方有支持一款 IMX415的camera,这是他们官方的设备树

      /dts-v1/;
      /plugin/;
      
      #include <dt-bindings/clock/rk3588-cru.h>
      #include <dt-bindings/power/rk3588-power.h>
      #include <dt-bindings/gpio/gpio.h>
      #include <dt-bindings/pinctrl/rockchip.h>
      
      / {
      	metadata {
      		title ="Enable Radxa Camera 4K";
      		compatible = "radxa,rock-5b";
      		category = "camera";
      		exclusive = "csi2_dphy0";
      		description = "Enable Radxa Camera 4K.";
      	};
      
      	fragment@0 {
      		target = <&i2c3>;
      
      		__overlay__ {
      			status = "okay";
      			#address-cells = <1>;
      			#size-cells = <0>;
      
      			imx415: imx415@1a {
      				status = "okay";
      				compatible = "sony,imx415";
      				reg = <0x1a>;
      				clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
      				clock-names = "xvclk";
      				pinctrl-names = "default";
      				pinctrl-0 = <&mipim0_camera3_clk>;
      				power-domains = <&power RK3588_PD_VI>;
      				pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
      				reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_LOW>;
      				rockchip,camera-module-index = <0>;
      				rockchip,camera-module-facing = "back";
      				rockchip,camera-module-name = "RADXA-CAMERA-4K";
      				rockchip,camera-module-lens-name = "DEFAULT";
      				port {
      					imx415_out0: endpoint {
      						remote-endpoint = <&mipidphy0_in_ucam0>;
      						data-lanes = <1 2 3 4>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@1 {
      		target = <&csi2_dphy0_hw>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@2 {
      		target = <&csi2_dphy0>;
      
      		__overlay__ {
      			status = "okay";
      
      			ports {
      				#address-cells = <1>;
      				#size-cells = <0>;
      
      				port@0 {
      					reg = <0>;
      					#address-cells = <1>;
      					#size-cells = <0>;
      
      					mipidphy0_in_ucam0: endpoint@1 {
      						reg = <1>;
      						remote-endpoint = <&imx415_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>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@3 {
      		target = <&mipi2_csi2>;
      
      		__overlay__ {
      			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_mipi2_in0>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@4 {
      		target = <&rkcif>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@5 {
      		target = <&rkcif_mipi_lvds2>;
      
      		__overlay__ {
      			status = "okay";
      
      			port {
      				cif_mipi2_in0: endpoint {
      					remote-endpoint = <&mipi2_csi2_output>;
      				};
      			};
      		};
      	};
      
      	fragment@6 {
      		target = <&rkcif_mipi_lvds2_sditf>;
      
      		__overlay__ {
      			status = "okay";
      
      			port {
      				mipi_lvds2_sditf: endpoint {
      					remote-endpoint = <&isp0_vir0>;
      				};
      			};
      		};
      	};
      
      	fragment@7 {
      		target = <&rkcif_mmu>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@8 {
      		target = <&isp0_mmu>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@9 {
      		target = <&rkisp0>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@10 {
      		target = <&rkisp0_vir0>;
      
      		__overlay__ {
      			status = "okay";
      
      			port {
      				#address-cells = <1>;
      				#size-cells = <0>;
      
      				isp0_vir0: endpoint@0 {
      					reg = <0>;
      					remote-endpoint = <&mipi_lvds2_sditf>;
      				};
      			};
      		};
      	};
      };
      

      我对比了一下 rkips 为disabled,其他的基本一致。

      &rkcif_mipi_lvds2_sditf {
              status = "disabled";
      };
      
      &rkisp0 {
              status = "disabled";
      };
      
      &isp0_mmu {
              status = "disabled";
      };
      
      &rkisp0_vir0 {
              status = "disabled";
      };
      
      posted in Rockchip App camera
      T
      teo.chan
    • 关于IMX385抓图问题

      你好,我尝试制作FPC排线让 rock5b开发板能支持 IMX385, 设备树如下

      /dts-v1/;
      /plugin/;
      
      #include <dt-bindings/clock/rk3588-cru.h>
      #include <dt-bindings/power/rk3588-power.h>
      #include <dt-bindings/gpio/gpio.h>
      #include <dt-bindings/pinctrl/rockchip.h>
      
      / {
      	metadata {
      		title ="Enable VEYE CSI-2 Camera Modules";
      		compatible = "radxa,rock-5b";
      		category = "camera";
      		exclusive = "csi2_dphy0";
      		description = "Enable VEYE CSI-2 Camera Modules.";
      	};
      
      	fragment@0 {
      		target = <&i2c3>;
      
      		__overlay__ {
      			status = "okay";
      			#address-cells = <1>;
      			#size-cells = <0>;
      
      			veyecam2m: veyecam2m@3b{
      				status = "okay";
      				compatible = "veye,veyecam2m";
      				reg = <0x3b>;
      				clocks = <&cru CLK_MIPI_CAMARAOUT_M3>;
      				clock-names = "xvclk";
      				pinctrl-names = "default";
      				pinctrl-0 = <&mipim0_camera3_clk>;
      				power-domains = <&power RK3588_PD_VI>;
      				pwdn-gpios = <&gpio1 RK_PB0 GPIO_ACTIVE_HIGH>;
      				reset-gpios = <&gpio4 RK_PA0 GPIO_ACTIVE_HIGH>;
      				rockchip,camera-module-index = <0>;
      				rockchip,camera-module-facing = "back";
      				rockchip,camera-module-name = "NC";
      				rockchip,camera-module-lens-name = "NC";
      				port {
      					veyecam2m_out0: endpoint {
      						remote-endpoint = <&mipidphy0_in_ucam0>;
      						data-lanes = <1 2>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@1 {
      		target = <&csi2_dphy0_hw>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@2 {
      		target = <&csi2_dphy0>;
      
      		__overlay__ {
      			status = "okay";
      
      			ports {
      				#address-cells = <1>;
      				#size-cells = <0>;
      
      				port@0 {
      					reg = <0>;
      					#address-cells = <1>;
      					#size-cells = <0>;
      
      					mipidphy0_in_ucam0: endpoint@1 {
      						reg = <1>;
      						remote-endpoint = <&veyecam2m_out0>;
      						data-lanes = <1 2>;
      					};
      				};
      
      				port@1 {
      					reg = <1>;
      					#address-cells = <1>;
      					#size-cells = <0>;
      
      					csidphy0_out: endpoint@0 {
      						reg = <0>;
      						remote-endpoint = <&mipi2_csi2_input>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@3 {
      		target = <&mipi2_csi2>;
      
      		__overlay__ {
      			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_mipi2_in0>;
      					};
      				};
      			};
      		};
      	};
      
      	fragment@4 {
      		target = <&rkcif>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@5 {
      		target = <&rkcif_mipi_lvds2>;
      
      		__overlay__ {
      			status = "okay";
      			firefly,yuv_camera;
      
      			port {
      				cif_mipi2_in0: endpoint {
      					remote-endpoint = <&mipi2_csi2_output>;
      				};
      			};
      		};
      	};
      
      	fragment@6 {
      		target = <&rkcif_mipi_lvds2_sditf>;
      
      		__overlay__ {
      			status = "disabled";
      
      			port {
      				mipi_lvds2_sditf: endpoint {
      					remote-endpoint = <&isp0_vir0>;
      				};
      			};
      		};
      	};
      
      	fragment@7 {
      		target = <&rkcif_mmu>;
      
      		__overlay__ {
      			status = "okay";
      		};
      	};
      
      	fragment@8 {
      		target = <&isp0_mmu>;
      
      		__overlay__ {
      			status = "disabled";
      		};
      	};
      
      	fragment@9 {
      		target = <&rkisp0>;
      
      		__overlay__ {
      			status = "disabled";
      		};
      	};
      
      	fragment@10 {
      		target = <&rkisp0_vir0>;
      
      		__overlay__ {
      			status = "disabled";
      
      			port {
      				#address-cells = <1>;
      				#size-cells = <0>;
      
      				isp0_vir0: endpoint@0 {
      					reg = <0>;
      					remote-endpoint = <&mipi_lvds2_sditf>;
      				};
      			};
      		};
      	};
      };
      
      
      

      开发板能够正确识别相机

      [    6.032099] veyecam2m 3-003b: veye camera driver version: 00.01.01
      [    6.032129] veyecam2m 3-003b: Failed to get power-gpios, maybe no use
      [    6.032183] veyecam2m 3-003b: Looking up avdd-supply from device tree
      [    6.032195] veyecam2m 3-003b: Looking up avdd-supply property in node /i2c@feab0000/veyecam2m@3b failed
      [    6.032227] veyecam2m 3-003b: supply avdd not found, using dummy regulator
      [    6.032336] veyecam2m 3-003b: Looking up dovdd-supply from device tree
      [    6.032348] veyecam2m 3-003b: Looking up dovdd-supply property in node /i2c@feab0000/veyecam2m@3b failed
      [    6.032364] veyecam2m 3-003b: supply dovdd not found, using dummy regulator
      [    6.032398] veyecam2m 3-003b: Looking up dvdd-supply from device tree
      [    6.032409] veyecam2m 3-003b: Looking up dvdd-supply property in node /i2c@feab0000/veyecam2m@3b failed
      [    6.032424] veyecam2m 3-003b: supply dvdd not found, using dummy regulator
      [    6.032457] veyecam2m 3-003b: could not get default pinstate
      [    6.032574] veyecam2m 3-003b: could not get sleep pinstate
      [    6.032676] veyecam2m 3-003b: Success to get veyecam2m endpoint data lanes, dts uses 2 lanes
      [    6.155079] veyecam2m 3-003b:  camera id is veyecam2m
      [    6.158461] veyecam2m 3-003b: sensor is IMX385
      [    6.158547] veyecam2m 3-003b: board type is ONE board
      [    6.160004] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_veyecam2m 3-003b:bus type 5
      

      当我使用以下命令抓图的时候

      v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap --stream-count=100 --stream-to=nv12-1920x1080.yuv
      

      会报错

      [  162.928606] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream on, src_sd: 00000000e7b2a9e6, sd_name:rockchip-csi2-dphy0
      [  162.928674] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream ON
      [  164.876990] mipi2-csi2 ERR1:0x1000010 (fs/fe mis,vc: 0) (crc,vc: 0)
      [  164.877110] rkcif-mipi-lvds2: ERROR: csi size err, intstat:0x1000002, lastline:29!!
      [  166.528086] mipi2-csi2 ERR1:0x10 (fs/fe mis,vc: 0)
      [  168.179137] mipi2-csi2 ERR1:0x1000000 (crc,vc: 0)
      [  169.830230] rkcif-mipi-lvds2: ERROR: csi size err, intstat:0x1000002, lastline:63!!
      [  169.830333] mipi2-csi2 ERR1:0x10 (fs/fe mis,vc: 0)
      

      请教一下问题出在哪里,我应该如何进行排查。

      posted in Rockchip App camera
      T
      teo.chan