iio:adc128s052: add support for adc124s021
authorOliver Stäbler <oliver.staebler@bytesatwork.ch>
Wed, 9 Dec 2015 09:24:04 +0000 (10:24 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 12 Dec 2015 12:08:17 +0000 (12:08 +0000)
Signed-off-by: Oliver Stäbler <oliver.staebler@bytesatwork.ch>
Reviewed-by: Martin Kepplinger <martink@posteo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/devicetree/bindings/iio/adc/ti-adc128s052.txt
drivers/iio/adc/Kconfig
drivers/iio/adc/ti-adc128s052.c

index 15ca6b4..daa2b2c 100644 (file)
@@ -1,7 +1,7 @@
-* Texas Instruments' ADC128S052 and ADC122S021 ADC chip
+* Texas Instruments' ADC128S052, ADC122S021 and ADC124S021 ADC chip
 
 Required properties:
- - compatible: Should be "ti,adc128s052" or "ti,adc122s021"
+ - compatible: Should be "ti,adc128s052", "ti,adc122s021" or "ti,adc124s021"
  - reg: spi chip select number for the device
  - vref-supply: The regulator supply for ADC reference voltage
 
index 9162dfe..57e3ca0 100644 (file)
@@ -332,11 +332,11 @@ config TI_ADC081C
          called ti-adc081c.
 
 config TI_ADC128S052
-       tristate "Texas Instruments ADC128S052/ADC122S021"
+       tristate "Texas Instruments ADC128S052/ADC122S021/ADC124S021"
        depends on SPI
        help
-         If you say yes here you get support for Texas Instruments ADC128S052
-         and ADC122S021 chips.
+         If you say yes here you get support for Texas Instruments ADC128S052,
+         ADC122S021 and ADC124S021 chips.
 
          This driver can also be built as a module. If so, the module will be
          called ti-adc128s052.
index ff6f7f6..bc58867 100644 (file)
@@ -1,10 +1,11 @@
 /*
  * Copyright (C) 2014 Angelo Compagnucci <angelo.compagnucci@gmail.com>
  *
- * Driver for Texas Instruments' ADC128S052 and ADC122S021 ADC chip.
+ * Driver for Texas Instruments' ADC128S052, ADC122S021 and ADC124S021 ADC chip.
  * Datasheets can be found here:
  * http://www.ti.com/lit/ds/symlink/adc128s052.pdf
  * http://www.ti.com/lit/ds/symlink/adc122s021.pdf
+ * http://www.ti.com/lit/ds/symlink/adc124s021.pdf
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License version 2 as
@@ -114,9 +115,17 @@ static const struct iio_chan_spec adc122s021_channels[] = {
        ADC128_VOLTAGE_CHANNEL(1),
 };
 
+static const struct iio_chan_spec adc124s021_channels[] = {
+       ADC128_VOLTAGE_CHANNEL(0),
+       ADC128_VOLTAGE_CHANNEL(1),
+       ADC128_VOLTAGE_CHANNEL(2),
+       ADC128_VOLTAGE_CHANNEL(3),
+};
+
 static const struct adc128_configuration adc128_config[] = {
        { adc128s052_channels, ARRAY_SIZE(adc128s052_channels) },
        { adc122s021_channels, ARRAY_SIZE(adc122s021_channels) },
+       { adc124s021_channels, ARRAY_SIZE(adc124s021_channels) },
 };
 
 static const struct iio_info adc128_info = {
@@ -177,6 +186,7 @@ static int adc128_remove(struct spi_device *spi)
 static const struct of_device_id adc128_of_match[] = {
        { .compatible = "ti,adc128s052", },
        { .compatible = "ti,adc122s021", },
+       { .compatible = "ti,adc124s021", },
        { /* sentinel */ },
 };
 MODULE_DEVICE_TABLE(of, adc128_of_match);
@@ -184,6 +194,7 @@ MODULE_DEVICE_TABLE(of, adc128_of_match);
 static const struct spi_device_id adc128_id[] = {
        { "adc128s052", 0},     /* index into adc128_config */
        { "adc122s021", 1},
+       { "adc124s021", 2},
        { }
 };
 MODULE_DEVICE_TABLE(spi, adc128_id);