2022-11-10 19:45:21

by Jay Greco

[permalink] [raw]
Subject: [PATCH v2 0/2] iio: imu: inv_icm42600: Add support for icm42631

This patch adds support for the invensense icm42631 as part of the
inv_icm42600 family driver within the IIO subsystem. The patch series
also includes the requisite changes to the dt-bindings documentation.

Changes in v2:
- Fix documentation subject prefix per Krzysztof Kozlowski

Changes in v1:
- initial patch submission

Jay Greco (2):
iio: imu: inv_icm42600: Add support for icm42631
dt-bindings: iio: imu: Add inv_icm42600 documentation

.../devicetree/bindings/iio/imu/invensense,icm42600.yaml | 1 +
drivers/iio/imu/inv_icm42600/inv_icm42600.h | 2 ++
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 5 +++++
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 3 +++
drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 +++
5 files changed, 14 insertions(+)

--
2.37.1



2022-11-10 19:48:22

by Jay Greco

[permalink] [raw]
Subject: [PATCH v2 1/2] iio: imu: inv_icm42600: Add support for icm42631

Add the required WHOAMI and device_id definitions to support the
icm42631.

Signed-off-by: Jay Greco <[email protected]>
---

(no changes since v1)

drivers/iio/imu/inv_icm42600/inv_icm42600.h | 2 ++
drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 5 +++++
drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 3 +++
drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 +++
4 files changed, 13 insertions(+)

diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
index 3d91469beccb..0e290c807b0f 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
@@ -22,6 +22,7 @@ enum inv_icm42600_chip {
INV_CHIP_ICM42602,
INV_CHIP_ICM42605,
INV_CHIP_ICM42622,
+ INV_CHIP_ICM42631,
INV_CHIP_NB,
};

@@ -303,6 +304,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_ICM42631 0x5C

/* User bank 1 (MSB 0x10) */
#define INV_ICM42600_REG_SENSOR_CONFIG0 0x1003
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
index ca85fccc9839..12952739f749 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
@@ -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_ICM42631] = {
+ .whoami = INV_ICM42600_WHOAMI_ICM42631,
+ .name = "icm42631",
+ .conf = &inv_icm42600_default_conf,
+ },
};

const struct iio_mount_matrix *
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
index d4a692b838d0..38c36a655167 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
@@ -84,6 +84,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
}, {
.compatible = "invensense,icm42622",
.data = (void *)INV_CHIP_ICM42622,
+ }, {
+ .compatible = "invensense,icm42631",
+ .data = (void *)INV_CHIP_ICM42631,
},
{}
};
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
index e6305e5fa975..6a85c12d38bd 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
@@ -80,6 +80,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
}, {
.compatible = "invensense,icm42622",
.data = (void *)INV_CHIP_ICM42622,
+ }, {
+ .compatible = "invensense,icm42631",
+ .data = (void *)INV_CHIP_ICM42631,
},
{}
};
--
2.37.1


2022-11-10 19:57:39

by Jay Greco

[permalink] [raw]
Subject: [PATCH v2 2/2] dt-bindings: iio: imu: Add inv_icm42600 documentation

Update the required documentation for the icm42631.

Signed-off-by: Jay Greco <[email protected]>
---

(no changes since v1)

.../devicetree/bindings/iio/imu/invensense,icm42600.yaml | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
index 488349755c99..13c9abdd3131 100644
--- a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
+++ b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
@@ -31,6 +31,7 @@ properties:
- invensense,icm42602
- invensense,icm42605
- invensense,icm42622
+ - invensense,icm42631

reg:
maxItems: 1
--
2.37.1


2022-11-10 20:07:18

by Jean-Baptiste Maneyrol

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: iio: imu: Add inv_icm42600 documentation

Hello Jay,

looks good, thanks for the patch.

Acked-by: Jean-Baptiste Maneyrol <[email protected]>

Thanks,
JB


From: Jay Greco <[email protected]>
Sent: Thursday, November 10, 2022 20:29
To: [email protected] <[email protected]>
Cc: [email protected] <[email protected]>; Jay Greco <[email protected]>; Jean-Baptiste Maneyrol <[email protected]>; Jonathan Cameron <[email protected]>; Krzysztof Kozlowski <[email protected]>; Lars-Peter Clausen <[email protected]>; Rob Herring <[email protected]>; [email protected] <[email protected]>; [email protected] <[email protected]>
Subject: [PATCH v2 2/2] dt-bindings: iio: imu: Add inv_icm42600 documentation
?
?CAUTION: This email originated from outside of the organization. Please make sure the sender is who they say they are and do not click links or open attachments unless you recognize the sender and know the content is safe.

Update the required documentation for the icm42631.

Signed-off-by: Jay Greco <[email protected]>
---

(no changes since v1)

?.../devicetree/bindings/iio/imu/invensense,icm42600.yaml???????? | 1 +
?1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
index 488349755c99..13c9abdd3131 100644
--- a/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
+++ b/Documentation/devicetree/bindings/iio/imu/invensense,icm42600.yaml
@@ -31,6 +31,7 @@ properties:
?????? - invensense,icm42602
?????? - invensense,icm42605
?????? - invensense,icm42622
+????? - invensense,icm42631
?
?? reg:
???? maxItems: 1
--
2.37.1

