diff options
| author | wenhao.deng <wenhao.deng@new-bund.net> | 2016-06-02 20:02:00 +0800 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-01-23 13:27:11 +0100 |
| commit | 89fd0cd554ba90065944b7576a4730b90f5937d4 (patch) | |
| tree | eb45b9e967e176f0948c3d4a9422cfbe5780ba8e /drivers/misc | |
| parent | 6f78f7f50194b75e8af4d682eef6cd94ca4767cf (diff) | |
sensor: gyro lsm6ds0 modify PowerMode
Change-Id: I0a94400d7625378fda99b37a3e5479f42fe2d524
Diffstat (limited to 'drivers/misc')
| -rw-r--r-- | drivers/misc/mediatek/accelerometer/lsm6ds3/lsm6ds3.h | 133 | ||||
| -rw-r--r-- | drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.c | 8 | ||||
| -rw-r--r-- | drivers/misc/mediatek/gyroscope/lsm6ds3gy/lsm6ds3_gy.h | 32 |
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 |
