* [PATCH v3 0/3] iio: imu: add devices to adis16480 driver
@ 2024-11-08 12:58 Darius Berghe
2024-11-08 12:58 ` [PATCH v3 1/3] iio: imu: adis16480: " Darius Berghe
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Darius Berghe @ 2024-11-08 12:58 UTC (permalink / raw)
To: jic23, robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich
Cc: linux-iio, devicetree, linux-kernel, linux-doc, darius.berghe
Changes in v3:
- resend v2 using get_maintainers.pl script, hopefully everyone is in
the email list now
- edited the dt-bindings patch to use oneOf
Darius Berghe (3):
iio: imu: adis16480: add devices to adis16480 driver
iio: imu: adis16480: add devices to adis16480 - docs
dt-bindings: iio: adis16480: add devices to adis16480
.../bindings/iio/imu/adi,adis16480.yaml | 42 ++++++-----
Documentation/iio/adis16480.rst | 3 +
drivers/iio/imu/adis16480.c | 75 +++++++++++++++++++
3 files changed, 102 insertions(+), 18 deletions(-)
--
2.46.1
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH v3 1/3] iio: imu: adis16480: add devices to adis16480 driver
2024-11-08 12:58 [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Darius Berghe
@ 2024-11-08 12:58 ` Darius Berghe
2024-11-08 12:58 ` [PATCH v3 2/3] iio: imu: adis16480: add devices to adis16480 - docs Darius Berghe
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Darius Berghe @ 2024-11-08 12:58 UTC (permalink / raw)
To: jic23, robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich
Cc: linux-iio, devicetree, linux-kernel, linux-doc, darius.berghe
Add support for adis16486, adis16487 and adis16489 Six Degrees
of Freedom Inertial Sensors into the existing adis16480 iio
subsystem driver.
adis16486 is similar to adis16485, has the exact same channels
but acceleration and delta velocity scales are different.
adis16487 is fallback compatible with adis16485.
adis16489 is similar to adis16488 but lacks the magnetometer
and has a different accelerometer scale.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
drivers/iio/imu/adis16480.c | 75 +++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/drivers/iio/imu/adis16480.c b/drivers/iio/imu/adis16480.c
index 294181f2fcb3..569a03598952 100644
--- a/drivers/iio/imu/adis16480.c
+++ b/drivers/iio/imu/adis16480.c
@@ -878,11 +878,32 @@ static const struct iio_chan_spec adis16545_channels[] = {
IIO_CHAN_SOFT_TIMESTAMP(17),
};
+static const struct iio_chan_spec adis16489_channels[] = {
+ ADIS16480_GYRO_CHANNEL(X),
+ ADIS16480_GYRO_CHANNEL(Y),
+ ADIS16480_GYRO_CHANNEL(Z),
+ ADIS16480_ACCEL_CHANNEL(X),
+ ADIS16480_ACCEL_CHANNEL(Y),
+ ADIS16480_ACCEL_CHANNEL(Z),
+ ADIS16480_PRESSURE_CHANNEL(),
+ ADIS16480_TEMP_CHANNEL(),
+ IIO_CHAN_SOFT_TIMESTAMP(8),
+ ADIS16480_DELTANG_CHANNEL_NO_SCAN(X),
+ ADIS16480_DELTANG_CHANNEL_NO_SCAN(Y),
+ ADIS16480_DELTANG_CHANNEL_NO_SCAN(Z),
+ ADIS16480_DELTVEL_CHANNEL_NO_SCAN(X),
+ ADIS16480_DELTVEL_CHANNEL_NO_SCAN(Y),
+ ADIS16480_DELTVEL_CHANNEL_NO_SCAN(Z),
+};
+
enum adis16480_variant {
ADIS16375,
ADIS16480,
ADIS16485,
+ ADIS16486,
+ ADIS16487,
ADIS16488,
+ ADIS16489,
ADIS16490,
ADIS16495_1,
ADIS16495_2,
@@ -1038,6 +1059,38 @@ static const struct adis16480_chip_info adis16480_chip_info[] = {
.filter_freqs = adis16480_def_filter_freqs,
.adis_data = ADIS16480_DATA(16485, &adis16485_timeouts, 0, 0),
},
+ [ADIS16486] = {
+ .channels = adis16485_channels,
+ .num_channels = ARRAY_SIZE(adis16485_channels),
+ .gyro_max_val = 22500 << 16,
+ .gyro_max_scale = IIO_DEGREE_TO_RAD(450),
+ .accel_max_val = IIO_M_S_2_TO_G(20000 << 16),
+ .accel_max_scale = 18,
+ .temp_scale = 5650, /* 5.65 milli degree Celsius */
+ .deltang_max_val = IIO_DEGREE_TO_RAD(720),
+ .deltvel_max_val = 200,
+ .int_clk = 2460000,
+ .max_dec_rate = 2048,
+ .has_sleep_cnt = true,
+ .filter_freqs = adis16480_def_filter_freqs,
+ .adis_data = ADIS16480_DATA(16486, &adis16480_timeouts, 0, 0),
+ },
+ [ADIS16487] = {
+ .channels = adis16485_channels,
+ .num_channels = ARRAY_SIZE(adis16485_channels),
+ .gyro_max_val = 22500 << 16,
+ .gyro_max_scale = IIO_DEGREE_TO_RAD(450),
+ .accel_max_val = IIO_M_S_2_TO_G(20000 << 16),
+ .accel_max_scale = 5,
+ .temp_scale = 5650, /* 5.65 milli degree Celsius */
+ .deltang_max_val = IIO_DEGREE_TO_RAD(720),
+ .deltvel_max_val = 50,
+ .int_clk = 2460000,
+ .max_dec_rate = 2048,
+ .has_sleep_cnt = true,
+ .filter_freqs = adis16480_def_filter_freqs,
+ .adis_data = ADIS16480_DATA(16487, &adis16485_timeouts, 0, 0),
+ },
[ADIS16488] = {
.channels = adis16480_channels,
.num_channels = ARRAY_SIZE(adis16480_channels),
@@ -1054,6 +1107,22 @@ static const struct adis16480_chip_info adis16480_chip_info[] = {
.filter_freqs = adis16480_def_filter_freqs,
.adis_data = ADIS16480_DATA(16488, &adis16485_timeouts, 0, 0),
},
+ [ADIS16489] = {
+ .channels = adis16489_channels,
+ .num_channels = ARRAY_SIZE(adis16489_channels),
+ .gyro_max_val = 22500 << 16,
+ .gyro_max_scale = IIO_DEGREE_TO_RAD(450),
+ .accel_max_val = IIO_M_S_2_TO_G(20000 << 16),
+ .accel_max_scale = 18,
+ .temp_scale = 5650, /* 5.65 milli degree Celsius */
+ .deltang_max_val = IIO_DEGREE_TO_RAD(720),
+ .deltvel_max_val = 200,
+ .int_clk = 2460000,
+ .max_dec_rate = 2048,
+ .has_sleep_cnt = true,
+ .filter_freqs = adis16480_def_filter_freqs,
+ .adis_data = ADIS16480_DATA(16489, &adis16480_timeouts, 0, 0),
+ },
[ADIS16490] = {
.channels = adis16485_channels,
.num_channels = ARRAY_SIZE(adis16485_channels),
@@ -1741,7 +1810,10 @@ static const struct spi_device_id adis16480_ids[] = {
{ "adis16375", ADIS16375 },
{ "adis16480", ADIS16480 },
{ "adis16485", ADIS16485 },
+ { "adis16486", ADIS16486 },
+ { "adis16487", ADIS16487 },
{ "adis16488", ADIS16488 },
+ { "adis16489", ADIS16489 },
{ "adis16490", ADIS16490 },
{ "adis16495-1", ADIS16495_1 },
{ "adis16495-2", ADIS16495_2 },
@@ -1763,7 +1835,10 @@ static const struct of_device_id adis16480_of_match[] = {
{ .compatible = "adi,adis16375" },
{ .compatible = "adi,adis16480" },
{ .compatible = "adi,adis16485" },
+ { .compatible = "adi,adis16486" },
+ { .compatible = "adi,adis16487" },
{ .compatible = "adi,adis16488" },
+ { .compatible = "adi,adis16489" },
{ .compatible = "adi,adis16490" },
{ .compatible = "adi,adis16495-1" },
{ .compatible = "adi,adis16495-2" },
--
2.46.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/3] iio: imu: adis16480: add devices to adis16480 - docs
2024-11-08 12:58 [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Darius Berghe
2024-11-08 12:58 ` [PATCH v3 1/3] iio: imu: adis16480: " Darius Berghe
@ 2024-11-08 12:58 ` Darius Berghe
2024-11-08 12:58 ` [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480 Darius Berghe
2024-11-09 11:22 ` [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Jonathan Cameron
3 siblings, 0 replies; 6+ messages in thread
From: Darius Berghe @ 2024-11-08 12:58 UTC (permalink / raw)
To: jic23, robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich
Cc: linux-iio, devicetree, linux-kernel, linux-doc, darius.berghe
Add datasheet links for adis16486, adis16487 and adis16489
Six Degrees of Freedom Inertial Sensors into the existing
adis16480 driver documentation.
adis16486 is similar to adis16485, has the exact same channels
but acceleration and delta velocity scales are different.
adis16487 is fallback compatible with adis16485.
adis16489 is similar to adis16488 but lacks the magnetometer
and has a different accelerometer scale.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
Documentation/iio/adis16480.rst | 3 +++
1 file changed, 3 insertions(+)
diff --git a/Documentation/iio/adis16480.rst b/Documentation/iio/adis16480.rst
index bc78fa04d958..4a2d40e0daa7 100644
--- a/Documentation/iio/adis16480.rst
+++ b/Documentation/iio/adis16480.rst
@@ -12,7 +12,10 @@ This driver supports Analog Device's IMUs on SPI bus.
* `ADIS16375 <https://www.analog.com/ADIS16375>`_
* `ADIS16480 <https://www.analog.com/ADIS16480>`_
* `ADIS16485 <https://www.analog.com/ADIS16485>`_
+* `ADIS16486 <https://www.analog.com/ADIS16486>`_
+* `ADIS16487 <https://www.analog.com/ADIS16487>`_
* `ADIS16488 <https://www.analog.com/ADIS16488>`_
+* `ADIS16489 <https://www.analog.com/ADIS16489>`_
* `ADIS16490 <https://www.analog.com/ADIS16490>`_
* `ADIS16495 <https://www.analog.com/ADIS16495>`_
* `ADIS16497 <https://www.analog.com/ADIS16497>`_
--
2.46.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480
2024-11-08 12:58 [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Darius Berghe
2024-11-08 12:58 ` [PATCH v3 1/3] iio: imu: adis16480: " Darius Berghe
2024-11-08 12:58 ` [PATCH v3 2/3] iio: imu: adis16480: add devices to adis16480 - docs Darius Berghe
@ 2024-11-08 12:58 ` Darius Berghe
2024-11-08 17:43 ` Conor Dooley
2024-11-09 11:22 ` [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Jonathan Cameron
3 siblings, 1 reply; 6+ messages in thread
From: Darius Berghe @ 2024-11-08 12:58 UTC (permalink / raw)
To: jic23, robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich
Cc: linux-iio, devicetree, linux-kernel, linux-doc, darius.berghe
Add the adis16486, adis16487 and adis16489 Six Degrees
of Freedom Inertial Sensors to the list of compatible devices
of the adis16480 iio subsystem driver.
adis16486 is similar to adis16485, has the exact same channels
but acceleration and delta velocity scales are different.
adis16487 is fallback compatible with adis16485 and as a
consequence, dt-bindings list was updated to use oneOf.
adis16489 is similar to adis16488 but lacks the magnetometer
and has a different accelerometer scale.
Signed-off-by: Darius Berghe <darius.berghe@analog.com>
---
.../bindings/iio/imu/adi,adis16480.yaml | 42 +++++++++++--------
1 file changed, 24 insertions(+), 18 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/imu/adi,adis16480.yaml b/Documentation/devicetree/bindings/iio/imu/adi,adis16480.yaml
index e3eec38897bf..7a1a74fec281 100644
--- a/Documentation/devicetree/bindings/iio/imu/adi,adis16480.yaml
+++ b/Documentation/devicetree/bindings/iio/imu/adi,adis16480.yaml
@@ -11,24 +11,30 @@ maintainers:
properties:
compatible:
- enum:
- - adi,adis16375
- - adi,adis16480
- - adi,adis16485
- - adi,adis16488
- - adi,adis16490
- - adi,adis16495-1
- - adi,adis16495-2
- - adi,adis16495-3
- - adi,adis16497-1
- - adi,adis16497-2
- - adi,adis16497-3
- - adi,adis16545-1
- - adi,adis16545-2
- - adi,adis16545-3
- - adi,adis16547-1
- - adi,adis16547-2
- - adi,adis16547-3
+ oneOf:
+ - enum:
+ - adi,adis16375
+ - adi,adis16480
+ - adi,adis16485
+ - adi,adis16486
+ - adi,adis16488
+ - adi,adis16489
+ - adi,adis16490
+ - adi,adis16495-1
+ - adi,adis16495-2
+ - adi,adis16495-3
+ - adi,adis16497-1
+ - adi,adis16497-2
+ - adi,adis16497-3
+ - adi,adis16545-1
+ - adi,adis16545-2
+ - adi,adis16545-3
+ - adi,adis16547-1
+ - adi,adis16547-2
+ - adi,adis16547-3
+ - items:
+ - const: adi,adis16487
+ - const: adi,adis16485
reg:
maxItems: 1
--
2.46.1
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480
2024-11-08 12:58 ` [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480 Darius Berghe
@ 2024-11-08 17:43 ` Conor Dooley
0 siblings, 0 replies; 6+ messages in thread
From: Conor Dooley @ 2024-11-08 17:43 UTC (permalink / raw)
To: Darius Berghe
Cc: jic23, robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich, linux-iio, devicetree, linux-kernel, linux-doc
[-- Attachment #1: Type: text/plain, Size: 416 bytes --]
On Fri, Nov 08, 2024 at 02:58:14PM +0200, Darius Berghe wrote:
> adis16487 is fallback compatible with adis16485 and as a
> consequence, dt-bindings list was updated to use oneOf.
>
> adis16489 is similar to adis16488 but lacks the magnetometer
> and has a different accelerometer scale.
>
> Signed-off-by: Darius Berghe <darius.berghe@analog.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 0/3] iio: imu: add devices to adis16480 driver
2024-11-08 12:58 [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Darius Berghe
` (2 preceding siblings ...)
2024-11-08 12:58 ` [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480 Darius Berghe
@ 2024-11-09 11:22 ` Jonathan Cameron
3 siblings, 0 replies; 6+ messages in thread
From: Jonathan Cameron @ 2024-11-09 11:22 UTC (permalink / raw)
To: Darius Berghe
Cc: robh, krzk+dt, conor+dt, corbet, alexandru.tachici, lars,
Michael.Hennerich, linux-iio, devicetree, linux-kernel, linux-doc
On Fri, 8 Nov 2024 14:58:11 +0200
Darius Berghe <darius.berghe@analog.com> wrote:
> Changes in v3:
> - resend v2 using get_maintainers.pl script, hopefully everyone is in
> the email list now
> - edited the dt-bindings patch to use oneOf
>
> Darius Berghe (3):
> iio: imu: adis16480: add devices to adis16480 driver
> iio: imu: adis16480: add devices to adis16480 - docs
> dt-bindings: iio: adis16480: add devices to adis16480
>
> .../bindings/iio/imu/adi,adis16480.yaml | 42 ++++++-----
> Documentation/iio/adis16480.rst | 3 +
> drivers/iio/imu/adis16480.c | 75 +++++++++++++++++++
> 3 files changed, 102 insertions(+), 18 deletions(-)
>
Applied to the testing branch of iio.git
Note that I'll be rebasing this on 6.13-rc1 once available so
it won't be picked up by linux-next until after that (when I'll
push it out as togreg).
In the meantime, 0-day can have a first look at this.
Jonathan
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2024-11-09 11:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-08 12:58 [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Darius Berghe
2024-11-08 12:58 ` [PATCH v3 1/3] iio: imu: adis16480: " Darius Berghe
2024-11-08 12:58 ` [PATCH v3 2/3] iio: imu: adis16480: add devices to adis16480 - docs Darius Berghe
2024-11-08 12:58 ` [PATCH v3 3/3] dt-bindings: iio: adis16480: add devices to adis16480 Darius Berghe
2024-11-08 17:43 ` Conor Dooley
2024-11-09 11:22 ` [PATCH v3 0/3] iio: imu: add devices to adis16480 driver Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox