Using ToT firmware, reading data from the base accel BMI160 is not possible.
Looking at the chip, there is an interrupt, but the soft irq_hanlder is not called:
> gpioget ACCELGYRO3_INT_L
0 ACCELGYRO3_INT_L
#interrupt register:
> i2cxfer r 2 0xd0 0x1c
0x00 [0]
> i2cxfer r 2 0xd0 0x1d
0x60 [96] <<<<<< fifo water mark + fifo full
> i2cxfer r 2 0xd0 0x1e
0x00 [0]
> i2cxfer r 2 0xd0 0x1f
0x00 [0]
# Fifo length
> i2cxfer r 2 0xd0 0x22
0xeb [235]
> i2cxfer r 2 0xd0 0x23
0x03 [3] <<<< 1K
To unlock the situation, I used
accel_init 1:
Reading on the host side
while true ; do ectool motionsense | grep "Sensor 1:" ; sleep 1 ; done
Sensor 1: -194 747 16043
Sensor 1: -194 747 16043
...
Sensor 1: -194 747 16043
Sensor 1: -194 747 16043
Sensor 1: -194 747 16043
Sensor 1: -152 744 16061 << accelinit 1 occurs.
Sensor 1: -141 727 16149
Sensor 1: -152 764 16033
Sensor 1: -111 696 15948
Sensor 1: -137 731 16080
After that, IRQ gpio is high as expected:
> gpioget ACCELGYRO3_INT_L
1 ACCELGYRO3_INT_L
One major difference is on eve, given double tap is enabled, the accelerometer runs at 200Hz from the get go.
Comment 1 by gwendal@chromium.org
, Dec 26