xref: /linux/drivers/iio/accel/adxl345.h (revision 2241f81c91f211b512bd2c3a26a4a74258d0e008)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * ADXL345 3-Axis Digital Accelerometer
4  *
5  * Copyright (c) 2017 Eva Rachel Retuya <eraretuya@gmail.com>
6  */
7 
8 #ifndef _ADXL345_H_
9 #define _ADXL345_H_
10 
11 /*
12  * In full-resolution mode, scale factor is maintained at ~4 mg/LSB
13  * in all g ranges.
14  *
15  * At +/- 16g with 13-bit resolution, scale is computed as:
16  * (16 + 16) * 9.81 / (2^13 - 1) = 0.0383
17  */
18 #define ADXL345_USCALE	38300
19 
20 /*
21  * The Datasheet lists a resolution of Resolution is ~49 mg per LSB. That's
22  * ~480mm/s**2 per LSB.
23  */
24 #define ADXL375_USCALE	480000
25 
26 struct adxl345_chip_info {
27 	const char *name;
28 	int uscale;
29 };
30 
31 int adxl345_core_probe(struct device *dev, struct regmap *regmap);
32 
33 #endif /* _ADXL345_H_ */
34