aboutsummaryrefslogtreecommitdiff
path: root/drivers/misc
diff options
context:
space:
mode:
authorwenhao.deng <wenhao.deng@new-bund.net>2016-06-02 20:02:00 +0800
committerMister Oyster <oysterized@gmail.com>2017-01-23 13:27:11 +0100
commit89fd0cd554ba90065944b7576a4730b90f5937d4 (patch)
treeeb45b9e967e176f0948c3d4a9422cfbe5780ba8e /drivers/misc
parent6f78f7f50194b75e8af4d682eef6cd94ca4767cf (diff)
sensor: gyro lsm6ds0 modify PowerMode
Change-Id: I0a94400d7625378fda99b37a3e5479f42fe2d524
Diffstat (limited to 'drivers/misc')
-rw-r--r--drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h133
-rw-r--r--drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c8
-rw-r--r--drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h32
3 files changed, 42 insertions, 131 deletions
diff --git a/drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h b/drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h
index b30d2d114..988593403 100644
--- a/drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h
+++ b/drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h
@@ -14,8 +14,8 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#ifndef L3M6DS3_H
-#define L3M6DS3_H
+#ifndef L3M6DS3_GY_H
+#define L3M6DS3_GY_H
#include <linux/ioctl.h>
@@ -25,7 +25,6 @@
/* LSM6DS3 Register Map (Please refer to LSM6DS3 Specifications) */
#define LSM6DS3_FUNC_CFG_ACCESS 0x00
-#define LSM6DS3_RAM_ACCESS 0X01
#define LSM6DS3_SENSOR_SYNC_TIME_FRAME 0X04
/*FIFO control register*/
@@ -39,7 +38,7 @@
#define LSM6DS3_ORIENT_CFG_G 0x0B
/*Interrupt control*/
-#define LSM6DS3_INT1_CTRL 0x0D
+#define LSM6DS3_INT1_CTRL 0x0C//0x0D
#define LSM6DS3_INT2_CTRL 0x0E
#define LSM6DS3_WHO_AM_I 0x0F
@@ -48,13 +47,13 @@
#define LSM6DS3_CTRL1_XL 0x10
#define LSM6DS3_CTRL2_G 0x11
#define LSM6DS3_CTRL3_C 0x12
-#define LSM6DS3_CTRL4_C 0x13
-#define LSM6DS3_CTRL5_C 0x14
-#define LSM6DS3_CTRL6_C 0x15
-#define LSM6DS3_CTRL7_G 0x16
-#define LSM6DS3_CTRL8_XL 0x17
-#define LSM6DS3_CTRL9_XL 0x18
-#define LSM6DS3_CTRL10_C 0x19
+#define LSM6DS3_CTRL4_C 0x1E//0x13
+#define LSM6DS3_CTRL5_C 0x1f//0x14
+#define LSM6DS3_CTRL6_C 0x20//0x15
+#define LSM6DS3_CTRL7_G 0x21//0x16
+#define LSM6DS3_CTRL8_XL 0x22//0x17
+#define LSM6DS3_CTRL9_XL 0x23//0x18
+#define LSM6DS3_CTRL10_C 0x24//0x19
#define LSM6DS3_MASTER_CONFIG 0x1A
#define LSM6DS3_WAKE_UP_SRC 0x1B
@@ -65,19 +64,19 @@
/*Output register*/
#define LSM6DS3_OUT_TEMP_L 0x20
#define LSM6DS3_OUT_TEMP_H 0x21
-#define LSM6DS3_OUTX_L_G 0x22
-#define LSM6DS3_OUTX_H_G 0x23
-#define LSM6DS3_OUTY_L_G 0x24
-#define LSM6DS3_OUTY_H_G 0x25
-#define LSM6DS3_OUTZ_L_G 0x26
-#define LSM6DS3_OUTZ_H_G 0x27
+#define LSM6DS3_OUTX_L_G 0x18
+#define LSM6DS3_OUTX_H_G 0x19
+#define LSM6DS3_OUTY_L_G 0x1A//0x24
+#define LSM6DS3_OUTY_H_G 0x1B//0x25
+#define LSM6DS3_OUTZ_L_G 0x1C//0x26
+#define LSM6DS3_OUTZ_H_G 0x1D//0x27
#define LSM6DS3_OUTX_L_XL 0x28
#define LSM6DS3_OUTX_H_XL 0x29
-#define LSM6DS3_OUTY_L_XL 0x2A
-#define LSM6DS3_OUTY_H_XL 0x2B
-#define LSM6DS3_OUTZ_L_XL 0x2C
-#define LSM6DS3_OUTZ_H_XL 0x2D
+#define LSM6DS3_OUTY_L_XL 0x1A//0x2A
+#define LSM6DS3_OUTY_H_XL 0x1B//0x2B
+#define LSM6DS3_OUTZ_L_XL 0x1C//0x2C
+#define LSM6DS3_OUTZ_H_XL 0x1D//0x2D
/*Sensor Hub registers*/
#define LSM6DS3_SENSORHUB1_REG 0x2E
@@ -244,92 +243,6 @@
#define LSM6DS3_GYRO_ENABLE_AXIS_Y 0x10
#define LSM6DS3_GYRO_ENABLE_AXIS_Z 0x20
-#define LSM6DS3_ACC_GYRO_FUNC_EN_MASK 0x04
-#define LSM6DS3_PEDO_EN_MASK 0x40
-typedef enum {
- LSM6DS3_ACC_GYRO_PEDO_EN_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_PEDO_EN_ENABLED =0x40,
-} LSM6DS3_ACC_GYRO_PEDO_EN_t;
-
-#define LSM6DS3_TILT_EN_MASK 0x20
-
-typedef enum {
- LSM6DS3_ACC_GYRO_TILT_EN_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_TILT_EN_ENABLED =0x20,
-} LSM6DS3_ACC_GYRO_TILT_EN_t;
-
-typedef enum {
- LSM6DS3_ACC_GYRO_INT1 =0,
- LSM6DS3_ACC_GYRO_INT2 =1,
-} LSM6DS3_ACC_GYRO_ROUNT_INT_t;
-typedef enum {
- LSM6DS3_ACC_GYRO_FUNC_EN_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_FUNC_EN_ENABLED =0x04,
-} LSM6DS3_ACC_GYRO_FUNC_EN_t;
-
-typedef enum {
- LSM6DS3_ACC_GYRO_INT_TILT_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_INT_TILT_ENABLED =0x02,
-} LSM6DS3_ACC_GYRO_INT2_TILT_t;
-
-#define LSM6DS3_ACC_GYRO_INT_TILT_MASK 0x02
-typedef enum {
- LSM6DS3_ACC_GYRO_TILT_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_TILT_ENABLED =0x02,
-} LSM6DS3_ACC_GYRO_TILT_t;
-
-#define LSM6DS3_ACC_GYRO_TILT_MASK 0x02
-
-typedef enum {
- LSM6DS3_ACC_GYRO_INT_SIGN_MOT_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_INT_SIGN_MOT_ENABLED =0x40,
-} LSM6DS3_ACC_GYRO_INT_SIGN_MOT_t;
-
-#define LSM6DS3_ACC_GYRO_INT_SIGN_MOT_MASK 0x40
-
-typedef enum {
- LSM6DS3_ACC_GYRO_SIGN_MOT_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_SIGN_MOT_ENABLED =0x01,
-} LSM6DS3_ACC_GYRO_SIGN_MOT_t;
-
-#define LSM6DS3_ACC_GYRO_SIGN_MOT_MASK 0x01
-
-typedef enum {
- LSM6DS3_ACC_GYRO_RAM_PAGE_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_RAM_PAGE_ENABLED =0x80,
-} LSM6DS3_ACC_GYRO_RAM_PAGE_t;
-
-#define LSM6DS3_RAM_PAGE_MASK 0x80
-#define LSM6DS3_CONFIG_PEDO_THS_MIN 0x0F
-
-typedef enum {
- LSM6DS3_ACC_GYRO_PEDO_RST_STEP_DISABLED =0x00,
- LSM6DS3_ACC_GYRO_PEDO_RST_STEP_ENABLED =0x02,
-} LSM6DS3_ACC_GYRO_PEDO_RST_STEP_t;
-
-#define LSM6DS3_PEDO_RST_STEP_MASK 0x02
-
-typedef enum {
- LSM6DS3_ACC_GYRO_INT_ACTIVE_HIGH =0x00,
- LSM6DS3_ACC_GYRO_INT_ACTIVE_LOW =0x20,
-} LSM6DS3_ACC_GYRO_INT_ACTIVE_t;
-
-#define LSM6DS3_ACC_GYRO_INT_ACTIVE_MASK 0x20
-
-typedef enum {
- LSM6DS3_ACC_GYRO_INT_LATCH =0x01,
- LSM6DS3_ACC_GYRO_INT_NO_LATCH =0x00,
-} LSM6DS3_ACC_GYRO_INT_LATCH_CTL_t;
-
-#define LSM6DS3_ACC_GYRO_INT_LATCH_CTL_MASK 0x01
-
-
-
-#define LSM6DS3_SIGNICANT_MOTION_INT_STATUS 0x40
-#define LSM6DS3_TILT_INT_STATUS 0x20
-#define LSM6DS3_STEP_DETECT_INT_STATUS 0x10
-
-
#define LSM6DS3_SUCCESS 0
#define LSM6DS3_ERR_I2C -1
@@ -340,11 +253,9 @@ typedef enum {
#define LSM6DS3_BUFSIZE 60
-/*------------------------------------------------------------------*/
-
// 1 rad = 180/PI degree, L3G4200D_OUT_MAGNIFY = 131,
// 180*131/PI = 7506
-#define DEGREE_TO_RAD 180*1000000/PI//7506 // fenggy mask
+#define DEGREE_TO_RAD 7506 //180*1000000/PI//7506 // fenggy mask
//#define DEGREE_TO_RAD 819
-#endif //L3M6DS3_H
+#endif //L3M6DS3_GY_H
diff --git a/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c b/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c
index f57e8869c..4538d0fd4 100644
--- a/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c
+++ b/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c
@@ -428,21 +428,21 @@ static int LSM6DS3_gyro_SetFullScale(struct i2c_client *client, u8 gyro_fs)
int res = 0;
GYRO_FUN();
- if(hwmsen_read_byte(client, LSM6DS3_CTRL2_G, databuf))
+ if(hwmsen_read_byte(client, LSM6DS3_CTRL1_XL, databuf))
{
- GYRO_ERR("read LSM6DS3_CTRL2_G err!\n");
+ GYRO_ERR("read LSM6DS3_CTRL1_XL err!\n");
return LSM6DS3_ERR_I2C;
}
else
{
- GYRO_LOG("read LSM6DS3_CTRL2_G register: 0x%x\n", databuf[0]);
+ GYRO_LOG("read LSM6DS3_CTRL1_XL register: 0x%x\n", databuf[0]);
}
databuf[0] &= ~LSM6DS3_GYRO_RANGE_MASK;//clear
databuf[0] |= gyro_fs;
databuf[1] = databuf[0];
- databuf[0] = LSM6DS3_CTRL2_G;
+ databuf[0] = LSM6DS3_CTRL1_XL;
res = i2c_master_send(client, databuf, 0x2);
diff --git a/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h b/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h
index ebbc55eb8..301a2176a 100644
--- a/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h
+++ b/drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h
@@ -38,7 +38,7 @@
#define LSM6DS3_ORIENT_CFG_G 0x0B
/*Interrupt control*/
-#define LSM6DS3_INT1_CTRL 0x0D
+#define LSM6DS3_INT1_CTRL 0x0C//0x0D
#define LSM6DS3_INT2_CTRL 0x0E
#define LSM6DS3_WHO_AM_I 0x0F
@@ -47,13 +47,13 @@
#define LSM6DS3_CTRL1_XL 0x10
#define LSM6DS3_CTRL2_G 0x11
#define LSM6DS3_CTRL3_C 0x12
-#define LSM6DS3_CTRL4_C 0x13
-#define LSM6DS3_CTRL5_C 0x14
-#define LSM6DS3_CTRL6_C 0x15
-#define LSM6DS3_CTRL7_G 0x16
-#define LSM6DS3_CTRL8_XL 0x17
-#define LSM6DS3_CTRL9_XL 0x18
-#define LSM6DS3_CTRL10_C 0x19
+#define LSM6DS3_CTRL4_C 0x1E//0x13
+#define LSM6DS3_CTRL5_C 0x1f//0x14
+#define LSM6DS3_CTRL6_C 0x20//0x15
+#define LSM6DS3_CTRL7_G 0x21//0x16
+#define LSM6DS3_CTRL8_XL 0x22//0x17
+#define LSM6DS3_CTRL9_XL 0x23//0x18
+#define LSM6DS3_CTRL10_C 0x24//0x19
#define LSM6DS3_MASTER_CONFIG 0x1A
#define LSM6DS3_WAKE_UP_SRC 0x1B
@@ -66,17 +66,17 @@
#define LSM6DS3_OUT_TEMP_H 0x21
#define LSM6DS3_OUTX_L_G 0x22
#define LSM6DS3_OUTX_H_G 0x23
-#define LSM6DS3_OUTY_L_G 0x24
-#define LSM6DS3_OUTY_H_G 0x25
-#define LSM6DS3_OUTZ_L_G 0x26
-#define LSM6DS3_OUTZ_H_G 0x27
+#define LSM6DS3_OUTY_L_G 0x1A//0x24
+#define LSM6DS3_OUTY_H_G 0x1B//0x25
+#define LSM6DS3_OUTZ_L_G 0x1C//0x26
+#define LSM6DS3_OUTZ_H_G 0x1D//0x27
#define LSM6DS3_OUTX_L_XL 0x28
#define LSM6DS3_OUTX_H_XL 0x29
-#define LSM6DS3_OUTY_L_XL 0x2A
-#define LSM6DS3_OUTY_H_XL 0x2B
-#define LSM6DS3_OUTZ_L_XL 0x2C
-#define LSM6DS3_OUTZ_H_XL 0x2D
+#define LSM6DS3_OUTY_L_XL 0x1//0x2A
+#define LSM6DS3_OUTY_H_XL 0x1B//0x2B
+#define LSM6DS3_OUTZ_L_XL 0x1C//0x2C
+#define LSM6DS3_OUTZ_H_XL 0x1D//0x2D
/*Sensor Hub registers*/
#define LSM6DS3_SENSORHUB1_REG 0x2E