Blame view

Documentation/misc-devices/lis3lv02d 4.17 KB
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
1
  Kernel driver lis3lv02d
2b872903c   Pavel Machek   hp_accel: small d...
2
  =======================
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
3
4
  
  Supported chips:
bc62c1471   Éric Piel   lis3: update docu...
5
6
    * STMicroelectronics LIS3LV02DL, LIS3LV02DQ (12 bits precision)
    * STMicroelectronics LIS302DL, LIS3L02DQ, LIS331DL (8 bits)
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
7

2b872903c   Pavel Machek   hp_accel: small d...
8
  Authors:
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
9
10
11
12
13
14
          Yan Burman <burman.yan@gmail.com>
  	Eric Piel <eric.piel@tremplin-utc.net>
  
  
  Description
  -----------
bc62c1471   Éric Piel   lis3: update docu...
15
16
17
  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 detects automatically laptops with this sensor. Known
efcfed9ba   Jean Delvare   Move hp_accel to ...
18
19
  models (full list can be found in drivers/platform/x86/hp_accel.c) will have
  their axis automatically oriented on standard way (eg: you can directly play
bc62c1471   Éric Piel   lis3: update docu...
20
  neverball). The accelerometer data is readable via
e956e6b77   Samu Onkalo   lis3: update docu...
21
22
  /sys/devices/platform/lis3lv02d. Reported values are scaled
  to mg values (1/1000th of earth gravity).
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
23
24
25
  
  Sysfs attributes under /sys/devices/platform/lis3lv02d/:
  position - 3D position that the accelerometer reports. Format: "(x,y,z)"
e956e6b77   Samu Onkalo   lis3: update docu...
26
27
28
29
  rate - read reports the sampling rate of the accelerometer device in HZ.
  	write changes sampling rate of the accelerometer device.
  	Only values which are supported by HW are accepted.
  selftest - performs selftest for the chip as specified by chip manufacturer.
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
30
31
  
  This driver also provides an absolute input class device, allowing
e956e6b77   Samu Onkalo   lis3: update docu...
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  the laptop to act as a pinball machine-esque joystick. Joystick device can be
  calibrated. Joystick device can be in two different modes.
  By default output values are scaled between -32768 .. 32767. In joystick raw
  mode, joystick and sysfs position entry have the same scale. There can be
  small difference due to input system fuzziness feature.
  Events are also available as input event device.
  
  Selftest is meant only for hardware diagnostic purposes. It is not meant to be
  used during normal operations. Position data is not corrupted during selftest
  but interrupt behaviour is not guaranteed to work reliably. In test mode, the
  sensing element is internally moved little bit. Selftest measures difference
  between normal mode and test mode. Chip specifications tell the acceptance
  limit for each type of the chip. Limits are provided via platform data
  to allow adjustment of the limits without a change to the actual driver.
  Seltest returns either "OK x y z" or "FAIL x y z" where x, y and z are
  measured difference between modes. Axes are not remapped in selftest mode.
  Measurement values are provided to help HW diagnostic applications to make
  final decision.
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
50

bc62c1471   Éric Piel   lis3: update docu...
51
52
  On HP laptops, if the led infrastructure is activated, support for a led
  indicating disk protection will be provided as /sys/class/leds/hp::hddprotect.
ef2cfc790   Pavel Machek   hp accelerometer:...
53
54
55
56
57
  Another feature of the driver is misc device called "freefall" that
  acts similar to /dev/rtc and reacts on free-fall interrupts received
  from the device. It supports blocking operations, poll/select and
  fasync operation modes. You must read 1 bytes from the device.  The
  result is number of free-fall interrupts since the last successful
bc62c1471   Éric Piel   lis3: update docu...
58
59
  read (or 255 if number of interrupts would not fit). See the hpfall.c
  file for an example on using the device.
ef2cfc790   Pavel Machek   hp accelerometer:...
60

455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
61
62
63
64
65
66
67
  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
2b872903c   Pavel Machek   hp_accel: small d...
68
  	and a positive value for Z
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
69
   * If the left side is elevated, X increases (becomes positive)
219beb291   Pavel Machek   lis3: fix documen...
70
71
   * If the front side (where the touchpad is) is elevated, Y decreases
  	(becomes negative)
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
72
   * If the laptop is put upside-down, Z becomes negative
219beb291   Pavel Machek   lis3: fix documen...
73
  If your laptop model is not recognized (cf "dmesg"), you can send an
bc62c1471   Éric Piel   lis3: update docu...
74
  email to the maintainer to add it to the database.  When reporting a new
219beb291   Pavel Machek   lis3: fix documen...
75
76
  laptop, please include the output of "dmidecode" plus the value of
  /sys/devices/platform/lis3lv02d/position in these four cases.
455fbdd37   Pavel Machek   LIS3LV02Dx Accele...
77

2b872903c   Pavel Machek   hp_accel: small d...
78
79
80
81
82
83
84
85
86
87
  Q&A
  ---
  
  Q: How do I safely simulate freefall? I have an HP "portable
  workstation" which has about 3.5kg and a plastic case, so letting it
  fall to the ground is out of question...
  
  A: The sensor is pretty sensitive, so your hands can do it. Lift it
  into free space, follow the fall with your hands for like 10
  centimeters. That should be enough to trigger the detection.