Lines Matching refs:component

194 static int da7213_get_alc_data(struct snd_soc_component *component, u8 reg_val)  in da7213_get_alc_data()  argument
203 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, reg_val); in da7213_get_alc_data()
206 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
208 mid_data = snd_soc_component_read(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
211 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
213 top_data = snd_soc_component_read(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
221 static void da7213_alc_calib_man(struct snd_soc_component *component) in da7213_alc_calib_man() argument
228 avg_left_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
231 avg_right_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
239 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_L, reg_val); in da7213_alc_calib_man()
241 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_L, reg_val); in da7213_alc_calib_man()
244 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_R, reg_val); in da7213_alc_calib_man()
246 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_R, reg_val); in da7213_alc_calib_man()
249 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_man()
254 static void da7213_alc_calib_auto(struct snd_soc_component *component) in da7213_alc_calib_auto() argument
259 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, DA7213_ALC_AUTO_CALIB_EN, in da7213_alc_calib_auto()
262 alc_ctrl1 = snd_soc_component_read(component, DA7213_ALC_CTRL1); in da7213_alc_calib_auto()
267 dev_warn(component->dev, in da7213_alc_calib_auto()
269 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
274 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
281 static void da7213_alc_calib(struct snd_soc_component *component) in da7213_alc_calib() argument
283 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_alc_calib()
289 adc_l_ctrl = snd_soc_component_read(component, DA7213_ADC_L_CTRL); in da7213_alc_calib()
290 adc_r_ctrl = snd_soc_component_read(component, DA7213_ADC_R_CTRL); in da7213_alc_calib()
293 mixin_l_sel = snd_soc_component_read(component, DA7213_MIXIN_L_SELECT); in da7213_alc_calib()
294 mixin_r_sel = snd_soc_component_read(component, DA7213_MIXIN_R_SELECT); in da7213_alc_calib()
297 mic_1_ctrl = snd_soc_component_read(component, DA7213_MIC_1_CTRL); in da7213_alc_calib()
298 mic_2_ctrl = snd_soc_component_read(component, DA7213_MIC_2_CTRL); in da7213_alc_calib()
301 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
303 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
307 snd_soc_component_update_bits(component, DA7213_MIXIN_L_SELECT, in da7213_alc_calib()
312 snd_soc_component_update_bits(component, DA7213_MIXIN_R_SELECT, in da7213_alc_calib()
319 snd_soc_component_update_bits(component, DA7213_MIC_1_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
321 snd_soc_component_update_bits(component, DA7213_MIC_2_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
326 da7213_alc_calib_auto(component); in da7213_alc_calib()
328 da7213_alc_calib_man(component); in da7213_alc_calib()
331 snd_soc_component_write(component, DA7213_MIXIN_L_SELECT, mixin_l_sel); in da7213_alc_calib()
332 snd_soc_component_write(component, DA7213_MIXIN_R_SELECT, mixin_r_sel); in da7213_alc_calib()
335 snd_soc_component_write(component, DA7213_ADC_L_CTRL, adc_l_ctrl); in da7213_alc_calib()
336 snd_soc_component_write(component, DA7213_ADC_R_CTRL, adc_r_ctrl); in da7213_alc_calib()
339 snd_soc_component_write(component, DA7213_MIC_1_CTRL, mic_1_ctrl); in da7213_alc_calib()
340 snd_soc_component_write(component, DA7213_MIC_2_CTRL, mic_2_ctrl); in da7213_alc_calib()
346 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_mixin_gain() local
347 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_mixin_gain()
354 da7213_alc_calib(component); in da7213_put_mixin_gain()
362 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_alc_sw() local
363 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_alc_sw()
369 da7213_alc_calib(component); in da7213_put_alc_sw()
735 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in da7213_dai_event() local
736 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_dai_event()
745 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
750 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
754 pll_ctrl = snd_soc_component_read(component, DA7213_PLL_CTRL); in da7213_dai_event()
760 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
761 snd_soc_component_write(component, 0xF2, 0x03); in da7213_dai_event()
762 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
767 pll_status = snd_soc_component_read(component, DA7213_PLL_STATUS); in da7213_dai_event()
777 dev_warn(component->dev, "SRM failed to lock\n"); in da7213_dai_event()
782 pll_ctrl = snd_soc_component_read(component, DA7213_PLL_CTRL); in da7213_dai_event()
784 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
785 snd_soc_component_write(component, 0xF2, 0x01); in da7213_dai_event()
786 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
790 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
796 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
1158 struct snd_soc_component *component = dai->component; in da7213_hw_params() local
1159 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_hw_params()
1168 dev_err(component->dev, "Mono supported only in DSP mode\n"); in da7213_hw_params()
1245 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_hw_params()
1248 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, in da7213_hw_params()
1250 snd_soc_component_write(component, DA7213_SR, fs); in da7213_hw_params()
1257 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_fmt() local
1258 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_fmt()
1350 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_set_dai_fmt()
1354 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK, in da7213_set_dai_fmt()
1356 snd_soc_component_write(component, DA7213_DAI_OFFSET, dai_offset); in da7213_set_dai_fmt()
1363 struct snd_soc_component *component = dai->component; in da7213_mute() local
1366 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1368 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1371 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1373 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1383 static int da7213_set_component_sysclk(struct snd_soc_component *component, in da7213_set_component_sysclk() argument
1387 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_component_sysclk()
1394 dev_err(component->dev, "Unsupported MCLK value %d\n", in da7213_set_component_sysclk()
1401 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_component_sysclk()
1405 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_component_sysclk()
1410 dev_err(component->dev, "Unknown clock source %d\n", clk_id); in da7213_set_component_sysclk()
1420 dev_err(component->dev, "Failed to set clock rate %d\n", in da7213_set_component_sysclk()
1432 static int _da7213_set_component_pll(struct snd_soc_component *component, in _da7213_set_component_pll() argument
1436 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in _da7213_set_component_pll()
1446 dev_err(component->dev, in _da7213_set_component_pll()
1459 dev_err(component->dev, in _da7213_set_component_pll()
1476 dev_err(component->dev, in _da7213_set_component_pll()
1489 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in _da7213_set_component_pll()
1501 dev_err(component->dev, in _da7213_set_component_pll()
1510 dev_err(component->dev, "Invalid PLL config\n"); in _da7213_set_component_pll()
1522 snd_soc_component_write(component, DA7213_PLL_FRAC_TOP, pll_frac_top); in _da7213_set_component_pll()
1523 snd_soc_component_write(component, DA7213_PLL_FRAC_BOT, pll_frac_bot); in _da7213_set_component_pll()
1524 snd_soc_component_write(component, DA7213_PLL_INTEGER, pll_integer); in _da7213_set_component_pll()
1528 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in _da7213_set_component_pll()
1534 snd_soc_component_write(component, 0xF0, 0x8B); in _da7213_set_component_pll()
1535 snd_soc_component_write(component, 0xF1, 0x03); in _da7213_set_component_pll()
1536 snd_soc_component_write(component, 0xF1, 0x01); in _da7213_set_component_pll()
1537 snd_soc_component_write(component, 0xF0, 0x00); in _da7213_set_component_pll()
1543 static int da7213_set_component_pll(struct snd_soc_component *component, in da7213_set_component_pll() argument
1547 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_component_pll()
1550 return _da7213_set_component_pll(component, pll_id, source, fref, fout); in da7213_set_component_pll()
1583 static int da7213_set_auto_pll(struct snd_soc_component *component, bool enable) in da7213_set_auto_pll() argument
1585 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_auto_pll()
1623 return _da7213_set_component_pll(component, 0, mode, in da7213_set_auto_pll()
1627 static int da7213_set_bias_level(struct snd_soc_component *component, in da7213_set_bias_level() argument
1630 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_bias_level()
1638 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY) { in da7213_set_bias_level()
1642 dev_err(component->dev, in da7213_set_bias_level()
1647 da7213_set_auto_pll(component, true); in da7213_set_bias_level()
1652 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in da7213_set_bias_level()
1654 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1660 da7213_set_auto_pll(component, false); in da7213_set_bias_level()
1667 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1694 da7213_of_micbias_lvl(struct snd_soc_component *component, u32 val) in da7213_of_micbias_lvl() argument
1706 dev_warn(component->dev, "Invalid micbias level\n"); in da7213_of_micbias_lvl()
1712 da7213_of_dmic_data_sel(struct snd_soc_component *component, const char *str) in da7213_of_dmic_data_sel() argument
1719 dev_warn(component->dev, "Invalid DMIC data select type\n"); in da7213_of_dmic_data_sel()
1725 da7213_of_dmic_samplephase(struct snd_soc_component *component, const char *str) in da7213_of_dmic_samplephase() argument
1732 dev_warn(component->dev, "Invalid DMIC sample phase\n"); in da7213_of_dmic_samplephase()
1738 da7213_of_dmic_clkrate(struct snd_soc_component *component, u32 val) in da7213_of_dmic_clkrate() argument
1746 dev_warn(component->dev, "Invalid DMIC clock rate\n"); in da7213_of_dmic_clkrate()
1752 *da7213_fw_to_pdata(struct snd_soc_component *component) in da7213_fw_to_pdata() argument
1754 struct device *dev = component->dev; in da7213_fw_to_pdata()
1759 pdata = devm_kzalloc(component->dev, sizeof(*pdata), GFP_KERNEL); in da7213_fw_to_pdata()
1764 pdata->micbias1_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1769 pdata->micbias2_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1774 pdata->dmic_data_sel = da7213_of_dmic_data_sel(component, fw_str); in da7213_fw_to_pdata()
1780 da7213_of_dmic_samplephase(component, fw_str); in da7213_fw_to_pdata()
1785 pdata->dmic_clk_rate = da7213_of_dmic_clkrate(component, fw_val32); in da7213_fw_to_pdata()
1792 static int da7213_probe(struct snd_soc_component *component) in da7213_probe() argument
1794 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_probe()
1796 pm_runtime_get_sync(component->dev); in da7213_probe()
1799 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_probe()
1804 snd_soc_component_update_bits(component, DA7213_PC_COUNT, DA7213_PC_FREERUN_MASK, in da7213_probe()
1808 snd_soc_component_update_bits(component, DA7213_AUX_L_CTRL, in da7213_probe()
1810 snd_soc_component_update_bits(component, DA7213_AUX_R_CTRL, in da7213_probe()
1812 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1814 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1816 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, in da7213_probe()
1818 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, in da7213_probe()
1820 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_probe()
1822 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_probe()
1824 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1826 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1828 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1839 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1841 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1844 snd_soc_component_update_bits(component, DA7213_MIXOUT_L_CTRL, in da7213_probe()
1846 snd_soc_component_update_bits(component, DA7213_MIXOUT_R_CTRL, in da7213_probe()
1849 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1851 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1854 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1858 da7213->pdata = dev_get_platdata(component->dev); in da7213_probe()
1860 da7213->pdata = da7213_fw_to_pdata(component); in da7213_probe()
1886 snd_soc_component_update_bits(component, DA7213_MICBIAS_CTRL, in da7213_probe()
1912 snd_soc_component_update_bits(component, DA7213_MIC_CONFIG, in da7213_probe()
1918 pm_runtime_put_sync(component->dev); in da7213_probe()
1921 da7213->mclk = devm_clk_get(component->dev, "mclk"); in da7213_probe()