Thread (105 messages) flat view 105 messages, 8 authors, 2013-09-17

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

From: Lee Jones <hidden>
Date: 2013-09-16 09:38:18
Also in: linux-iio, lkml

On Mon, 16 Sep 2013, Denis CIOCCA wrote:
Hi Lee,
quoted
quoted
On 09/10/13 13:49, Lee Jones wrote:
quoted
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 <redacted>
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.
quoted
quoted
quoted
---
  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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help