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