万能camera驱动----之-----camera sensor匹配过程
2014-09-22 13:42
211 查看
类似的方法可以用于一个简单的sensor driver
用来支持多个sensor.比如Galaxycore SoC驱动,对于每个sensor, 有一个 gc_product_info 结构体,它包含了产品id号和对应的全部的寄存器配置表格。在驱动的probe中,将探测到的sensor
id和id tables里的匹配,匹配上了,相应的product_info里的寄存器表就会被调用,用于初始化sensor.
1)他的参数i2c_device_id已经由i2c子系统match函数确定,所以对应的product_info就被确定,哪个camera
sensor已经被确定, 很多寄存器的表格将被确定;
2)从v4l2_subdev得到gc_device的platform_data, platform_data 里有对应的power控制的相关函数,
gc_device的platform_data也是在probe包含的函数里由client->dev.platform_data赋值的,
client->dev.platform_data 在i2c-core.c里由info->platform_data得到,
i2c_info->platform_data由platform_camera.c里camera_device_table里的devs_id的get_platform_data得到;
3)v4l2_set_subdevdata()设置了sd->dev_priv,这样从subdev也就可以得到i2c_client;
4)于是对sensor上电后,读出id, (这个相关函数和信息由i2c_client 得到)看是否与i2c_device_id的id(这个是由该驱动的id
tables得到)匹配,匹配的话将完成注册。
Example:
struct gc_product_mapping product_mappings[] = {
{ GC2155_ID, &gc2155_product_info },
{ GC0310_ID, &gc0310_product_info },
};
struct gc_product_mapping {
int gc_id;
struct gc_product_info *product_info;
};
用来支持多个sensor.比如Galaxycore SoC驱动,对于每个sensor, 有一个 gc_product_info 结构体,它包含了产品id号和对应的全部的寄存器配置表格。在驱动的probe中,将探测到的sensor
id和id tables里的匹配,匹配上了,相应的product_info里的寄存器表就会被调用,用于初始化sensor.
1)他的参数i2c_device_id已经由i2c子系统match函数确定,所以对应的product_info就被确定,哪个camera
sensor已经被确定, 很多寄存器的表格将被确定;
2)从v4l2_subdev得到gc_device的platform_data, platform_data 里有对应的power控制的相关函数,
gc_device的platform_data也是在probe包含的函数里由client->dev.platform_data赋值的,
client->dev.platform_data 在i2c-core.c里由info->platform_data得到,
i2c_info->platform_data由platform_camera.c里camera_device_table里的devs_id的get_platform_data得到;
3)v4l2_set_subdevdata()设置了sd->dev_priv,这样从subdev也就可以得到i2c_client;
4)于是对sensor上电后,读出id, (这个相关函数和信息由i2c_client 得到)看是否与i2c_device_id的id(这个是由该驱动的id
tables得到)匹配,匹配的话将完成注册。
Example:
struct gc_product_mapping product_mappings[] = {
{ GC2155_ID, &gc2155_product_info },
{ GC0310_ID, &gc0310_product_info },
};
struct gc_product_mapping {
int gc_id;
struct gc_product_info *product_info;
};
相关文章推荐
- android APK 调用G—sensor驱动的过程
- Linux设备和驱动的匹配过程
- Camera驱动的调试过程与方法总结
- 2440 6.0BSP移植过程之camera驱动移植
- android底层驱动学习之设备树驱动及设备匹配过程
- i2c设备与驱动匹配过程
- i2c设备与驱动匹配过程
- Camera驱动的调试过程与方法总结
- ARM:裸板shell编程完善(匹配命令、修复bug)、G-Sensor重力传感器驱动基础
- 【Android Camera】Camera驱动的工作过程
- i2c设备与驱动匹配过程
- !!!!!Camera 方向 与 LCD 方向匹配 及 YUV sensor AF / snapshot 流程
- 展讯平台 camera驱动分析(sensor部分)
- #分布式系统架构之# 事件驱动模式以及与之匹配的长时间处理过程讨论
- 2440 6.0BSP移植过程之camera驱动移植
- VMWare虚拟机内核驱动调试环境搭建过程记录
- web.xml中的url-pattern写法规则及匹配过程
- i2c驱动注册过程---GSL3680为例进行详析---步骤1
- android camera(四):camera 驱动 GT2005
- Android S5PV210 camera驱动(tw9912)小结