All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: linux-iio@vger.kernel.org, Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	Denis Ciocca <denis.ciocca@st.com>,
	Leonard Crestez <leonard.crestez@nxp.com>,
	Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
Subject: Re: [PATCH v1] iio: st_gyro: Correct data for LSM9DS0 gyro
Date: Mon, 23 Dec 2019 12:45:34 +0000	[thread overview]
Message-ID: <20191223124534.1ed2d23b@archlinux> (raw)
In-Reply-To: <20191217171038.17004-1-andriy.shevchenko@linux.intel.com>

On Tue, 17 Dec 2019 19:10:38 +0200
Andy Shevchenko <andriy.shevchenko@linux.intel.com> wrote:

> The commit 41c128cb25ce ("iio: st_gyro: Add lsm9ds0-gyro support")
> assumes that gyro in LSM9DS0 is the same as others with 0xd4 WAI ID,
> but datasheet tells slight different story, i.e. the first scale factor
> for the chip is 245 dps, and not 250 dps.
> 
> Correct this by introducing a separate settings for LSM9DS0.
> 
> Fixes: 41c128cb25ce ("iio: st_gyro: Add lsm9ds0-gyro support")
> Depends-on: 45a4e4220bf4 ("iio: gyro: st_gyro: fix L3GD20H support")
> Cc: Leonard Crestez <leonard.crestez@nxp.com>
> Cc: Lorenzo Bianconi <lorenzo.bianconi83@gmail.com>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Looks good to me.  Will just leave it a bit longer to give others
time to check it.

Give me a shout if I seem to have missed this by about a week into the new
year (to let people get back from holidays etc).

Thanks,

Jonathan

> ---
>  drivers/iio/gyro/st_gyro_core.c | 75 ++++++++++++++++++++++++++++++++-
>  1 file changed, 74 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/iio/gyro/st_gyro_core.c b/drivers/iio/gyro/st_gyro_core.c
> index 57be68b291fa..26c50b24bc08 100644
> --- a/drivers/iio/gyro/st_gyro_core.c
> +++ b/drivers/iio/gyro/st_gyro_core.c
> @@ -138,7 +138,6 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
>  			[2] = LSM330DLC_GYRO_DEV_NAME,
>  			[3] = L3G4IS_GYRO_DEV_NAME,
>  			[4] = LSM330_GYRO_DEV_NAME,
> -			[5] = LSM9DS0_GYRO_DEV_NAME,
>  		},
>  		.ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
>  		.odr = {
> @@ -208,6 +207,80 @@ static const struct st_sensor_settings st_gyro_sensors_settings[] = {
>  		.multi_read_bit = true,
>  		.bootime = 2,
>  	},
> +	{
> +		.wai = 0xd4,
> +		.wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,
> +		.sensors_supported = {
> +			[0] = LSM9DS0_GYRO_DEV_NAME,
> +		},
> +		.ch = (struct iio_chan_spec *)st_gyro_16bit_channels,
> +		.odr = {
> +			.addr = 0x20,
> +			.mask = GENMASK(7, 6),
> +			.odr_avl = {
> +				{ .hz = 95, .value = 0x00, },
> +				{ .hz = 190, .value = 0x01, },
> +				{ .hz = 380, .value = 0x02, },
> +				{ .hz = 760, .value = 0x03, },
> +			},
> +		},
> +		.pw = {
> +			.addr = 0x20,
> +			.mask = BIT(3),
> +			.value_on = ST_SENSORS_DEFAULT_POWER_ON_VALUE,
> +			.value_off = ST_SENSORS_DEFAULT_POWER_OFF_VALUE,
> +		},
> +		.enable_axis = {
> +			.addr = ST_SENSORS_DEFAULT_AXIS_ADDR,
> +			.mask = ST_SENSORS_DEFAULT_AXIS_MASK,
> +		},
> +		.fs = {
> +			.addr = 0x23,
> +			.mask = GENMASK(5, 4),
> +			.fs_avl = {
> +				[0] = {
> +					.num = ST_GYRO_FS_AVL_245DPS,
> +					.value = 0x00,
> +					.gain = IIO_DEGREE_TO_RAD(8750),
> +				},
> +				[1] = {
> +					.num = ST_GYRO_FS_AVL_500DPS,
> +					.value = 0x01,
> +					.gain = IIO_DEGREE_TO_RAD(17500),
> +				},
> +				[2] = {
> +					.num = ST_GYRO_FS_AVL_2000DPS,
> +					.value = 0x02,
> +					.gain = IIO_DEGREE_TO_RAD(70000),
> +				},
> +			},
> +		},
> +		.bdu = {
> +			.addr = 0x23,
> +			.mask = BIT(7),
> +		},
> +		.drdy_irq = {
> +			.int2 = {
> +				.addr = 0x22,
> +				.mask = BIT(3),
> +			},
> +			/*
> +			 * The sensor has IHL (active low) and open
> +			 * drain settings, but only for INT1 and not
> +			 * for the DRDY line on INT2.
> +			 */
> +			.stat_drdy = {
> +				.addr = ST_SENSORS_DEFAULT_STAT_ADDR,
> +				.mask = GENMASK(2, 0),
> +			},
> +		},
> +		.sim = {
> +			.addr = 0x23,
> +			.value = BIT(0),
> +		},
> +		.multi_read_bit = true,
> +		.bootime = 2,
> +	},
>  	{
>  		.wai = 0xd7,
>  		.wai_addr = ST_SENSORS_DEFAULT_WAI_ADDRESS,


  reply	other threads:[~2019-12-23 12:45 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-17 17:10 [PATCH v1] iio: st_gyro: Correct data for LSM9DS0 gyro Andy Shevchenko
2019-12-23 12:45 ` Jonathan Cameron [this message]
2020-01-13 13:57   ` Andy Shevchenko
2020-01-13 21:49     ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191223124534.1ed2d23b@archlinux \
    --to=jic23@kernel.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=denis.ciocca@st.com \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=leonard.crestez@nxp.com \
    --cc=linux-iio@vger.kernel.org \
    --cc=lorenzo.bianconi83@gmail.com \
    --cc=pmeerw@pmeerw.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.