|  | 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 | 
|  | address 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 | 
|  |  |