* [PATCH 0/2] Add support for the ICM 20600 IMU
@ 2023-04-21 7:16 Hermes Zhang
2023-04-21 7:16 ` [PATCH 1/2] iio: imu: mpu6050: " Hermes Zhang
2023-04-21 7:16 ` [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050 Hermes Zhang
0 siblings, 2 replies; 7+ messages in thread
From: Hermes Zhang @ 2023-04-21 7:16 UTC (permalink / raw)
To: jic23, krzysztof.kozlowski+dt, robh+dt
Cc: jmaneyrol, linux-iio, linux-kernel, kernel, Hermes Zhang
The Invensense ICM-20600 is a 6-axis MotionTracking device that combines a
3-axis gyroscope and an 3-axis accelerometer. It is very similar to the
ICM20602 imu which is already supported by the mpu6050 driver. The main
difference is that the ICM-20600 has a different WHOAMI value.
Hermes Zhang (2):
iio: imu: mpu6050: Add support for the ICM 20600 IMU
dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050
.../bindings/iio/imu/invensense,mpu6050.yaml | 1 +
drivers/iio/imu/inv_mpu6050/Kconfig | 4 ++--
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 10 ++++++++++
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 6 ++++++
drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 ++
drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 5 +++++
6 files changed, 26 insertions(+), 2 deletions(-)
--
2.30.2
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] iio: imu: mpu6050: Add support for the ICM 20600 IMU
2023-04-21 7:16 [PATCH 0/2] Add support for the ICM 20600 IMU Hermes Zhang
@ 2023-04-21 7:16 ` Hermes Zhang
2023-04-22 17:21 ` Jonathan Cameron
2023-04-21 7:16 ` [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050 Hermes Zhang
1 sibling, 1 reply; 7+ messages in thread
From: Hermes Zhang @ 2023-04-21 7:16 UTC (permalink / raw)
To: jic23, krzysztof.kozlowski+dt, robh+dt
Cc: jmaneyrol, linux-iio, linux-kernel, kernel, Hermes Zhang,
Lars-Peter Clausen
The Invensense ICM-20600 is a 6-axis MotionTracking device that combines a
3-axis gyroscope and an 3-axis accelerometer. It is very similar to the
ICM20602 imu which is already supported by the mpu6050 driver. The main
difference is that the ICM-20600 has a different WHOAMI value.
Signed-off-by: Hermes Zhang <chenhuiz@axis.com>
---
drivers/iio/imu/inv_mpu6050/Kconfig | 4 ++--
drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 10 ++++++++++
drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 6 ++++++
drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 ++
drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 5 +++++
5 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/imu/inv_mpu6050/Kconfig b/drivers/iio/imu/inv_mpu6050/Kconfig
index 3636b1bc90f1..64dd73dcc4ba 100644
--- a/drivers/iio/imu/inv_mpu6050/Kconfig
+++ b/drivers/iio/imu/inv_mpu6050/Kconfig
@@ -16,7 +16,7 @@ config INV_MPU6050_I2C
select REGMAP_I2C
help
This driver supports the Invensense MPU6050/9150,
- MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20602/ICM20690
+ MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20600/20602/20690
and IAM20680 motion tracking devices over I2C.
This driver can be built as a module. The module will be called
inv-mpu6050-i2c.
@@ -28,7 +28,7 @@ config INV_MPU6050_SPI
select REGMAP_SPI
help
This driver supports the Invensense MPU6000,
- MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20602/ICM20690
+ MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20600/20602/20690
and IAM20680 motion tracking devices over SPI.
This driver can be built as a module. The module will be called
inv-mpu6050-spi.
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
index 8a129120b73d..592a6e60b413 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
@@ -244,6 +244,15 @@ static const struct inv_mpu6050_hw hw_info[] = {
.temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE},
.startup_time = {INV_MPU6500_GYRO_STARTUP_TIME, INV_MPU6500_ACCEL_STARTUP_TIME},
},
+ {
+ .whoami = INV_ICM20600_WHOAMI_VALUE,
+ .name = "ICM20600",
+ .reg = ®_set_icm20602,
+ .config = &chip_config_6500,
+ .fifo_size = 1008,
+ .temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE},
+ .startup_time = {INV_ICM20602_GYRO_STARTUP_TIME, INV_ICM20602_ACCEL_STARTUP_TIME},
+ },
{
.whoami = INV_ICM20602_WHOAMI_VALUE,
.name = "ICM20602",
@@ -1597,6 +1606,7 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
indio_dev->num_channels = ARRAY_SIZE(inv_mpu9250_channels);
indio_dev->available_scan_masks = inv_mpu9x50_scan_masks;
break;
+ case INV_ICM20600:
case INV_ICM20602:
indio_dev->channels = inv_mpu_channels;
indio_dev->num_channels = ARRAY_SIZE(inv_mpu_channels);
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
index 2f2da4cb7321..0e39877678df 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
@@ -32,6 +32,7 @@ static bool inv_mpu_i2c_aux_bus(struct device *dev)
case INV_ICM20608D:
case INV_ICM20609:
case INV_ICM20689:
+ case INV_ICM20600:
case INV_ICM20602:
case INV_IAM20680:
/* no i2c auxiliary bus on the chip */
@@ -183,6 +184,7 @@ static const struct i2c_device_id inv_mpu_id[] = {
{"icm20608d", INV_ICM20608D},
{"icm20609", INV_ICM20609},
{"icm20689", INV_ICM20689},
+ {"icm20600", INV_ICM20600},
{"icm20602", INV_ICM20602},
{"icm20690", INV_ICM20690},
{"iam20680", INV_IAM20680},
@@ -236,6 +238,10 @@ static const struct of_device_id inv_of_match[] = {
.compatible = "invensense,icm20689",
.data = (void *)INV_ICM20689
},
+ {
+ .compatible = "invensense,icm20600",
+ .data = (void *)INV_ICM20600
+ },
{
.compatible = "invensense,icm20602",
.data = (void *)INV_ICM20602
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
index 94b54c501ec0..b4ab2c397d0f 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
@@ -79,6 +79,7 @@ enum inv_devices {
INV_ICM20608D,
INV_ICM20609,
INV_ICM20689,
+ INV_ICM20600,
INV_ICM20602,
INV_ICM20690,
INV_IAM20680,
@@ -398,6 +399,7 @@ struct inv_mpu6050_state {
#define INV_ICM20608D_WHOAMI_VALUE 0xAE
#define INV_ICM20609_WHOAMI_VALUE 0xA6
#define INV_ICM20689_WHOAMI_VALUE 0x98
+#define INV_ICM20600_WHOAMI_VALUE 0x11
#define INV_ICM20602_WHOAMI_VALUE 0x12
#define INV_ICM20690_WHOAMI_VALUE 0x20
#define INV_IAM20680_WHOAMI_VALUE 0xA9
diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
index 89f46c2f213d..05451ca1580b 100644
--- a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
+++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
@@ -76,6 +76,7 @@ static const struct spi_device_id inv_mpu_id[] = {
{"icm20608d", INV_ICM20608D},
{"icm20609", INV_ICM20609},
{"icm20689", INV_ICM20689},
+ {"icm20600", INV_ICM20600},
{"icm20602", INV_ICM20602},
{"icm20690", INV_ICM20690},
{"iam20680", INV_IAM20680},
@@ -125,6 +126,10 @@ static const struct of_device_id inv_of_match[] = {
.compatible = "invensense,icm20689",
.data = (void *)INV_ICM20689
},
+ {
+ .compatible = "invensense,icm20600",
+ .data = (void *)INV_ICM20600
+ },
{
.compatible = "invensense,icm20602",
.data = (void *)INV_ICM20602
--
2.30.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050
2023-04-21 7:16 [PATCH 0/2] Add support for the ICM 20600 IMU Hermes Zhang
2023-04-21 7:16 ` [PATCH 1/2] iio: imu: mpu6050: " Hermes Zhang
@ 2023-04-21 7:16 ` Hermes Zhang
2023-04-21 8:23 ` Krzysztof Kozlowski
1 sibling, 1 reply; 7+ messages in thread
From: Hermes Zhang @ 2023-04-21 7:16 UTC (permalink / raw)
To: jic23, krzysztof.kozlowski+dt, robh+dt, Jean-Baptiste Maneyrol
Cc: linux-iio, linux-kernel, kernel, Hermes Zhang, Lars-Peter Clausen,
devicetree
Adding the invensense ICM-20600 to the compatible list of the mpu6050
driver
Signed-off-by: Hermes Zhang <chenhuiz@axis.com>
---
.../devicetree/bindings/iio/imu/invensense,mpu6050.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
index ec64d7877fe5..67711bc0ee6c 100644
--- a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
+++ b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
@@ -20,6 +20,7 @@ properties:
- invensense,icm20608
- invensense,icm20609
- invensense,icm20689
+ - invensense,icm20600
- invensense,icm20602
- invensense,icm20690
- invensense,mpu6000
--
2.30.2
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050
2023-04-21 7:16 ` [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050 Hermes Zhang
@ 2023-04-21 8:23 ` Krzysztof Kozlowski
2023-04-22 6:14 ` Hermes Zhang
0 siblings, 1 reply; 7+ messages in thread
From: Krzysztof Kozlowski @ 2023-04-21 8:23 UTC (permalink / raw)
To: Hermes Zhang, jic23, krzysztof.kozlowski+dt, robh+dt,
Jean-Baptiste Maneyrol
Cc: linux-iio, linux-kernel, kernel, Lars-Peter Clausen, devicetree
On 21/04/2023 09:16, Hermes Zhang wrote:
> Adding the invensense ICM-20600 to the compatible list of the mpu6050
> driver
>
> Signed-off-by: Hermes Zhang <chenhuiz@axis.com>
> ---
> .../devicetree/bindings/iio/imu/invensense,mpu6050.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
> index ec64d7877fe5..67711bc0ee6c 100644
> --- a/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
> +++ b/Documentation/devicetree/bindings/iio/imu/invensense,mpu6050.yaml
> @@ -20,6 +20,7 @@ properties:
> - invensense,icm20608
> - invensense,icm20609
> - invensense,icm20689
> + - invensense,icm20600
> - invensense,icm20602
Didn't we start switching to compatible groups of devices? This looks
compatible with 20602.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050
2023-04-21 8:23 ` Krzysztof Kozlowski
@ 2023-04-22 6:14 ` Hermes Zhang
2023-04-22 17:19 ` Jonathan Cameron
0 siblings, 1 reply; 7+ messages in thread
From: Hermes Zhang @ 2023-04-22 6:14 UTC (permalink / raw)
To: Krzysztof Kozlowski, jic23, krzysztof.kozlowski+dt, robh+dt,
Jean-Baptiste Maneyrol
Cc: linux-iio, linux-kernel, kernel, Lars-Peter Clausen, devicetree
在 2023/4/21 16:23, Krzysztof Kozlowski 写道:
> Didn't we start switching to compatible groups of devices? This looks
> compatible with 20602.
Hi Krzysztof,
Sorry, I may not aware of this. Could you give some more info about the
compatible groups? Yes, the icm20602 is quite similar as icm20600.
Thanks & Best Regards,
Hermes
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050
2023-04-22 6:14 ` Hermes Zhang
@ 2023-04-22 17:19 ` Jonathan Cameron
0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2023-04-22 17:19 UTC (permalink / raw)
To: Hermes Zhang
Cc: Krzysztof Kozlowski, krzysztof.kozlowski+dt, robh+dt,
Jean-Baptiste Maneyrol, linux-iio, linux-kernel, kernel,
Lars-Peter Clausen, devicetree
On Sat, 22 Apr 2023 14:14:49 +0800
Hermes Zhang <chenhuiz@axis.com> wrote:
> 在 2023/4/21 16:23, Krzysztof Kozlowski 写道:
> > Didn't we start switching to compatible groups of devices? This looks
> > compatible with 20602.
>
> Hi Krzysztof,
>
> Sorry, I may not aware of this. Could you give some more info about the
> compatible groups? Yes, the icm20602 is quite similar as icm20600.
If it's compatible enough that a device tree that lists
compatible = "invensense,icm20600", "invensense,icm20602"
would work correctly with an old kernel by first checking for invensense,icm20600
then falling back to invense,icm20602 then it should be listed with that fallback.
See the existing block that covers the fallback form icm20608d to icm20608
- items:
- const: invensense,icm20608d
- const: invensense,icm20608
Note it is fine if the driver 'warns' that it's found a WHOAMI value it doesn't
know as long as it then goes on and works correctly. Thus there can't be
any incompatibilities between the two parts when we consider the functionality the
driver implements today. If we add features in future that aren't compatible, that's
fine because we will be matching against the more specific compatible you are
adding here.
Jonathan
>
> Thanks & Best Regards,
>
> Hermes
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 1/2] iio: imu: mpu6050: Add support for the ICM 20600 IMU
2023-04-21 7:16 ` [PATCH 1/2] iio: imu: mpu6050: " Hermes Zhang
@ 2023-04-22 17:21 ` Jonathan Cameron
0 siblings, 0 replies; 7+ messages in thread
From: Jonathan Cameron @ 2023-04-22 17:21 UTC (permalink / raw)
To: Hermes Zhang
Cc: krzysztof.kozlowski+dt, robh+dt, jmaneyrol, linux-iio,
linux-kernel, kernel, Lars-Peter Clausen
On Fri, 21 Apr 2023 15:16:29 +0800
Hermes Zhang <chenhuiz@axis.com> wrote:
> The Invensense ICM-20600 is a 6-axis MotionTracking device that combines a
> 3-axis gyroscope and an 3-axis accelerometer. It is very similar to the
> ICM20602 imu which is already supported by the mpu6050 driver. The main
> difference is that the ICM-20600 has a different WHOAMI value.
>
> Signed-off-by: Hermes Zhang <chenhuiz@axis.com>
FWIW the driver changes look good to me and the binding discussion
will have no impact on this patch.
Thanks,
Jonathan
> ---
> drivers/iio/imu/inv_mpu6050/Kconfig | 4 ++--
> drivers/iio/imu/inv_mpu6050/inv_mpu_core.c | 10 ++++++++++
> drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c | 6 ++++++
> drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h | 2 ++
> drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c | 5 +++++
> 5 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/iio/imu/inv_mpu6050/Kconfig b/drivers/iio/imu/inv_mpu6050/Kconfig
> index 3636b1bc90f1..64dd73dcc4ba 100644
> --- a/drivers/iio/imu/inv_mpu6050/Kconfig
> +++ b/drivers/iio/imu/inv_mpu6050/Kconfig
> @@ -16,7 +16,7 @@ config INV_MPU6050_I2C
> select REGMAP_I2C
> help
> This driver supports the Invensense MPU6050/9150,
> - MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20602/ICM20690
> + MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20600/20602/20690
> and IAM20680 motion tracking devices over I2C.
> This driver can be built as a module. The module will be called
> inv-mpu6050-i2c.
> @@ -28,7 +28,7 @@ config INV_MPU6050_SPI
> select REGMAP_SPI
> help
> This driver supports the Invensense MPU6000,
> - MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20602/ICM20690
> + MPU6500/6515/6880/9250/9255, ICM20608(D)/20609/20689, ICM20600/20602/20690
> and IAM20680 motion tracking devices over SPI.
> This driver can be built as a module. The module will be called
> inv-mpu6050-spi.
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> index 8a129120b73d..592a6e60b413 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_core.c
> @@ -244,6 +244,15 @@ static const struct inv_mpu6050_hw hw_info[] = {
> .temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE},
> .startup_time = {INV_MPU6500_GYRO_STARTUP_TIME, INV_MPU6500_ACCEL_STARTUP_TIME},
> },
> + {
> + .whoami = INV_ICM20600_WHOAMI_VALUE,
> + .name = "ICM20600",
> + .reg = ®_set_icm20602,
> + .config = &chip_config_6500,
> + .fifo_size = 1008,
> + .temp = {INV_ICM20608_TEMP_OFFSET, INV_ICM20608_TEMP_SCALE},
> + .startup_time = {INV_ICM20602_GYRO_STARTUP_TIME, INV_ICM20602_ACCEL_STARTUP_TIME},
> + },
> {
> .whoami = INV_ICM20602_WHOAMI_VALUE,
> .name = "ICM20602",
> @@ -1597,6 +1606,7 @@ int inv_mpu_core_probe(struct regmap *regmap, int irq, const char *name,
> indio_dev->num_channels = ARRAY_SIZE(inv_mpu9250_channels);
> indio_dev->available_scan_masks = inv_mpu9x50_scan_masks;
> break;
> + case INV_ICM20600:
> case INV_ICM20602:
> indio_dev->channels = inv_mpu_channels;
> indio_dev->num_channels = ARRAY_SIZE(inv_mpu_channels);
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
> index 2f2da4cb7321..0e39877678df 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_i2c.c
> @@ -32,6 +32,7 @@ static bool inv_mpu_i2c_aux_bus(struct device *dev)
> case INV_ICM20608D:
> case INV_ICM20609:
> case INV_ICM20689:
> + case INV_ICM20600:
> case INV_ICM20602:
> case INV_IAM20680:
> /* no i2c auxiliary bus on the chip */
> @@ -183,6 +184,7 @@ static const struct i2c_device_id inv_mpu_id[] = {
> {"icm20608d", INV_ICM20608D},
> {"icm20609", INV_ICM20609},
> {"icm20689", INV_ICM20689},
> + {"icm20600", INV_ICM20600},
> {"icm20602", INV_ICM20602},
> {"icm20690", INV_ICM20690},
> {"iam20680", INV_IAM20680},
> @@ -236,6 +238,10 @@ static const struct of_device_id inv_of_match[] = {
> .compatible = "invensense,icm20689",
> .data = (void *)INV_ICM20689
> },
> + {
> + .compatible = "invensense,icm20600",
> + .data = (void *)INV_ICM20600
> + },
> {
> .compatible = "invensense,icm20602",
> .data = (void *)INV_ICM20602
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
> index 94b54c501ec0..b4ab2c397d0f 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_iio.h
> @@ -79,6 +79,7 @@ enum inv_devices {
> INV_ICM20608D,
> INV_ICM20609,
> INV_ICM20689,
> + INV_ICM20600,
> INV_ICM20602,
> INV_ICM20690,
> INV_IAM20680,
> @@ -398,6 +399,7 @@ struct inv_mpu6050_state {
> #define INV_ICM20608D_WHOAMI_VALUE 0xAE
> #define INV_ICM20609_WHOAMI_VALUE 0xA6
> #define INV_ICM20689_WHOAMI_VALUE 0x98
> +#define INV_ICM20600_WHOAMI_VALUE 0x11
> #define INV_ICM20602_WHOAMI_VALUE 0x12
> #define INV_ICM20690_WHOAMI_VALUE 0x20
> #define INV_IAM20680_WHOAMI_VALUE 0xA9
> diff --git a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
> index 89f46c2f213d..05451ca1580b 100644
> --- a/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
> +++ b/drivers/iio/imu/inv_mpu6050/inv_mpu_spi.c
> @@ -76,6 +76,7 @@ static const struct spi_device_id inv_mpu_id[] = {
> {"icm20608d", INV_ICM20608D},
> {"icm20609", INV_ICM20609},
> {"icm20689", INV_ICM20689},
> + {"icm20600", INV_ICM20600},
> {"icm20602", INV_ICM20602},
> {"icm20690", INV_ICM20690},
> {"iam20680", INV_IAM20680},
> @@ -125,6 +126,10 @@ static const struct of_device_id inv_of_match[] = {
> .compatible = "invensense,icm20689",
> .data = (void *)INV_ICM20689
> },
> + {
> + .compatible = "invensense,icm20600",
> + .data = (void *)INV_ICM20600
> + },
> {
> .compatible = "invensense,icm20602",
> .data = (void *)INV_ICM20602
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2023-04-22 17:05 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-21 7:16 [PATCH 0/2] Add support for the ICM 20600 IMU Hermes Zhang
2023-04-21 7:16 ` [PATCH 1/2] iio: imu: mpu6050: " Hermes Zhang
2023-04-22 17:21 ` Jonathan Cameron
2023-04-21 7:16 ` [PATCH 2/2] dt-bindings: iio: imu: mpu6050: Add icm20600 bindings to mpu6050 Hermes Zhang
2023-04-21 8:23 ` Krzysztof Kozlowski
2023-04-22 6:14 ` Hermes Zhang
2023-04-22 17:19 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox