mpu6515.h 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #ifndef MPU6515_H
  2. #define MPU6515_H
  3. #include <linux/ioctl.h>
  4. #define MPU6515_ACCESS_BY_GSE_I2C
  5. #ifdef MPU6515_ACCESS_BY_GSE_I2C
  6. #define MPU6515_I2C_SLAVE_ADDR (0xD2) /* mtk i2c not allow to probe two same address */
  7. #else
  8. #define MPU6515_I2C_SLAVE_ADDR 0xD0
  9. #endif
  10. /* MPU6515 Register Map (Please refer to MPU6515 Specifications) */
  11. #define MPU6515_REG_DEVID 0x75
  12. #define MPU6515_REG_FIFO_EN 0x23
  13. #define MPU6515_REG_AUX_VDD 0x01
  14. #define MPU6515_REG_SAMRT_DIV 0x19
  15. #define MPU6515_REG_CFG 0x1A /* set external sync, full-scale range and sample rate,
  16. low pass filter bandwidth */
  17. #define MPU6515_REG_GYRO_CFG 0x1B /* full-scale range and sample rate, */
  18. #define MPU6515_REG_GYRO_XH 0x43
  19. #define MPU6515_REG_TEMPH 0x41
  20. #define MPU6515_REG_FIFO_CNTH 0x72
  21. #define MPU6515_REG_FIFO_CNTL 0x73
  22. #define MPU6515_REG_FIFO_DATA 0x74
  23. #define MPU6515_REG_FIFO_CTL 0x6A
  24. #define MPU6515_REG_PWR_CTL 0x6B
  25. #define MPU6515_REG_PWR_CTL2 0x6C
  26. /*MPU6515 Register Bit definitions*/
  27. #define MPU6515_FIFO_GYROX_EN 0x40 /* insert the X Gyro data into FIFO */
  28. #define MPU6515_FIFO_GYROY_EN 0x20 /* insert the Y Gyro data into FIFO */
  29. #define MPU6515_FIFO_GYROZ_EN 0x10 /* insert the Z Gyro data into FIFO */
  30. #define MPU6515_AUX_VDDIO_DIS 0x00 /* disable VDD level for the secondary I2C bus clock and data lines */
  31. /* for MPU6515_REG_CFG */
  32. #define MPU6515_EXT_SYNC 0x03 /* 0x05 //captue the state of external frame sync input
  33. pin to insert into LSB of registers */
  34. #define MPU6515_SYNC_GYROX 0x02
  35. /* for MPU6515_REG_GYRO_CFG */
  36. #define MPU6515_FS_RANGE 0x03 /* set the full-scale range of the gyro sensors */
  37. #define MPU6515_FS_1000 0x02
  38. #define MPU6515_FS_1000_LSB 33
  39. #define MPU6515_FS_MAX_LSB 131
  40. #define MPU6515_RATE_1K_LPFB_188HZ 0x01
  41. #define MPU6515_RATE_1K_LPFB_256HZ 0x00
  42. #define MPU6515_FIFO_EN 0x40 /* enable FIFO operation for sensor data */
  43. #define MPU6515_FIFO_RST 0x40 /* reset FIFO function */
  44. #define MPU6515_SLEEP 0x40 /* enable low power sleep mode */
  45. #define MPU6515_SUCCESS 0
  46. #define MPU6515_ERR_I2C -1
  47. #define MPU6515_ERR_STATUS -3
  48. #define MPU6515_ERR_SETUP_FAILURE -4
  49. #define MPU6515_ERR_GETGSENSORDATA -5
  50. #define MPU6515_ERR_IDENTIFICATION -6
  51. #define MPU6515_BUFSIZE 60
  52. /* 1 rad = 180/PI degree, MAX_LSB = 131, */
  53. /* 180*131/PI = 7506 */
  54. #define DEGREE_TO_RAD 7506
  55. #endif /* MPU6515_H */