-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Linus Torvalds
committed
Oct 28, 2010
1 parent
08c8a3a
commit 850ac69
Showing
753 changed files
with
34,971 additions
and
18,453 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
--- | ||
refs/heads/master: 72f98e72551fad573c6cace8e8551ef094f482dd | ||
refs/heads/master: 7420a8c0de8d99b201aeeab6fed16ca95ebf55a5 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
Kernel driver apds990x | ||
====================== | ||
|
||
Supported chips: | ||
Avago APDS990X | ||
|
||
Data sheet: | ||
Not freely available | ||
|
||
Author: | ||
Samu Onkalo <samu.p.onkalo@nokia.com> | ||
|
||
Description | ||
----------- | ||
|
||
APDS990x is a combined ambient light and proximity sensor. ALS and proximity | ||
functionality are highly connected. ALS measurement path must be running | ||
while the proximity functionality is enabled. | ||
|
||
ALS produces raw measurement values for two channels: Clear channel | ||
(infrared + visible light) and IR only. However, threshold comparisons happen | ||
using clear channel only. Lux value and the threshold level on the HW | ||
might vary quite much depending the spectrum of the light source. | ||
|
||
Driver makes necessary conversions to both directions so that user handles | ||
only lux values. Lux value is calculated using information from the both | ||
channels. HW threshold level is calculated from the given lux value to match | ||
with current type of the lightning. Sometimes inaccuracy of the estimations | ||
lead to false interrupt, but that doesn't harm. | ||
|
||
ALS contains 4 different gain steps. Driver automatically | ||
selects suitable gain step. After each measurement, reliability of the results | ||
is estimated and new measurement is trigged if necessary. | ||
|
||
Platform data can provide tuned values to the conversion formulas if | ||
values are known. Otherwise plain sensor default values are used. | ||
|
||
Proximity side is little bit simpler. There is no need for complex conversions. | ||
It produces directly usable values. | ||
|
||
Driver controls chip operational state using pm_runtime framework. | ||
Voltage regulators are controlled based on chip operational state. | ||
|
||
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. Actually never reaches since sensor tends | ||
to saturate much before that. Real max value varies depending | ||
on the light spectrum etc. | ||
|
||
lux0_rate | ||
RW - measurement rate in Hz | ||
|
||
lux0_rate_avail | ||
RO - supported measurement rates | ||
|
||
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 | ||
|
||
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. | ||
|
||
prox0_raw | ||
RO - measured proximity value | ||
sysfs_notify called when threshold interrupt occurs | ||
|
||
prox0_sensor_range | ||
RO - prox0_raw max value (1023) | ||
|
||
prox0_raw_en | ||
RW - enable / disable proximity - uses counting logic | ||
1 enables the proximity | ||
0 disables the proximity | ||
|
||
prox0_reporting_mode | ||
RW - trigger / periodic. In "trigger" mode the driver tells two possible | ||
values: 0 or prox0_sensor_range value. 0 means no proximity, | ||
1023 means proximity. This causes minimal number of interrupts. | ||
In "periodic" mode the driver reports all values above | ||
prox0_thresh_above. This causes more interrupts, but it can give | ||
_rough_ estimate about the distance. | ||
|
||
prox0_reporting_mode_avail | ||
RO - accepted values to prox0_reporting_mode (trigger, periodic) | ||
|
||
prox0_thresh_above_value | ||
RW - threshold level which trigs proximity events. |
Oops, something went wrong.