diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h index 236f4648c5eb..19c9d02d8ffe 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h @@ -17,6 +17,7 @@ #include "inv_icm42600_buffer.h" enum inv_icm42600_chip { + INV_CHIP_ICM40608, INV_CHIP_ICM42600, INV_CHIP_ICM42602, INV_CHIP_ICM42605, @@ -298,6 +299,7 @@ struct inv_icm42600_state { #define INV_ICM42600_INT_SOURCE0_UI_AGC_RDY_INT1_EN BIT(0) #define INV_ICM42600_REG_WHOAMI 0x0075 +#define INV_ICM42600_WHOAMI_ICM40608 0x39 #define INV_ICM42600_WHOAMI_ICM42600 0x40 #define INV_ICM42600_WHOAMI_ICM42602 0x41 #define INV_ICM42600_WHOAMI_ICM42605 0x42 diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c index c49dc7e906c2..7bb2f4fb6867 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c @@ -67,6 +67,11 @@ static const struct inv_icm42600_conf inv_icm42600_default_conf = { }; static const struct inv_icm42600_hw inv_icm42600_hw[INV_CHIP_NB] = { + [INV_CHIP_ICM40608] = { + .whoami = INV_ICM42600_WHOAMI_ICM40608, + .name = "icm40608", + .conf = &inv_icm42600_default_conf, + }, [INV_CHIP_ICM42600] = { .whoami = INV_ICM42600_WHOAMI_ICM42600, .name = "icm42600", diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c index 85b1934cec60..1bde8799628e 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c @@ -70,6 +70,9 @@ static int inv_icm42600_probe(struct i2c_client *client) static const struct of_device_id inv_icm42600_of_matches[] = { { + .compatible = "invensense,icm40608", + .data = (void *)INV_CHIP_ICM40608, + }, { .compatible = "invensense,icm42600", .data = (void *)INV_CHIP_ICM42600, }, { diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c index 323789697a08..588af4cff4f7 100644 --- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c +++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c @@ -69,6 +69,9 @@ static int inv_icm42600_probe(struct spi_device *spi) static const struct of_device_id inv_icm42600_of_matches[] = { { + .compatible = "invensense,icm40608", + .data = (void *)INV_CHIP_ICM40608, + }, { .compatible = "invensense,icm42600", .data = (void *)INV_CHIP_ICM42600, }, {