ad7266.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * AD7266/65 SPI ADC driver
  4. *
  5. * Copyright 2012 Analog Devices Inc.
  6. */
  7. #ifndef __IIO_ADC_AD7266_H__
  8. #define __IIO_ADC_AD7266_H__
  9. /**
  10. * enum ad7266_range - AD7266 reference voltage range
  11. * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
  12. * (RANGE pin set to low)
  13. * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
  14. * (RANGE pin set to high)
  15. */
  16. enum ad7266_range {
  17. AD7266_RANGE_VREF,
  18. AD7266_RANGE_2VREF,
  19. };
  20. /**
  21. * enum ad7266_mode - AD7266 sample mode
  22. * @AD7266_MODE_DIFF: Device is configured for full differential mode
  23. * (SGL/DIFF pin set to low, AD0 pin set to low)
  24. * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
  25. * (SGL/DIFF pin set to low, AD0 pin set to high)
  26. * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
  27. * (SGL/DIFF pin set to high)
  28. */
  29. enum ad7266_mode {
  30. AD7266_MODE_DIFF,
  31. AD7266_MODE_PSEUDO_DIFF,
  32. AD7266_MODE_SINGLE_ENDED,
  33. };
  34. /**
  35. * struct ad7266_platform_data - Platform data for the AD7266 driver
  36. * @range: Reference voltage range the device is configured for
  37. * @mode: Sample mode the device is configured for
  38. * @fixed_addr: Whether the address pins are hard-wired
  39. */
  40. struct ad7266_platform_data {
  41. enum ad7266_range range;
  42. enum ad7266_mode mode;
  43. bool fixed_addr;
  44. };
  45. #endif