summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/fleex/board.c4
-rw-r--r--board/meep/board.c4
-rw-r--r--board/phaser/board.c4
-rw-r--r--board/yorp/board.c4
-rw-r--r--include/motion_sense.h3
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;