Merge branch 'for-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie...
[linux-2.6-block.git] / sound / soc / codecs / pcm3060.c
index 771b46e1974b9d068cc7797b8c2d0353d4b2ddfd..1dd851a7b43b43f933ec30f514c49065a4be7dd1 100644 (file)
@@ -270,9 +270,23 @@ EXPORT_SYMBOL(pcm3060_regmap);
 
 /* device */
 
+static void pcm3060_parse_dt(const struct device_node *np,
+                            struct pcm3060_priv *priv)
+{
+       priv->out_se = of_property_read_bool(np, "ti,out-single-ended");
+}
+
 int pcm3060_probe(struct device *dev)
 {
        int rc;
+       struct pcm3060_priv *priv = dev_get_drvdata(dev);
+
+       if (dev->of_node)
+               pcm3060_parse_dt(dev->of_node, priv);
+
+       if (priv->out_se)
+               regmap_update_bits(priv->regmap, PCM3060_REG64,
+                                  PCM3060_REG_SE, PCM3060_REG_SE);
 
        rc = devm_snd_soc_register_component(dev, &pcm3060_soc_comp_driver,
                                             pcm3060_dai,