2022-11-10 20:13:07

by Jean-Baptiste Maneyrol

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] iio: imu: inv_icm42600: Add support for icm42631

Hello Jay,

looks good, thanks for the patch.

Acked-by: Jean-Baptiste Maneyrol <[email protected]>

Thanks,
JB


From: Jay Greco <[email protected]>
Sent: Thursday, November 10, 2022 20:29
To: [email protected] <[email protected]>
Cc: [email protected] <[email protected]>; Jay Greco <[email protected]>; Jean-Baptiste Maneyrol <[email protected]>; Jonathan Cameron <[email protected]>; Lars-Peter Clausen <[email protected]>; [email protected] <[email protected]>
Subject: [PATCH v2 1/2] iio: imu: inv_icm42600: Add support for icm42631
?
?CAUTION: This email originated from outside of the organization. Please make sure the sender is who they say they are and do not click links or open attachments unless you recognize the sender and know the content is safe.

Add the required WHOAMI and device_id definitions to support the
icm42631.

Signed-off-by: Jay Greco <[email protected]>
---

(no changes since v1)

?drivers/iio/imu/inv_icm42600/inv_icm42600.h????? | 2 ++
?drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 5 +++++
?drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c? | 3 +++
?drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c? | 3 +++
?4 files changed, 13 insertions(+)

diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600.h b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
index 3d91469beccb..0e290c807b0f 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600.h
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600.h
@@ -22,6 +22,7 @@ enum inv_icm42600_chip {
???????? INV_CHIP_ICM42602,
???????? INV_CHIP_ICM42605,
???????? INV_CHIP_ICM42622,
+?????? INV_CHIP_ICM42631,
???????? INV_CHIP_NB,
?};
?
@@ -303,6 +304,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_ICM42631?????????????????? 0x5C
?
?/* User bank 1 (MSB 0x10) */
?#define INV_ICM42600_REG_SENSOR_CONFIG0???????????????? 0x1003
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
index ca85fccc9839..12952739f749 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_core.c
@@ -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_ICM42631] = {
+?????????????? .whoami = INV_ICM42600_WHOAMI_ICM42631,
+?????????????? .name = "icm42631",
+?????????????? .conf = &inv_icm42600_default_conf,
+?????? },
?};
?
?const struct iio_mount_matrix *
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
index d4a692b838d0..38c36a655167 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c
@@ -84,6 +84,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
???????? }, {
???????????????? .compatible = "invensense,icm42622",
???????????????? .data = (void *)INV_CHIP_ICM42622,
+?????? }, {
+?????????????? .compatible = "invensense,icm42631",
+?????????????? .data = (void *)INV_CHIP_ICM42631,
???????? },
???????? {}
?};
diff --git a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
index e6305e5fa975..6a85c12d38bd 100644
--- a/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
+++ b/drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c
@@ -80,6 +80,9 @@ static const struct of_device_id inv_icm42600_of_matches[] = {
???????? }, {
???????????????? .compatible = "invensense,icm42622",
???????????????? .data = (void *)INV_CHIP_ICM42622,
+?????? }, {
+?????????????? .compatible = "invensense,icm42631",
+?????????????? .data = (void *)INV_CHIP_ICM42631,
???????? },
???????? {}
?};
--
2.37.1

2022-11-11 15:03:03

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dt-bindings: iio: imu: Add inv_icm42600 documentation

On 10/11/2022 20:29, Jay Greco wrote:
> Update the required documentation for the icm42631.
>
> Signed-off-by: Jay Greco <[email protected]>
> ---
>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2022-11-12 17:44:16

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 0/2] iio: imu: inv_icm42600: Add support for icm42631

On Thu, 10 Nov 2022 19:29:31 +0000
Jay Greco <[email protected]> wrote:

> This patch adds support for the invensense icm42631 as part of the
> inv_icm42600 family driver within the IIO subsystem. The patch series
> also includes the requisite changes to the dt-bindings documentation.
>
> Changes in v2:
> - Fix documentation subject prefix per Krzysztof Kozlowski
>
> Changes in v1:
> - initial patch submission

Hi Jay,

Applied to the togreg branch of iio.git which I will shortly push out
as testing to give the various automated build systems the opportunity to
see if they can find anything we missed.

Welcome to IIO btw.

Thanks,

Jonathan

>
> Jay Greco (2):
> iio: imu: inv_icm42600: Add support for icm42631
> dt-bindings: iio: imu: Add inv_icm42600 documentation
>
> .../devicetree/bindings/iio/imu/invensense,icm42600.yaml | 1 +
> drivers/iio/imu/inv_icm42600/inv_icm42600.h | 2 ++
> drivers/iio/imu/inv_icm42600/inv_icm42600_core.c | 5 +++++
> drivers/iio/imu/inv_icm42600/inv_icm42600_i2c.c | 3 +++
> drivers/iio/imu/inv_icm42600/inv_icm42600_spi.c | 3 +++
> 5 files changed, 14 insertions(+)
>