iio: imu: inv_icm42600: add support of ICM-42688-P
authorJean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Mon, 8 Apr 2024 09:07:20 +0000 (09:07 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 13 Apr 2024 11:07:23 +0000 (12:07 +0100)
Add ICM-42688-P support inside driver.

Signed-off-by: Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
Link: https://lore.kernel.org/r/20240408090720.847107-3-inv.git-commit@tdk.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/imu/inv_icm42600/inv_icm42600.h
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c

index 0e290c807b0f912b94d8b6562d06339e59d1c28f..0566340b2660490e4459a604c141df8f42953f48 100644 (file)
@@ -22,6 +22,7 @@ enum inv_icm42600_chip {
        INV_CHIP_ICM42602,
        INV_CHIP_ICM42605,
        INV_CHIP_ICM42622,
+       INV_CHIP_ICM42688,
        INV_CHIP_ICM42631,
        INV_CHIP_NB,
 };
@@ -304,6 +305,7 @@ struct inv_icm42600_state {
 #define INV_ICM42600_WHOAMI_ICM42602                   0x41
 #define INV_ICM42600_WHOAMI_ICM42605                   0x42
 #define INV_ICM42600_WHOAMI_ICM42622                   0x46
+#define INV_ICM42600_WHOAMI_ICM42688                   0x47
 #define INV_ICM42600_WHOAMI_ICM42631                   0x5C
 
 /* User bank 1 (MSB 0x10) */
index a5e81906e37ecf5d5c136a19d712003ec0ab56d9..82e0a2e2ad706cc80d1c8d03a9ef3bfa74e89b3f 100644 (file)
@@ -87,6 +87,11 @@ static const struct inv_icm42600_hw inv_icm42600_hw[INV_CHIP_NB] = {
                .name = "icm42622",
                .conf = &inv_icm42600_default_conf,
        },
+       [INV_CHIP_ICM42688] = {
+               .whoami = INV_ICM42600_WHOAMI_ICM42688,
+               .name = "icm42688",
+               .conf = &inv_icm42600_default_conf,
+       },
        [INV_CHIP_ICM42631] = {
                .whoami = INV_ICM42600_WHOAMI_ICM42631,
                .name = "icm42631",
index 1af559403ba66d6cfebf4e392505f022b2892efa..ebb28f84ba98536638e5e61b639f3258d70cba64 100644 (file)
@@ -84,6 +84,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
        }, {
                .compatible = "invensense,icm42622",
                .data = (void *)INV_CHIP_ICM42622,
+       }, {
+               .compatible = "invensense,icm42688",
+               .data = (void *)INV_CHIP_ICM42688,
        }, {
                .compatible = "invensense,icm42631",
                .data = (void *)INV_CHIP_ICM42631,
index 6be4ac79493794a92006d61bb66106eca85305f9..50217a10e0bbf3647b11db7650781b0133d6bb72 100644 (file)
@@ -80,6 +80,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
        }, {
                .compatible = "invensense,icm42622",
                .data = (void *)INV_CHIP_ICM42622,
+       }, {
+               .compatible = "invensense,icm42688",
+               .data = (void *)INV_CHIP_ICM42688,
        }, {
                .compatible = "invensense,icm42631",
                .data = (void *)INV_CHIP_ICM42631,