1214571Sdim/* SPDX-License-Identifier: GPL-2.0-only */
2214571Sdim/*
3214571Sdim * AD7266/65 SPI ADC driver
4214571Sdim *
5214571Sdim * Copyright 2012 Analog Devices Inc.
6214571Sdim */
7214571Sdim
8214571Sdim#ifndef __IIO_ADC_AD7266_H__
9214571Sdim#define __IIO_ADC_AD7266_H__
10214571Sdim
11214571Sdim/**
12214571Sdim * enum ad7266_range - AD7266 reference voltage range
13214571Sdim * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
14214571Sdim *			(RANGE pin set to low)
15214571Sdim * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
16214571Sdim *			(RANGE pin set to high)
17214571Sdim */
18214571Sdimenum ad7266_range {
19214571Sdim	AD7266_RANGE_VREF,
20214571Sdim	AD7266_RANGE_2VREF,
21214571Sdim};
22214571Sdim
23214571Sdim/**
24214571Sdim * enum ad7266_mode - AD7266 sample mode
25214571Sdim * @AD7266_MODE_DIFF: Device is configured for full differential mode
26214571Sdim *				(SGL/DIFF pin set to low, AD0 pin set to low)
27214571Sdim * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
28214571Sdim *				(SGL/DIFF pin set to low, AD0 pin set to high)
29214571Sdim * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
30214571Sdim *				(SGL/DIFF pin set to high)
31214571Sdim */
32214571Sdimenum ad7266_mode {
33	AD7266_MODE_DIFF,
34	AD7266_MODE_PSEUDO_DIFF,
35	AD7266_MODE_SINGLE_ENDED,
36};
37
38/**
39 * struct ad7266_platform_data - Platform data for the AD7266 driver
40 * @range: Reference voltage range the device is configured for
41 * @mode: Sample mode the device is configured for
42 * @fixed_addr: Whether the address pins are hard-wired
43 */
44struct ad7266_platform_data {
45	enum ad7266_range range;
46	enum ad7266_mode mode;
47	bool fixed_addr;
48};
49
50#endif
51