ASoC: fsl-asoc-card: Add optional dt property for setting mclk-id
authorAriel D'Alessandro <ariel.dalessandro@collabora.com>
Mon, 17 Jan 2022 13:21:08 +0000 (10:21 -0300)
committerMark Brown <broonie@kernel.org>
Mon, 24 Jan 2022 13:31:50 +0000 (13:31 +0000)
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.dalessandro@collabora.com>
Link: https://lore.kernel.org/r/20220117132109.283365-5-ariel.dalessandro@collabora.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl-asoc-card.c

index 5ee9455..156d3c6 100644 (file)
@@ -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) {