Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / linux / platform_data / ad7266.h
diff --git a/kernel/include/linux/platform_data/ad7266.h b/kernel/include/linux/platform_data/ad7266.h
new file mode 100644 (file)
index 0000000..eabfdcb
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * AD7266/65 SPI ADC driver
+ *
+ * Copyright 2012 Analog Devices Inc.
+ *
+ * Licensed under the GPL-2.
+ */
+
+#ifndef __IIO_ADC_AD7266_H__
+#define __IIO_ADC_AD7266_H__
+
+/**
+ * enum ad7266_range - AD7266 reference voltage range
+ * @AD7266_RANGE_VREF: Device is configured for input range 0V - VREF
+ *                     (RANGE pin set to low)
+ * @AD7266_RANGE_2VREF: Device is configured for input range 0V - 2VREF
+ *                     (RANGE pin set to high)
+ */
+enum ad7266_range {
+       AD7266_RANGE_VREF,
+       AD7266_RANGE_2VREF,
+};
+
+/**
+ * enum ad7266_mode - AD7266 sample mode
+ * @AD7266_MODE_DIFF: Device is configured for full differential mode
+ *                             (SGL/DIFF pin set to low, AD0 pin set to low)
+ * @AD7266_MODE_PSEUDO_DIFF: Device is configured for pseudo differential mode
+ *                             (SGL/DIFF pin set to low, AD0 pin set to high)
+ * @AD7266_MODE_SINGLE_ENDED: Device is configured for single-ended mode
+ *                             (SGL/DIFF pin set to high)
+ */
+enum ad7266_mode {
+       AD7266_MODE_DIFF,
+       AD7266_MODE_PSEUDO_DIFF,
+       AD7266_MODE_SINGLE_ENDED,
+};
+
+/**
+ * struct ad7266_platform_data - Platform data for the AD7266 driver
+ * @range: Reference voltage range the device is configured for
+ * @mode: Sample mode the device is configured for
+ * @fixed_addr: Whether the address pins are hard-wired
+ * @addr_gpios: GPIOs used for controlling the address pins, only used if
+ *             fixed_addr is set to false.
+ */
+struct ad7266_platform_data {
+       enum ad7266_range range;
+       enum ad7266_mode mode;
+       bool fixed_addr;
+       unsigned int addr_gpios[3];
+};
+
+#endif