Linux v4l2架构学习总链接
即将开始实例分析
项目中用的到sensor驱动基本都是基于subdev的方式
比如一个摄像头需要以下配合使用
- 处理器通过I2c和sensor通信,用于寄存器的配置
- 需要使用闪光灯
- 由于sensor输出的是BT1120,需要转换芯片转换成mipi信号给处理器
- ...
这样的话,我们也可以一个c文件都实现了,但是这样的会显得比较臃肿,而且每个模块修改都要改这个文件。
所以这里完全可以将sensor,转换芯片,闪光灯都当成subdev设备
比如下图:
之前分析的vivi因为是虚拟的,不需要和soc模块打交道,所以也不需要使用subdev设备,属于比较简单的驱动,可以忽略subdev进行v4l2的入门。