hp accelerometer: add freefall detection
[linux-2.6.git] / Documentation / hwmon / lis3lv02d
1 Kernel driver lis3lv02d
2 ==================
3
4 Supported chips:
5
6   * STMicroelectronics LIS3LV02DL and LIS3LV02DQ
7
8 Author:
9         Yan Burman <burman.yan@gmail.com>
10         Eric Piel <eric.piel@tremplin-utc.net>
11
12
13 Description
14 -----------
15
16 This driver provides support for the accelerometer found in various HP
17 laptops sporting the feature officially called "HP Mobile Data
18 Protection System 3D" or "HP 3D DriveGuard". It detect automatically
19 laptops with this sensor. Known models (for now the HP 2133, nc6420,
20 nc2510, nc8510, nc84x0, nw9440 and nx9420) will have their axis
21 automatically oriented on standard way (eg: you can directly play
22 neverball).  The accelerometer data is readable via
23 /sys/devices/platform/lis3lv02d.
24
25 Sysfs attributes under /sys/devices/platform/lis3lv02d/:
26 position - 3D position that the accelerometer reports. Format: "(x,y,z)"
27 calibrate - 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
30                   position.
31 rate - reports the sampling rate of the accelerometer device in HZ
32
33 This driver also provides an absolute input class device, allowing
34 the laptop to act as a pinball machine-esque joystick.
35
36 Another feature of the driver is misc device called "freefall" that
37 acts similar to /dev/rtc and reacts on free-fall interrupts received
38 from the device. It supports blocking operations, poll/select and
39 fasync operation modes. You must read 1 bytes from the device.  The
40 result is number of free-fall interrupts since the last successful
41 read (or 255 if number of interrupts would not fit).
42
43
44 Axes orientation
45 ----------------
46
47 For better compatibility between the various laptops. The values reported by
48 the accelerometer are converted into a "standard" organisation of the axes
49 (aka "can play neverball out of the box"):
50  * When the laptop is horizontal the position reported is about 0 for X and Y
51 and a positive value for Z
52  * If the left side is elevated, X increases (becomes positive)
53  * If the front side (where the touchpad is) is elevated, Y decreases
54         (becomes negative)
55  * If the laptop is put upside-down, Z becomes negative
56
57 If your laptop model is not recognized (cf "dmesg"), you can send an
58 email to the authors to add it to the database.  When reporting a new
59 laptop, please include the output of "dmidecode" plus the value of
60 /sys/devices/platform/lis3lv02d/position in these four cases.
61