高通7150平台
- 1.添加驱动文件
- 2.添加编译
- 3.配置json文件
- 4.默认配置高通
- 5.部分sensor外挂电源
- 6.遇到的问题
1.添加驱动文件
路径:adsp_proc/ssc/sensors 项目路径:ADSP.VT.5.4.3/adsp_proc/ssc_driver/driver 注:driver以传感器名称命名新目录 把驱动文件放在这条路的力量下
驱动 stk3329b (光感)bmi26x (A G)以这两个为例
2.添加编译
路径:adsp/ssc/chipset/por.py 项目路径:ADSP.VT.5.4.3/adsp_proc/ssc/chipset/divar/por.py 注:在por.py在驱动文件中添加驱动文件build目录下.scons文件的名字 修改如下图
3.配置json文件
路径:LINUX/android/vendor/qcom/proprietarysensors-see/registry/config/bengal 注:不同的平台放置不同的目录,需要与平台确认。
注:这边I2c地址是根据IC数据手册进行了制作和转换 注:本项目应配置上述图片下是高通文档的相关属性和配置。
4.默认配置高通
路径:adsp_proc/core/settings/buses/i2c/config/agatti/i2c_devcfg.c 注:以上是本项目的修订,以下是高通文档的参考模板
5.部分sensor外挂电源
大部分sensor是pmic但也有长供电的例外 注:在上面json脚本的配置和编译por.py中进行修改
6.遇到的问题
1.添加bmi26x编译报错时,编译报错,报错log显示island overflow ,问了高通之后por. py有些文件不需要island flag注释。
2.添加bmi26x因为项目原理图显示在上面bmi26x用的是i3c协议,我毫无疑问bmi26x这个传感器本身支持吗?i3c,所以把它配置成i3c,结果无法bring up成功了,最后问了厂家才知道传感器不支持。i3c,只支持i2c和spi,根据原理图,最后配置成i2c后bring up 成功。
3.不同的平台会有很多不同的代码目录。一开始,我不知道驱动文件放在哪个目录下,导致注册失败。后来,在阅读了平台的传感器文档后,我知道了目录。