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

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
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
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
+3 −3
Original line number Diff line number Diff line
@@ -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.
+60 −0
Original line number Diff line number Diff line
@@ -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]