1ca693001SPaul Cercueil /* SPDX-License-Identifier: GPL-2.0 */ 2ca693001SPaul Cercueil /* 3ca693001SPaul Cercueil * AD7091RX Analog to Digital converter driver 4ca693001SPaul Cercueil * 5ca693001SPaul Cercueil * Copyright 2014-2019 Analog Devices Inc. 6ca693001SPaul Cercueil */ 7ca693001SPaul Cercueil 8ca693001SPaul Cercueil #ifndef __DRIVERS_IIO_ADC_AD7091R_BASE_H__ 9ca693001SPaul Cercueil #define __DRIVERS_IIO_ADC_AD7091R_BASE_H__ 10ca693001SPaul Cercueil 11*89c4e633SMarcelo Schmitt /* AD7091R_REG_CH_LIMIT */ 12*89c4e633SMarcelo Schmitt #define AD7091R_HIGH_LIMIT 0xFFF 13*89c4e633SMarcelo Schmitt #define AD7091R_LOW_LIMIT 0x0 14*89c4e633SMarcelo Schmitt 15ca693001SPaul Cercueil struct device; 16ca693001SPaul Cercueil struct ad7091r_state; 17ca693001SPaul Cercueil 18ca693001SPaul Cercueil struct ad7091r_chip_info { 19ca693001SPaul Cercueil unsigned int num_channels; 20ca693001SPaul Cercueil const struct iio_chan_spec *channels; 21260442ccSPaul Cercueil unsigned int vref_mV; 22ca693001SPaul Cercueil }; 23ca693001SPaul Cercueil 24*89c4e633SMarcelo Schmitt extern const struct iio_event_spec ad7091r_events[3]; 25*89c4e633SMarcelo Schmitt 26ca693001SPaul Cercueil extern const struct regmap_config ad7091r_regmap_config; 27ca693001SPaul Cercueil 28ca693001SPaul Cercueil int ad7091r_probe(struct device *dev, const char *name, 29ca693001SPaul Cercueil const struct ad7091r_chip_info *chip_info, 30ca693001SPaul Cercueil struct regmap *map, int irq); 31ca693001SPaul Cercueil 32ca693001SPaul Cercueil #endif /* __DRIVERS_IIO_ADC_AD7091R_BASE_H__ */ 33