Lines Matching refs:component
193 static int da7213_get_alc_data(struct snd_soc_component *component, u8 reg_val) in da7213_get_alc_data() argument
202 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, reg_val); in da7213_get_alc_data()
205 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
207 mid_data = snd_soc_component_read32(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
210 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
212 top_data = snd_soc_component_read32(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
220 static void da7213_alc_calib_man(struct snd_soc_component *component) in da7213_alc_calib_man() argument
227 avg_left_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
230 avg_right_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
238 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_L, reg_val); in da7213_alc_calib_man()
240 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_L, reg_val); in da7213_alc_calib_man()
243 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_R, reg_val); in da7213_alc_calib_man()
245 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_R, reg_val); in da7213_alc_calib_man()
248 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_man()
253 static void da7213_alc_calib_auto(struct snd_soc_component *component) in da7213_alc_calib_auto() argument
258 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, DA7213_ALC_AUTO_CALIB_EN, in da7213_alc_calib_auto()
261 alc_ctrl1 = snd_soc_component_read32(component, DA7213_ALC_CTRL1); in da7213_alc_calib_auto()
266 dev_warn(component->dev, in da7213_alc_calib_auto()
268 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
273 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
280 static void da7213_alc_calib(struct snd_soc_component *component) in da7213_alc_calib() argument
282 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_alc_calib()
288 adc_l_ctrl = snd_soc_component_read32(component, DA7213_ADC_L_CTRL); in da7213_alc_calib()
289 adc_r_ctrl = snd_soc_component_read32(component, DA7213_ADC_R_CTRL); in da7213_alc_calib()
292 mixin_l_sel = snd_soc_component_read32(component, DA7213_MIXIN_L_SELECT); in da7213_alc_calib()
293 mixin_r_sel = snd_soc_component_read32(component, DA7213_MIXIN_R_SELECT); in da7213_alc_calib()
296 mic_1_ctrl = snd_soc_component_read32(component, DA7213_MIC_1_CTRL); in da7213_alc_calib()
297 mic_2_ctrl = snd_soc_component_read32(component, DA7213_MIC_2_CTRL); in da7213_alc_calib()
300 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
302 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
306 snd_soc_component_update_bits(component, DA7213_MIXIN_L_SELECT, in da7213_alc_calib()
311 snd_soc_component_update_bits(component, DA7213_MIXIN_R_SELECT, in da7213_alc_calib()
318 snd_soc_component_update_bits(component, DA7213_MIC_1_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
320 snd_soc_component_update_bits(component, DA7213_MIC_2_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
325 da7213_alc_calib_auto(component); in da7213_alc_calib()
327 da7213_alc_calib_man(component); in da7213_alc_calib()
330 snd_soc_component_write(component, DA7213_MIXIN_L_SELECT, mixin_l_sel); in da7213_alc_calib()
331 snd_soc_component_write(component, DA7213_MIXIN_R_SELECT, mixin_r_sel); in da7213_alc_calib()
334 snd_soc_component_write(component, DA7213_ADC_L_CTRL, adc_l_ctrl); in da7213_alc_calib()
335 snd_soc_component_write(component, DA7213_ADC_R_CTRL, adc_r_ctrl); in da7213_alc_calib()
338 snd_soc_component_write(component, DA7213_MIC_1_CTRL, mic_1_ctrl); in da7213_alc_calib()
339 snd_soc_component_write(component, DA7213_MIC_2_CTRL, mic_2_ctrl); in da7213_alc_calib()
345 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_mixin_gain() local
346 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_mixin_gain()
353 da7213_alc_calib(component); in da7213_put_mixin_gain()
361 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_alc_sw() local
362 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_alc_sw()
368 da7213_alc_calib(component); in da7213_put_alc_sw()
734 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in da7213_dai_event() local
735 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_dai_event()
744 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
749 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
753 pll_ctrl = snd_soc_component_read32(component, DA7213_PLL_CTRL); in da7213_dai_event()
759 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
760 snd_soc_component_write(component, 0xF2, 0x03); in da7213_dai_event()
761 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
766 pll_status = snd_soc_component_read32(component, DA7213_PLL_STATUS); in da7213_dai_event()
776 dev_warn(component->dev, "SRM failed to lock\n"); in da7213_dai_event()
781 pll_ctrl = snd_soc_component_read32(component, DA7213_PLL_CTRL); in da7213_dai_event()
783 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
784 snd_soc_component_write(component, 0xF2, 0x01); in da7213_dai_event()
785 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
789 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
795 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
1149 struct snd_soc_component *component = dai->component; in da7213_hw_params() local
1207 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_WORD_LENGTH_MASK, in da7213_hw_params()
1209 snd_soc_component_write(component, DA7213_SR, fs); in da7213_hw_params()
1216 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_fmt() local
1217 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_fmt()
1304 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_set_dai_fmt()
1308 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK, in da7213_set_dai_fmt()
1310 snd_soc_component_write(component, DA7213_DAI_OFFSET, dai_offset); in da7213_set_dai_fmt()
1317 struct snd_soc_component *component = dai->component; in da7213_mute() local
1320 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1322 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1325 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1327 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1340 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_sysclk() local
1341 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_sysclk()
1355 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_sysclk()
1359 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_sysclk()
1389 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_pll() local
1390 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_pll()
1400 dev_err(component->dev, in da7213_set_dai_pll()
1413 dev_err(component->dev, in da7213_set_dai_pll()
1430 dev_err(component->dev, in da7213_set_dai_pll()
1443 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_pll()
1455 dev_err(component->dev, in da7213_set_dai_pll()
1464 dev_err(component->dev, "Invalid PLL config\n"); in da7213_set_dai_pll()
1476 snd_soc_component_write(component, DA7213_PLL_FRAC_TOP, pll_frac_top); in da7213_set_dai_pll()
1477 snd_soc_component_write(component, DA7213_PLL_FRAC_BOT, pll_frac_bot); in da7213_set_dai_pll()
1478 snd_soc_component_write(component, DA7213_PLL_INTEGER, pll_integer); in da7213_set_dai_pll()
1482 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_pll()
1488 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_set_dai_pll()
1489 snd_soc_component_write(component, 0xF1, 0x03); in da7213_set_dai_pll()
1490 snd_soc_component_write(component, 0xF1, 0x01); in da7213_set_dai_pll()
1491 snd_soc_component_write(component, 0xF0, 0x00); in da7213_set_dai_pll()
1528 static int da7213_set_bias_level(struct snd_soc_component *component, in da7213_set_bias_level() argument
1531 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_bias_level()
1539 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY) { in da7213_set_bias_level()
1543 dev_err(component->dev, in da7213_set_bias_level()
1551 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in da7213_set_bias_level()
1553 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1564 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1590 da7213_of_micbias_lvl(struct snd_soc_component *component, u32 val) in da7213_of_micbias_lvl() argument
1602 dev_warn(component->dev, "Invalid micbias level\n"); in da7213_of_micbias_lvl()
1608 da7213_of_dmic_data_sel(struct snd_soc_component *component, const char *str) in da7213_of_dmic_data_sel() argument
1615 dev_warn(component->dev, "Invalid DMIC data select type\n"); in da7213_of_dmic_data_sel()
1621 da7213_of_dmic_samplephase(struct snd_soc_component *component, const char *str) in da7213_of_dmic_samplephase() argument
1628 dev_warn(component->dev, "Invalid DMIC sample phase\n"); in da7213_of_dmic_samplephase()
1634 da7213_of_dmic_clkrate(struct snd_soc_component *component, u32 val) in da7213_of_dmic_clkrate() argument
1642 dev_warn(component->dev, "Invalid DMIC clock rate\n"); in da7213_of_dmic_clkrate()
1648 *da7213_fw_to_pdata(struct snd_soc_component *component) in da7213_fw_to_pdata() argument
1650 struct device *dev = component->dev; in da7213_fw_to_pdata()
1655 pdata = devm_kzalloc(component->dev, sizeof(*pdata), GFP_KERNEL); in da7213_fw_to_pdata()
1660 pdata->micbias1_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1665 pdata->micbias2_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1670 pdata->dmic_data_sel = da7213_of_dmic_data_sel(component, fw_str); in da7213_fw_to_pdata()
1676 da7213_of_dmic_samplephase(component, fw_str); in da7213_fw_to_pdata()
1681 pdata->dmic_clk_rate = da7213_of_dmic_clkrate(component, fw_val32); in da7213_fw_to_pdata()
1689 static int da7213_probe(struct snd_soc_component *component) in da7213_probe() argument
1691 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_probe()
1694 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_probe()
1699 snd_soc_component_update_bits(component, DA7213_PC_COUNT, DA7213_PC_FREERUN_MASK, in da7213_probe()
1703 snd_soc_component_update_bits(component, DA7213_AUX_L_CTRL, in da7213_probe()
1705 snd_soc_component_update_bits(component, DA7213_AUX_R_CTRL, in da7213_probe()
1707 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1709 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1711 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, in da7213_probe()
1713 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, in da7213_probe()
1715 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_probe()
1717 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_probe()
1719 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1721 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1723 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1734 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1736 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1739 snd_soc_component_update_bits(component, DA7213_MIXOUT_L_CTRL, in da7213_probe()
1741 snd_soc_component_update_bits(component, DA7213_MIXOUT_R_CTRL, in da7213_probe()
1744 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1746 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1749 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1753 da7213->pdata = dev_get_platdata(component->dev); in da7213_probe()
1755 da7213->pdata = da7213_fw_to_pdata(component); in da7213_probe()
1781 snd_soc_component_update_bits(component, DA7213_MICBIAS_CTRL, in da7213_probe()
1807 snd_soc_component_update_bits(component, DA7213_MIC_CONFIG, in da7213_probe()
1814 da7213->mclk = devm_clk_get(component->dev, "mclk"); in da7213_probe()