18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/*
38c2ecf20Sopenharmony_ci * AD7266/65 SPI ADC driver
48c2ecf20Sopenharmony_ci *
58c2ecf20Sopenharmony_ci * Copyright 2012 Analog Devices Inc.
68c2ecf20Sopenharmony_ci */
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#ifndef __IIO_ADC_AD7266_H__
98c2ecf20Sopenharmony_ci#define __IIO_ADC_AD7266_H__
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci/**
128c2ecf20Sopenharmony_ci * enum ad7266_range - AD7266 reference voltage range
138c2ecf20Sopenharmony_ci * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
148c2ecf20Sopenharmony_ci *			(RANGE pin set to low)
158c2ecf20Sopenharmony_ci * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
168c2ecf20Sopenharmony_ci *			(RANGE pin set to high)
178c2ecf20Sopenharmony_ci */
188c2ecf20Sopenharmony_cienum ad7266_range {
198c2ecf20Sopenharmony_ci	AD7266_RANGE_VREF,
208c2ecf20Sopenharmony_ci	AD7266_RANGE_2VREF,
218c2ecf20Sopenharmony_ci};
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci/**
248c2ecf20Sopenharmony_ci * enum ad7266_mode - AD7266 sample mode
258c2ecf20Sopenharmony_ci * @AD7266_MODE_DIFF: Device is configured for full differential mode
268c2ecf20Sopenharmony_ci *				(SGL/DIFF pin set to low, AD0 pin set to low)
278c2ecf20Sopenharmony_ci * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
288c2ecf20Sopenharmony_ci *				(SGL/DIFF pin set to low, AD0 pin set to high)
298c2ecf20Sopenharmony_ci * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
308c2ecf20Sopenharmony_ci *				(SGL/DIFF pin set to high)
318c2ecf20Sopenharmony_ci */
328c2ecf20Sopenharmony_cienum ad7266_mode {
338c2ecf20Sopenharmony_ci	AD7266_MODE_DIFF,
348c2ecf20Sopenharmony_ci	AD7266_MODE_PSEUDO_DIFF,
358c2ecf20Sopenharmony_ci	AD7266_MODE_SINGLE_ENDED,
368c2ecf20Sopenharmony_ci};
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci/**
398c2ecf20Sopenharmony_ci * struct ad7266_platform_data - Platform data for the AD7266 driver
408c2ecf20Sopenharmony_ci * @range: Reference voltage range the device is configured for
418c2ecf20Sopenharmony_ci * @mode: Sample mode the device is configured for
428c2ecf20Sopenharmony_ci * @fixed_addr: Whether the address pins are hard-wired
438c2ecf20Sopenharmony_ci */
448c2ecf20Sopenharmony_cistruct ad7266_platform_data {
458c2ecf20Sopenharmony_ci	enum ad7266_range range;
468c2ecf20Sopenharmony_ci	enum ad7266_mode mode;
478c2ecf20Sopenharmony_ci	bool fixed_addr;
488c2ecf20Sopenharmony_ci};
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci#endif
51