高通SSC架构下的sensor驱动流程

本文详细介绍了在高通SSC架构下,传感器驱动的初始化流程,包括从sns_init()函数开始,经过sns_smgr_init(),创建sns_smgr_task()进程,以及传感器的初始化过程。传感器数据上报有三种方式:Polling、DRI和FIFO,分别通过不同的机制上报数据。
摘要由CSDN通过智能技术生成

aDSP初始化流程

在这里插入图片描述
aDSP的初始化工作从[Sns_init_dsps.c]文件中的 sns_init()函数开始,其中调用 -> sns_init_once(); -> SNS_INIT_FUNCTIONS存在一个各个模块的初始化函数指针列表,依次调用各个模块的初始化函数init_ptrsi -> 其中我们关注传感器相关的[sns_smgr_main_uimg.c]sns_smgr_init() -> 创建了 [sns_smgr_main.c]sns_smgr_task() 进程 ->sns_smgr_hw_init(); ->sns_smgr_process_msg(); ->sns_smgr_process_reg_resp_msg(); ->sns_smgr_process_reg_data() ->sns_smgr_process_reg_devinfo() ->sns_smgr_parse_reg_devinfo_resp() -> 通过drv_fn_ptr->probe()指针,调用相应传感器实现的probe函数。如果某传感器没有实现probe函数,则调用sns_smgr_populate_cfg_from_devinfo()。

aDSP上报传感器数据
在这里插入图片描述

Sensor上报数据的三种方式:

1, (Polling)0x00调用一次get_data后启动timer,等到timer到时间后调用sns

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值