ASoC: da9055: Add DT support for CODEC
authorAdam Thomson <Adam.Thomson.Opensource@diasemi.com>
Thu, 6 Feb 2014 18:03:09 +0000 (18:03 +0000)
committerMark Brown <broonie@linaro.org>
Mon, 10 Feb 2014 13:44:00 +0000 (13:44 +0000)
Signed-off-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Documentation/devicetree/bindings/sound/da9055.txt [new file with mode: 0644]
sound/soc/codecs/da9055.c

diff --git a/Documentation/devicetree/bindings/sound/da9055.txt b/Documentation/devicetree/bindings/sound/da9055.txt
new file mode 100644 (file)
index 0000000..ed1b7cc
--- /dev/null
@@ -0,0 +1,22 @@
+* Dialog DA9055 Audio CODEC
+
+DA9055 provides Audio CODEC support (I2C only).
+
+The Audio CODEC device in DA9055 has it's own I2C address which is configurable,
+so the device is instantiated separately from the PMIC (MFD) device.
+
+For details on accompanying PMIC I2C device, see the following:
+Documentation/devicetree/bindings/mfd/da9055.txt
+
+Required properties:
+
+  - compatible: "dlg,da9055-codec"
+  - reg: Specifies the I2C slave address
+
+
+Example:
+
+       codec: da9055-codec@1a {
+               compatible = "dlg,da9055-codec";
+               reg = <0x1a>;
+       };
index 422812613a28b1cff117b1adfee2029b69e6049b..be31f3cfd46e4f9f4ab901b3c722804ab28b59fb 100644 (file)
@@ -18,6 +18,8 @@
 #include <linux/regmap.h>
 #include <linux/slab.h>
 #include <linux/module.h>
+#include <linux/of.h>
+#include <linux/of_device.h>
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
 #include <sound/soc.h>
@@ -1536,11 +1538,17 @@ static const struct i2c_device_id da9055_i2c_id[] = {
 };
 MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
 
+static const struct of_device_id da9055_of_match[] = {
+       { .compatible = "dlg,da9055-codec", },
+       { }
+};
+
 /* I2C codec control layer */
 static struct i2c_driver da9055_i2c_driver = {
        .driver = {
                .name = "da9055-codec",
                .owner = THIS_MODULE,
+               .of_match_table = of_match_ptr(da9055_of_match),
        },
        .probe          = da9055_i2c_probe,
        .remove         = da9055_remove,