lineage_android_kernel_sams.../include/linux/yas_cfg.h

239 lines
10 KiB
C
Executable File

/*
* Copyright (c) 2010-2011 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_KXSD9 (5)
#define YAS_ACC_DRIVER_KXTE9 (6)
#define YAS_ACC_DRIVER_KXTF9 (7)
#define YAS_ACC_DRIVER_KXUD9 (8)
#define YAS_ACC_DRIVER_LIS331DL (9)
#define YAS_ACC_DRIVER_LIS331DLH (10)
#define YAS_ACC_DRIVER_LIS331DLM (11)
#define YAS_ACC_DRIVER_LIS3DH (12)
#define YAS_ACC_DRIVER_MMA8452Q (13)
#define YAS_ACC_DRIVER_MMA8453Q (14)
#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 YAS_ACC_DRIVER_LIS3DH
#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_LIS3DH)
#elif YAS_ACC_DRIVER_BMA250
#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_BMA250)
#else
#define YAS_ACC_DRIVER (YAS_ACC_DRIVER_NONE)
#endif
#define YAS_MAG_DRIVER (YAS_MAG_DRIVER_YAS532)
#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_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_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_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_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_MAGCALIB_DISTORTION_LV1 (500)
#define YAS_MAGCALIB_DISTORTION_LV2 (350)
#define YAS_MAGCALIB_DISTORTION_LV3 (15)
#define YAS_DEFAULT_MAGCALIB_SHAPE (0)
#define YAS_MAGCALIB_SHAPE_NUM (2)
#undef 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