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文件的名字
修改如下图
路径:LINUX/android/vendor/qcom/proprietarysensors-see/registry/config/bengal
注:不同平台放不同目录,需要跟平台确认。
注:这边I2c地址是根据IC数据手册进行了进制转换得到的
注:上文图片是此项目要配置的,下文是高通文档相关属性及配置根据需求配置
路径:adsp_proc/core/settings/buses/i2c/config/agatti/i2c_devcfg.c
注:上文是此次项目修改,下文是高通文档的参考模板
大部分sensor是pmic长供电,但是也有例外
注:在上文的json配置中以及编译脚本por.py中进行修改
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.平台不同,代码目录也会有不少差异,一开始不知道驱动文件放在哪个目录下,导致无法注册成功,后来看了该平台传感器文档后才知道目录。



