summaryrefslogtreecommitdiff
path: root/driver/als_isl29035.c
diff options
context:
space:
mode:
authorJack Rosenthal <jrosenth@chromium.org>2021-11-04 12:11:58 -0600
committerCommit Bot <commit-bot@chromium.org>2021-11-05 04:22:34 +0000
commit252457d4b21f46889eebad61d4c0a65331919cec (patch)
tree01856c4d31d710b20e85a74c8d7b5836e35c3b98 /driver/als_isl29035.c
parent08f5a1e6fc2c9467230444ac9b582dcf4d9f0068 (diff)
downloadchrome-ec-stabilize-14388.62.B-ish.tar.gz
In the interest of making long-term branch maintenance incur as little technical debt on us as possible, we should not maintain any files on the branch we are not actually using. This has the added effect of making it extremely clear when merging CLs from the main branch when changes have the possibility to affect us. The follow-on CL adds a convenience script to actually pull updates from the main branch and generate a CL for the update. BUG=b:204206272 BRANCH=ish TEST=make BOARD=arcada_ish && make BOARD=drallion_ish Signed-off-by: Jack Rosenthal <jrosenth@chromium.org> Change-Id: I17e4694c38219b5a0823e0a3e55a28d1348f4b18 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3262038 Reviewed-by: Jett Rink <jettrink@chromium.org> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
Diffstat (limited to 'driver/als_isl29035.c')
-rw-r--r--driver/als_isl29035.c73
1 files changed, 0 insertions, 73 deletions
diff --git a/driver/als_isl29035.c b/driver/als_isl29035.c
deleted file mode 100644
index db77a19f09..0000000000
--- a/driver/als_isl29035.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/* Copyright 2013 The Chromium OS Authors. All rights reserved.
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- *
- * Intersil ILS29035 light sensor driver
- */
-
-#include "driver/als_isl29035.h"
-#include "i2c.h"
-
-/* I2C interface */
-#define ILS29035_I2C_ADDR_FLAGS 0x44
-#define ILS29035_REG_COMMAND_I 0
-#define ILS29035_REG_COMMAND_II 1
-#define ILS29035_REG_DATA_LSB 2
-#define ILS29035_REG_DATA_MSB 3
-#define ILS29035_REG_INT_LT_LSB 4
-#define ILS29035_REG_INT_LT_MSB 5
-#define ILS29035_REG_INT_HT_LSB 6
-#define ILS29035_REG_INT_HT_MSB 7
-#define ILS29035_REG_ID 15
-
-int isl29035_init(void)
-{
- /*
- * Tell it to read continually. This uses 70uA, as opposed to nearly
- * zero, but it makes the hook/update code cleaner (we don't want to
- * wait 90ms to read on demand while processing hook callbacks).
- */
- return i2c_write8(I2C_PORT_ALS, ILS29035_I2C_ADDR_FLAGS,
- ILS29035_REG_COMMAND_I, 0xa0);
-}
-
-int isl29035_read_lux(int *lux, int af)
-{
- int rv, lsb, msb, data;
-
- /*
- * NOTE: It is necessary to read the LSB first, then the MSB. If you do
- * it in the opposite order, the results are not correct. This is
- * apparently an undocumented "feature". It's especially noticeable in
- * one-shot mode.
- */
-
- /* Read lsb */
- rv = i2c_read8(I2C_PORT_ALS, ILS29035_I2C_ADDR_FLAGS,
- ILS29035_REG_DATA_LSB, &lsb);
- if (rv)
- return rv;
-
- /* Read msb */
- rv = i2c_read8(I2C_PORT_ALS, ILS29035_I2C_ADDR_FLAGS,
- ILS29035_REG_DATA_MSB, &msb);
- if (rv)
- return rv;
-
- data = (msb << 8) | lsb;
-
- /*
- * The default power-on values will give 16 bits of precision:
- * 0x0000-0xffff indicates 0-1000 lux. We multiply the sensor value by
- * a scaling factor to account for attentuation by glass, tinting, etc.
- *
- * Caution: Don't go nuts with the attentuation factor. If it's
- * greater than 32, the signed int math will roll over and you'll get
- * very wrong results. Of course, if you have that much attenuation and
- * are still getting useful readings, you probably have your sensor
- * pointed directly into the sun.
- */
- *lux = data * af * 1000 / 0xffff;
-
- return EC_SUCCESS;
-}