FROMLIST: drm: add ARM vendor format afbc
[firefly-linux-kernel-4.4.55.git] / include / linux / mpu6000.h
old mode 100644 (file)
new mode 100755 (executable)
index c02859a..5a63c8f
@@ -1,7 +1,20 @@
 /*
  $License:
     Copyright (C) 2010 InvenSense Corporation, All Rights Reserved.
- $
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  $
  */
 
 /**
 
 /*==== 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 */
 
@@ -296,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 ----*/