···18181919- maxim,dmic-freq: Frequency at which to clock DMIC20202121+- maxim,micbias: Micbias voltage applies to the analog mic, valid voltages value are:2222+ 0 - 2.2v2323+ 1 - 2.55v2424+ 2 - 2.4v2525+ 3 - 2.8v2626+2127Pins on the device (for linking into audio routes):22282329 * MIC1
+12-1
sound/soc/codecs/max98090.c
···24222422 struct max98090_cdata *cdata;24232423 enum max98090_type devtype;24242424 int ret = 0;24252425+ int err;24262426+ unsigned int micbias;2425242724262428 dev_dbg(codec->dev, "max98090_probe\n");24272429···25082506 snd_soc_write(codec, M98090_REG_BIAS_CONTROL,25092507 M98090_VCM_MODE_MASK);2510250825092509+ err = device_property_read_u32(codec->dev, "maxim,micbias", &micbias);25102510+ if (err) {25112511+ micbias = M98090_MBVSEL_2V8;25122512+ dev_info(codec->dev, "use default 2.8v micbias\n");25132513+ } else if (micbias < M98090_MBVSEL_2V2 || micbias > M98090_MBVSEL_2V8) {25142514+ dev_err(codec->dev, "micbias out of range 0x%x\n", micbias);25152515+ micbias = M98090_MBVSEL_2V8;25162516+ }25172517+25112518 snd_soc_update_bits(codec, M98090_REG_MIC_BIAS_VOLTAGE,25122512- M98090_MBVSEL_MASK, M98090_MBVSEL_2V8);25192519+ M98090_MBVSEL_MASK, micbias);2513252025142521 max98090_add_widgets(codec);25152522