Android8.1 MSM8909平台增加温度传感器
物联网模块为了提高性价比,一般使用高通低端的MSM8909平台。最近在该平台的Android 8.1版本上调试了温度传感器,包括driver代码和HAL层,作个记录。
客户使用的是Microchip的AT30TS74(Atmel被Microchip收购),本来是很简单的I2c芯片,但是厂家没有提供驱动参考代码,适配android的驱动代码得自己写,有点坑。好吧,找个类似的传感器修改,先配置设备树:
Atmel@48 { //temperature sensor
compatible = “Atmel,AT30TS74”;
reg = <0x48>;
};
i2c地址和硬件原理图上的A2、A1、A0脚接法有关。
在驱动里注册i2c,注册input设备,再注册一个sensors_classdev设备:
data->cdev = sensors_cdev;
data->cdev.sensors_enable = at30ts74_enable_set;
data->cdev.sensors_poll_delay = at30ts74_poll_delay_set;
err = sensors_classdev_register(&data->input->dev, &data->cdev);
if (err) {
pr_err(“class device create failed: %d\n”, err);
goto error_class_sysfs;
}
这些是标准的套路不用多说。到了HAL层&#x
Android8.1 MSM8909平台增加温度传感器
最新推荐文章于 2024-08-19 17:18:53 发布
本文介绍了在Android 8.1版本上针对MSM8909平台如何调试并增加温度传感器,包括驱动代码、HAL层的适配,以及遇到的坑点,如设备树配置、HAL架构、权限问题等,并提供了相应的解决办法。
摘要由CSDN通过智能技术生成