0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

rk3588調試之imx415攝像頭

jf_30051736 ? 2023-06-09 19:08 ? 次閱讀

一、環(huán)境

  • [專欄總目錄]
  • soc:rk3588
  • sensor:imx415
  • board: bpi-w3
  • linux:5.10

二、imx415簡介

三、驅動移植

瑞芯微支持的攝像頭,有個support list,

此次從該list中選擇了IMX415

3.1 驅動源文件及對應腳本

RK提供的默認sdk里面已經(jīng)將支持的所有攝像頭驅動都添加到了內核,所以不需要移植該驅動了。

需確認下移植驅動對應的一些信息

  • 源程序

3588_linux/3588_linux5.10_v1.0.5/kernel/drivers/media/i2c/imx415.c 3588_linux/3588_linux5.10_v1.0.5/kernel/drivers/media/i2c/Makefile 3588_linux/3588_linux5.10_v1.0.5/kernel/drivers/media/i2c/Kconfig 3588_linux/3588_linux5.10_v1.0.5/kernel/arch/arm64/configs/rockchip_linxu_defconfig

  • Makefile腳本

obj-$(CONFIG_VIDEO_IMX415) += imx415.o

  • Kconfig腳本
config VIDEO_IMX415
	tristate "Sony IMX415 sensor support"
	depends on I2C && VIDEO_V4L2 && VIDEO_V4L2_SUBDEV_API
	depends on MEDIA_CAMERA_SUPPORT
	help
	  This is a Video4Linux2 sensor driver for the Sony
	  IMX415 camera.

	  To compile this driver as a module, choose M here: the
	  module will be called imx415.
  • 驅動對應的宏開關

CONFIG_VIDEO_IMX415=y

3.2 dts設備樹

3-2.png

1)攝像頭鏈接示意圖

IMX415攝像頭與SOC連接的主要的引腳有:i2c、rst、pwdn、mclk、MIPI Clk、MIPI DATA

2)電路圖

3-3.png

由電路圖可知,幾個關鍵引腳關系:

reset信號:gpio4 A0

power0 down信號:gpio1 B0

I2C通道:3

clock:CLK_MIPI_CAMARAOUT_M3

3)設備樹節(jié)點

// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
 * Copyright (c) 2022 Rockchip Electronics Co., Ltd.
 *
 */

/ {
	compatible = "radxa,rock-5b", "rockchip,rk3588";

	camera_pwdn_gpio: camera-pwdn-gpio {
		status = "okay";
		compatible = "regulator-fixed";
		regulator-name = "camera_pwdn_gpio";
		regulator-always-on;
		regulator-boot-on;
		enable-active-high;
		gpio = < &gpio1 RK_PB0 GPIO_ACTIVE_HIGH >;
		pinctrl-names = "default";
		pinctrl-0 = < &cam_pwdn_gpio >;
	};

	clk_cam_24m: external-camera-clock-24m {
		status = "okay";
		compatible = "fixed-clock";
		clock-frequency = < 24000000 >;
		clock-output-names = "clk_cam_24m";
		#clock-cells = < 0 >;
	};
};

&i2c3 {
	status = "okay";

	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 = "CMK-OT2022-PX1";
		rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";
		port {
			imx415_out0: endpoint {
				remote-endpoint = < &mipidphy0_in_ucam0 >;
				data-lanes = < 1 2 3 4 >;
			};
		};
	};

	camera_imx219: camera-imx219@10 {
		status = "disabled";
		compatible = "sony,imx219";
		reg = < 0x10 >;

		clocks = < &clk_cam_24m >;
		clock-names = "xvclk";

		rockchip,camera-module-index = < 0 >;
		rockchip,camera-module-facing = "back";
		rockchip,camera-module-name = "rpi-camera-v2";
		rockchip,camera-module-lens-name = "default";

		port {
			imx219_out0: endpoint {
				remote-endpoint = < &mipidphy0_in_ucam1 >;
				data-lanes = < 1 2 >;
			};
		};
	};
};

