From 0e7ade47bb6ecb9eaa8a86222b2257b97be49267 Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 15 Jun 2020 08:50:16 +0200 Subject: docs: misc-devices/bh1770glc.txt: convert to ReST - Adjust document title markup; - use list markups; - Adjust identations to display properly at ReST output. Signed-off-by: Mauro Carvalho Chehab Link: https://lore.kernel.org/r/58ba712524318d03b3196bba33cb409472b4807d.1592203650.git.mchehab+huawei@kernel.org Signed-off-by: Jonathan Corbet --- Documentation/misc-devices/bh1770glc.rst | 135 +++++++++++++++++++++++++++++++ Documentation/misc-devices/bh1770glc.txt | 116 -------------------------- Documentation/misc-devices/index.rst | 1 + 3 files changed, 136 insertions(+), 116 deletions(-) create mode 100644 Documentation/misc-devices/bh1770glc.rst delete mode 100644 Documentation/misc-devices/bh1770glc.txt diff --git a/Documentation/misc-devices/bh1770glc.rst b/Documentation/misc-devices/bh1770glc.rst new file mode 100644 index 000000000000..ea5ca58bb958 --- /dev/null +++ b/Documentation/misc-devices/bh1770glc.rst @@ -0,0 +1,135 @@ +.. SPDX-License-Identifier: GPL-2.0 + +======================= +Kernel driver bh1770glc +======================= + +Supported chips: + +- ROHM BH1770GLC +- OSRAM SFH7770 + +Data sheet: +Not freely available + +Author: +Samu Onkalo + +Description +----------- +BH1770GLC and SFH7770 are combined ambient light and proximity sensors. +ALS and proximity parts operates on their own, but they shares common I2C +interface and interrupt logic. In principle they can run on their own, +but ALS side results are used to estimate reliability of the proximity sensor. + +ALS produces 16 bit lux values. The chip contains interrupt logic to produce +low and high threshold interrupts. + +Proximity part contains IR-led driver up to 3 IR leds. The chip measures +amount of reflected IR light and produces proximity result. Resolution is +8 bit. Driver supports only one channel. Driver uses ALS results to estimate +reliability of the proximity results. Thus ALS is always running while +proximity detection is needed. + +Driver uses threshold interrupts to avoid need for polling the values. +Proximity low interrupt doesn't exists in the chip. This is simulated +by using a delayed work. As long as there is proximity threshold above +interrupts the delayed work is pushed forward. So, when proximity level goes +below the threshold value, there is no interrupt and the delayed work will +finally run. This is handled as no proximity indication. + +Chip state is controlled via runtime pm framework when enabled in config. + +Calibscale factor is used to hide differences between the chips. By default +value set to neutral state meaning factor of 1.00. To get proper values, +calibrated source of light is needed as a reference. Calibscale factor is set +so that measurement produces about the expected lux value. + +SYSFS +----- + +chip_id + RO - shows detected chip type and version + +power_state + RW - enable / disable chip + + Uses counting logic + + - 1 enables the chip + - 0 disables the chip + +lux0_input + RO - measured lux value + + sysfs_notify called when threshold interrupt occurs + +lux0_sensor_range + RO - lux0_input max value + +lux0_rate + RW - measurement rate in Hz + +lux0_rate_avail + RO - supported measurement rates + +lux0_thresh_above_value + RW - HI level threshold value + + All results above the value + trigs an interrupt. 65535 (i.e. sensor_range) disables the above + interrupt. + +lux0_thresh_below_value + RW - LO level threshold value + + All results below the value + trigs an interrupt. 0 disables the below interrupt. + +lux0_calibscale + RW - calibration value + + Set to neutral value by default. + Output results are multiplied with calibscale / calibscale_default + value. + +lux0_calibscale_default + RO - neutral calibration value + +prox0_raw + RO - measured proximity value + + sysfs_notify called when threshold interrupt occurs + +prox0_sensor_range + RO - prox0_raw max value + +prox0_raw_en + RW - enable / disable proximity + + Uses counting logic + + - 1 enables the proximity + - 0 disables the proximity + +prox0_thresh_above_count + RW - number of proximity interrupts needed before triggering the event + +prox0_rate_above + RW - Measurement rate (in Hz) when the level is above threshold + i.e. when proximity on has been reported. + +prox0_rate_below + RW - Measurement rate (in Hz) when the level is below threshold + i.e. when proximity off has been reported. + +prox0_rate_avail + RO - Supported proximity measurement rates in Hz + +prox0_thresh_above0_value + RW - threshold level which trigs proximity events. + + Filtered by persistence filter (prox0_thresh_above_count) + +prox0_thresh_above1_value + RW - threshold level which trigs event immediately diff --git a/Documentation/misc-devices/bh1770glc.txt b/Documentation/misc-devices/bh1770glc.txt deleted file mode 100644 index 7d64c014dc70..000000000000 --- a/Documentation/misc-devices/bh1770glc.txt +++ /dev/null @@ -1,116 +0,0 @@ -Kernel driver bh1770glc -======================= - -Supported chips: -ROHM BH1770GLC -OSRAM SFH7770 - -Data sheet: -Not freely available - -Author: -Samu Onkalo - -Description ------------ -BH1770GLC and SFH7770 are combined ambient light and proximity sensors. -ALS and proximity parts operates on their own, but they shares common I2C -interface and interrupt logic. In principle they can run on their own, -but ALS side results are used to estimate reliability of the proximity sensor. - -ALS produces 16 bit lux values. The chip contains interrupt logic to produce -low and high threshold interrupts. - -Proximity part contains IR-led driver up to 3 IR leds. The chip measures -amount of reflected IR light and produces proximity result. Resolution is -8 bit. Driver supports only one channel. Driver uses ALS results to estimate -reliability of the proximity results. Thus ALS is always running while -proximity detection is needed. - -Driver uses threshold interrupts to avoid need for polling the values. -Proximity low interrupt doesn't exists in the chip. This is simulated -by using a delayed work. As long as there is proximity threshold above -interrupts the delayed work is pushed forward. So, when proximity level goes -below the threshold value, there is no interrupt and the delayed work will -finally run. This is handled as no proximity indication. - -Chip state is controlled via runtime pm framework when enabled in config. - -Calibscale factor is used to hide differences between the chips. By default -value set to neutral state meaning factor of 1.00. To get proper values, -calibrated source of light is needed as a reference. Calibscale factor is set -so that measurement produces about the expected lux value. - -SYSFS ------ - -chip_id - RO - shows detected chip type and version - -power_state - RW - enable / disable chip. Uses counting logic - 1 enables the chip - 0 disables the chip - -lux0_input - RO - measured lux value - sysfs_notify called when threshold interrupt occurs - -lux0_sensor_range - RO - lux0_input max value - -lux0_rate - RW - measurement rate in Hz - -lux0_rate_avail - RO - supported measurement rates - -lux0_thresh_above_value - RW - HI level threshold value. All results above the value - trigs an interrupt. 65535 (i.e. sensor_range) disables the above - interrupt. - -lux0_thresh_below_value - RW - LO level threshold value. All results below the value - trigs an interrupt. 0 disables the below interrupt. - -lux0_calibscale - RW - calibration value. Set to neutral value by default. - Output results are multiplied with calibscale / calibscale_default - value. - -lux0_calibscale_default - RO - neutral calibration value - -prox0_raw - RO - measured proximity value - sysfs_notify called when threshold interrupt occurs - -prox0_sensor_range - RO - prox0_raw max value - -prox0_raw_en - RW - enable / disable proximity - uses counting logic - 1 enables the proximity - 0 disables the proximity - -prox0_thresh_above_count - RW - number of proximity interrupts needed before triggering the event - -prox0_rate_above - RW - Measurement rate (in Hz) when the level is above threshold - i.e. when proximity on has been reported. - -prox0_rate_below - RW - Measurement rate (in Hz) when the level is below threshold - i.e. when proximity off has been reported. - -prox0_rate_avail - RO - Supported proximity measurement rates in Hz - -prox0_thresh_above0_value - RW - threshold level which trigs proximity events. - Filtered by persistence filter (prox0_thresh_above_count) - -prox0_thresh_above1_value - RW - threshold level which trigs event immediately diff --git a/Documentation/misc-devices/index.rst b/Documentation/misc-devices/index.rst index 27e268805067..edf66b59f2d4 100644 --- a/Documentation/misc-devices/index.rst +++ b/Documentation/misc-devices/index.rst @@ -15,6 +15,7 @@ fit into other categories. :maxdepth: 2 ad525x_dpot + bh1770glc eeprom c2port ibmvmc -- cgit v1.2.3