From b1753218caff75713e8a5ddf58344bf4cec21941 Mon Sep 17 00:00:00 2001 From: Karthikeyan Ramasubramanian Date: Mon, 1 Oct 2018 14:26:17 -0600 Subject: driver/mag_lis2mdl: Add LIS2MDL magnetometer module Add support for LIS2MDL magnetometer module in cascade mode to LSM6DSM accelerometer module. BRANCH=none BUG=b:115587004 TEST=Collect magnetometer readings through ectool motionsense Change-Id: I06d11777543f14a557ebe6524f7ede15440f1f1e Signed-off-by: Karthikeyan Ramasubramanian Reviewed-on: https://chromium-review.googlesource.com/1257504 Reviewed-by: Furquan Shaikh Reviewed-by: Jett Rink --- driver/mag_lis2mdl.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 driver/mag_lis2mdl.h (limited to 'driver/mag_lis2mdl.h') diff --git a/driver/mag_lis2mdl.h b/driver/mag_lis2mdl.h new file mode 100644 index 0000000000..ae7907c225 --- /dev/null +++ b/driver/mag_lis2mdl.h @@ -0,0 +1,36 @@ +/* Copyright 2018 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. + */ + +/* LIS2MSL magnetometer module for Chrome EC */ + +#ifndef __CROS_EC_MAG_LIS2MDL_H +#define __CROS_EC_MAG_LIS2MDL_H + +#define LIS2MDL_I2C_ADDR(__x) (__x << 1) + +#define LIS2MDL_ADDR0 LIS2MDL_I2C_ADDR(0x1e) +#define LIS2MDL_ADDR1 LIS2MDL_I2C_ADDR(0x1f) + +#define LIS2MDL_WHO_AM_I_REG 0x4f +#define LIS2MDL_WHO_AM_I 0x40 + +#define LIS2MDL_CFG_REG_A_ADDR 0x60 +#define LIS2MDL_SW_RESET 0x20 +#define LIS2MDL_ODR_100HZ 0xc +#define LIS2MDL_CONT_MODE 0x0 + +#define LIS2MDL_STATUS_REG 0x67 +#define LIS2MDL_OUT_REG 0x68 + +#define LIS2MDL_RANGE 4915 +#define LIS2MDL_RESOLUTION 16 + +#define LIS2MDL_ODR_MIN_VAL 10000 +#define LIS2MDL_ODR_MAX_VAL 100000 + +extern const struct accelgyro_drv lis2mdl_drv; + +#endif /* __CROS_EC_MAG_LIS2MDL_H */ + -- cgit v1.2.1