diff options
author | Gwendal Grignou <gwendal@chromium.org> | 2020-01-08 11:00:45 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-12-01 07:03:44 +0000 |
commit | 84a1d726043576e1beabc6a3cd094e06d3de4940 (patch) | |
tree | 1371100079eb209b62f91cfed236b3dce3ec915d /driver | |
parent | 8b3bd40250f9c33c76213133e8d8f0ecd788575e (diff) | |
download | chrome-ec-84a1d726043576e1beabc6a3cd094e06d3de4940.tar.gz |
driver/opt3100: Set min/max frequency that match the driver
Given we set integration time at 800ms, the host must be aware to not
set an ODR over 1Hz.
BUG=chromium:615059
BRANCH=nocturne
TEST=Check new max_frequency is indeed 1Hz on nocturne.
Change-Id: I44252073f59e00cdf4d13b4fa6d88448537c168e
Signed-off-by: Gwendal Grignou <gwendal@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/1991857
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
(cherry picked from commit a8ea3bfdbe928b9bcf2d3756a2fae16fe40132ae)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567037
(cherry picked from commit c36ba0724bc7db8cdb12b66d24f4f4db60a80d65)
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2567039
Diffstat (limited to 'driver')
-rw-r--r-- | driver/als_opt3001.c | 4 | ||||
-rw-r--r-- | driver/als_opt3001.h | 9 |
2 files changed, 8 insertions, 5 deletions
diff --git a/driver/als_opt3001.c b/driver/als_opt3001.c index fd5dded45d..4772816a2a 100644 --- a/driver/als_opt3001.c +++ b/driver/als_opt3001.c @@ -208,8 +208,8 @@ static int opt3001_set_data_rate(const struct motion_sensor_t *s, * integrating over 800ms. * Do not allow range higher than 1Hz. */ - if (rate > 1000) - rate = 1000; + if (rate > OPT3001_LIGHT_MAX_FREQ) + rate = OPT3001_LIGHT_MAX_FREQ; } rv = opt3001_i2c_read(s->port, s->addr, OPT3001_REG_CONFIGURE, ®); if (rv) diff --git a/driver/als_opt3001.h b/driver/als_opt3001.h index d2d2737e20..2f8098c381 100644 --- a/driver/als_opt3001.h +++ b/driver/als_opt3001.h @@ -36,9 +36,12 @@ enum opt3001_mode { #define OPT3001_MANUFACTURER_ID 0x5449 #define OPT3001_DEVICE_ID 0x3001 -/* Min and Max sampling frequency in mHz */ -#define OPT3001_LIGHT_MIN_FREQ 1250 -#define OPT3001_LIGHT_MAX_FREQ 10000 +/* + * Min and Max sampling frequency in mHz. + * Due to integration set at 800ms, we limit max frequency to 1Hz. + */ +#define OPT3001_LIGHT_MIN_FREQ 100 +#define OPT3001_LIGHT_MAX_FREQ 1000 #if (CONFIG_EC_MAX_SENSOR_FREQ_MILLIHZ <= OPT3001_LIGHT_MAX_FREQ) #error "EC too slow for light sensor" #endif |