linux/include/linux/platform_data/ad7266.h
<<
>>
Prefs
   1/*
   2 * AD7266/65 SPI ADC driver
   3 *
   4 * Copyright 2012 Analog Devices Inc.
   5 *
   6 * Licensed under the GPL-2.
   7 */
   8
   9#ifndef __IIO_ADC_AD7266_H__
  10#define __IIO_ADC_AD7266_H__
  11
  12/**
  13 * enum ad7266_range - AD7266 reference voltage range
  14 * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
  15 *                      (RANGE pin set to low)
  16 * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
  17 *                      (RANGE pin set to high)
  18 */
  19enum ad7266_range {
  20        AD7266_RANGE_VREF,
  21        AD7266_RANGE_2VREF,
  22};
  23
  24/**
  25 * enum ad7266_mode - AD7266 sample mode
  26 * @AD7266_MODE_DIFF: Device is configured for full differential mode
  27 *                              (SGL/DIFF pin set to low, AD0 pin set to low)
  28 * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
  29 *                              (SGL/DIFF pin set to low, AD0 pin set to high)
  30 * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
  31 *                              (SGL/DIFF pin set to high)
  32 */
  33enum ad7266_mode {
  34        AD7266_MODE_DIFF,
  35        AD7266_MODE_PSEUDO_DIFF,
  36        AD7266_MODE_SINGLE_ENDED,
  37};
  38
  39/**
  40 * struct ad7266_platform_data - Platform data for the AD7266 driver
  41 * @range: Reference voltage range the device is configured for
  42 * @mode: Sample mode the device is configured for
  43 * @fixed_addr: Whether the address pins are hard-wired
  44 * @addr_gpios: GPIOs used for controlling the address pins, only used if
  45 *              fixed_addr is set to false.
  46 */
  47struct ad7266_platform_data {
  48        enum ad7266_range range;
  49        enum ad7266_mode mode;
  50        bool fixed_addr;
  51        unsigned int addr_gpios[3];
  52};
  53
  54#endif
  55