X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Flinux%2Fmma8452.h;h=ef9e4f607a4c3919062d90674abcdbc6a1aa730f;hb=b84d18b4cf5bb5fe6f0d7169baeb8c29e0a81664;hp=9de60414684ab784ab53d3ff0623a9ea5ee3ecea;hpb=6bc981e2f208e0ac6e10ee86f18c1904633f059d;p=firefly-linux-kernel-4.4.55.git diff --git a/include/linux/mma8452.h b/include/linux/mma8452.h index 9de60414684a..ef9e4f607a4c 100755 --- a/include/linux/mma8452.h +++ b/include/linux/mma8452.h @@ -85,33 +85,46 @@ #define MMA8452_ASLP_RATE_1P56 3 #define MMA8452_ASLP_RATE_SHIFT 6 -#define ACTIVE_MASK 1 -#define FREAD_MASK 2 +/*Auto-adapt mma845x series*/ +/*Modified by Yick @ROCKCHIP + xieyi@rockchips.com*/ +/* + Range: unit(ug 1g=1 000 000 ug) + option(2g,4g,8g) + G would be defined on android HAL + Precision: bit wide of valid data + Boundary: Max positive count + Gravity_step: gravity value indicated by per count + */ +#define FREAD_MASK 0 /* enabled(1<<1) only if reading MSB 8bits*/ +#define MMA845X_RANGE 2000000 +/* mma8451 */ +#define MMA8451_PRECISION 14 +#define MMA8451_BOUNDARY (0x1 << (MMA8451_PRECISION - 1)) +#define MMA8451_GRAVITY_STEP MMA845X_RANGE / MMA8451_BOUNDARY + +/* mma8452 */ +#define MMA8452_PRECISION 12 +#define MMA8452_BOUNDARY (0x1 << (MMA8452_PRECISION - 1)) +#define MMA8452_GRAVITY_STEP MMA845X_RANGE / MMA8452_BOUNDARY + +/* mma8453 */ +#define MMA8453_PRECISION 10 +#define MMA8453_BOUNDARY (0x1 << (MMA8453_PRECISION - 1)) +#define MMA8453_GRAVITY_STEP MMA845X_RANGE / MMA8453_BOUNDARY +/*End of precision adaption*/ + +#define MMA8452_TOTAL_TIME 10 + +#define ACTIVE_MASK 1 /*status*/ #define MMA8452_SUSPEND 2 #define MMA8452_OPEN 1 #define MMA8452_CLOSE 0 - - -//#define MMA8452_IIC_ADDR 0x98 #define MMA8452_REG_LEN 11 -#define MMA8452_GRAVITY_STEP 156 //2g full scale range -#define MMA8452_PRECISION 8 //8bit data -#define MMA8452_BOUNDARY (0x1 << (MMA8452_PRECISION - 1)) -#define MMA8452_TOTAL_TIME 10 - - -/* -struct mma8452_platform_data { - int reset; - int clk_on; - int intr; -}; - -*/ struct mma8452_axis { int x;