Commit fde0543f authored by Dan Murphy's avatar Dan Murphy Committed by Mark Brown

ASoC: tlv320aic32x4: Add support for tlv320aic32x6

Add support for the tlv320aic32x6 family of devices.
These devices share the same register set as the tlv320aic32x4
and this driver can be re-used.

TLV320aic32x6 data sheets are here:
tlv320aic3256 - http://www.ti.com/lit/gpn/tlv320aic3256
tlv320aic3206 - http://www.ti.com/lit/gpn/tlv320aic3206Signed-off-by: default avatarDan Murphy <dmurphy@ti.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent 5771a8c0
...@@ -3,7 +3,9 @@ Texas Instruments - tlv320aic32x4 Codec module ...@@ -3,7 +3,9 @@ Texas Instruments - tlv320aic32x4 Codec module
The tlv320aic32x4 serial control bus communicates through I2C protocols The tlv320aic32x4 serial control bus communicates through I2C protocols
Required properties: Required properties:
- compatible: Should be "ti,tlv320aic32x4" - compatible - "string" - One of:
"ti,tlv320aic32x4" TLV320AIC3204
"ti,tlv320aic32x6" TLV320AIC3206, TLV320AIC3256
- reg: I2C slave address - reg: I2C slave address
- supply-*: Required supply regulators are: - supply-*: Required supply regulators are:
"iov" - digital IO power supply "iov" - digital IO power supply
......
...@@ -47,12 +47,14 @@ static int aic32x4_i2c_remove(struct i2c_client *i2c) ...@@ -47,12 +47,14 @@ static int aic32x4_i2c_remove(struct i2c_client *i2c)
static const struct i2c_device_id aic32x4_i2c_id[] = { static const struct i2c_device_id aic32x4_i2c_id[] = {
{ "tlv320aic32x4", 0 }, { "tlv320aic32x4", 0 },
{ "tlv320aic32x6", 1 },
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(i2c, aic32x4_i2c_id); MODULE_DEVICE_TABLE(i2c, aic32x4_i2c_id);
static const struct of_device_id aic32x4_of_id[] = { static const struct of_device_id aic32x4_of_id[] = {
{ .compatible = "ti,tlv320aic32x4", }, { .compatible = "ti,tlv320aic32x4", },
{ .compatible = "ti,tlv320aic32x6", },
{ /* senitel */ } { /* senitel */ }
}; };
MODULE_DEVICE_TABLE(of, aic32x4_of_id); MODULE_DEVICE_TABLE(of, aic32x4_of_id);
......
...@@ -48,12 +48,14 @@ static int aic32x4_spi_remove(struct spi_device *spi) ...@@ -48,12 +48,14 @@ static int aic32x4_spi_remove(struct spi_device *spi)
static const struct spi_device_id aic32x4_spi_id[] = { static const struct spi_device_id aic32x4_spi_id[] = {
{ "tlv320aic32x4", 0 }, { "tlv320aic32x4", 0 },
{ "tlv320aic32x6", 1 },
{ /* sentinel */ } { /* sentinel */ }
}; };
MODULE_DEVICE_TABLE(spi, aic32x4_spi_id); MODULE_DEVICE_TABLE(spi, aic32x4_spi_id);
static const struct of_device_id aic32x4_of_id[] = { static const struct of_device_id aic32x4_of_id[] = {
{ .compatible = "ti,tlv320aic32x4", }, { .compatible = "ti,tlv320aic32x4", },
{ .compatible = "ti,tlv320aic32x6", },
{ /* senitel */ } { /* senitel */ }
}; };
MODULE_DEVICE_TABLE(of, aic32x4_of_id); MODULE_DEVICE_TABLE(of, aic32x4_of_id);
......
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