diff mbox series

[V2,5/6] iio: accel: bmi088: Add support for bmi090l accel

Message ID 20220510141753.3878390-6-Qing-wu.Li@leica-geosystems.com.cn (mailing list archive)
State Changes Requested
Headers show
Series iio: accel: bmi088: support BMI085 BMI090L | expand

Commit Message

LI Qingwu May 10, 2022, 2:17 p.m. UTC
Add supports for BMI090L, it's a high-performance Inertial
Measurement Unit, with an accelerometer and gyroscope.
The commit adds the accelerometer driver for the SPI interface.
The gyroscope part is already supported by the BMG160 driver.
Same as BMI088, BMI090L have the range of +/-3, 6, 12, and 24g.

Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
---
 drivers/iio/accel/bmi088-accel-core.c | 7 +++++++
 drivers/iio/accel/bmi088-accel-spi.c  | 1 +
 2 files changed, 8 insertions(+)

Comments

Jonathan Cameron May 14, 2022, 3:44 p.m. UTC | #1
On Tue, 10 May 2022 14:17:52 +0000
LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn> wrote:

> Add supports for BMI090L, it's a high-performance Inertial
> Measurement Unit, with an accelerometer and gyroscope.
> The commit adds the accelerometer driver for the SPI interface.
> The gyroscope part is already supported by the BMG160 driver.
> Same as BMI088, BMI090L have the range of +/-3, 6, 12, and 24g.
> 
> Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>
> Signed-off-by: LI Qingwu <Qing-wu.Li@leica-geosystems.com.cn>
> ---
>  drivers/iio/accel/bmi088-accel-core.c | 7 +++++++
>  drivers/iio/accel/bmi088-accel-spi.c  | 1 +
>  2 files changed, 8 insertions(+)
> 
> diff --git a/drivers/iio/accel/bmi088-accel-core.c b/drivers/iio/accel/bmi088-accel-core.c
> index 13bb3d96a3a6..6d44e97b4906 100644
> --- a/drivers/iio/accel/bmi088-accel-core.c
> +++ b/drivers/iio/accel/bmi088-accel-core.c
> @@ -472,6 +472,13 @@ static const struct bmi088_accel_chip_info bmi088_accel_chip_info_tbl[] = {
>  		.num_channels = ARRAY_SIZE(bmi088_accel_channels),
>  		.scale_table = {{0, 598}, {0, 1196}, {0, 2393}, {0, 4785}},
>  	},
> +	[2] = {
> +		.name = "bmi090l-accel",
> +		.chip_id = 0x1A,

Either order by chip_id or by name. I don't mind which but we do want some
logical ordering in this table so we know where to put future entries.

Thanks,

Jonathan

> +		.channels = bmi088_accel_channels,
> +		.num_channels = ARRAY_SIZE(bmi088_accel_channels),
> +		.scale_table = {{0, 897}, {0, 1795}, {0, 3590}, {0, 7179}},
> +	},
>  };
>  
>  static const struct iio_info bmi088_accel_info = {
> diff --git a/drivers/iio/accel/bmi088-accel-spi.c b/drivers/iio/accel/bmi088-accel-spi.c
> index e7a1daab8f3c..58be73ebd2dd 100644
> --- a/drivers/iio/accel/bmi088-accel-spi.c
> +++ b/drivers/iio/accel/bmi088-accel-spi.c
> @@ -62,6 +62,7 @@ static int bmi088_accel_remove(struct spi_device *spi)
>  static const struct spi_device_id bmi088_accel_id[] = {
>  	{"bmi088-accel", },
>  	{"bmi085-accel", },
> +	{"bmi090l-accel", },
>  	{}
>  };
>  MODULE_DEVICE_TABLE(spi, bmi088_accel_id);
diff mbox series

Patch

diff --git a/drivers/iio/accel/bmi088-accel-core.c b/drivers/iio/accel/bmi088-accel-core.c
index 13bb3d96a3a6..6d44e97b4906 100644
--- a/drivers/iio/accel/bmi088-accel-core.c
+++ b/drivers/iio/accel/bmi088-accel-core.c
@@ -472,6 +472,13 @@  static const struct bmi088_accel_chip_info bmi088_accel_chip_info_tbl[] = {
 		.num_channels = ARRAY_SIZE(bmi088_accel_channels),
 		.scale_table = {{0, 598}, {0, 1196}, {0, 2393}, {0, 4785}},
 	},
+	[2] = {
+		.name = "bmi090l-accel",
+		.chip_id = 0x1A,
+		.channels = bmi088_accel_channels,
+		.num_channels = ARRAY_SIZE(bmi088_accel_channels),
+		.scale_table = {{0, 897}, {0, 1795}, {0, 3590}, {0, 7179}},
+	},
 };
 
 static const struct iio_info bmi088_accel_info = {
diff --git a/drivers/iio/accel/bmi088-accel-spi.c b/drivers/iio/accel/bmi088-accel-spi.c
index e7a1daab8f3c..58be73ebd2dd 100644
--- a/drivers/iio/accel/bmi088-accel-spi.c
+++ b/drivers/iio/accel/bmi088-accel-spi.c
@@ -62,6 +62,7 @@  static int bmi088_accel_remove(struct spi_device *spi)
 static const struct spi_device_id bmi088_accel_id[] = {
 	{"bmi088-accel", },
 	{"bmi085-accel", },
+	{"bmi090l-accel", },
 	{}
 };
 MODULE_DEVICE_TABLE(spi, bmi088_accel_id);