mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-08 00:21:46 +00:00
Added i2ctest console command to test the reliability of the I2C.
By reading/writing to the known registers this tests provides the
number of successful read and writes.
BUG=chrome-os-partner:57487
TEST=Enabled the i2ctest config on Reef and tested the
i2c read/writes.
BRANCH=none
Change-Id: I9e27ff96f2b85422933bc590d112a083990e2dfb
Signed-off-by: Vijay Hiremath <vijay.p.hiremath@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/290427
Commit-Ready: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Tested-by: Vijay P Hiremath <vijay.p.hiremath@intel.com>
Reviewed-by: Shawn N <shawnn@chromium.org>
37 lines
1006 B
C
37 lines
1006 B
C
/* Copyright 2015 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.
|
|
*
|
|
* TI OPT3001 light sensor driver
|
|
*/
|
|
|
|
#ifndef __CROS_EC_ALS_OPT3001_H
|
|
#define __CROS_EC_ALS_OPT3001_H
|
|
|
|
/* I2C interface */
|
|
#define OPT3001_I2C_ADDR1 (0x44 << 1)
|
|
#define OPT3001_I2C_ADDR2 (0x45 << 1)
|
|
#define OPT3001_I2C_ADDR3 (0x46 << 1)
|
|
#define OPT3001_I2C_ADDR4 (0x47 << 1)
|
|
|
|
/* OPT3001 registers */
|
|
#define OPT3001_REG_RESULT 0x00
|
|
#define OPT3001_REG_CONFIGURE 0x01
|
|
#define OPT3001_REG_INT_LIMIT_LSB 0x02
|
|
#define OPT3001_REG_INT_LIMIT_MSB 0x03
|
|
#define OPT3001_REG_MAN_ID 0x7E
|
|
#define OPT3001_REG_DEV_ID 0x7F
|
|
|
|
/* OPT3001 register values */
|
|
#define OPT3001_MANUFACTURER_ID 0x5449
|
|
#define OPT3001_DEVICE_ID 0x3001
|
|
|
|
int opt3001_init(void);
|
|
int opt3001_read_lux(int *lux, int af);
|
|
|
|
#ifdef CONFIG_CMD_I2C_STRESS_TEST_ALS
|
|
extern struct i2c_stress_test_dev opt3001_i2c_stress_test_dev;
|
|
#endif
|
|
|
|
#endif /* __CROS_EC_ALS_OPT3001_H */
|