summaryrefslogtreecommitdiff
path: root/drivers/iio/accel/adxl367.h
diff options
context:
space:
mode:
authorCosmin Tanislav <demonsingur@gmail.com>2022-02-14 10:38:10 +0300
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2022-02-21 22:33:06 +0300
commitcbab791c5e2a58c123d84bd9202c054e5449bc96 (patch)
treec94591d3799cbc3697f63545a8c4b675199afdaf /drivers/iio/accel/adxl367.h
parent27ae7f9d923885b6380c60dbe45d3bb19e885c5f (diff)
downloadlinux-cbab791c5e2a58c123d84bd9202c054e5449bc96.tar.xz
iio: accel: add ADXL367 driver
The ADXL367 is an ultralow power, 3-axis MEMS accelerometer. The ADXL367 does not alias input signals to achieve ultralow power consumption, it samples the full bandwidth of the sensor at all data rates. Measurement ranges of +-2g, +-4g, and +-8g are available, with a resolution of 0.25mg/LSB on the +-2 g range. In addition to its ultralow power consumption, the ADXL367 has many features to enable true system level power reduction. It includes a deep multimode output FIFO, a built-in micropower temperature sensor, and an internal ADC for synchronous conversion of an additional analog input. Signed-off-by: Cosmin Tanislav <cosmin.tanislav@analog.com> Link: https://lore.kernel.org/r/20220214073810.781016-6-cosmin.tanislav@analog.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Diffstat (limited to 'drivers/iio/accel/adxl367.h')
-rw-r--r--drivers/iio/accel/adxl367.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/iio/accel/adxl367.h b/drivers/iio/accel/adxl367.h
new file mode 100644
index 000000000000..4a42622149b1
--- /dev/null
+++ b/drivers/iio/accel/adxl367.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (C) 2021 Analog Devices, Inc.
+ * Author: Cosmin Tanislav <cosmin.tanislav@analog.com>
+ */
+
+#ifndef _ADXL367_H_
+#define _ADXL367_H_
+
+#include <linux/types.h>
+
+struct device;
+struct regmap;
+
+struct adxl367_ops {
+ int (*read_fifo)(void *context, __be16 *fifo_buf,
+ unsigned int fifo_entries);
+};
+
+int adxl367_probe(struct device *dev, const struct adxl367_ops *ops,
+ void *context, struct regmap *regmap, int irq);
+
+#endif /* _ADXL367_H_ */