Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * STMicroelectronics accelerometers driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Copyright 2012-2013 STMicroelectronics Inc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  * Denis Ciocca <denis.ciocca@st.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8)  * v. 1.0.0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) #ifndef ST_ACCEL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) #define ST_ACCEL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) #include <linux/types.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) #include <linux/iio/common/st_sensors.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) enum st_accel_type {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) 	LSM303DLH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) 	LSM303DLHC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) 	LIS3DH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) 	LSM330D,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 	LSM330DL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	LSM330DLC,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	LIS331DLH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	LSM303DL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	LSM303DLM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 	LSM330,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	LSM303AGR,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	LIS2DH12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) 	LIS3L02DQ,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 	LNG2DM,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) 	H3LIS331DL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) 	LIS331DL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) 	LIS3LV02DL,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) 	LIS2DW12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) 	LIS3DHH,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) 	LIS2DE12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) 	LIS2HH12,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	ST_ACCEL_MAX,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) #define H3LIS331DL_ACCEL_DEV_NAME	"h3lis331dl_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) #define LIS3LV02DL_ACCEL_DEV_NAME	"lis3lv02dl_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #define LSM303DLHC_ACCEL_DEV_NAME	"lsm303dlhc_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) #define LIS3DH_ACCEL_DEV_NAME		"lis3dh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) #define LSM330D_ACCEL_DEV_NAME		"lsm330d_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) #define LSM330DL_ACCEL_DEV_NAME		"lsm330dl_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) #define LSM330DLC_ACCEL_DEV_NAME	"lsm330dlc_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) #define LIS331DL_ACCEL_DEV_NAME		"lis331dl_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) #define LIS331DLH_ACCEL_DEV_NAME	"lis331dlh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) #define LSM303DL_ACCEL_DEV_NAME		"lsm303dl_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) #define LSM303DLH_ACCEL_DEV_NAME	"lsm303dlh_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) #define LSM303DLM_ACCEL_DEV_NAME	"lsm303dlm_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) #define LSM330_ACCEL_DEV_NAME		"lsm330_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) #define LSM303AGR_ACCEL_DEV_NAME	"lsm303agr_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) #define LIS2DH12_ACCEL_DEV_NAME		"lis2dh12_accel"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) #define LIS3L02DQ_ACCEL_DEV_NAME	"lis3l02dq"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) #define LNG2DM_ACCEL_DEV_NAME		"lng2dm"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) #define LIS2DW12_ACCEL_DEV_NAME		"lis2dw12"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) #define LIS3DHH_ACCEL_DEV_NAME		"lis3dhh"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) #define LIS3DE_ACCEL_DEV_NAME		"lis3de"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) #define LIS2DE12_ACCEL_DEV_NAME		"lis2de12"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) #define LIS2HH12_ACCEL_DEV_NAME		"lis2hh12"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) * struct st_sensors_platform_data - default accel platform data
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) * @drdy_int_pin: default accel DRDY is available on INT1 pin.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) static __maybe_unused const struct st_sensors_platform_data default_accel_pdata = {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) 	.drdy_int_pin = 1,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) const struct st_sensor_settings *st_accel_get_settings(const char *name);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) int st_accel_common_probe(struct iio_dev *indio_dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) void st_accel_common_remove(struct iio_dev *indio_dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) #ifdef CONFIG_IIO_BUFFER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) int st_accel_allocate_ring(struct iio_dev *indio_dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) void st_accel_deallocate_ring(struct iio_dev *indio_dev);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) int st_accel_trig_set_state(struct iio_trigger *trig, bool state);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) #define ST_ACCEL_TRIGGER_SET_STATE (&st_accel_trig_set_state)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) #else /* CONFIG_IIO_BUFFER */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) static inline int st_accel_allocate_ring(struct iio_dev *indio_dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) 	return 0;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) static inline void st_accel_deallocate_ring(struct iio_dev *indio_dev)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) #define ST_ACCEL_TRIGGER_SET_STATE NULL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) #endif /* CONFIG_IIO_BUFFER */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #endif /* ST_ACCEL_H */