我在RK3288,Android7.1 平台。然后我的gsensor不能上报数据,底层i2c已经确认ok,不能和hal层通信。
我试过 路径:kernel\drivers\input\sensors\accel
drivers\iio\accel
sensor底层都正常,**input
** 设备节点和**iio
**设备节点都能正常操作。手动使能底层可以打印数据。
但是都不能和hal层通信成功。
配置的dts节点如下:
&i2c1 {
status = "okay";
clock-frequency = <400000>;
stk8b@18 {
compatible = "gs_stk8baxx";
status = "okay";
reg = <0x18>;
type = <SENSOR_TYPE_ACCEL>;
irq-gpio = <&gpio8 RK_PA0 GPIO_ACTIVE_HIGH>;
irq_enable = <1>;
poll_delay_ms = <30>;
layout = <2>;
// irq-gpio = <&gpio8 RK_PA0 IRQ_TYPE_EDGE_BOTH>;
// mpu-orientation = <0 1 0 1 0 0 0 0 1>;
// orientation-x= <0>;
// orientation-y= <0>;
// orientation-z= <1>;
// mpu-debug = <1>;
};
};
hardware\rockchip\sensor修改Android.mk强制编译st目录,原因是因为节点不对
https://blog.csdn.net/kris_fei/article/details/71706624
嗯,驱动部分移植是没问题的,能生成输入节点就行了,如果没有上报数据的话,需要查看hal配置是否正确,在hardware下找到st目录,在device目录里面修改对应的属性,使能st,这样就可以上报数据了,其次还要调试方向,就改dts中的layout节点就行,实在不行就搜相关对应代码,查看规律