* [PATCH v2 2/2] iio: imu: st_lsm6dsx: Add sensor hub device LIS3MDL
@ 2020-03-28 18:45 Jimmy Assarsson
2020-03-29 9:42 ` Jonathan Cameron
0 siblings, 1 reply; 3+ messages in thread
From: Jimmy Assarsson @ 2020-03-28 18:45 UTC (permalink / raw)
To: linux-iio; +Cc: Lorenzo Bianconi, Andy Shevchenko
Add LIS3MDL register map to sensor hub device table.
Tested with LSM6DSM.
Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
---
Changes in v2:
- Use ST_SENSORS_DEFAULT_WAI_ADDRESS
| 64 ++++++++++++++++++++
1 file changed, 64 insertions(+)
--git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
index 95ddd19d1aa7..3b983e0cc5ce 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
@@ -28,6 +28,7 @@
#include <linux/iio/sysfs.h>
#include <linux/bitfield.h>
+#include <linux/iio/common/st_sensors.h>
#include "st_lsm6dsx.h"
#define ST_LSM6DSX_SLV_ADDR(n, base) ((base) + (n) * 3)
@@ -88,6 +89,69 @@ static const struct st_lsm6dsx_ext_dev_settings st_lsm6dsx_ext_dev_table[] = {
.len = 6,
},
},
+ /* LIS3MDL */
+ {
+ .i2c_addr = { 0x1e },
+ .wai = {
+ .addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
+ .val = 0x3d,
+ },
+ .id = ST_LSM6DSX_ID_MAGN,
+ .odr_table = {
+ .reg = {
+ .addr = 0x20,
+ .mask = GENMASK(4, 2),
+ },
+ .odr_avl[0] = { 1000, 0x0 },
+ .odr_avl[1] = { 2000, 0x1 },
+ .odr_avl[2] = { 3000, 0x2 },
+ .odr_avl[3] = { 5000, 0x3 },
+ .odr_avl[4] = { 10000, 0x4 },
+ .odr_avl[5] = { 20000, 0x5 },
+ .odr_avl[6] = { 40000, 0x6 },
+ .odr_avl[7] = { 80000, 0x7 },
+ .odr_len = 8,
+ },
+ .fs_table = {
+ .reg = {
+ .addr = 0x21,
+ .mask = GENMASK(6, 5),
+ },
+ .fs_avl[0] = {
+ .gain = 146,
+ .val = 0x00,
+ }, /* 4000 uG/LSB */
+ .fs_avl[1] = {
+ .gain = 292,
+ .val = 0x01,
+ }, /* 8000 uG/LSB */
+ .fs_avl[2] = {
+ .gain = 438,
+ .val = 0x02,
+ }, /* 12000 uG/LSB */
+ .fs_avl[3] = {
+ .gain = 584,
+ .val = 0x03,
+ }, /* 16000 uG/LSB */
+ .fs_len = 4,
+ },
+ .pwr_table = {
+ .reg = {
+ .addr = 0x22,
+ .mask = GENMASK(1, 0),
+ },
+ .off_val = 0x2,
+ .on_val = 0x0,
+ },
+ .bdu = {
+ .addr = 0x24,
+ .mask = BIT(6),
+ },
+ .out = {
+ .addr = 0x28,
+ .len = 6,
+ },
+ },
};
static void st_lsm6dsx_shub_wait_complete(struct st_lsm6dsx_hw *hw)
--
2.26.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v2 2/2] iio: imu: st_lsm6dsx: Add sensor hub device LIS3MDL
2020-03-28 18:45 [PATCH v2 2/2] iio: imu: st_lsm6dsx: Add sensor hub device LIS3MDL Jimmy Assarsson
@ 2020-03-29 9:42 ` Jonathan Cameron
2020-04-04 15:38 ` Jonathan Cameron
0 siblings, 1 reply; 3+ messages in thread
From: Jonathan Cameron @ 2020-03-29 9:42 UTC (permalink / raw)
To: Jimmy Assarsson; +Cc: linux-iio, Lorenzo Bianconi, Andy Shevchenko
On Sat, 28 Mar 2020 19:45:19 +0100
Jimmy Assarsson <jimmyassarsson@gmail.com> wrote:
> Add LIS3MDL register map to sensor hub device table.
> Tested with LSM6DSM.
>
> Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
Please always repost the entire series. On this occasion I can find
patch 1 but sometimes it's not so easy :)
Looks fine to me, but lets' leave it on list for a while longer to
see if others wish to comment.
> ---
> Changes in v2:
> - Use ST_SENSORS_DEFAULT_WAI_ADDRESS
>
> drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c | 64 ++++++++++++++++++++
> 1 file changed, 64 insertions(+)
>
> diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> index 95ddd19d1aa7..3b983e0cc5ce 100644
> --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> @@ -28,6 +28,7 @@
> #include <linux/iio/sysfs.h>
> #include <linux/bitfield.h>
>
> +#include <linux/iio/common/st_sensors.h>
> #include "st_lsm6dsx.h"
>
> #define ST_LSM6DSX_SLV_ADDR(n, base) ((base) + (n) * 3)
> @@ -88,6 +89,69 @@ static const struct st_lsm6dsx_ext_dev_settings st_lsm6dsx_ext_dev_table[] = {
> .len = 6,
> },
> },
> + /* LIS3MDL */
> + {
> + .i2c_addr = { 0x1e },
> + .wai = {
> + .addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
> + .val = 0x3d,
> + },
> + .id = ST_LSM6DSX_ID_MAGN,
> + .odr_table = {
> + .reg = {
> + .addr = 0x20,
> + .mask = GENMASK(4, 2),
> + },
> + .odr_avl[0] = { 1000, 0x0 },
> + .odr_avl[1] = { 2000, 0x1 },
> + .odr_avl[2] = { 3000, 0x2 },
> + .odr_avl[3] = { 5000, 0x3 },
> + .odr_avl[4] = { 10000, 0x4 },
> + .odr_avl[5] = { 20000, 0x5 },
> + .odr_avl[6] = { 40000, 0x6 },
> + .odr_avl[7] = { 80000, 0x7 },
> + .odr_len = 8,
> + },
> + .fs_table = {
> + .reg = {
> + .addr = 0x21,
> + .mask = GENMASK(6, 5),
> + },
> + .fs_avl[0] = {
> + .gain = 146,
> + .val = 0x00,
> + }, /* 4000 uG/LSB */
> + .fs_avl[1] = {
> + .gain = 292,
> + .val = 0x01,
> + }, /* 8000 uG/LSB */
> + .fs_avl[2] = {
> + .gain = 438,
> + .val = 0x02,
> + }, /* 12000 uG/LSB */
> + .fs_avl[3] = {
> + .gain = 584,
> + .val = 0x03,
> + }, /* 16000 uG/LSB */
> + .fs_len = 4,
> + },
> + .pwr_table = {
> + .reg = {
> + .addr = 0x22,
> + .mask = GENMASK(1, 0),
> + },
> + .off_val = 0x2,
> + .on_val = 0x0,
> + },
> + .bdu = {
> + .addr = 0x24,
> + .mask = BIT(6),
> + },
> + .out = {
> + .addr = 0x28,
> + .len = 6,
> + },
> + },
> };
>
> static void st_lsm6dsx_shub_wait_complete(struct st_lsm6dsx_hw *hw)
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2 2/2] iio: imu: st_lsm6dsx: Add sensor hub device LIS3MDL
2020-03-29 9:42 ` Jonathan Cameron
@ 2020-04-04 15:38 ` Jonathan Cameron
0 siblings, 0 replies; 3+ messages in thread
From: Jonathan Cameron @ 2020-04-04 15:38 UTC (permalink / raw)
To: Jimmy Assarsson; +Cc: linux-iio, Lorenzo Bianconi, Andy Shevchenko
On Sun, 29 Mar 2020 10:42:40 +0100
Jonathan Cameron <jic23@jic23.retrosnub.co.uk> wrote:
> On Sat, 28 Mar 2020 19:45:19 +0100
> Jimmy Assarsson <jimmyassarsson@gmail.com> wrote:
>
> > Add LIS3MDL register map to sensor hub device table.
> > Tested with LSM6DSM.
> >
> > Signed-off-by: Jimmy Assarsson <jimmyassarsson@gmail.com>
>
> Please always repost the entire series. On this occasion I can find
> patch 1 but sometimes it's not so easy :)
>
> Looks fine to me, but lets' leave it on list for a while longer to
> see if others wish to comment.
>
Applied to the togreg branch of iio.git and pushed out as testing for
the autobuilders to play with it.
Thanks,
Jonathan
> > ---
> > Changes in v2:
> > - Use ST_SENSORS_DEFAULT_WAI_ADDRESS
> >
> > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c | 64 ++++++++++++++++++++
> > 1 file changed, 64 insertions(+)
> >
> > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> > index 95ddd19d1aa7..3b983e0cc5ce 100644
> > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_shub.c
> > @@ -28,6 +28,7 @@
> > #include <linux/iio/sysfs.h>
> > #include <linux/bitfield.h>
> >
> > +#include <linux/iio/common/st_sensors.h>
> > #include "st_lsm6dsx.h"
> >
> > #define ST_LSM6DSX_SLV_ADDR(n, base) ((base) + (n) * 3)
> > @@ -88,6 +89,69 @@ static const struct st_lsm6dsx_ext_dev_settings st_lsm6dsx_ext_dev_table[] = {
> > .len = 6,
> > },
> > },
> > + /* LIS3MDL */
> > + {
> > + .i2c_addr = { 0x1e },
> > + .wai = {
> > + .addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
> > + .val = 0x3d,
> > + },
> > + .id = ST_LSM6DSX_ID_MAGN,
> > + .odr_table = {
> > + .reg = {
> > + .addr = 0x20,
> > + .mask = GENMASK(4, 2),
> > + },
> > + .odr_avl[0] = { 1000, 0x0 },
> > + .odr_avl[1] = { 2000, 0x1 },
> > + .odr_avl[2] = { 3000, 0x2 },
> > + .odr_avl[3] = { 5000, 0x3 },
> > + .odr_avl[4] = { 10000, 0x4 },
> > + .odr_avl[5] = { 20000, 0x5 },
> > + .odr_avl[6] = { 40000, 0x6 },
> > + .odr_avl[7] = { 80000, 0x7 },
> > + .odr_len = 8,
> > + },
> > + .fs_table = {
> > + .reg = {
> > + .addr = 0x21,
> > + .mask = GENMASK(6, 5),
> > + },
> > + .fs_avl[0] = {
> > + .gain = 146,
> > + .val = 0x00,
> > + }, /* 4000 uG/LSB */
> > + .fs_avl[1] = {
> > + .gain = 292,
> > + .val = 0x01,
> > + }, /* 8000 uG/LSB */
> > + .fs_avl[2] = {
> > + .gain = 438,
> > + .val = 0x02,
> > + }, /* 12000 uG/LSB */
> > + .fs_avl[3] = {
> > + .gain = 584,
> > + .val = 0x03,
> > + }, /* 16000 uG/LSB */
> > + .fs_len = 4,
> > + },
> > + .pwr_table = {
> > + .reg = {
> > + .addr = 0x22,
> > + .mask = GENMASK(1, 0),
> > + },
> > + .off_val = 0x2,
> > + .on_val = 0x0,
> > + },
> > + .bdu = {
> > + .addr = 0x24,
> > + .mask = BIT(6),
> > + },
> > + .out = {
> > + .addr = 0x28,
> > + .len = 6,
> > + },
> > + },
> > };
> >
> > static void st_lsm6dsx_shub_wait_complete(struct st_lsm6dsx_hw *hw)
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-04-04 15:38 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-28 18:45 [PATCH v2 2/2] iio: imu: st_lsm6dsx: Add sensor hub device LIS3MDL Jimmy Assarsson
2020-03-29 9:42 ` Jonathan Cameron
2020-04-04 15:38 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).