^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Kernel driver isl29003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) ======================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * Intersil ISL29003
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Prefix: 'isl29003'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Addresses scanned: none
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) http://www.intersil.com/data/fn/fn7464.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) Author: Daniel Mack <daniel@caiaq.de>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) The ISL29003 is an integrated light sensor with a 16-bit integrating type
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) ADC, I2C user programmable lux range select for optimized counts/lux, and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) I2C multi-function control and monitoring capabilities. The internal ADC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) provides 16-bit resolution while rejecting 50Hz and 60Hz flicker caused by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) artificial light sources.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) The driver allows to set the lux range, the bit resolution, the operational
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) mode (see below) and the power state of device and can read the current lux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) value, of course.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Detection
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) ---------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) The ISL29003 does not have an ID register which could be used to identify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) it, so the detection routine will just try to read from the configured I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) address and consider the device to be present as soon as it ACKs the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) transfer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Sysfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) range:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) == ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) 0: 0 lux to 1000 lux (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) 1: 0 lux to 4000 lux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) 2: 0 lux to 16,000 lux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) 3: 0 lux to 64,000 lux
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) == ===========================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) resolution:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) == =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) 0: 2^16 cycles (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) 1: 2^12 cycles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) 2: 2^8 cycles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) 3: 2^4 cycles
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) == =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) mode:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) == =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) 0: diode1's current (unsigned 16bit) (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) 1: diode1's current (unsigned 16bit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 2: difference between diodes (l1 - l2, signed 15bit)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) == =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) power_state:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) == =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) 0: device is disabled (default)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 1: device is enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) == =================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) lux (read only):
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) returns the value from the last sensor reading
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75)