]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ASoC: tlv320adc3xxx: BUG: Correct micbias setting
authorAntoine Gennart <gennartan@disroot.org>
Fri, 29 Sep 2023 13:01:17 +0000 (15:01 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 2 Oct 2023 15:17:43 +0000 (16:17 +0100)
The micbias setting for tlv320adc can also have the value '3' which
means that the micbias ouput pin is connected to the input pin AVDD.

Signed-off-by: Antoine Gennart <gennartan@disroot.org>
Link: https://lore.kernel.org/r/20230929130117.77661-1-gennartan@disroot.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tlv320adc3xxx.c

index b976c1946286a9c07f65b048c683373a7112b12a..420bbf588efeaf1c0cc1d7700fa3d572ad6e816e 100644 (file)
 #define ADC3XXX_BYPASS_RPGA            0x80
 
 /* MICBIAS control bits */
-#define ADC3XXX_MICBIAS_MASK           0x2
+#define ADC3XXX_MICBIAS_MASK           0x3
 #define ADC3XXX_MICBIAS1_SHIFT         5
 #define ADC3XXX_MICBIAS2_SHIFT         3
 
@@ -1099,7 +1099,7 @@ static int adc3xxx_parse_dt_micbias(struct adc3xxx *adc3xxx,
        unsigned int val;
 
        if (!of_property_read_u32(np, propname, &val)) {
-               if (val >= ADC3XXX_MICBIAS_AVDD) {
+               if (val > ADC3XXX_MICBIAS_AVDD) {
                        dev_err(dev, "Invalid property value for '%s'\n", propname);
                        return -EINVAL;
                }