diff options
-rw-r--r-- | board/fleex/board.c | 4 | ||||
-rw-r--r-- | board/meep/board.c | 4 | ||||
-rw-r--r-- | board/phaser/board.c | 4 | ||||
-rw-r--r-- | board/yorp/board.c | 4 | ||||
-rw-r--r-- | include/motion_sense.h | 3 |
5 files changed, 19 insertions, 0 deletions
diff --git a/board/fleex/board.c b/board/fleex/board.c index 095724d7e9..9406e1b2c9 100644 --- a/board/fleex/board.c +++ b/board/fleex/board.c @@ -181,6 +181,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_ACCEL), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .rot_standard_ref = &base_standard_ref, @@ -211,6 +213,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_GYRO), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .default_range = 1000 | ROUND_UP_FLAG, /* dps */ diff --git a/board/meep/board.c b/board/meep/board.c index 1d27b0ed8a..2bd17d9d5f 100644 --- a/board/meep/board.c +++ b/board/meep/board.c @@ -183,6 +183,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_ACCEL), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .rot_standard_ref = &base_standard_ref, @@ -213,6 +215,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_GYRO), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .default_range = 1000 | ROUND_UP_FLAG, /* dps */ diff --git a/board/phaser/board.c b/board/phaser/board.c index 5913b0439f..90f5c3e30a 100644 --- a/board/phaser/board.c +++ b/board/phaser/board.c @@ -162,6 +162,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_ACCEL), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .rot_standard_ref = &standard_rot_ref, @@ -193,6 +195,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_GYRO), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .default_range = 1000 | ROUND_UP_FLAG, /* dps */ diff --git a/board/yorp/board.c b/board/yorp/board.c index 15b33196e6..f00a95dd65 100644 --- a/board/yorp/board.c +++ b/board/yorp/board.c @@ -156,6 +156,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_ACCEL), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .rot_standard_ref = &base_standard_ref, @@ -186,6 +188,8 @@ struct motion_sensor_t motion_sensors[] = { .mutex = &g_base_mutex, .drv_data = LSM6DSM_ST_DATA(lsm6dsm_data, MOTIONSENSE_TYPE_GYRO), + .int_signal = GPIO_BASE_SIXAXIS_INT_L, + .flags = MOTIONSENSE_FLAG_INT_SIGNAL, .port = I2C_PORT_SENSOR, .addr = LSM6DSM_ADDR0, .default_range = 1000 | ROUND_UP_FLAG, /* dps */ diff --git a/include/motion_sense.h b/include/motion_sense.h index 4ac0b42fcd..28612f0454 100644 --- a/include/motion_sense.h +++ b/include/motion_sense.h @@ -112,6 +112,7 @@ struct motion_data_t { * the components. */ #define MOTIONSENSE_FLAG_IN_SPOOF_MODE BIT(1) +#define MOTIONSENSE_FLAG_INT_SIGNAL BIT(2) struct motion_sensor_t { /* RO fields */ @@ -124,6 +125,8 @@ struct motion_sensor_t { /* One mutex per physical chip. */ struct mutex *mutex; void *drv_data; + /* Only valid if flags & MOTIONSENSE_FLAG_INT_SIGNAL is true. */ + enum gpio_signal int_signal; /* i2c port */ uint8_t port; |