summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/mpu.h117
-rw-r--r--include/linux/mpu6000.h179
2 files changed, 164 insertions, 132 deletions
diff --git a/include/linux/mpu.h b/include/linux/mpu.h
index 5756f5709a75..15b5fef07c9a 100644
--- a/include/linux/mpu.h
+++ b/include/linux/mpu.h
@@ -31,9 +31,9 @@
#endif
/* Number of axes on each sensor */
-#define GYRO_NUM_AXES (3)
-#define ACCEL_NUM_AXES (3)
-#define COMPASS_NUM_AXES (3)
+#define GYRO_NUM_AXES (3)
+#define ACCEL_NUM_AXES (3)
+#define COMPASS_NUM_AXES (3)
/* IOCTL commands for /dev/mpu */
#define MPU_SET_MPU_CONFIG (0x00)
@@ -83,6 +83,10 @@
#define MPU_CONFIG_COMPASS (0x21)
#define MPU_CONFIG_PRESSURE (0x22)
+#define MPU_GET_CONFIG_ACCEL (0x28)
+#define MPU_GET_CONFIG_COMPASS (0x29)
+#define MPU_GET_CONFIG_PRESSURE (0x2a)
+
/* Structure for the following IOCTL's:
MPU_SET_RAM
MPU_GET_RAM
@@ -97,18 +101,7 @@ struct mpu_read_write {
unsigned char *data;
};
-/* Structure for the following IOCTL's
- MPU_SUSPEND
- MPU_RESUME
-*/
-struct mpu_suspend_resume {
- int gyro;
- int accel;
- int compass;
- int pressure;
-};
-
-struct irq_data {
+struct mpuirq_data {
int interruptcount;
unsigned long long irqtime;
int data_type;
@@ -116,24 +109,38 @@ struct irq_data {
void *data;
};
enum ext_slave_config_key {
- MPU_SLAVE_CONFIG_ODR_SUSPEND,
- MPU_SLAVE_CONFIG_ODR_RESUME,
- MPU_SLAVE_CONFIG_FSR_SUSPEND,
- MPU_SLAVE_CONFIG_FSR_RESUME,
- MPU_SLAVE_CONFIG_MOT_THS,
- MPU_SLAVE_CONFIG_NMOT_THS,
- MPU_SLAVE_CONFIG_MOT_DUR,
- MPU_SLAVE_CONFIG_NMOT_DUR,
- MPU_SLAVE_CONFIG_NUM_CONFIG_KEYS,
+ MPU_SLAVE_CONFIG_ODR_SUSPEND,
+ MPU_SLAVE_CONFIG_ODR_RESUME,
+ MPU_SLAVE_CONFIG_FSR_SUSPEND,
+ MPU_SLAVE_CONFIG_FSR_RESUME,
+ MPU_SLAVE_CONFIG_MOT_THS,
+ MPU_SLAVE_CONFIG_NMOT_THS,
+ MPU_SLAVE_CONFIG_MOT_DUR,
+ MPU_SLAVE_CONFIG_NMOT_DUR,
+ MPU_SLAVE_CONFIG_IRQ_SUSPEND,
+ MPU_SLAVE_CONFIG_IRQ_RESUME,
+ MPU_SLAVE_CONFIG_NUM_CONFIG_KEYS,
};
+
+/* For the MPU_SLAVE_CONFIG_IRQ_SUSPEND and MPU_SLAVE_CONFIG_IRQ_RESUME */
+enum ext_slave_config_irq_type {
+ MPU_SLAVE_IRQ_TYPE_NONE,
+ MPU_SLAVE_IRQ_TYPE_MOTION,
+ MPU_SLAVE_IRQ_TYPE_DATA_READY,
+};
+
/* Structure for the following IOCTS's
* MPU_CONFIG_ACCEL
* MPU_CONFIG_COMPASS
* MPU_CONFIG_PRESSURE
+ * MPU_GET_CONFIG_ACCEL
+ * MPU_GET_CONFIG_COMPASS
+ * MPU_GET_CONFIG_PRESSURE
*/
struct ext_slave_config {
int key;
int len;
+ int apply;
void *data;
};
@@ -156,8 +163,9 @@ enum ext_slave_id {
ACCEL_ID_BMA222,
ACCEL_ID_ADI346,
ACCEL_ID_MMA8450,
- ACCEL_ID_MMA8451,
+ ACCEL_ID_MMA845X,
ACCEL_ID_MPU6000,
+ ACCEL_ID_LIS3DH,
COMPASS_ID_AKM,
COMPASS_ID_AMI30X,
@@ -166,6 +174,7 @@ enum ext_slave_id {
COMPASS_ID_LSM303,
COMPASS_ID_MMC314X,
COMPASS_ID_HSCDTD002B,
+ COMPASS_ID_HSCDTD004A,
PRESSURE_ID_BMA085,
};
@@ -229,6 +238,7 @@ struct tFixPntRange {
* @init: function used to preallocate memory used by the driver
* @exit: function used to free memory allocated for the driver
* @config: function used to configure the device
+ * @get_config:function used to get the device's configuration
*
* @name: text name of the device
* @type: device type. enum ext_slave_type
@@ -262,6 +272,10 @@ struct ext_slave_descr {
struct ext_slave_descr *slave,
struct ext_slave_platform_data *pdata,
struct ext_slave_config *config);
+ int (*get_config) (void *mlsl_handle,
+ struct ext_slave_descr *slave,
+ struct ext_slave_platform_data *pdata,
+ struct ext_slave_config *config);
char *name;
unsigned char type;
@@ -302,65 +316,73 @@ struct mpu3050_platform_data {
*/
#define get_accel_slave_descr NULL
-#ifdef CONFIG_SENSORS_ADXL346 /* ADI accelerometer */
+#ifdef CONFIG_MPU_SENSORS_ADXL346 /* ADI accelerometer */
struct ext_slave_descr *adxl346_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr adxl346_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_BMA150 /* Bosch accelerometer */
+#ifdef CONFIG_MPU_SENSORS_BMA150 /* Bosch accelerometer */
struct ext_slave_descr *bma150_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr bma150_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_BMA222 /* Bosch 222 accelerometer */
+#ifdef CONFIG_MPU_SENSORS_BMA222 /* Bosch 222 accelerometer */
struct ext_slave_descr *bma222_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr bma222_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_KXSD9 /* Kionix accelerometer */
+#ifdef CONFIG_MPU_SENSORS_KXSD9 /* Kionix accelerometer */
struct ext_slave_descr *kxsd9_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr kxsd9_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_KXTF9_MPU /* Kionix accelerometer */
+#ifdef CONFIG_MPU_SENSORS_KXTF9 /* Kionix accelerometer */
struct ext_slave_descr *kxtf9_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr kxtf9_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LIS331DLH /* ST accelerometer */
+#ifdef CONFIG_MPU_SENSORS_LIS331DLH /* ST accelerometer */
struct ext_slave_descr *lis331dlh_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr lis331dlh_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LSM303DLHA /* ST accelerometer */
+
+#ifdef CONFIG_MPU_SENSORS_LIS3DH /* ST accelerometer */
+struct ext_slave_descr *lis3dh_get_slave_descr(void);
+#undef get_accel_slave_descr
+#define get_accel_slave_descr lis3dh_get_slave_descr
+#endif
+
+#ifdef CONFIG_MPU_SENSORS_LSM303DLHA /* ST accelerometer */
struct ext_slave_descr *lsm303dlha_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr lsm303dlha_get_slave_descr
#endif
/* MPU6000 Accel */
-#if defined(CONFIG_SENSORS_MPU6000) || defined(CONFIG_SENSORS_MPU6000_MODULE)
+#if defined(CONFIG_MPU_SENSORS_MPU6000) || \
+ defined(CONFIG_MPU_SENSORS_MPU6000_MODULE)
struct ext_slave_descr *mantis_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr mantis_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMA8450 /* Freescale accelerometer */
+#ifdef CONFIG_MPU_SENSORS_MMA8450 /* Freescale accelerometer */
struct ext_slave_descr *mma8450_get_slave_descr(void);
#undef get_accel_slave_descr
#define get_accel_slave_descr mma8450_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMA8451 /* Freescale accelerometer */
-struct ext_slave_descr *mma8451_get_slave_descr(void);
+#ifdef CONFIG_MPU_SENSORS_MMA845X /* Freescale accelerometer */
+struct ext_slave_descr *mma845x_get_slave_descr(void);
#undef get_accel_slave_descr
-#define get_accel_slave_descr mma8451_get_slave_descr
+#define get_accel_slave_descr mma845x_get_slave_descr
#endif
@@ -369,54 +391,59 @@ struct ext_slave_descr *mma8451_get_slave_descr(void);
*/
#define get_compass_slave_descr NULL
-#ifdef CONFIG_SENSORS_AK8975_MPU /* AKM compass */
+#ifdef CONFIG_MPU_SENSORS_AK8975 /* AKM compass */
struct ext_slave_descr *ak8975_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr ak8975_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_AMI30X /* AICHI Steel compass */
+#ifdef CONFIG_MPU_SENSORS_AMI30X /* AICHI Steel compass */
struct ext_slave_descr *ami30x_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr ami30x_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_HMC5883 /* Honeywell compass */
+#ifdef CONFIG_MPU_SENSORS_HMC5883 /* Honeywell compass */
struct ext_slave_descr *hmc5883_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr hmc5883_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_MMC314X /* MEMSIC compass */
+#ifdef CONFIG_MPU_SENSORS_MMC314X /* MEMSIC compass */
struct ext_slave_descr *mmc314x_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr mmc314x_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_LSM303DLHM /* ST compass */
+#ifdef CONFIG_MPU_SENSORS_LSM303DLHM /* ST compass */
struct ext_slave_descr *lsm303dlhm_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr lsm303dlhm_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_YAS529 /* Yamaha compass */
+#ifdef CONFIG_MPU_SENSORS_YAS529 /* Yamaha compass */
struct ext_slave_descr *yas529_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr yas529_get_slave_descr
#endif
-#ifdef CONFIG_SENSORS_HSCDTD002B /* Alps compass */
+#ifdef CONFIG_MPU_SENSORS_HSCDTD002B /* Alps HSCDTD002B compass */
struct ext_slave_descr *hscdtd002b_get_slave_descr(void);
#undef get_compass_slave_descr
#define get_compass_slave_descr hscdtd002b_get_slave_descr
#endif
+#ifdef CONFIG_MPU_SENSORS_HSCDTD004A /* Alps HSCDTD004A compass */
+struct ext_slave_descr *hscdtd004a_get_slave_descr(void);
+#undef get_compass_slave_descr
+#define get_compass_slave_descr hscdtd004a_get_slave_descr
+#endif
/*
Pressure
*/
#define get_pressure_slave_descr NULL
-#ifdef CONFIG_SENSORS_BMA085 /* BMA pressure */
+#ifdef CONFIG_MPU_SENSORS_BMA085 /* BMA pressure */
struct ext_slave_descr *bma085_get_slave_descr(void);
#undef get_pressure_slave_descr
#define get_pressure_slave_descr bma085_get_slave_descr
diff --git a/include/linux/mpu6000.h b/include/linux/mpu6000.h
index 89c4cbb90b69..5a63c8f07b70 100644
--- a/include/linux/mpu6000.h
+++ b/include/linux/mpu6000.h
@@ -34,122 +34,122 @@
/*==== M_HW REGISTER SET ====*/
enum {
- MPUREG_XG_OFFS_TC = 0,
- MPUREG_YG_OFFS_TC,
- MPUREG_ZG_OFFS_TC,
- MPUREG_X_FINE_GAIN,
- MPUREG_Y_FINE_GAIN,
- MPUREG_Z_FINE_GAIN,
- MPUREG_XA_OFFS_H,
- MPUREG_XA_OFFS_L_TC,
- MPUREG_YA_OFFS_H,
- MPUREG_YA_OFFS_L_TC,
- MPUREG_ZA_OFFS_H,
+ MPUREG_XG_OFFS_TC = 0, /* 0x00 */
+ MPUREG_YG_OFFS_TC, /* 0x00 */
+ MPUREG_ZG_OFFS_TC, /* 0x00 */
+ MPUREG_X_FINE_GAIN, /* 0x00 */
+ MPUREG_Y_FINE_GAIN, /* 0x00 */
+ MPUREG_Z_FINE_GAIN, /* 0x00 */
+ MPUREG_XA_OFFS_H, /* 0x00 */
+ MPUREG_XA_OFFS_L_TC, /* 0x00 */
+ MPUREG_YA_OFFS_H, /* 0x00 */
+ MPUREG_YA_OFFS_L_TC, /* 0x00 */
+ MPUREG_ZA_OFFS_H, /* 0x00 */
MPUREG_ZA_OFFS_L_TC, /* 0xB */
- MPUREG_0C_RSVD,
- MPUREG_0D_RSVD,
- MPUREG_0E_RSVD,
- MPUREG_0F_RSVD,
- MPUREG_10_RSVD,
- MPUREG_11_RSVD,
- MPUREG_12_RSVD,
- MPUREG_XG_OFFS_USRH,
- MPUREG_XG_OFFS_USRL,
- MPUREG_YG_OFFS_USRH,
- MPUREG_YG_OFFS_USRL,
- MPUREG_ZG_OFFS_USRH,
- MPUREG_ZG_OFFS_USRL,
+ MPUREG_0C_RSVD, /* 0x00 */
+ MPUREG_0D_RSVD, /* 0x00 */
+ MPUREG_0E_RSVD, /* 0x00 */
+ MPUREG_0F_RSVD, /* 0x00 */
+ MPUREG_10_RSVD, /* 0x00 */
+ MPUREG_11_RSVD, /* 0x00 */
+ MPUREG_12_RSVD, /* 0x00 */
+ MPUREG_XG_OFFS_USRH, /* 0x00 */
+ MPUREG_XG_OFFS_USRL, /* 0x00 */
+ MPUREG_YG_OFFS_USRH, /* 0x00 */
+ MPUREG_YG_OFFS_USRL, /* 0x00 */
+ MPUREG_ZG_OFFS_USRH, /* 0x00 */
+ MPUREG_ZG_OFFS_USRL, /* 0x00 */
MPUREG_SMPLRT_DIV, /* 0x19 */
MPUREG_CONFIG, /* 0x1A ==> DLPF_FS_SYNC */
- MPUREG_GYRO_CONFIG,
- MPUREG_ACCEL_CONFIG,
- MPUREG_ACCEL_FF_THR,
- MPUREG_ACCEL_FF_DUR,
- MPUREG_ACCEL_MOT_THR,
- MPUREG_ACCEL_MOT_DUR,
- MPUREG_ACCEL_ZRMOT_THR,
- MPUREG_ACCEL_ZRMOT_DUR,
+ MPUREG_GYRO_CONFIG, /* 0x00 */
+ MPUREG_ACCEL_CONFIG, /* 0x00 */
+ MPUREG_ACCEL_FF_THR, /* 0x00 */
+ MPUREG_ACCEL_FF_DUR, /* 0x00 */
+ MPUREG_ACCEL_MOT_THR, /* 0x00 */
+ MPUREG_ACCEL_MOT_DUR, /* 0x00 */
+ MPUREG_ACCEL_ZRMOT_THR, /* 0x00 */
+ MPUREG_ACCEL_ZRMOT_DUR, /* 0x00 */
MPUREG_FIFO_EN, /* 0x23 */
- MPUREG_I2C_MST_CTRL,
+ MPUREG_I2C_MST_CTRL, /* 0x00 */
MPUREG_I2C_SLV0_ADDR, /* 0x25 */
- MPUREG_I2C_SLV0_REG,
- MPUREG_I2C_SLV0_CTRL,
+ MPUREG_I2C_SLV0_REG, /* 0x00 */
+ MPUREG_I2C_SLV0_CTRL, /* 0x00 */
MPUREG_I2C_SLV1_ADDR, /* 0x28 */
- MPUREG_I2C_SLV1_REG_PASSWORD,
- MPUREG_I2C_SLV1_CTRL,
+ MPUREG_I2C_SLV1_REG_PASSWORD, /* 0x00 */
+ MPUREG_I2C_SLV1_CTRL, /* 0x00 */
MPUREG_I2C_SLV2_ADDR, /* 0x2B */
- MPUREG_I2C_SLV2_REG,
- MPUREG_I2C_SLV2_CTRL,
+ MPUREG_I2C_SLV2_REG, /* 0x00 */
+ MPUREG_I2C_SLV2_CTRL, /* 0x00 */
MPUREG_I2C_SLV3_ADDR, /* 0x2E */
- MPUREG_I2C_SLV3_REG,
- MPUREG_I2C_SLV3_CTRL,
+ MPUREG_I2C_SLV3_REG, /* 0x00 */
+ MPUREG_I2C_SLV3_CTRL, /* 0x00 */
MPUREG_I2C_SLV4_ADDR, /* 0x31 */
- MPUREG_I2C_SLV4_REG,
- MPUREG_I2C_SLV4_DO,
- MPUREG_I2C_SLV4_CTRL,
- MPUREG_I2C_SLV4_DI,
+ MPUREG_I2C_SLV4_REG, /* 0x00 */
+ MPUREG_I2C_SLV4_DO, /* 0x00 */
+ MPUREG_I2C_SLV4_CTRL, /* 0x00 */
+ MPUREG_I2C_SLV4_DI, /* 0x00 */
MPUREG_I2C_MST_STATUS, /* 0x36 */
MPUREG_INT_PIN_CFG, /* 0x37 ==> -* INT_CFG */
MPUREG_INT_ENABLE, /* 0x38 ==> / */
MPUREG_DMP_INT_STATUS, /* 0x39 */
MPUREG_INT_STATUS, /* 0x3A */
MPUREG_ACCEL_XOUT_H, /* 0x3B */
- MPUREG_ACCEL_XOUT_L,
- MPUREG_ACCEL_YOUT_H,
- MPUREG_ACCEL_YOUT_L,
- MPUREG_ACCEL_ZOUT_H,
- MPUREG_ACCEL_ZOUT_L,
+ MPUREG_ACCEL_XOUT_L, /* 0x00 */
+ MPUREG_ACCEL_YOUT_H, /* 0x00 */
+ MPUREG_ACCEL_YOUT_L, /* 0x00 */
+ MPUREG_ACCEL_ZOUT_H, /* 0x00 */
+ MPUREG_ACCEL_ZOUT_L, /* 0x00 */
MPUREG_TEMP_OUT_H, /* 0x41 */
- MPUREG_TEMP_OUT_L,
+ MPUREG_TEMP_OUT_L, /* 0x00 */
MPUREG_GYRO_XOUT_H, /* 0x43 */
- MPUREG_GYRO_XOUT_L,
- MPUREG_GYRO_YOUT_H,
- MPUREG_GYRO_YOUT_L,
- MPUREG_GYRO_ZOUT_H,
- MPUREG_GYRO_ZOUT_L,
+ MPUREG_GYRO_XOUT_L, /* 0x00 */
+ MPUREG_GYRO_YOUT_H, /* 0x00 */
+ MPUREG_GYRO_YOUT_L, /* 0x00 */
+ MPUREG_GYRO_ZOUT_H, /* 0x00 */
+ MPUREG_GYRO_ZOUT_L, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_00, /* 0x49 */
- MPUREG_EXT_SLV_SENS_DATA_01,
- MPUREG_EXT_SLV_SENS_DATA_02,
- MPUREG_EXT_SLV_SENS_DATA_03,
- MPUREG_EXT_SLV_SENS_DATA_04,
- MPUREG_EXT_SLV_SENS_DATA_05,
+ MPUREG_EXT_SLV_SENS_DATA_01, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_02, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_03, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_04, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_05, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_06, /* 0x4F */
- MPUREG_EXT_SLV_SENS_DATA_07,
- MPUREG_EXT_SLV_SENS_DATA_08,
- MPUREG_EXT_SLV_SENS_DATA_09,
- MPUREG_EXT_SLV_SENS_DATA_10,
- MPUREG_EXT_SLV_SENS_DATA_11,
+ MPUREG_EXT_SLV_SENS_DATA_07, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_08, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_09, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_10, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_11, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_12, /* 0x55 */
- MPUREG_EXT_SLV_SENS_DATA_13,
- MPUREG_EXT_SLV_SENS_DATA_14,
- MPUREG_EXT_SLV_SENS_DATA_15,
- MPUREG_EXT_SLV_SENS_DATA_16,
- MPUREG_EXT_SLV_SENS_DATA_17,
+ MPUREG_EXT_SLV_SENS_DATA_13, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_14, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_15, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_16, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_17, /* 0x00 */
MPUREG_EXT_SLV_SENS_DATA_18, /* 0x5B */
- MPUREG_EXT_SLV_SENS_DATA_19,
- MPUREG_EXT_SLV_SENS_DATA_20,
- MPUREG_EXT_SLV_SENS_DATA_21,
- MPUREG_EXT_SLV_SENS_DATA_22,
- MPUREG_EXT_SLV_SENS_DATA_23,
+ MPUREG_EXT_SLV_SENS_DATA_19, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_20, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_21, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_22, /* 0x00 */
+ MPUREG_EXT_SLV_SENS_DATA_23, /* 0x00 */
ACCEL_INTEL_STATUS, /* 0x61 */
- MPUREG_62_RSVD,
- MPUREG_63_RSVD,
- MPUREG_64_RSVD,
- MPUREG_65_RSVD,
- MPUREG_66_RSVD,
- MPUREG_67_RSVD,
+ MPUREG_62_RSVD, /* 0x00 */
+ MPUREG_63_RSVD, /* 0x00 */
+ MPUREG_64_RSVD, /* 0x00 */
+ MPUREG_65_RSVD, /* 0x00 */
+ MPUREG_66_RSVD, /* 0x00 */
+ MPUREG_67_RSVD, /* 0x00 */
SIGNAL_PATH_RESET, /* 0x68 */
ACCEL_INTEL_CTRL, /* 0x69 */
MPUREG_USER_CTRL, /* 0x6A */
MPUREG_PWR_MGMT_1, /* 0x6B */
- MPUREG_PWR_MGMT_2,
+ MPUREG_PWR_MGMT_2, /* 0x00 */
MPUREG_BANK_SEL, /* 0x6D */
MPUREG_MEM_START_ADDR, /* 0x6E */
MPUREG_MEM_R_W, /* 0x6F */
- MPUREG_PRGM_STRT_ADDRH,
- MPUREG_PRGM_STRT_ADDRL,
+ MPUREG_PRGM_STRT_ADDRH, /* 0x00 */
+ MPUREG_PRGM_STRT_ADDRL, /* 0x00 */
MPUREG_FIFO_COUNTH, /* 0x72 */
- MPUREG_FIFO_COUNTL,
+ MPUREG_FIFO_COUNTL, /* 0x00 */
MPUREG_FIFO_R_W, /* 0x74 */
MPUREG_WHOAMI, /* 0x75,117 */
@@ -309,7 +309,12 @@ enum MPU_MEMORY_BANKS {
#define BIT_STBY_ZG 0x01
/* although it has 6, this refers to the gyros */
-#define MPU_NUM_AXES (3)
+#define MPU_NUM_AXES (3)
+
+#define ACCEL_MOT_THR_LSB (32) /* mg */
+#define ACCEL_MOT_DUR_LSB (1)
+#define ACCEL_ZRMOT_THR_LSB_CONVERSION(mg) ((mg *1000)/255)
+#define ACCEL_ZRMOT_DUR_LSB (64)
/*----------------------------------------------------------------------------*/
/*---- Alternative names to take care of conflicts with current mpu3050.h ----*/