diff options
Diffstat (limited to 'include/linux/sensor/yas_cfg.h')
-rw-r--r-- | include/linux/sensor/yas_cfg.h | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/include/linux/sensor/yas_cfg.h b/include/linux/sensor/yas_cfg.h new file mode 100644 index 0000000..9af4f47 --- /dev/null +++ b/include/linux/sensor/yas_cfg.h @@ -0,0 +1,250 @@ +/* + * Copyright (c) 2010-2012 Yamaha Corporation + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef __YAS_CFG_H__ +#define __YAS_CFG_H__ + +#define YAS_MAG_DRIVER_NONE (-1) +#define YAS_MAG_DRIVER_YAS529 (1) +#define YAS_MAG_DRIVER_YAS530 (2) +#define YAS_MAG_DRIVER_YAS532 (3) + +#define YAS_ACC_DRIVER_NONE (-1) +#define YAS_ACC_DRIVER_ADXL345 (0) +#define YAS_ACC_DRIVER_ADXL346 (1) +#define YAS_ACC_DRIVER_BMA150 (2) +#define YAS_ACC_DRIVER_BMA222 (3) +#define YAS_ACC_DRIVER_BMA250 (4) +#define YAS_ACC_DRIVER_BMA254 (5) +#define YAS_ACC_DRIVER_KXSD9 (6) +#define YAS_ACC_DRIVER_KXTE9 (7) +#define YAS_ACC_DRIVER_KXTF9 (8) +#define YAS_ACC_DRIVER_KXTJ2 (9) +#define YAS_ACC_DRIVER_KXUD9 (10) +#define YAS_ACC_DRIVER_LIS331DL (11) +#define YAS_ACC_DRIVER_LIS331DLH (12) +#define YAS_ACC_DRIVER_LIS331DLM (13) +#define YAS_ACC_DRIVER_LIS3DH (14) +#define YAS_ACC_DRIVER_MMA8452Q (15) +#define YAS_ACC_DRIVER_MMA8453Q (16) + +#define YAS_GYRO_DRIVER_NONE (-1) +#define YAS_GYRO_DRIVER_ITG3200 (0) +#define YAS_GYRO_DRIVER_L3G4200D (1) +#define YAS_GYRO_DRIVER_EWTZMU (2) + +/*----------------------------------------------------------------------------*/ +/* Configuration */ +/*----------------------------------------------------------------------------*/ + + +#ifdef CONFIG_ACC_DRIVER_LIS3DH +#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_LIS3DH) +#else +#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_BMA250) +#endif + +#ifdef CONFIG_MAG_DRIVER_YAS532 +#define YAS_MAG_DRIVER (YAS_MAG_DRIVER_YAS532) +#else +#define YAS_MAG_DRIVER (YAS_MAG_DRIVER_YAS530) +#endif +#define YAS_GYRO_DRIVER (YAS_GYRO_DRIVER_NONE) + +/*----------------------------------------------------------------------------*/ +/* Acceleration Calibration Configuration */ +/*----------------------------------------------------------------------------*/ + + +#define YAS_DEFAULT_ACCCALIB_LENGTH (20) + +#if YAS_ACC_DRIVER == YAS_ACC_DRIVER_ADXL345 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (8000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_ADXL346 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (4000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA150 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (4000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA222 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (25000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA250 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (20000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA254 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (4000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXSD9 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (80000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTE9 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (400000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTF9 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (2000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTJ2 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (8000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXUD9 +#define YAS_DEFAULT_ACCCALIB_DISTORTION (20000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DL +#define YAS_DEFAULT_ACCCALIB_DISTORTION (17000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DLH +#define YAS_DEFAULT_ACCCALIB_DISTORTION (6000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DLM +#define YAS_DEFAULT_ACCCALIB_DISTORTION (28000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS3DH +#define YAS_DEFAULT_ACCCALIB_DISTORTION (18000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_MMA8452Q +#define YAS_DEFAULT_ACCCALIB_DISTORTION (1000) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_MMA8453Q +#define YAS_DEFAULT_ACCCALIB_DISTORTION (1000) +#else +#define YAS_DEFAULT_ACCCALIB_DISTORTION (0) +#endif + +/*----------------------------------------------------------------------------*/ +/* Accelerometer Filter Configuration */ +/*----------------------------------------------------------------------------*/ + +#if YAS_ACC_DRIVER == YAS_ACC_DRIVER_ADXL345 +#define YAS_ACC_DEFAULT_FILTER_THRESH (76612) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_ADXL346 +#define YAS_ACC_DEFAULT_FILTER_THRESH (76612) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA150 +#define YAS_ACC_DEFAULT_FILTER_THRESH (76612) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA222 +#define YAS_ACC_DEFAULT_FILTER_THRESH (153227) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA250 +#define YAS_ACC_DEFAULT_FILTER_THRESH (76612) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_BMA254 +#define YAS_ACC_DEFAULT_FILTER_THRESH (19152) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXSD9 +#define YAS_ACC_DEFAULT_FILTER_THRESH (239460) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTE9 +#define YAS_ACC_DEFAULT_FILTER_THRESH (612909) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTF9 +#define YAS_ACC_DEFAULT_FILTER_THRESH (19152) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXTJ2 +#define YAS_ACC_DEFAULT_FILTER_THRESH (38304) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_KXUD9 +#define YAS_ACC_DEFAULT_FILTER_THRESH (215514) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DL +#define YAS_ACC_DEFAULT_FILTER_THRESH (176518) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DLH +#define YAS_ACC_DEFAULT_FILTER_THRESH (95760) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS331DLM +#define YAS_ACC_DEFAULT_FILTER_THRESH (306454) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_LIS3DH +#define YAS_ACC_DEFAULT_FILTER_THRESH (76608) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_MMA8452Q +#define YAS_ACC_DEFAULT_FILTER_THRESH (19152) +#elif YAS_ACC_DRIVER == YAS_ACC_DRIVER_MMA8453Q +#define YAS_ACC_DEFAULT_FILTER_THRESH (38306) +#else +#define YAS_ACC_DEFAULT_FILTER_THRESH (0) +#endif + +/*----------------------------------------------------------------------------*/ +/* Geomagnetic Calibration Configuration */ +/*----------------------------------------------------------------------------*/ + +#define YAS_DEFAULT_MAGCALIB_THRESHOLD (1) +#define YAS_DEFAULT_MAGCALIB_DISTORTION (15) +#define YAS_DEFAULT_MAGCALIB_SHAPE (0) +#define YAS_MAGCALIB_SHAPE_NUM (2) +#define YAS_MAG_MANUAL_OFFSET + +/*----------------------------------------------------------------------------*/ +/* Geomagnetic Filter Configuration */ +/*----------------------------------------------------------------------------*/ + +#define YAS_MAG_MAX_FILTER_LEN (30) +#define YAS_MAG_DEFAULT_FILTER_NOISE_X (144) /* sd: 1200 nT */ +#define YAS_MAG_DEFAULT_FILTER_NOISE_Y (144) /* sd: 1200 nT */ +#define YAS_MAG_DEFAULT_FILTER_NOISE_Z (144) /* sd: 1200 nT */ +#define YAS_MAG_DEFAULT_FILTER_LEN (20) + +#if YAS_MAG_DRIVER == YAS_MAG_DRIVER_YAS529 +#define YAS_MAG_DEFAULT_FILTER_THRESH (300) +#elif YAS_MAG_DRIVER == YAS_MAG_DRIVER_YAS530 +#define YAS_MAG_DEFAULT_FILTER_THRESH (100) +#elif YAS_MAG_DRIVER == YAS_MAG_DRIVER_YAS532 +#define YAS_MAG_DEFAULT_FILTER_THRESH (300) +#else +#define YAS_MAG_DEFAULT_FILTER_THRESH (0) +#endif + +/*----------------------------------------------------------------------------*/ +/* Gyroscope Calibration Configuration */ +/*----------------------------------------------------------------------------*/ + +#define YAS_DEFAULT_GYROCALIB_LENGTH (20) + +#if YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_ITG3200 +#define YAS_DEFAULT_GYROCALIB_DISTORTION (0) +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_L3G4200D +#define YAS_DEFAULT_GYROCALIB_DISTORTION (2500000) +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_EWTZMU +#define YAS_DEFAULT_GYROCALIB_DISTORTION (400000) +#else +#define YAS_DEFAULT_GYROCALIB_DISTORTION (0) +#endif + +/*----------------------------------------------------------------------------*/ +/* Gyroscope Filter Configuration */ +/*----------------------------------------------------------------------------*/ +#if YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_ITG3200 +#define YAS_GYRO_DEFAULT_FILTER_THRESH (0) +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_L3G4200D +#define YAS_GYRO_DEFAULT_FILTER_THRESH (280) /* 70mdps x 4 */ +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_EWTZMU +#define YAS_GYRO_DEFAULT_FILTER_THRESH (320) /* 80mdps x 4 */ +#else +#define YAS_GYRO_DEFAULT_FILTER_THRESH (0) +#endif + +/*----------------------------------------------------------------------------*/ +/* Gyroscope Configuration */ +/*----------------------------------------------------------------------------*/ + +#if YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_ITG3200 +#define YAS_GYRO_FIFO_MAX (1) +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_L3G4200D +#define YAS_GYRO_FIFO_MAX (32) +#elif YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_EWTZMU +#define YAS_GYRO_FIFO_MAX (32) +#else +#define YAS_GYRO_FIFO_MAX (1) +#endif + +/*----------------------------------------------------------------------------*/ +/* Other Configuration */ +/*----------------------------------------------------------------------------*/ +#undef YAS_SENSOR_KERNEL_DEVFILE_INTERFACE +#define YAS_SUPPORT_FUSION_DRIVER (0) +#define YAS_SUPPORT_SOFTWARE_GYROSCOPE (0) + +#if YAS_ACC_DRIVER == YAS_ACC_DRIVER_NONE \ + || YAS_MAG_DRIVER == YAS_MAG_DRIVER_NONE \ + || YAS_GYRO_DRIVER == YAS_GYRO_DRIVER_NONE +#undef YAS_SUPPORT_FUSION_DRIVER +#define YAS_SUPPORT_FUSION_DRIVER (0) +#endif + +#if YAS_SUPPORT_SOFTWARE_GYROSCOPE && YAS_GYRO_DRIVER != YAS_GYRO_DRIVER_NONE +#undef YAS_SUPPORT_SOFTWARE_GYROSCOPE +#define YAS_SUPPORT_SOFTWARE_GYROSCOPE (0) +#endif + +#endif |