xref: /openbmc/linux/drivers/iio/pressure/st_pressure.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1fda8d26eSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-only */
2217494e5SDenis CIOCCA /*
3217494e5SDenis CIOCCA  * STMicroelectronics pressures driver
4217494e5SDenis CIOCCA  *
5217494e5SDenis CIOCCA  * Copyright 2013 STMicroelectronics Inc.
6217494e5SDenis CIOCCA  *
7217494e5SDenis CIOCCA  * Denis Ciocca <denis.ciocca@st.com>
8217494e5SDenis CIOCCA  * v. 1.0.0
9217494e5SDenis CIOCCA  */
10217494e5SDenis CIOCCA 
11217494e5SDenis CIOCCA #ifndef ST_PRESS_H
12217494e5SDenis CIOCCA #define ST_PRESS_H
13217494e5SDenis CIOCCA 
14217494e5SDenis CIOCCA #include <linux/types.h>
15217494e5SDenis CIOCCA #include <linux/iio/common/st_sensors.h>
16217494e5SDenis CIOCCA 
179d317724SShrirang Bagul enum st_press_type {
189d317724SShrirang Bagul 	LPS001WP,
199d317724SShrirang Bagul 	LPS25H,
209d317724SShrirang Bagul 	LPS331AP,
219d317724SShrirang Bagul 	LPS22HB,
22b954d77aSLorenzo Bianconi 	LPS33HW,
23b954d77aSLorenzo Bianconi 	LPS35HW,
24e5aab7b0Smario tesi 	LPS22HH,
25*92ba0ab9SMartyn Welch 	LPS22DF,
269d317724SShrirang Bagul 	ST_PRESS_MAX,
279d317724SShrirang Bagul };
289d317724SShrirang Bagul 
297885a8ceSLee Jones #define LPS001WP_PRESS_DEV_NAME		"lps001wp"
3093187840SDenis CIOCCA #define LPS25H_PRESS_DEV_NAME		"lps25h"
31217494e5SDenis CIOCCA #define LPS331AP_PRESS_DEV_NAME		"lps331ap"
32e039e2f5SGregor Boirie #define LPS22HB_PRESS_DEV_NAME		"lps22hb"
33b954d77aSLorenzo Bianconi #define LPS33HW_PRESS_DEV_NAME		"lps33hw"
34b954d77aSLorenzo Bianconi #define LPS35HW_PRESS_DEV_NAME		"lps35hw"
35e5aab7b0Smario tesi #define LPS22HH_PRESS_DEV_NAME		"lps22hh"
36*92ba0ab9SMartyn Welch #define LPS22DF_PRESS_DEV_NAME		"lps22df"
37217494e5SDenis CIOCCA 
3823cde4d6SDenis CIOCCA /**
3923cde4d6SDenis CIOCCA  * struct st_sensors_platform_data - default press platform data
4023cde4d6SDenis CIOCCA  * @drdy_int_pin: default press DRDY is available on INT1 pin.
4123cde4d6SDenis CIOCCA  */
42be4ac832SAndy Shevchenko static __maybe_unused const struct st_sensors_platform_data default_press_pdata = {
4323cde4d6SDenis CIOCCA 	.drdy_int_pin = 1,
4423cde4d6SDenis CIOCCA };
4523cde4d6SDenis CIOCCA 
46217494e5SDenis CIOCCA #ifdef CONFIG_IIO_BUFFER
47217494e5SDenis CIOCCA int st_press_allocate_ring(struct iio_dev *indio_dev);
48217494e5SDenis CIOCCA int st_press_trig_set_state(struct iio_trigger *trig, bool state);
49217494e5SDenis CIOCCA #define ST_PRESS_TRIGGER_SET_STATE (&st_press_trig_set_state)
50217494e5SDenis CIOCCA #else /* CONFIG_IIO_BUFFER */
st_press_allocate_ring(struct iio_dev * indio_dev)51217494e5SDenis CIOCCA static inline int st_press_allocate_ring(struct iio_dev *indio_dev)
52217494e5SDenis CIOCCA {
53217494e5SDenis CIOCCA 	return 0;
54217494e5SDenis CIOCCA }
55217494e5SDenis CIOCCA #define ST_PRESS_TRIGGER_SET_STATE NULL
56217494e5SDenis CIOCCA #endif /* CONFIG_IIO_BUFFER */
57217494e5SDenis CIOCCA 
58217494e5SDenis CIOCCA #endif /* ST_PRESS_H */
59