diff options
author | Alec Berg <alecaberg@chromium.org> | 2014-02-24 15:31:31 -0800 |
---|---|---|
committer | chrome-internal-fetch <chrome-internal-fetch@google.com> | 2014-03-01 02:36:03 +0000 |
commit | a2809457419479e6d8c6e7c75af640d47c994072 (patch) | |
tree | 53cc6eefcb097c6aca0c0eaf6fc73269fd16d012 /common/motion_sense.c | |
parent | 2356c3e2130b24ba9a4eddfa93de721c3686907c (diff) | |
download | chrome-ec-a2809457419479e6d8c6e7c75af640d47c994072.tar.gz |
rambi: Changed accel i2c speed to 400kHz and added accels present bit
Changed speed of accelerometer i2c bus to 400kHz.
Added an accelerometers present bit to the status byte for host shared
memory so that the host knows whether this system has accelerometers or
not.
BUG=chrome-os-partner:25599
BRANCH=rambi
TEST=manual test with a glimmer.
To test speed, just ran for a while at 400kHz and made sure there were
no i2c errors and the data looked accurate using the lidangle on command.
To test the accelerometers present bit, I used the kernel patch for the
cros_ec_accel driver. First, I verified that without this patch, the kernel
driver throws an error when loading the module. Second, I verified that
with this patch the module was loaded successfully.
Change-Id: I19b8e800748b0d45dc1da6c59118e92b4908ee2f
Original-Change-Id: If931b37bf057df96659852ef9699b3e6029275c7
Signed-off-by: Alec Berg <alecaberg@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/187732
Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/188386
Diffstat (limited to 'common/motion_sense.c')
-rw-r--r-- | common/motion_sense.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/common/motion_sense.c b/common/motion_sense.c index 4bf2e7293f..eea52d394e 100644 --- a/common/motion_sense.c +++ b/common/motion_sense.c @@ -141,6 +141,9 @@ void motion_sense_task(void) return; } + /* Write to status byte to represent that accelerometers are present. */ + *lpc_status |= EC_MEMMAP_ACC_STATUS_PRESENCE_BIT; + while (1) { ts0 = get_time(); @@ -194,7 +197,7 @@ void motion_sense_task(void) */ sample_id = (sample_id + 1) & EC_MEMMAP_ACC_STATUS_SAMPLE_ID_MASK; - *lpc_status = sample_id; + *lpc_status = EC_MEMMAP_ACC_STATUS_PRESENCE_BIT | sample_id; #ifdef CONFIG_CMD_LID_ANGLE |