ASoC: tlv320aic32x4: Add support for tlv320aic32x6
authorDan Murphy <dmurphy@ti.com>
Wed, 12 Jul 2017 18:36:59 +0000 (13:36 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 17 Jul 2017 15:22:25 +0000 (16:22 +0100)
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/tlv320aic3206

Signed-off-by: Dan Murphy <dmurphy@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Documentation/devicetree/bindings/sound/tlv320aic32x4.txt
sound/soc/codecs/tlv320aic32x4-i2c.c
sound/soc/codecs/tlv320aic32x4-spi.c

index 5e2741af27be5f1b07dc775b35db88cdfe57522c..9651fc7503a47eb1e790aa05abf1c5c2ca5accc4 100644 (file)
@@ -3,7 +3,9 @@ Texas Instruments - tlv320aic32x4 Codec module
 The tlv320aic32x4 serial control bus communicates through I2C protocols
 
 Required properties:
- - compatible: Should be "ti,tlv320aic32x4"
+ - compatible - "string" - One of:
+       "ti,tlv320aic32x4" TLV320AIC3204
+       "ti,tlv320aic32x6" TLV320AIC3206, TLV320AIC3256
  - reg: I2C slave address
  - supply-*: Required supply regulators are:
     "iov" - digital IO power supply
index 59606cf3008f26a5694fe730df79d12f902422c3..385fa2e9525abe2c89fc624baef239b2541b7328 100644 (file)
@@ -47,12 +47,14 @@ static int aic32x4_i2c_remove(struct i2c_client *i2c)
 
 static const struct i2c_device_id aic32x4_i2c_id[] = {
        { "tlv320aic32x4", 0 },
+       { "tlv320aic32x6", 1 },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(i2c, aic32x4_i2c_id);
 
 static const struct of_device_id aic32x4_of_id[] = {
        { .compatible = "ti,tlv320aic32x4", },
+       { .compatible = "ti,tlv320aic32x6", },
        { /* senitel */ }
 };
 MODULE_DEVICE_TABLE(of, aic32x4_of_id);
index 724fcdd491b212449527a08e7e900421dfecc44e..07d78ae51e05c77bbd0a93410d0df2449be5d759 100644 (file)
@@ -48,12 +48,14 @@ static int aic32x4_spi_remove(struct spi_device *spi)
 
 static const struct spi_device_id aic32x4_spi_id[] = {
        { "tlv320aic32x4", 0 },
+       { "tlv320aic32x6", 1 },
        { /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(spi, aic32x4_spi_id);
 
 static const struct of_device_id aic32x4_of_id[] = {
        { .compatible = "ti,tlv320aic32x4", },
+       { .compatible = "ti,tlv320aic32x6", },
        { /* senitel */ }
 };
 MODULE_DEVICE_TABLE(of, aic32x4_of_id);