Lines Matching refs:codec

257 	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);  in da7219_volsw_locked_get()  local
258 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_volsw_locked_get()
271 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_volsw_locked_put() local
272 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_volsw_locked_put()
285 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_enum_locked_get() local
286 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_enum_locked_get()
299 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_enum_locked_put() local
300 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_enum_locked_put()
311 static void da7219_alc_calib(struct snd_soc_codec *codec) in da7219_alc_calib() argument
316 mic_ctrl = snd_soc_read(codec, DA7219_MIC_1_CTRL); in da7219_alc_calib()
319 mixin_ctrl = snd_soc_read(codec, DA7219_MIXIN_L_CTRL); in da7219_alc_calib()
322 adc_ctrl = snd_soc_read(codec, DA7219_ADC_L_CTRL); in da7219_alc_calib()
325 snd_soc_update_bits(codec, DA7219_MIC_1_CTRL, DA7219_MIC_1_AMP_EN_MASK, in da7219_alc_calib()
327 snd_soc_update_bits(codec, DA7219_MIC_1_CTRL, in da7219_alc_calib()
332 snd_soc_update_bits(codec, DA7219_MIXIN_L_CTRL, in da7219_alc_calib()
338 snd_soc_update_bits(codec, DA7219_ADC_L_CTRL, in da7219_alc_calib()
343 snd_soc_update_bits(codec, DA7219_ALC_CTRL1, in da7219_alc_calib()
347 calib_ctrl = snd_soc_read(codec, DA7219_ALC_CTRL1); in da7219_alc_calib()
352 dev_warn(codec->dev, in da7219_alc_calib()
354 snd_soc_update_bits(codec, DA7219_ALC_CTRL1, in da7219_alc_calib()
359 snd_soc_update_bits(codec, DA7219_ALC_CTRL1, in da7219_alc_calib()
367 snd_soc_write(codec, DA7219_ADC_L_CTRL, adc_ctrl); in da7219_alc_calib()
370 snd_soc_write(codec, DA7219_MIXIN_L_CTRL, mixin_ctrl); in da7219_alc_calib()
373 snd_soc_write(codec, DA7219_MIC_1_CTRL, mic_ctrl); in da7219_alc_calib()
379 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_mixin_gain_put() local
380 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_mixin_gain_put()
390 da7219_alc_calib(codec); in da7219_mixin_gain_put()
398 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_alc_sw_put() local
399 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_alc_sw_put()
404 da7219_alc_calib(codec); in da7219_alc_sw_put()
417 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_tonegen_freq_get() local
418 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_tonegen_freq_get()
444 struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol); in da7219_tonegen_freq_put() local
445 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_tonegen_freq_put()
770 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in da7219_dai_event() local
771 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_dai_event()
780 snd_soc_update_bits(codec, DA7219_DAI_CLK_MODE, in da7219_dai_event()
785 snd_soc_update_bits(codec, DA7219_PC_COUNT, in da7219_dai_event()
789 pll_ctrl = snd_soc_read(codec, DA7219_PLL_CTRL); in da7219_dai_event()
795 pll_status = snd_soc_read(codec, DA7219_PLL_SRM_STS); in da7219_dai_event()
805 dev_warn(codec->dev, "SRM failed to lock\n"); in da7219_dai_event()
810 snd_soc_update_bits(codec, DA7219_PC_COUNT, in da7219_dai_event()
816 snd_soc_update_bits(codec, DA7219_DAI_CLK_MODE, in da7219_dai_event()
1020 struct snd_soc_codec *codec = codec_dai->codec; in da7219_set_dai_sysclk() local
1021 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_set_dai_sysclk()
1035 snd_soc_update_bits(codec, DA7219_PLL_CTRL, in da7219_set_dai_sysclk()
1040 snd_soc_update_bits(codec, DA7219_PLL_CTRL, in da7219_set_dai_sysclk()
1068 struct snd_soc_codec *codec = codec_dai->codec; in da7219_set_dai_pll() local
1069 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_set_dai_pll()
1081 dev_err(codec->dev, "PLL input clock %d below valid range\n", in da7219_set_dai_pll()
1100 dev_err(codec->dev, "PLL input clock %d above valid range\n", in da7219_set_dai_pll()
1111 snd_soc_update_bits(codec, DA7219_PLL_CTRL, in da7219_set_dai_pll()
1125 dev_err(codec->dev, "Invalid PLL config\n"); in da7219_set_dai_pll()
1137 snd_soc_write(codec, DA7219_PLL_FRAC_TOP, pll_frac_top); in da7219_set_dai_pll()
1138 snd_soc_write(codec, DA7219_PLL_FRAC_BOT, pll_frac_bot); in da7219_set_dai_pll()
1139 snd_soc_write(codec, DA7219_PLL_INTEGER, pll_integer); in da7219_set_dai_pll()
1140 snd_soc_update_bits(codec, DA7219_PLL_CTRL, in da7219_set_dai_pll()
1149 struct snd_soc_codec *codec = codec_dai->codec; in da7219_set_dai_fmt() local
1150 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_set_dai_fmt()
1201 snd_soc_update_bits(codec, DA7219_DAI_CLK_MODE, in da7219_set_dai_fmt()
1205 snd_soc_update_bits(codec, DA7219_DAI_CTRL, DA7219_DAI_FORMAT_MASK, in da7219_set_dai_fmt()
1215 struct snd_soc_codec *codec = dai->codec; in da7219_set_dai_tdm_slot() local
1216 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_set_dai_tdm_slot()
1223 snd_soc_update_bits(codec, DA7219_DAI_TDM_CTRL, in da7219_set_dai_tdm_slot()
1226 snd_soc_update_bits(codec, DA7219_DAI_CLK_MODE, in da7219_set_dai_tdm_slot()
1234 dev_err(codec->dev, "Invalid number of slots, max = %d\n", in da7219_set_dai_tdm_slot()
1241 dev_err(codec->dev, "Invalid slot offset, max = %d\n", in da7219_set_dai_tdm_slot()
1262 dev_err(codec->dev, "Invalid frame size %d\n", frame_size); in da7219_set_dai_tdm_slot()
1266 snd_soc_update_bits(codec, DA7219_DAI_CLK_MODE, in da7219_set_dai_tdm_slot()
1274 snd_soc_update_bits(codec, DA7219_DAI_TDM_CTRL, in da7219_set_dai_tdm_slot()
1287 struct snd_soc_codec *codec = dai->codec; in da7219_hw_params() local
1310 dev_err(codec->dev, in da7219_hw_params()
1355 snd_soc_update_bits(codec, DA7219_DAI_CTRL, in da7219_hw_params()
1359 snd_soc_write(codec, DA7219_SR, fs); in da7219_hw_params()
1408 static enum da7219_ldo_lvl_sel da7219_of_ldo_lvl(struct snd_soc_codec *codec, in da7219_of_ldo_lvl() argument
1421 dev_warn(codec->dev, "Invalid LDO level"); in da7219_of_ldo_lvl()
1427 da7219_of_micbias_lvl(struct snd_soc_codec *codec, u32 val) in da7219_of_micbias_lvl() argument
1441 dev_warn(codec->dev, "Invalid micbias level"); in da7219_of_micbias_lvl()
1447 da7219_of_mic_amp_in_sel(struct snd_soc_codec *codec, const char *str) in da7219_of_mic_amp_in_sel() argument
1456 dev_warn(codec->dev, "Invalid mic input type selection"); in da7219_of_mic_amp_in_sel()
1461 static struct da7219_pdata *da7219_of_to_pdata(struct snd_soc_codec *codec) in da7219_of_to_pdata() argument
1463 struct device_node *np = codec->dev->of_node; in da7219_of_to_pdata()
1468 pdata = devm_kzalloc(codec->dev, sizeof(*pdata), GFP_KERNEL); in da7219_of_to_pdata()
1473 pdata->ldo_lvl_sel = da7219_of_ldo_lvl(codec, of_val32); in da7219_of_to_pdata()
1476 pdata->micbias_lvl = da7219_of_micbias_lvl(codec, of_val32); in da7219_of_to_pdata()
1481 pdata->mic_amp_in_sel = da7219_of_mic_amp_in_sel(codec, of_str); in da7219_of_to_pdata()
1493 static int da7219_set_bias_level(struct snd_soc_codec *codec, in da7219_set_bias_level() argument
1496 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_set_bias_level()
1504 if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) { in da7219_set_bias_level()
1509 dev_err(codec->dev, in da7219_set_bias_level()
1516 snd_soc_update_bits(codec, DA7219_REFERENCES, in da7219_set_bias_level()
1521 snd_soc_update_bits(codec, DA7219_LDO_CTRL, in da7219_set_bias_level()
1530 snd_soc_update_bits(codec, DA7219_LDO_CTRL, in da7219_set_bias_level()
1534 snd_soc_update_bits(codec, DA7219_REFERENCES, in da7219_set_bias_level()
1553 static int da7219_handle_supplies(struct snd_soc_codec *codec) in da7219_handle_supplies() argument
1555 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_handle_supplies()
1564 ret = devm_regulator_bulk_get(codec->dev, DA7219_NUM_SUPPLIES, in da7219_handle_supplies()
1567 dev_err(codec->dev, "Failed to get supplies"); in da7219_handle_supplies()
1575 dev_warn(codec->dev, "Invalid VDDIO voltage\n"); in da7219_handle_supplies()
1582 dev_err(codec->dev, "Failed to enable supplies"); in da7219_handle_supplies()
1587 snd_soc_write(codec, DA7219_SYSTEM_ACTIVE, DA7219_SYSTEM_ACTIVE_MASK); in da7219_handle_supplies()
1590 snd_soc_write(codec, DA7219_IO_CTRL, io_voltage_lvl); in da7219_handle_supplies()
1595 static void da7219_handle_pdata(struct snd_soc_codec *codec) in da7219_handle_pdata() argument
1597 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_handle_pdata()
1609 snd_soc_update_bits(codec, DA7219_LDO_CTRL, in da7219_handle_pdata()
1628 snd_soc_write(codec, DA7219_MICBIAS_CTRL, micbias_lvl); in da7219_handle_pdata()
1635 snd_soc_write(codec, DA7219_MIC_1_SELECT, in da7219_handle_pdata()
1642 static int da7219_probe(struct snd_soc_codec *codec) in da7219_probe() argument
1644 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_probe()
1650 ret = da7219_handle_supplies(codec); in da7219_probe()
1655 if (codec->dev->of_node) in da7219_probe()
1656 da7219->pdata = da7219_of_to_pdata(codec); in da7219_probe()
1658 da7219->pdata = dev_get_platdata(codec->dev); in da7219_probe()
1660 da7219_handle_pdata(codec); in da7219_probe()
1663 da7219->mclk = devm_clk_get(codec->dev, "mclk"); in da7219_probe()
1672 snd_soc_update_bits(codec, DA7219_PC_COUNT, DA7219_PC_FREERUN_MASK, in da7219_probe()
1676 snd_soc_update_bits(codec, DA7219_MIXIN_L_CTRL, in da7219_probe()
1679 snd_soc_update_bits(codec, DA7219_ADC_L_CTRL, DA7219_ADC_L_RAMP_EN_MASK, in da7219_probe()
1681 snd_soc_update_bits(codec, DA7219_DAC_L_CTRL, DA7219_DAC_L_RAMP_EN_MASK, in da7219_probe()
1683 snd_soc_update_bits(codec, DA7219_DAC_R_CTRL, DA7219_DAC_R_RAMP_EN_MASK, in da7219_probe()
1685 snd_soc_update_bits(codec, DA7219_HP_L_CTRL, in da7219_probe()
1688 snd_soc_update_bits(codec, DA7219_HP_R_CTRL, in da7219_probe()
1693 snd_soc_write(codec, DA7219_TONE_GEN_CYCLES, DA7219_BEEP_CYCLES_MASK); in da7219_probe()
1696 return da7219_aad_init(codec); in da7219_probe()
1699 static int da7219_remove(struct snd_soc_codec *codec) in da7219_remove() argument
1701 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_remove()
1703 da7219_aad_exit(codec); in da7219_remove()
1710 static int da7219_suspend(struct snd_soc_codec *codec) in da7219_suspend() argument
1712 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_suspend()
1714 snd_soc_codec_force_bias_level(codec, SND_SOC_BIAS_OFF); in da7219_suspend()
1718 snd_soc_write(codec, DA7219_SYSTEM_ACTIVE, 0); in da7219_suspend()
1723 static int da7219_resume(struct snd_soc_codec *codec) in da7219_resume() argument
1725 struct da7219_priv *da7219 = snd_soc_codec_get_drvdata(codec); in da7219_resume()
1729 snd_soc_write(codec, DA7219_SYSTEM_ACTIVE, in da7219_resume()
1732 snd_soc_codec_force_bias_level(codec, SND_SOC_BIAS_STANDBY); in da7219_resume()