]> git.baikalelectronics.ru Git - kernel.git/commitdiff
iio: DAC extension for ltc2634-12/10/8
authorChris Ruehl <chris.ruehl@gtsys.com.hk>
Mon, 20 Apr 2020 04:26:07 +0000 (12:26 +0800)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 3 May 2020 08:47:23 +0000 (09:47 +0100)
This patch add support for Analog Devices (Linear Technology)
LTC2634 Quad 12-/10-/8-Bit Rail-to-Rail DAC.
The SPI functionality based on them from LTC2632 therefor
add the definitions only and update the Kconfig.

Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Documentation/devicetree/bindings/iio/dac/ltc2632.txt
drivers/iio/dac/Kconfig
drivers/iio/dac/ltc2632.c

index 338c3220f01a0a6ff827092fb60015d87f0b5c5e..1ab9570cf2192b922542316a6f5945835eecc3e5 100644 (file)
@@ -1,4 +1,4 @@
-Linear Technology LTC2632/2636 DAC
+Linear Technology LTC2632/2634/2636 DAC
 
 Required properties:
  - compatible: Has to contain one of the following:
@@ -8,6 +8,12 @@ Required properties:
        lltc,ltc2632-h12
        lltc,ltc2632-h10
        lltc,ltc2632-h8
+       lltc,ltc2634-l12
+       lltc,ltc2634-l10
+       lltc,ltc2634-l8
+       lltc,ltc2634-h12
+       lltc,ltc2634-h10
+       lltc,ltc2634-h8
        lltc,ltc2636-l12
        lltc,ltc2636-l10
        lltc,ltc2636-l8
index 93744011b63f6101fab288a5fca80c382538154b..3728f63255018a796f6cf9981d704aafc2313013 100644 (file)
@@ -279,12 +279,12 @@ config LTC1660
          module will be called ltc1660.
 
 config LTC2632
-       tristate "Linear Technology LTC2632-12/10/8 and LTC2636-12/10/8 DAC spi driver"
+       tristate "Linear Technology LTC2632-12/10/8 and similar DAC spi driver"
        depends on SPI
        help
          Say yes here to build support for Linear Technology
-         LTC2632-12, LTC2632-10, LTC2632-8, LTC2636-12, LTC2636-10 and
-         LTC2636-8 converters (DAC).
+         LTC2632, LTC2634 and LTC2636 DAC resolution 12/10/8 bit
+         low 0-2.5V and high 0-4.096V range converters.
 
          To compile this driver as a module, choose M here: the
          module will be called ltc2632.
index 6afc1ad9004e87bb52cd027daa93a7128b461093..f891311f05cfe8b00b9375e4ca223a194e01f7ea 100644 (file)
@@ -56,6 +56,12 @@ enum ltc2632_supported_device_ids {
        ID_LTC2632H12,
        ID_LTC2632H10,
        ID_LTC2632H8,
+       ID_LTC2634L12,
+       ID_LTC2634L10,
+       ID_LTC2634L8,
+       ID_LTC2634H12,
+       ID_LTC2634H10,
+       ID_LTC2634H8,
        ID_LTC2636L12,
        ID_LTC2636L10,
        ID_LTC2636L8,
@@ -236,6 +242,36 @@ static const struct ltc2632_chip_info ltc2632_chip_info_tbl[] = {
                .num_channels   = 2,
                .vref_mv        = 4096,
        },
+       [ID_LTC2634L12] = {
+               .channels       = ltc2632x12_channels,
+               .num_channels   = 4,
+               .vref_mv        = 2500,
+       },
+       [ID_LTC2634L10] = {
+               .channels       = ltc2632x10_channels,
+               .num_channels   = 4,
+               .vref_mv        = 2500,
+       },
+       [ID_LTC2634L8] =  {
+               .channels       = ltc2632x8_channels,
+               .num_channels   = 4,
+               .vref_mv        = 2500,
+       },
+       [ID_LTC2634H12] = {
+               .channels       = ltc2632x12_channels,
+               .num_channels   = 4,
+               .vref_mv        = 4096,
+       },
+       [ID_LTC2634H10] = {
+               .channels       = ltc2632x10_channels,
+               .num_channels   = 4,
+               .vref_mv        = 4096,
+       },
+       [ID_LTC2634H8] =  {
+               .channels       = ltc2632x8_channels,
+               .num_channels   = 4,
+               .vref_mv        = 4096,
+       },
        [ID_LTC2636L12] = {
                .channels       = ltc2632x12_channels,
                .num_channels   = 8,
@@ -357,6 +393,12 @@ static const struct spi_device_id ltc2632_id[] = {
        { "ltc2632-h12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H12] },
        { "ltc2632-h10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H10] },
        { "ltc2632-h8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H8] },
+       { "ltc2634-l12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634L12] },
+       { "ltc2634-l10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634L10] },
+       { "ltc2634-l8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634L8] },
+       { "ltc2634-h12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634H12] },
+       { "ltc2634-h10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634H10] },
+       { "ltc2634-h8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2634H8] },
        { "ltc2636-l12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L12] },
        { "ltc2636-l10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L10] },
        { "ltc2636-l8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L8] },
@@ -386,6 +428,24 @@ static const struct of_device_id ltc2632_of_match[] = {
        }, {
                .compatible = "lltc,ltc2632-h8",
                .data = &ltc2632_chip_info_tbl[ID_LTC2632H8]
+       }, {
+               .compatible = "lltc,ltc2634-l12",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634L12]
+       }, {
+               .compatible = "lltc,ltc2634-l10",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634L10]
+       }, {
+               .compatible = "lltc,ltc2634-l8",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634L8]
+       }, {
+               .compatible = "lltc,ltc2634-h12",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634H12]
+       }, {
+               .compatible = "lltc,ltc2634-h10",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634H10]
+       }, {
+               .compatible = "lltc,ltc2634-h8",
+               .data = &ltc2632_chip_info_tbl[ID_LTC2634H8]
        }, {
                .compatible = "lltc,ltc2636-l12",
                .data = &ltc2632_chip_info_tbl[ID_LTC2636L12]