rk3588调试之imx415摄像头

一、环境
专栏总目录
soc:rk3588
sensor:imx415
board: bpi-w3
linux:5.10
二、imx415简介
品牌:SONY
型号:IMX415
接口:MIPI CSI

三、驱动移植
瑞芯微支持的摄像头,有个support list,
此次从该list中选择了IMX415
3.1 驱动源文件及对应脚本
RK提供的默认sdk里面已经将支持的所有摄像头驱动都添加到了内核,所以不需要移植该驱动了。
需确认下移植驱动对应的一些信息
源程序
Makefile脚本
Kconfig脚本
驱动对应的宏开关
CONFIG_VIDEO_IMX415=y
3.2 dts设备树
1)摄像头链接示意图

IMX415摄像头与SOC连接的主要的引脚有:i2c、rst、pwdn、mclk、MIPI Clk、MIPI DATA
2)电路图

由电路图可知,几个关键引脚关系:
reset信号:gpio4 A0
power0 down信号:gpio1 B0
I2C通道:3
clock:CLK_MIPI_CAMARAOUT_M3
3)设备树节点
设备树的信息最终转换成i2c_client,并传递给IMX415驱动 imx415_probe(){ compatible = “imx415”;与驱动的 of_match_table 保持一致
匹配的是external\camera_engine_rkaiq\iqfiles\isp3x下面的iq文件
四、调试技能
4.1 开机log
4.2 查看IMX415设备
驱动加载成功后,会有以下信息
查看摄像头设备节点:
4.3 查看sys文件系统中文件信息
内核会为摄像头在目录/sys/class/video4linux下分配设备信息描述文件
4.4 查看拓扑 media-ctl -d /dev/media0 -p
从entity 63信息中可以看到:
该Entity完整的名称是:m00_b_imx415 3-001a
它是一个V4L2 subdev(Sub-Device) Sensor
它对应的节点是 /dev/v4l-subdev2,应用程序(如v4l2-ctl)可以打开它,并进行配置
它仅有一个输出(Source)节点,记为pad0
它的输出格式是 [fmt:SGBRG10_1X10/3864x2192@10000/300000 field:none
crop.bounds:(12,16)/3840x2160],其中SBGGR10是一种mbus-code的简称
它的Source pad0 链接到"rockchip-csi2-dphy0"的pad0,并且当前的状态是 ENABLED。
media-ctl -d /dev/media1 -p
五、测试
使用