&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 >;

			mipidphy0_in_ucam0: endpoint@1 {
				reg = < 1 >;
				remote-endpoint = < &imx415_out0 >;
				data-lanes = < 1 2 3 4 >;
			};

			mipidphy0_in_ucam1: endpoint@2 {
				reg = < 2 >;
				remote-endpoint = < &imx219_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 >;
			};
		};
	};
};

&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_mipi2_in0 >;
			};
		};
	};
};

&rkcif {
	status = "okay";
};

&rkcif_mipi_lvds2 {
	status = "okay";

	port {
		cif_mipi2_in0: endpoint {
			remote-endpoint = < &mipi2_csi2_output >;
		};
	};
};

&rkcif_mipi_lvds2_sditf {
	status = "okay";

	port {
		mipi_lvds2_sditf: endpoint {
			remote-endpoint = < &isp0_vir0 >;
		};
	};
};

&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_lvds2_sditf >;
		};
	};
};

&pinctrl {
	camera {
		cam_pwdn_gpio: cam-pwdn-gpio {
			rockchip,pins = < 1 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up >;
		};
	};
};

設備樹的信息最終轉換成i2c_client,并傳遞給IMX415驅動 imx415_probe(){ compatible = "imx415";與驅動的 of_match_table 保持一致

rockchip,camera-module-index = < 0 >;
rockchip,camera-module-facing = "back";
rockchip,camera-module-name = "CMK-OT2022-PX1";
rockchip,camera-module-lens-name = "IR0147-50IRC-8M-F20";

匹配的是external\\camera_engine_rkaiq\\iqfiles\\isp3x下面的iq文件

四、調試技能

4.1 開機log

root@linaro-alip:/# dmesg | grep imx415
[    2.547754] imx415 3-001a: driver version: 00.01.08
[    2.547767] imx415 3-001a:  Get hdr mode failed! no hdr default
[    2.547819] imx415 3-001a: Failed to get power-gpios
[    2.547826] imx415 3-001a: could not get default pinstate
[    2.547831] imx415 3-001a: could not get sleep pinstate
[    2.547850] imx415 3-001a: supply dvdd not found, using dummy regulator
[    2.547918] imx415 3-001a: supply dovdd not found, using dummy regulator
[    2.547945] imx415 3-001a: supply avdd not found, using dummy regulator
[    2.613843] imx415 3-001a: Detected imx415 id 0000e0
[    2.613890] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx415 3-001a:bus type 5
[   18.386174] imx415 3-001a: set fmt: cur_mode: 3864x2192, hdr: 0
[   18.389067] imx415 3-001a: set exposure(shr0) 2047 = cur_vts(2250) - val(203)

4.2 查看IMX415設備

驅動加載成功后,會有以下信息

  • 查看攝像頭設備節(jié)點:
root@linaro-alip:/rockchip-test# ls /dev/video* -l
crw-rw----+ 1 root video 81,  0  87 15:26 /dev/video0
crw-rw----+ 1 root video 81,  1  87 15:26 /dev/video1
crw-rw----+ 1 root video 81, 10  87 15:26 /dev/video10
crw-rw----+ 1 root video 81, 11  87 15:26 /dev/video11
crw-rw----+ 1 root video 81, 12  87 15:26 /dev/video12
crw-rw----+ 1 root video 81, 13  87 15:26 /dev/video13
crw-rw----+ 1 root video 81, 14  87 15:26 /dev/video14
crw-rw----+ 1 root video 81, 15  87 15:26 /dev/video15
crw-rw----+ 1 root video 81, 16  87 15:26 /dev/video16
crw-rw----+ 1 root video 81, 17  87 15:26 /dev/video17
crw-rw----+ 1 root video 81, 18  87 15:26 /dev/video18
crw-rw----+ 1 root video 81, 19  87 15:26 /dev/video19
crw-rw----+ 1 root video 81,  2  87 15:26 /dev/video2
crw-rw----+ 1 root video 81, 20  87 15:26 /dev/video20
crw-rw----+ 1 root video 81,  3  87 15:26 /dev/video3
crw-rw----+ 1 root video 81,  4  87 15:26 /dev/video4
crw-rw----+ 1 root video 81,  5  87 15:26 /dev/video5
crw-rw----+ 1 root video 81,  6  87 15:26 /dev/video6
crw-rw----+ 1 root video 81,  7  87 15:26 /dev/video7
crw-rw----+ 1 root video 81,  8  87 15:26 /dev/video8
crw-rw----+ 1 root video 81,  9  87 15:26 /dev/video9
lrwxrwxrwx  1 root root       7  87 15:26 /dev/video-camera0 - > video11
-rw-rw----  1 root video      4  87 15:26 /dev/video-dec0
-rw-rw----  1 root video      4  87 15:26 /dev/video-enc0

4.3 查看sys文件系統(tǒng)中文件信息

內核會為攝像頭在目錄/sys/class/video4linux下分配設備信息描述文件

root@linaro-alip:grep imx415 /sys/class/video4linux/v*/name
root@linaro-alip:/rockchip-test# grep imx415 /sys/class/video4linux/v*/name
/sys/class/video4linux/v4l-subdev2/name:m00_b_imx415 3-001a
root@linaro-alip:/rockchip-test# grep "" /sys/class/video4linux/v*/name | grep mainpath
/sys/class/video4linux/video11/name:rkisp_mainpath

4.4 查看拓撲 media-ctl -d /dev/media0 -p

root@linaro-alip:/rockchip-test# media-ctl -d /dev/media0 -p
Media controller API version 5.10.110

Media device information
------------------------
driver          rkcif
model           rkcif-mipi-lvds2
serial
bus info
hw revision     0x0
driver version  5.10.110

Device topology
- entity 1: stream_cif_mipi_id0 (1 pad, 11 links)
            type Node subtype V4L flags 0
            device node name /dev/video0
        pad0: Sink
                < - "rockchip-mipi-csi2":1 [ENABLED]
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 5: stream_cif_mipi_id1 (1 pad, 11 links)
            type Node subtype V4L flags 0
            device node name /dev/video1
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 [ENABLED]
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 9: stream_cif_mipi_id2 (1 pad, 11 links)
            type Node subtype V4L flags 0
            device node name /dev/video2
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 [ENABLED]
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 13: stream_cif_mipi_id3 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video3
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 [ENABLED]
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 17: rkcif_scale_ch0 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video4
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 [ENABLED]
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 21: rkcif_scale_ch1 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video5
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 [ENABLED]
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 25: rkcif_scale_ch2 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video6
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 [ENABLED]
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 29: rkcif_scale_ch3 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video7
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 [ENABLED]
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 33: rkcif_tools_id0 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video8
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 [ENABLED]
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 []

- entity 37: rkcif_tools_id1 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video9
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 [ENABLED]
                < - "rockchip-mipi-csi2":11 []

- entity 41: rkcif_tools_id2 (1 pad, 11 links)
             type Node subtype V4L flags 0
             device node name /dev/video10
        pad0: Sink
                < - "rockchip-mipi-csi2":1 []
                < - "rockchip-mipi-csi2":2 []
                < - "rockchip-mipi-csi2":3 []
                < - "rockchip-mipi-csi2":4 []
                < - "rockchip-mipi-csi2":5 []
                < - "rockchip-mipi-csi2":6 []
                < - "rockchip-mipi-csi2":7 []
                < - "rockchip-mipi-csi2":8 []
                < - "rockchip-mipi-csi2":9 []
                < - "rockchip-mipi-csi2":10 []
                < - "rockchip-mipi-csi2":11 [ENABLED]

- entity 45: rockchip-mipi-csi2 (12 pads, 122 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev0
        pad0: Sink
                [fmt:SGBRG10_1X10/3864x2192 field:none
                 crop.bounds:(12,16)/3840x2160
                 crop:(12,16)/3840x2160]
                < - "rockchip-csi2-dphy0":1 [ENABLED]
        pad1: Source
                - > "stream_cif_mipi_id0":0 [ENABLED]
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad2: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 [ENABLED]
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad3: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 [ENABLED]
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad4: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 [ENABLED]
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad5: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 [ENABLED]
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad6: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 [ENABLED]
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad7: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 [ENABLED]
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad8: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 [ENABLED]
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad9: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 [ENABLED]
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 []
        pad10: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 [ENABLED]
                - > "rkcif_tools_id2":0 []
        pad11: Source
                - > "stream_cif_mipi_id0":0 []
                - > "stream_cif_mipi_id1":0 []
                - > "stream_cif_mipi_id2":0 []
                - > "stream_cif_mipi_id3":0 []
                - > "rkcif_scale_ch0":0 []
                - > "rkcif_scale_ch1":0 []
                - > "rkcif_scale_ch2":0 []
                - > "rkcif_scale_ch3":0 []
                - > "rkcif_tools_id0":0 []
                - > "rkcif_tools_id1":0 []
                - > "rkcif_tools_id2":0 [ENABLED]

- entity 58: rockchip-csi2-dphy0 (2 pads, 2 links)
             type V4L2 subdev subtype Unknown flags 0
             device node name /dev/v4l-subdev1
        pad0: Sink
                [fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none
                 crop.bounds:(12,16)/3840x2160]
                < - "m00_b_imx415 3-001a":0 [ENABLED]
        pad1: Source
                - > "rockchip-mipi-csi2":0 [ENABLED]

- entity 63: m00_b_imx415 3-001a (1 pad, 1 link)
             type V4L2 subdev subtype Sensor flags 0
             device node name /dev/v4l-subdev2
        pad0: Source
                [fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none
                 crop.bounds:(12,16)/3840x2160]
                - > "rockchip-csi2-dphy0":0 [ENABLED]

從entity 63信息中可以看到:

該Entity完整的名稱是:m00_b_imx415 3-001a

它是一個V4L2 subdev(Sub-Device) Sensor

它對應的節(jié)點是 /dev/v4l-subdev2,應用程序(如v4l2-ctl)可以打開它,并進行配置

它僅有一個輸出(Source)節(jié)點,記為pad0

它的輸出格式是 [fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none

crop.bounds:(12,16)/3840x2160],其中SBGGR10是一種mbus-code的簡稱

它的Source pad0 鏈接到"rockchip-csi2-dphy0"的pad0,并且當前的狀態(tài)是 ENABLED。

media-ctl -d /dev/media1 -p

- entity 6: rkisp_mainpath (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video11
        pad0: Sink
                < - "rkisp-isp-subdev":2 [ENABLED]

五、測試

使用

gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12,width=3840,height=2160, framerate=30/1 ! xvimagesink

在這里插入圖片描述

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電路板
    +關注

    關注

    140

    文章

    4876

    瀏覽量

    97200
  • 攝像頭
    +關注

    關注

    59

    文章

    4793

    瀏覽量

    95278
  • MIPI
    +關注

    關注

    11

    文章

    304

    瀏覽量

    48526
  • 瑞芯微
    +關注

    關注

    23

    文章

    394

    瀏覽量

    51202
  • RK3588
    +關注

    關注

    6

    文章

    303

    瀏覽量

    4148
收藏 人收藏

    評論

    相關推薦

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關注和問詢。針對相關的開發(fā)板功能、操作指南等問題,我們一
    的頭像 發(fā)表于 09-22 15:54 ?1.7w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    RK3588編解碼盒子RTL8211FS-CG光口調試

    本文是基于RK3588平臺,SDK版本:RK3588_ANDROID12.0 RTL8211FS-CG光口調試總結。
    的頭像 發(fā)表于 06-10 09:00 ?2439次閱讀
    <b class='flag-5'>RK3588</b>編解碼盒子<b class='flag-5'>之</b>RTL8211FS-CG光口<b class='flag-5'>調試</b>

    RK3588-Camera:MIPI-CSI調試通路解析

    RK3588-Camera:MIPI-CSI調試通路解析
    的頭像 發(fā)表于 06-10 10:29 ?4911次閱讀
    <b class='flag-5'>RK3588</b>-Camera:MIPI-CSI<b class='flag-5'>調試</b><b class='flag-5'>之</b>通路解析

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSILCD上電初始化時序

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSILCD上電初始化時序
    的頭像 發(fā)表于 06-10 10:32 ?4199次閱讀

    RK3588-WIF/BT調試AP6256

    RK3588-WIF/BT調試AP6256
    的頭像 發(fā)表于 06-10 10:33 ?3406次閱讀
    <b class='flag-5'>RK3588</b>-WIF/BT<b class='flag-5'>調試</b><b class='flag-5'>之</b>AP6256

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI屏參配置

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI屏參配置
    的頭像 發(fā)表于 06-10 10:36 ?2089次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕<b class='flag-5'>調試</b>筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI<b class='flag-5'>之</b>屏參配置

    RK3588資料

    /SATA 3.0·復用端口·雙RGMII接口RK3588處理器應用 Arm 計算機、智能顯示器、邊緣計算和 AIoT 解決方案、Arm 服務器、高性能平板電腦、網(wǎng)絡錄像機、虛擬現(xiàn)實耳機以及需要多個攝像頭和顯示器等多種應用程序當中。
    發(fā)表于 03-26 16:31

    教你怎樣去移植一款imx415攝像頭

    1、移植一款imx415攝像頭現(xiàn)在我移植一款imx415攝像頭后,已經(jīng)可以檢測到這個攝像頭了[ 0.805710]
    發(fā)表于 05-31 17:38

    基于RK3588芯片打造360度8K全景攝像機的產(chǎn)品解決方案

      目前搭載RK3588芯片的產(chǎn)品已經(jīng)上市,作為瑞芯微的最強旗艦芯片,RK3588有著出色的性能表現(xiàn),RK3588自帶獨立的8K硬件編碼器,支持多攝像頭輸入,非常適合打造360度8K全
    發(fā)表于 07-26 16:29

    RV1126 buildroot imx415調試步驟

    1、rv1126 buildroot imx415調試  在rv1126的板子上調通ov13850,但是iq沒調好,顯示效果沒調  于是更換攝像頭imx415,sdk本身自帶該驅動,本
    發(fā)表于 10-11 17:43

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI

    RK3588-MIPI屏幕調試筆記:RK3588-MIPI-DSI
    的頭像 發(fā)表于 06-10 10:31 ?3549次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕<b class='flag-5'>調試</b>筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI

    RK3568/RK3588開發(fā)板人工智能AI攝像頭識別功能方案

    RK3568/RK3588開發(fā)板人工智能AI攝像頭識別功能方案
    的頭像 發(fā)表于 03-27 17:15 ?1958次閱讀
    <b class='flag-5'>RK</b>3568/<b class='flag-5'>RK3588</b>開發(fā)板人工智能AI<b class='flag-5'>攝像頭</b>識別功能方案

    迅為RK3588開發(fā)板-基于瑞芯微RK3588攝像頭方案

    RK3588開發(fā)板
    的頭像 發(fā)表于 06-09 11:09 ?3675次閱讀
    迅為<b class='flag-5'>RK3588</b>開發(fā)板-基于瑞芯微<b class='flag-5'>RK3588</b><b class='flag-5'>攝像頭</b>方案

    ArmSom--攝像頭開發(fā)指南(二)

    Rockchip平臺下Camera相關測試命令二.攝像頭連接ArmSoM-W3開發(fā)板與imx415連接圖如下:w3-camera-hardware注意排線的金屬引腳朝向板
    的頭像 發(fā)表于 11-06 10:30 ?1578次閱讀
    ArmSom--<b class='flag-5'>攝像頭</b>開發(fā)指南(二)

    淺談邊緣計算AI攝像頭嵌入式主板方案,基于東勝物聯(lián)RK3588核心板

    本文將帶你了解基于東勝物聯(lián)RK3588嵌入式主板如何應用AI攝像頭?
    的頭像 發(fā)表于 07-06 14:36 ?856次閱讀
    淺談邊緣計算AI<b class='flag-5'>攝像頭</b>嵌入式主板方案,基于東勝物聯(lián)<b class='flag-5'>RK3588</b>核心板