linux/Documentation/misc-devices/bh1770glc.txt
<<
>>
Prefs
   1Kernel driver bh1770glc
   2=======================
   3
   4Supported chips:
   5ROHM BH1770GLC
   6OSRAM SFH7770
   7
   8Data sheet:
   9Not freely available
  10
  11Author:
  12Samu Onkalo <samu.p.onkalo@nokia.com>
  13
  14Description
  15-----------
  16BH1770GLC and SFH7770 are combined ambient light and proximity sensors.
  17ALS and proximity parts operates on their own, but they shares common I2C
  18interface and interrupt logic. In principle they can run on their own,
  19but ALS side results are used to estimate reliability of the proximity sensor.
  20
  21ALS produces 16 bit lux values. The chip contains interrupt logic to produce
  22low and high threshold interrupts.
  23
  24Proximity part contains IR-led driver up to 3 IR leds. The chip measures
  25amount of reflected IR light and produces proximity result. Resolution is
  268 bit. Driver supports only one channel. Driver uses ALS results to estimate
  27reliability of the proximity results. Thus ALS is always running while
  28proximity detection is needed.
  29
  30Driver uses threshold interrupts to avoid need for polling the values.
  31Proximity low interrupt doesn't exists in the chip. This is simulated
  32by using a delayed work. As long as there is proximity threshold above
  33interrupts the delayed work is pushed forward. So, when proximity level goes
  34below the threshold value, there is no interrupt and the delayed work will
  35finally run. This is handled as no proximity indication.
  36
  37Chip state is controlled via runtime pm framework when enabled in config.
  38
  39Calibscale factor is used to hide differences between the chips. By default
  40value set to neutral state meaning factor of 1.00. To get proper values,
  41calibrated source of light is needed as a reference. Calibscale factor is set
  42so that measurement produces about the expected lux value.
  43
  44SYSFS
  45-----
  46
  47chip_id
  48        RO - shows detected chip type and version
  49
  50power_state
  51        RW - enable / disable chip. Uses counting logic
  52             1 enables the chip
  53             0 disables the chip
  54
  55lux0_input
  56        RO - measured lux value
  57             sysfs_notify called when threshold interrupt occurs
  58
  59lux0_sensor_range
  60        RO - lux0_input max value
  61
  62lux0_rate
  63        RW - measurement rate in Hz
  64
  65lux0_rate_avail
  66        RO - supported measurement rates
  67
  68lux0_thresh_above_value
  69        RW - HI level threshold value. All results above the value
  70             trigs an interrupt. 65535 (i.e. sensor_range) disables the above
  71             interrupt.
  72
  73lux0_thresh_below_value
  74        RW - LO level threshold value. All results below the value
  75             trigs an interrupt. 0 disables the below interrupt.
  76
  77lux0_calibscale
  78        RW - calibration value. Set to neutral value by default.
  79             Output results are multiplied with calibscale / calibscale_default
  80             value.
  81
  82lux0_calibscale_default
  83        RO - neutral calibration value
  84
  85prox0_raw
  86        RO - measured proximity value
  87             sysfs_notify called when threshold interrupt occurs
  88
  89prox0_sensor_range
  90        RO - prox0_raw max value
  91
  92prox0_raw_en
  93        RW - enable / disable proximity - uses counting logic
  94             1 enables the proximity
  95             0 disables the proximity
  96
  97prox0_thresh_above_count
  98        RW - number of proximity interrupts needed before triggering the event
  99
 100prox0_rate_above
 101        RW - Measurement rate (in Hz) when the level is above threshold
 102             i.e. when proximity on has been reported.
 103
 104prox0_rate_below
 105        RW - Measurement rate (in Hz) when the level is below threshold
 106             i.e. when proximity off has been reported.
 107
 108prox0_rate_avail
 109        RO - Supported proximity measurement rates in Hz
 110
 111prox0_thresh_above0_value
 112        RW - threshold level which trigs proximity events.
 113             Filtered by persistence filter (prox0_thresh_above_count)
 114
 115prox0_thresh_above1_value
 116        RW - threshold level which trigs event immediately
 117
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.