 3cdbbeebb7
			
		
	
	
	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>
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.5 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| 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
 | |
| 
 |