高通sensor學習筆記


參考http://www.2cto.com/kf/201611/569272.html

 

添加一個新的sensor驅動,

第一步:

   路徑/adsp_proc/adsp_proc/sensors/dd/qcom/inc/sns_dd.h里面

      聲明驅動函數入口聲明

加個全局的聲明extern sns_ddf_driver_if_s sns_dd_mpu6xxx_if

第二步:

          添加源碼

       路徑amss_8976/adsp_proc/adsp_proc/Sensors/dd/qcom/build/dd_qcom.scons里面

┊"${BUILDPATH}/sns_dd_mpu6050.c",
 ┊"${BUILDPATH}/sns_dd_mpu6050_ext.c",
 ┊"${BUILDPATH}/sns_dd_mpu6050_selftest.c"

第三步:

     編譯配置檔案進行匹配聲明

    路徑adsp_proc/adsp_proc/sensors/build/sensors.scons

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

第四步:

     uuid的生成匹配等待

  路徑   /sensors/common/inc/sns_reg_common.h

#define SNS_REG_UUID_MPU6050 \
1659 {0x60,0x2d,0x46,0x7b,0x75,0x75,0x45,0xcc,0xad,0x20,0x48,0x52,0x42,0xae,0x79,0x8d}

上面四步基本完成adsp 驅動添加初始化處理

 

openSSC層更新config檔

vender\qcom\proptery\sensors\dsps\reg_defaults中更新sensor_def_qcomdev.conf檔是至關重要的。

此時UUID就要用上了。

2000 1 0x00010001
2001 2 0x00010001
#  SSI SMGR Cfg 0: MPU6881 ACCEL INT {0x68,0x81,0x46,0x7b,0x75,0x75,0x45,0xcc,0xad,0x20,0x48,0x52,0x42,0xae,0x68,0x81}
2002 0xcc4575757b468168 0x00010001 #UUID
2003 0x8168ae42524820ad 0x00010001 #UUID
2004 10000 0x00010001               #off_to_idle
2005 10000 0x00010001                  #idle_to_ready
2006 45    0x00010001                 #gpio1
2007 1000  0x00010001               #reg_group_id
2008 0     0x00010001                  #cal_grp_id
2009 4     0x00010001                  #i2c_bus
2010 0x68  0x00010001               #i2c_address
2011 1     0x00010001                  #sens_default
2012 0x80  0x00010001               #flags


如何生效

adb root
adb remount
adb shell rm /system/etc/sensors/sensor_def_qcomdev.conf
adb push sensor_def_qcomdev.conf /system/etc/sensors/sensor_def_qcomdev.conf
adb shell chmod 644 /system/etc/sensors/sensor_def_qcomdev.conf
adb shell rm /persist/sensor/sns.reg
adb shell sync
adb reboot

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM