Merge branch 'BUG_ON' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux...
[linux-2.6/cjktty.git] / Documentation / misc-devices / isl29003
blobc4ff5f38e010c94b6a0589451603e645462d788d
1 Kernel driver isl29003
2 =====================
4 Supported chips:
5 * Intersil ISL29003
6 Prefix: 'isl29003'
7 Addresses scanned: none
8 Datasheet:
9 http://www.intersil.com/data/fn/fn7464.pdf
11 Author: Daniel Mack <daniel@caiaq.de>
14 Description
15 -----------
16 The ISL29003 is an integrated light sensor with a 16-bit integrating type
17 ADC, I2C user programmable lux range select for optimized counts/lux, and
18 I2C multi-function control and monitoring capabilities. The internal ADC
19 provides 16-bit resolution while rejecting 50Hz and 60Hz flicker caused by
20 artificial light sources.
22 The driver allows to set the lux range, the bit resolution, the operational
23 mode (see below) and the power state of device and can read the current lux
24 value, of course.
27 Detection
28 ---------
30 The ISL29003 does not have an ID register which could be used to identify
31 it, so the detection routine will just try to read from the configured I2C
32 addess and consider the device to be present as soon as it ACKs the
33 transfer.
36 Sysfs entries
37 -------------
39 range:
40         0: 0 lux to 1000 lux (default)
41         1: 0 lux to 4000 lux
42         2: 0 lux to 16,000 lux
43         3: 0 lux to 64,000 lux
45 resolution:
46         0: 2^16 cycles (default)
47         1: 2^12 cycles
48         2: 2^8 cycles
49         3: 2^4 cycles
51 mode:
52         0: diode1's current (unsigned 16bit) (default)
53         1: diode1's current (unsigned 16bit)
54         2: difference between diodes (l1 - l2, signed 15bit)
56 power_state:
57         0: device is disabled (default)
58         1: device is enabled
60 lux (read only):
61         returns the value from the last sensor reading