mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-22 12:14:01 +08:00
3cdbbeebb7
Add a driver for Intersil's ISL29003 ambient light sensor device plus some documentation. Inspired by tsl2550.c, a driver for a similar device. It is put in drivers/misc for now until the industrial I/O framework gets merged. Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Cc: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
63 lines
1.5 KiB
Plaintext
63 lines
1.5 KiB
Plaintext
Kernel driver isl29003
|
|
=====================
|
|
|
|
Supported chips:
|
|
* Intersil ISL29003
|
|
Prefix: 'isl29003'
|
|
Addresses scanned: none
|
|
Datasheet:
|
|
http://www.intersil.com/data/fn/fn7464.pdf
|
|
|
|
Author: Daniel Mack <daniel@caiaq.de>
|
|
|
|
|
|
Description
|
|
-----------
|
|
The ISL29003 is an integrated light sensor with a 16-bit integrating type
|
|
ADC, I2C user programmable lux range select for optimized counts/lux, and
|
|
I2C multi-function control and monitoring capabilities. The internal ADC
|
|
provides 16-bit resolution while rejecting 50Hz and 60Hz flicker caused by
|
|
artificial light sources.
|
|
|
|
The driver allows to set the lux range, the bit resolution, the operational
|
|
mode (see below) and the power state of device and can read the current lux
|
|
value, of course.
|
|
|
|
|
|
Detection
|
|
---------
|
|
|
|
The ISL29003 does not have an ID register which could be used to identify
|
|
it, so the detection routine will just try to read from the configured I2C
|
|
addess and consider the device to be present as soon as it ACKs the
|
|
transfer.
|
|
|
|
|
|
Sysfs entries
|
|
-------------
|
|
|
|
range:
|
|
0: 0 lux to 1000 lux (default)
|
|
1: 0 lux to 4000 lux
|
|
2: 0 lux to 16,000 lux
|
|
3: 0 lux to 64,000 lux
|
|
|
|
resolution:
|
|
0: 2^16 cycles (default)
|
|
1: 2^12 cycles
|
|
2: 2^8 cycles
|
|
3: 2^4 cycles
|
|
|
|
mode:
|
|
0: diode1's current (unsigned 16bit) (default)
|
|
1: diode1's current (unsigned 16bit)
|
|
2: difference between diodes (l1 - l2, signed 15bit)
|
|
|
|
power_state:
|
|
0: device is disabled (default)
|
|
1: device is enabled
|
|
|
|
lux (read only):
|
|
returns the value from the last sensor reading
|
|
|