[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <331ABD5ECB02734CA317220B2BBEABC13EA1B975@DBDE01.ent.ti.com>
Date: Wed, 22 Aug 2012 09:00:40 +0000
From: "AnilKumar, Chimata" <anilkumar@...com>
To: Chinmay V S <cvs268@...il.com>
CC: Arnd Bergmann <arnd@...db.de>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"eric.piel@...mplin-utc.net" <eric.piel@...mplin-utc.net>,
"jic23@....ac.uk" <jic23@....ac.uk>,
"greg@...ah.com" <greg@...ah.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"broonie@...nsource.wolfsonmicro.com"
<broonie@...nsource.wolfsonmicro.com>,
"dmitry.torokhov@...il.com" <dmitry.torokhov@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH v2] lis3lv02d: Add STMicroelectronics lis331dlh digital
accelerometer
Hi Chinmay,
Thanks for the comments
On Wed, Aug 22, 2012 at 14:14:55, Chinmay V S wrote:
> Hi All,
>
> A few nitpicks.
>
> > + * LIS3331DLH spec says 1LSBs corresponds 4G/1024 -> 1LSB is 1000/1024 mG.
> > + * Sensitivity values for +/-2G, outdata in 12 bits for +/-2G scale. so 4
> > + * bits adjustment is required
> Shouldn't it be "1LSB is 4000/1024 mG" ?
Typo mistake this should be 4G/4096
> Also "outdata in 12bits" (typo. in->is?)
>
If we look at the lis331dlh datasheet 12 bits outdata for +/- 2G resolution
range and 13 bits for +/- 4G range and 14 bits for +/- 8G range. So output
data is only 12 bits.
> On a more technical note, now that LIS3331DLH has 16bit resolution,
> why don't we simply return the entire 16-bit value in
> lis3lv02d_read_16(). The fact that lis3lv02d_read_16() has 16-bit
> resolution can be indicated by
Depending on the range 2 or 4 or 8 we have to pass the outdata that is
handled by using the shift_adj member to shift the outdata to corresponding
bits 12/13/14.
>
> @@ -954,6 +984,16 @@ int lis3lv02d_init_device(struct lis3lv02d *lis3)
> lis3->odr_mask = CTRL1_ODR0|CTRL1_ODR1|CTRL1_ODR2|CTRL1_ODR3;
> lis3->scale = LIS3_SENSITIVITY_8B;
> break;
> + case WAI_3DLH:
> + pr_info("16 bits 3DLH sensor found\n");
> + lis3->read_data = lis3lv02d_read_16;
> + lis3->mdps_max_val = 32768; /* 16 bits for +/-2G */
This driver supports only +/-2G range of values so it is limited to 2048.
With this we do not have the runtime change of G range so by default 2G
is added.
Regards
AnilKumar
Powered by blists - more mailing lists