[PATCH 32/38] iio: accel-core: st: Move LSM303DLH into correct group

Lee Jones lee.jones at linaro.org
Mon Sep 16 05:38:12 EDT 2013


On Mon, 16 Sep 2013, Denis CIOCCA wrote:

> Hi Lee,
> >> On 09/10/13 13:49, Lee Jones wrote:
> >>> The LSM303DLH's WAI (WhoAmI) is 0x33, meaning it should be enabled by
> >>> Accel Sensor group one. For the device to probe without error, we'll
> >>> need to ensure it's registered with the correct WAI.
> >>>
> >>> Signed-off-by: Lee Jones <lee.jones at linaro.org>
> >> You clearly have a better datasheet than I have as for that part it doesn't even claim to
> >> have the relevant register to read a who am I from.
> >>
> >> Now that datasheet does list odr values as 50, 100, 400 1000 which would put it where it originally
> >> was in these tables.
> >>
> >> http://www.st.com/web/en/resource/technical/document/datasheet/CD00260288.pdf
> >>
> >> I haven't checked other elements...
> >>
> >> I'm confused but suspect we may need another type entry to deal with this one.
> > Hmmm... on initial thought, I don't know how we can handle this one. I
> > assumed the WAIs were a one-stop-shop for device identification. I also
> > thought that they would only match if the functionality and register
> > maps would be the same.
> >
> > I'll touch base with Denis on this, perhaps he can shed some light.
> >
> I've just checked, the WAI is 0x32. It was correct...Are you sure that 
> you use the LSM303DLH?

That's what the datasheet for the board says. Perhaps it's that that's
incorrect? Annoyingly, instead of printing the device name on the
package, ST put some non-Googleable nonsense is there instead
(probably the serial number).

Nevertheless, I'll revert the patch and work something else out.

> >>> ---
> >>>   drivers/iio/accel/st_accel_core.c | 4 ++--
> >>>   1 file changed, 2 insertions(+), 2 deletions(-)
> >>>
> >>> diff --git a/drivers/iio/accel/st_accel_core.c b/drivers/iio/accel/st_accel_core.c
> >>> index ea62291..03a2b6b 100644
> >>> --- a/drivers/iio/accel/st_accel_core.c
> >>> +++ b/drivers/iio/accel/st_accel_core.c
> >>> @@ -170,6 +170,7 @@ static const struct st_sensors st_accel_sensors[] = {
> >>>   			[2] = LSM330D_ACCEL_DEV_NAME,
> >>>   			[3] = LSM330DL_ACCEL_DEV_NAME,
> >>>   			[4] = LSM330DLC_ACCEL_DEV_NAME,
> >>> +			[5] = LSM303DLH_ACCEL_DEV_NAME,
> >>>   		},
> >>>   		.ch = (struct iio_chan_spec *)st_accel_12bit_channels,
> >>>   		.odr = {
> >>> @@ -238,8 +239,7 @@ static const struct st_sensors st_accel_sensors[] = {
> >>>   		.sensors_supported = {
> >>>   			[0] = LIS331DLH_ACCEL_DEV_NAME,
> >>>   			[1] = LSM303DL_ACCEL_DEV_NAME,
> >>> -			[2] = LSM303DLH_ACCEL_DEV_NAME,
> >>> -			[3] = LSM303DLM_ACCEL_DEV_NAME,
> >>> +			[2] = LSM303DLM_ACCEL_DEV_NAME,
> >>>   		},
> >>>   		.ch = (struct iio_chan_spec *)st_accel_12bit_channels,
> >>>   		.odr = {
> >>>

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog



More information about the linux-arm-kernel mailing list