[PATCH 2/3] ASoC: wm8782: Use max-rate device tree property

From: John Watts
Date: Thu Aug 10 2023 - 18:50:00 EST


The wm8782 supports rates 96kHz and 192kHz as long as the hardware
is configured properly. Allow this to be specified in the device tree.

Signed-off-by: John Watts <contact@xxxxxxxxxx>
---
sound/soc/codecs/wm8782.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/sound/soc/codecs/wm8782.c b/sound/soc/codecs/wm8782.c
index 63ab63f3189a..6a2f29ee897c 100644
--- a/sound/soc/codecs/wm8782.c
+++ b/sound/soc/codecs/wm8782.c
@@ -122,6 +122,7 @@ static const struct snd_soc_component_driver soc_component_dev_wm8782 = {
static int wm8782_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
+ struct device_node *np = dev->of_node;
struct wm8782_priv *priv;
int ret, i;

@@ -139,9 +140,12 @@ static int wm8782_probe(struct platform_device *pdev)
if (ret < 0)
return ret;

- /* For configurations with FSAMPEN=0 */
+ /* Assume lowest value by default to avoid inadvertent overclocking */
priv->max_rate = 48000;

+ if (np)
+ of_property_read_u32(np, "max-rate", &priv->max_rate);
+
return devm_snd_soc_register_component(&pdev->dev,
&soc_component_dev_wm8782, &wm8782_dai, 1);
}
--
2.41.0