| From 8af6a42a833fe17b7a580f6c669a2cb717abf34c Mon Sep 17 00:00:00 2001 |
| From: Tomas Novotny <tomas@novotny.cz> |
| Date: Tue, 18 Feb 2020 16:44:51 +0100 |
| Subject: [PATCH] iio: light: vcnl4000: update sampling periods for vcnl4040 |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit 2ca5a8792d617b4035aacd0a8be527f667fbf912 upstream. |
| |
| Vishay has published a new version of "Designing the VCNL4200 Into an |
| Application" application note in October 2019. The new version specifies |
| that there is +-20% of part to part tolerance. Although the application |
| note is related to vcnl4200, according to support the vcnl4040's "ASIC |
| is quite similar to that one for the VCNL4200". |
| |
| So update the sampling periods (and comment), including the correct |
| sampling period for proximity. Both sampling periods are lower. Users |
| relying on the blocking behaviour of reading will get proximity |
| measurements much earlier. |
| |
| Fixes: 5a441aade5b3 ("iio: light: vcnl4000 add support for the VCNL4040 proximity and light sensor") |
| Reviewed-by: Guido Günther <agx@sigxcpu.org> |
| Tested-by: Guido Günther <agx@sigxcpu.org> |
| Signed-off-by: Tomas Novotny <tomas@novotny.cz> |
| Cc: <Stable@vger.kernel.org> |
| Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c |
| index b010ddac1adb..de2e4988569e 100644 |
| --- a/drivers/iio/light/vcnl4000.c |
| +++ b/drivers/iio/light/vcnl4000.c |
| @@ -174,9 +174,10 @@ static int vcnl4200_init(struct vcnl4000_data *data) |
| data->al_scale = 24000; |
| break; |
| case VCNL4040_PROD_ID: |
| - /* Integration time is 80ms, add 10ms. */ |
| - data->vcnl4200_al.sampling_rate = ktime_set(0, 100000 * 1000); |
| - data->vcnl4200_ps.sampling_rate = ktime_set(0, 100000 * 1000); |
| + /* Default wait time is 80ms, add 20% tolerance. */ |
| + data->vcnl4200_al.sampling_rate = ktime_set(0, 96000 * 1000); |
| + /* Default wait time is 5ms, add 20% tolerance. */ |
| + data->vcnl4200_ps.sampling_rate = ktime_set(0, 6000 * 1000); |
| data->al_scale = 120000; |
| break; |
| } |
| -- |
| 2.7.4 |
| |