Sound cards may allow using different main clock inputs. In the generic
fsl-asoc-card driver, these values are hardcoded for each specific card
configuration.

Let's make it more flexible, allowing setting mclk-id from the
device-tree node. Otherwise, the default value for each card
configuration is used.

Signed-off-by: Ariel D'Alessandro <ariel.dalessan...@collabora.com>
---
 sound/soc/fsl/fsl-asoc-card.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index 5ee945505281..156d3c669274 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -693,6 +693,12 @@ static int fsl_asoc_card_probe(struct platform_device 
*pdev)
                goto asrc_fail;
        }
 
+       /*
+        * Allow setting mclk-id from the device-tree node. Otherwise, the
+        * default value for each card configuration is used.
+        */
+       of_property_read_u32(np, "mclk-id", &priv->codec_priv.mclk_id);
+
        /* Format info from DT is optional. */
        snd_soc_daifmt_parse_clock_provider_as_phandle(np, NULL, 
&bitclkprovider, &frameprovider);
        if (bitclkprovider || frameprovider) {
-- 
2.34.1

Reply via email to