admin管理员组文章数量:1654379
展锐平台的camera sensor驱动代码设计解析(1)
展锐平台的camera sensor驱动代码设计解析(2)
展锐平台的camera sensor驱动代码设计解析(3)
Camera驱动的基本配置及文件路径说明
- 驱动的配置在路径:\device\sprd\platform\board\camera\sensor_config.xml
- 驱动代码的路径在:\vendor\sprd\modules\libcamera\sensor\sensor_drv\classic下,里面有各个sensor厂商的驱动,比如Galaxycore,Superpix,Samsung等。
驱动.c文件的配置解析
在打开camera调用库的时候会调用到如下函数
void *sensor_ic_open_lib(void)
{
return &g_ov8856_mipi_raw_info;
}
对于.c中的函数接口,里面的所有函数都是如下结构体函数指针对应的函数接口
/*==============================================================================
* Description:
* all ioctl functoins
* you can add functions reference SENSOR_IOCTL_FUNC_TAB_T from sensor_drv_u.h
*
* add ioctl functions like this:
* .power = ov8856_power_on,
*============================================================================*/
static struct sensor_ic_ops s_ov8856_ops_tab = {
.create_handle = ov8856_drv_handle_create,
.delete_handle = ov8856_drv_handle_delete,
/*get privage data*/
.get_data = ov8856_drv_get_private_data,
/*common interface*/
.power = ov8856_drv_power_on,
.identify = ov8856_drv_identify,
.ex_write_exp = ov8856_drv_write_exposure,
.write_gain_value = ov8856_drv_write_gain_value,
#if defined(CONFIG_DUAL_MODULE)
.read_aec_info = ov8856_drv_read_aec_info,
#endif
.ext_ops = {
[SENSOR_IOCTL_BEFORE_SNAPSHOT].ops = ov8856_drv_before_snapshot,
[SENSOR_IOCTL_STREAM_ON].ops = ov8856_drv_stream_on,
[SENSOR_IOCTL_STREAM_OFF].ops = ov8856_drv_stream_off,
/* expand interface,if you want to add your sub cmd ,
* you can add it in enum {@SENSOR_IOCTL_VAL_TYPE}
*/
[SENSOR_IOCTL_ACCESS_VAL].ops = ov8856_drv_access_val,
[SENSOR_IOCTL_CONTRAST].ops = ov8856_drv_set_saturation,
}
};
ov8856_drv_handle_create
static cmr_int ov8856_drv_handle_create(struct sensor_ic_drv_init_para *init_param, cmr_handle* sns_ic_drv_handle)
{
cmr_int ret = SENSOR_SUCCESS;
struct sensor_ic_drv_cxt * sns_drv_cxt = NULL;
void *pri_data = NULL;
ret = sensor_ic_drv_create(
版权声明:本文标题:展锐平台的camera sensor驱动代码设计解析(3) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729651146a1209053.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论