mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 09:02:00 +00:00
455fbdd376
This adds a driver to the accelerometer sensor found in several HP laptops (under the commercial names of "HP Mobile Data Protection System 3D" and "HP 3D driveguard"). It tries to have more or less the same interfaces as the hdaps and other accelerometer drivers: in sysfs and as a joystick. This driver was first written by Yan Burman. Eric Piel has updated it and slimed it up (including the removal of an interface to access to the free-fall feature of the sensor because it is not reliable enough for now). Pavel Machek removed few more features and switched locking from semaphore to mutex. Several people have contributed to the database of the axes. [eric.piel@tremplin-utc.net: LIS3LV02D: Conform to the new ACPI API] Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Yan Burman <burman.yan@gmail.com> Signed-off-by: Pavel Machek <pavel@suse.cz> Cc: "Mark M. Hoffman" <mhoffman@lightlink.com> Signed-off-by: Eric Piel <eric.piel@tremplin-utc.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
50 lines
2.0 KiB
Plaintext
50 lines
2.0 KiB
Plaintext
Kernel driver lis3lv02d
|
|
==================
|
|
|
|
Supported chips:
|
|
|
|
* STMicroelectronics LIS3LV02DL and LIS3LV02DQ
|
|
|
|
Author:
|
|
Yan Burman <burman.yan@gmail.com>
|
|
Eric Piel <eric.piel@tremplin-utc.net>
|
|
|
|
|
|
Description
|
|
-----------
|
|
|
|
This driver provides support for the accelerometer found in various HP laptops
|
|
sporting the feature officially called "HP Mobile Data Protection System 3D" or
|
|
"HP 3D DriveGuard". It detect automatically laptops with this sensor. Known models
|
|
(for now the HP 2133, nc6420, nc2510, nc8510, nc84x0, nw9440 and nx9420) will
|
|
have their axis automatically oriented on standard way (eg: you can directly
|
|
play neverball). The accelerometer data is readable via
|
|
/sys/devices/platform/lis3lv02d.
|
|
|
|
Sysfs attributes under /sys/devices/platform/lis3lv02d/:
|
|
position - 3D position that the accelerometer reports. Format: "(x,y,z)"
|
|
calibrate - read: values (x, y, z) that are used as the base for input class device operation.
|
|
write: forces the base to be recalibrated with the current position.
|
|
rate - reports the sampling rate of the accelerometer device in HZ
|
|
|
|
This driver also provides an absolute input class device, allowing
|
|
the laptop to act as a pinball machine-esque joystick.
|
|
|
|
Axes orientation
|
|
----------------
|
|
|
|
For better compatibility between the various laptops. The values reported by
|
|
the accelerometer are converted into a "standard" organisation of the axes
|
|
(aka "can play neverball out of the box"):
|
|
* When the laptop is horizontal the position reported is about 0 for X and Y
|
|
and a positive value for Z
|
|
* If the left side is elevated, X increases (becomes positive)
|
|
* If the front side (where the touchpad is) is elevated, Y decreases (becomes negative)
|
|
* If the laptop is put upside-down, Z becomes negative
|
|
|
|
If your laptop model is not recognized (cf "dmesg"), you can send an email to the
|
|
authors to add it to the database. When reporting a new laptop, please include
|
|
the output of "dmidecode" plus the value of /sys/devices/platform/lis3lv02d/position
|
|
in these four cases.
|
|
|