lis3: scale output values to mg
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / Documentation / hwmon / lis3lv02d
CommitLineData
455fbdd3 1Kernel driver lis3lv02d
2b872903 2=======================
455fbdd3
PM
3
4Supported chips:
5
bc62c147
ÉP
6 * STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 bits precision)
7 * STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 bits)
455fbdd3 8
2b872903 9Authors:
455fbdd3
PM
10 Yan Burman <burman.yan@gmail.com>
11 Eric Piel <eric.piel@tremplin-utc.net>
12
13
14Description
15-----------
16
bc62c147
ÉP
17This driver provides support for the accelerometer found in various HP laptops
18sporting the feature officially called "HP Mobile Data Protection System 3D" or
19"HP 3D DriveGuard". It detects automatically laptops with this sensor. Known
20models (full list can be found in drivers/hwmon/hp_accel.c) will have their
21axis automatically oriented on standard way (eg: you can directly play
22neverball). The accelerometer data is readable via
455fbdd3
PM
23/sys/devices/platform/lis3lv02d.
24
25Sysfs attributes under /sys/devices/platform/lis3lv02d/:
26position - 3D position that the accelerometer reports. Format: "(x,y,z)"
219beb29
PM
27calibrate - read: values (x, y, z) that are used as the base for input
28 class device operation.
29 write: forces the base to be recalibrated with the current
2b872903 30 position.
455fbdd3
PM
31rate - reports the sampling rate of the accelerometer device in HZ
32
33This driver also provides an absolute input class device, allowing
34the laptop to act as a pinball machine-esque joystick.
35
bc62c147
ÉP
36On HP laptops, if the led infrastructure is activated, support for a led
37indicating disk protection will be provided as /sys/class/leds/hp::hddprotect.
38
ef2cfc79
PM
39Another feature of the driver is misc device called "freefall" that
40acts similar to /dev/rtc and reacts on free-fall interrupts received
41from the device. It supports blocking operations, poll/select and
42fasync operation modes. You must read 1 bytes from the device. The
43result is number of free-fall interrupts since the last successful
bc62c147
ÉP
44read (or 255 if number of interrupts would not fit). See the hpfall.c
45file for an example on using the device.
ef2cfc79
PM
46
47
455fbdd3
PM
48Axes orientation
49----------------
50
51For better compatibility between the various laptops. The values reported by
52the accelerometer are converted into a "standard" organisation of the axes
53(aka "can play neverball out of the box"):
54 * When the laptop is horizontal the position reported is about 0 for X and Y
2b872903 55 and a positive value for Z
455fbdd3 56 * If the left side is elevated, X increases (becomes positive)
219beb29
PM
57 * If the front side (where the touchpad is) is elevated, Y decreases
58 (becomes negative)
455fbdd3
PM
59 * If the laptop is put upside-down, Z becomes negative
60
219beb29 61If your laptop model is not recognized (cf "dmesg"), you can send an
bc62c147 62email to the maintainer to add it to the database. When reporting a new
219beb29
PM
63laptop, please include the output of "dmidecode" plus the value of
64/sys/devices/platform/lis3lv02d/position in these four cases.
455fbdd3 65
2b872903
PM
66Q&A
67---
68
69Q: How do I safely simulate freefall? I have an HP "portable
70workstation" which has about 3.5kg and a plastic case, so letting it
71fall to the ground is out of question...
72
73A: The sensor is pretty sensitive, so your hands can do it. Lift it
74into free space, follow the fall with your hands for like 10
75centimeters. That should be enough to trigger the detection.