linux/include/linux/bma150.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2011 Bosch Sensortec GmbH
   3 * Copyright (c) 2011 Unixphere
   4 *
   5 * This program is free software; you can redistribute it and/or modify
   6 * it under the terms of the GNU General Public License as published by
   7 * the Free Software Foundation; either version 2 of the License, or
   8 * (at your option) any later version.
   9 *
  10 * This program is distributed in the hope that it will be useful,
  11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  13 * GNU General Public License for more details.
  14 *
  15 * You should have received a copy of the GNU General Public License
  16 * along with this program; if not, write to the Free Software
  17 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  18 */
  19
  20#ifndef _BMA150_H_
  21#define _BMA150_H_
  22
  23#define BMA150_DRIVER           "bma150"
  24
  25#define BMA150_RANGE_2G         0
  26#define BMA150_RANGE_4G         1
  27#define BMA150_RANGE_8G         2
  28
  29#define BMA150_BW_25HZ          0
  30#define BMA150_BW_50HZ          1
  31#define BMA150_BW_100HZ         2
  32#define BMA150_BW_190HZ         3
  33#define BMA150_BW_375HZ         4
  34#define BMA150_BW_750HZ         5
  35#define BMA150_BW_1500HZ        6
  36
  37struct bma150_cfg {
  38        bool any_motion_int;            /* Set to enable any-motion interrupt */
  39        bool hg_int;                    /* Set to enable high-G interrupt */
  40        bool lg_int;                    /* Set to enable low-G interrupt */
  41        unsigned char any_motion_dur;   /* Any-motion duration */
  42        unsigned char any_motion_thres; /* Any-motion threshold */
  43        unsigned char hg_hyst;          /* High-G hysterisis */
  44        unsigned char hg_dur;           /* High-G duration */
  45        unsigned char hg_thres;         /* High-G threshold */
  46        unsigned char lg_hyst;          /* Low-G hysterisis */
  47        unsigned char lg_dur;           /* Low-G duration */
  48        unsigned char lg_thres;         /* Low-G threshold */
  49        unsigned char range;            /* one of BMA0150_RANGE_xxx */
  50        unsigned char bandwidth;        /* one of BMA0150_BW_xxx */
  51};
  52
  53struct bma150_platform_data {
  54        struct bma150_cfg cfg;
  55        int (*irq_gpio_cfg)(void);
  56};
  57
  58#endif /* _BMA150_H_ */
  59