Linux 6.9-rc1
[linux-2.6-microblaze.git] / drivers / iio / accel / adxl355.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * ADXL355 3-Axis Digital Accelerometer
4  *
5  * Copyright (c) 2021 Puranjay Mohan <puranjay12@gmail.com>
6  */
7
8 #ifndef _ADXL355_H_
9 #define _ADXL355_H_
10
11 #include <linux/regmap.h>
12
13 enum adxl355_device_type {
14         ADXL355,
15         ADXL359,
16 };
17
18 struct adxl355_fractional_type {
19         int integer;
20         int decimal;
21 };
22
23 struct device;
24
25 struct adxl355_chip_info {
26         const char                      *name;
27         u8                              part_id;
28         struct adxl355_fractional_type  accel_scale;
29         struct adxl355_fractional_type  temp_offset;
30 };
31
32 extern const struct regmap_access_table adxl355_readable_regs_tbl;
33 extern const struct regmap_access_table adxl355_writeable_regs_tbl;
34 extern const struct adxl355_chip_info adxl35x_chip_info[];
35
36 int adxl355_core_probe(struct device *dev, struct regmap *regmap,
37                        const struct adxl355_chip_info *chip_info);
38
39 #endif /* _ADXL355_H_ */