Commit 6f1c9e0d authored by Chris Ruehl's avatar Chris Ruehl Committed by Jonathan Cameron

iio: DAC extension for ltc2634-12/10/8

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: default avatarChris Ruehl <chris.ruehl@gtsys.com.hk>
Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent aefa5bc8
Linear Technology LTC2632/2636 DAC Linear Technology LTC2632/2634/2636 DAC
Required properties: Required properties:
- compatible: Has to contain one of the following: - compatible: Has to contain one of the following:
...@@ -8,6 +8,12 @@ Required properties: ...@@ -8,6 +8,12 @@ Required properties:
lltc,ltc2632-h12 lltc,ltc2632-h12
lltc,ltc2632-h10 lltc,ltc2632-h10
lltc,ltc2632-h8 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-l12
lltc,ltc2636-l10 lltc,ltc2636-l10
lltc,ltc2636-l8 lltc,ltc2636-l8
......
...@@ -279,12 +279,12 @@ config LTC1660 ...@@ -279,12 +279,12 @@ config LTC1660
module will be called ltc1660. module will be called ltc1660.
config LTC2632 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 depends on SPI
help help
Say yes here to build support for Linear Technology Say yes here to build support for Linear Technology
LTC2632-12, LTC2632-10, LTC2632-8, LTC2636-12, LTC2636-10 and LTC2632, LTC2634 and LTC2636 DAC resolution 12/10/8 bit
LTC2636-8 converters (DAC). low 0-2.5V and high 0-4.096V range converters.
To compile this driver as a module, choose M here: the To compile this driver as a module, choose M here: the
module will be called ltc2632. module will be called ltc2632.
......
...@@ -56,6 +56,12 @@ enum ltc2632_supported_device_ids { ...@@ -56,6 +56,12 @@ enum ltc2632_supported_device_ids {
ID_LTC2632H12, ID_LTC2632H12,
ID_LTC2632H10, ID_LTC2632H10,
ID_LTC2632H8, ID_LTC2632H8,
ID_LTC2634L12,
ID_LTC2634L10,
ID_LTC2634L8,
ID_LTC2634H12,
ID_LTC2634H10,
ID_LTC2634H8,
ID_LTC2636L12, ID_LTC2636L12,
ID_LTC2636L10, ID_LTC2636L10,
ID_LTC2636L8, ID_LTC2636L8,
...@@ -236,6 +242,36 @@ static const struct ltc2632_chip_info ltc2632_chip_info_tbl[] = { ...@@ -236,6 +242,36 @@ static const struct ltc2632_chip_info ltc2632_chip_info_tbl[] = {
.num_channels = 2, .num_channels = 2,
.vref_mv = 4096, .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] = { [ID_LTC2636L12] = {
.channels = ltc2632x12_channels, .channels = ltc2632x12_channels,
.num_channels = 8, .num_channels = 8,
...@@ -357,6 +393,12 @@ static const struct spi_device_id ltc2632_id[] = { ...@@ -357,6 +393,12 @@ static const struct spi_device_id ltc2632_id[] = {
{ "ltc2632-h12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H12] }, { "ltc2632-h12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H12] },
{ "ltc2632-h10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H10] }, { "ltc2632-h10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H10] },
{ "ltc2632-h8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2632H8] }, { "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-l12", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L12] },
{ "ltc2636-l10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L10] }, { "ltc2636-l10", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L10] },
{ "ltc2636-l8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L8] }, { "ltc2636-l8", (kernel_ulong_t)&ltc2632_chip_info_tbl[ID_LTC2636L8] },
...@@ -386,6 +428,24 @@ static const struct of_device_id ltc2632_of_match[] = { ...@@ -386,6 +428,24 @@ static const struct of_device_id ltc2632_of_match[] = {
}, { }, {
.compatible = "lltc,ltc2632-h8", .compatible = "lltc,ltc2632-h8",
.data = &ltc2632_chip_info_tbl[ID_LTC2632H8] .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", .compatible = "lltc,ltc2636-l12",
.data = &ltc2632_chip_info_tbl[ID_LTC2636L12] .data = &ltc2632_chip_info_tbl[ID_LTC2636L12]
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment