1.
内核的 camera 控制器驱动 和 sensor 驱动是基于 v4l2 驱动架构编写的,应用程序可以使用 cimutils 进行测试
CIM 控制器驱动,基于 V4L2 架构,并采用 videobuf2。便于上层开发
drivers/media/platform/soc_camera/ingenic/x2000/ingenic_camera.c
static int __init ingenic_camera_probe(struct platform_device *pdev)
drivers/media/platform/soc_camera/soc_camera.c soc_camera 子系统
2.
sensor gc2155驱动
drivers/media/i2c/soc_camera/gc2155.c
static int gc2155_probe(struct i2c_client *client,const struct i2c_device_id *did)
Sensor 设备驱动:
drivers/media/i2c/soc_camera/gc2155.c
主要的数据结构为:
1)static struct v4l2_subdev_core_ops gc2155_subdev_core_ops{
.s_power
}
负责 sensor 初始化,主要工作是 sensor 上电,复位,通过 i2c 将 gc2155_init_regs
配置给 sensor。gc2155_init_regs 为 gc2155 厂家提供的初始化寄存器表。
2)static struct v4l2_subdev_video_ops gc2155_subdev_video_ops{
.s_mbus_fmt
}