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*e4e845c8SMarcelo Schmitt #define AD7091R_REG_CONF_INT_VREF BIT(0) 12*e4e845c8SMarcelo Schmitt 1389c4e633SMarcelo Schmitt /* AD7091R_REG_CH_LIMIT */ 1489c4e633SMarcelo Schmitt #define AD7091R_HIGH_LIMIT 0xFFF 1589c4e633SMarcelo Schmitt #define AD7091R_LOW_LIMIT 0x0 1689c4e633SMarcelo Schmitt 17ca693001SPaul Cercueil struct device; 18ca693001SPaul Cercueil struct ad7091r_state; 19ca693001SPaul Cercueil 20ca693001SPaul Cercueil struct ad7091r_chip_info { 21ca693001SPaul Cercueil unsigned int num_channels; 22ca693001SPaul Cercueil const struct iio_chan_spec *channels; 23260442ccSPaul Cercueil unsigned int vref_mV; 24ca693001SPaul Cercueil }; 25ca693001SPaul Cercueil 2689c4e633SMarcelo Schmitt extern const struct iio_event_spec ad7091r_events[3]; 2789c4e633SMarcelo Schmitt 28ca693001SPaul Cercueil extern const struct regmap_config ad7091r_regmap_config; 29ca693001SPaul Cercueil 30ca693001SPaul Cercueil int ad7091r_probe(struct device *dev, const char *name, 31ca693001SPaul Cercueil const struct ad7091r_chip_info *chip_info, 32ca693001SPaul Cercueil struct regmap *map, int irq); 33ca693001SPaul Cercueil 34ca693001SPaul Cercueil #endif /* __DRIVERS_IIO_ADC_AD7091R_BASE_H__ */ 35