]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: cs530x: Correct MCLK reference frequency values
authorVitaly Rodionov <vitalyr@opensource.cirrus.com>
Thu, 23 Oct 2025 09:03:17 +0000 (10:03 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 27 Oct 2025 11:10:31 +0000 (11:10 +0000)
The MCLK frequency must be 49.152 MHz (for 48 kHz-related
sample rates) or 45.1584 MHz (for 44.1 kHz-related sample rates).

Signed-off-by: Vitaly Rodionov <vitalyr@opensource.cirrus.com>
Link: https://patch.msgid.link/20251023090327.58275-10-vitalyr@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs530x.c
sound/soc/codecs/cs530x.h

index 6552bef0577b0a02579dcabfb7744223e1b5916b..e74e6ffa733209e01d13dfdc76aa1215ae81956f 100644 (file)
@@ -1100,9 +1100,12 @@ static int cs530x_set_sysclk(struct snd_soc_component *component, int clk_id,
 
        switch (source) {
        case CS530X_SYSCLK_SRC_MCLK:
-               if (freq != 24560000 && freq != 22572000) {
-                       dev_err(component->dev, "Invalid MCLK source rate %d\n",
-                               freq);
+               switch (freq) {
+               case CS530X_SYSCLK_REF_45_1MHZ:
+               case CS530X_SYSCLK_REF_49_1MHZ:
+                       break;
+               default:
+                       dev_err(component->dev, "Invalid MCLK source rate %d\n", freq);
                        return -EINVAL;
                }
                break;
index d11711715ba802fcaac8d98c0989a2ac6631d984..2c773c4b6b9250c3ca091bd81b4550126c4d7b3f 100644 (file)
 /* IN_VOL_CTL5 and OUT_VOL_CTL5 */
 #define CS530X_INOUT_VU                        BIT(0)
 
+/* MCLK Reference Source Frequency */
+/* 41KHz related */
+#define CS530X_SYSCLK_REF_45_1MHZ      45158400
+/* 48KHz related */
+#define CS530X_SYSCLK_REF_49_1MHZ      49152000
+
 /* System Clock Source */
 #define CS530X_SYSCLK_SRC_MCLK         0
 #define CS530X_SYSCLK_SRC_PLL          1