xref: /openbmc/linux/drivers/iio/accel/bmi088-accel.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1c19ae6beSMike Looijmans /* SPDX-License-Identifier: GPL-2.0 */
2c19ae6beSMike Looijmans #ifndef BMI088_ACCEL_H
3c19ae6beSMike Looijmans #define BMI088_ACCEL_H
4c19ae6beSMike Looijmans 
5c19ae6beSMike Looijmans #include <linux/pm.h>
6c19ae6beSMike Looijmans #include <linux/regmap.h>
7c19ae6beSMike Looijmans #include <linux/types.h>
8c19ae6beSMike Looijmans 
9c19ae6beSMike Looijmans struct device;
10c19ae6beSMike Looijmans 
1167ac266dSLI Qingwu enum bmi_device_type {
127a61456cSLI Qingwu 	BOSCH_BMI085,
1367ac266dSLI Qingwu 	BOSCH_BMI088,
14*57387d3cSLI Qingwu 	BOSCH_BMI090L,
1567ac266dSLI Qingwu 	BOSCH_UNKNOWN,
1667ac266dSLI Qingwu };
1767ac266dSLI Qingwu 
18c19ae6beSMike Looijmans extern const struct regmap_config bmi088_regmap_conf;
19c19ae6beSMike Looijmans extern const struct dev_pm_ops bmi088_accel_pm_ops;
20c19ae6beSMike Looijmans 
21c19ae6beSMike Looijmans int bmi088_accel_core_probe(struct device *dev, struct regmap *regmap, int irq,
2267ac266dSLI Qingwu 			    enum bmi_device_type type);
23bcf9d61aSUwe Kleine-König void bmi088_accel_core_remove(struct device *dev);
24c19ae6beSMike Looijmans 
25c19ae6beSMike Looijmans #endif /* BMI088_ACCEL_H */
26