@veye_xumm 单独给摄像头供5V没问题了,谢谢。
T
Posts made by 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"; };
-
关于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)
请教一下问题出在哪里,我应该如何进行排查。