hc
2024-03-22 f63cd4c03ea42695d5f9b0e1798edd196923aae6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Copyright (c) 2011 Bosch Sensortec GmbH
 * Copyright (c) 2011 Unixphere
 */
 
#ifndef _BMA150_H_
#define _BMA150_H_
 
#define BMA150_DRIVER        "bma150"
 
#define BMA150_RANGE_2G        0
#define BMA150_RANGE_4G        1
#define BMA150_RANGE_8G        2
 
#define BMA150_BW_25HZ        0
#define BMA150_BW_50HZ        1
#define BMA150_BW_100HZ        2
#define BMA150_BW_190HZ        3
#define BMA150_BW_375HZ        4
#define BMA150_BW_750HZ        5
#define BMA150_BW_1500HZ    6
 
struct bma150_cfg {
   bool any_motion_int;        /* Set to enable any-motion interrupt */
   bool hg_int;            /* Set to enable high-G interrupt */
   bool lg_int;            /* Set to enable low-G interrupt */
   unsigned char any_motion_dur;    /* Any-motion duration */
   unsigned char any_motion_thres;    /* Any-motion threshold */
   unsigned char hg_hyst;        /* High-G hysterisis */
   unsigned char hg_dur;        /* High-G duration */
   unsigned char hg_thres;        /* High-G threshold */
   unsigned char lg_hyst;        /* Low-G hysterisis */
   unsigned char lg_dur;        /* Low-G duration */
   unsigned char lg_thres;        /* Low-G threshold */
   unsigned char range;        /* one of BMA0150_RANGE_xxx */
   unsigned char bandwidth;    /* one of BMA0150_BW_xxx */
};
 
struct bma150_platform_data {
   struct bma150_cfg cfg;
   int (*irq_gpio_cfg)(void);
};
 
#endif /* _BMA150_H_ */