高通 8x26 andorid light sensor(TSL258x) 开发

1. Add the entry function for the new driver in adsp_proc\sensors\dd\qcom\inc\sns_dd.h:    extern sns_ddf_driver_if_s sns_dd_als_tsl2581_if; 2. Add the new driver files in adsp_proc\sensors\dd\qco
摘要由CSDN通过智能技术生成
前言
8926平台的sensor架构与之前的平台完全不同,实际上已经脱离了linux。此平台所有的sensor由adsp芯片控制,代码在modem端,编译和烧录也完全不同,下面以TSL2581为例进行说明。

一、 驱动
集成光传感器TSL2581
    1. 驱动程序结构可以参考高通默认的光感驱动文件sns_dd_als_bh1721.c或sns_dd_als_max44009.c或sns_dd_alsprx_tmd277x.c,主要是填充结构体 sns_ddf_driver_if_s;其成员:
         init,
         reset,
         get_data,
         set_attrib,
         get_attrib,
         必须填充,因为sns_smgr_dd_init()对这它们进行检查;
     另外probe成员也要填充,因为sns_smgr_parse_reg_devinfo_resp()中代码逻辑有问题,当probe为NULL时,只会填充第一个此类型的sensor的配置。

    2. 寄存器配置,电路参考设计要查看 TSL2581的数据手册;

    3. TSL2581 和 TMD277X都是TAOS公司的,参考它写最好。如果可以从fae获取驱动代码更好,基本不需要修改,改正编译错误之后就可以使用。
       由于芯片在电路板的方向不同,G-sensor,gyro和compass需要调换x、y、z轴的映射,只需在sensor_def_qcomdev.conf文件中修改。

二、 移植
   参考高通文档“80-N7635-1_E_Snapdragon_Sensors_Core_New_Sensor_Driver_Integration_LA.pdf”
1. Add the entry function for the new driver in adsp_proc\sensors\dd\qcom\inc\sns_dd.h:
     extern sns_ddf_driver_if_s sns_als_tsl2581_driver_fn_list;

2. Add the new driver files in adsp_proc\sensors\dd\qcom\src in the ADSP build
    sns_dd_als_tsl2581.h
    sns_dd_als_tsl2581.c

3. update the adsp_proc\sensors\dd\qcom\build\dd_qcom.scons file;  

      "${BUILDPATH}/sns_dd_als_tsl2581.c",

4. Configure Sensors.scons to compile the new files. To include the driver, in adsp_proc\sensors\build\Sensors.scons, add:

        env.Append(CPPDEFINES = ["CONFIG_SUPPORT_TSL2581"])

5.Update the sns_reg_common.h files on both the ADSP and APSS builds to add UUID:

     UUID可以使用在终端使用命令生成:uuidgen
    ADSP – adsp_proc\Sensors\common\inc\sns_reg_common.h
    APSS – android\vendor\qcom\proprietary\sensors\dsps\sensordaemon\c
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值