Lines Matching refs:component

197 static int da7213_get_alc_data(struct snd_soc_component *component, u8 reg_val)  in da7213_get_alc_data()  argument
206 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, reg_val); in da7213_get_alc_data()
209 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
211 mid_data = snd_soc_component_read32(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
214 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
216 top_data = snd_soc_component_read32(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
224 static void da7213_alc_calib_man(struct snd_soc_component *component) in da7213_alc_calib_man() argument
231 avg_left_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
234 avg_right_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
242 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_L, reg_val); in da7213_alc_calib_man()
244 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_L, reg_val); in da7213_alc_calib_man()
247 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_R, reg_val); in da7213_alc_calib_man()
249 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_R, reg_val); in da7213_alc_calib_man()
252 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_man()
257 static void da7213_alc_calib_auto(struct snd_soc_component *component) in da7213_alc_calib_auto() argument
262 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, DA7213_ALC_AUTO_CALIB_EN, in da7213_alc_calib_auto()
265 alc_ctrl1 = snd_soc_component_read32(component, DA7213_ALC_CTRL1); in da7213_alc_calib_auto()
270 dev_warn(component->dev, in da7213_alc_calib_auto()
272 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
277 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
284 static void da7213_alc_calib(struct snd_soc_component *component) in da7213_alc_calib() argument
286 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_alc_calib()
292 adc_l_ctrl = snd_soc_component_read32(component, DA7213_ADC_L_CTRL); in da7213_alc_calib()
293 adc_r_ctrl = snd_soc_component_read32(component, DA7213_ADC_R_CTRL); in da7213_alc_calib()
296 mixin_l_sel = snd_soc_component_read32(component, DA7213_MIXIN_L_SELECT); in da7213_alc_calib()
297 mixin_r_sel = snd_soc_component_read32(component, DA7213_MIXIN_R_SELECT); in da7213_alc_calib()
300 mic_1_ctrl = snd_soc_component_read32(component, DA7213_MIC_1_CTRL); in da7213_alc_calib()
301 mic_2_ctrl = snd_soc_component_read32(component, DA7213_MIC_2_CTRL); in da7213_alc_calib()
304 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
306 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
310 snd_soc_component_update_bits(component, DA7213_MIXIN_L_SELECT, in da7213_alc_calib()
315 snd_soc_component_update_bits(component, DA7213_MIXIN_R_SELECT, in da7213_alc_calib()
322 snd_soc_component_update_bits(component, DA7213_MIC_1_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
324 snd_soc_component_update_bits(component, DA7213_MIC_2_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
329 da7213_alc_calib_auto(component); in da7213_alc_calib()
331 da7213_alc_calib_man(component); in da7213_alc_calib()
334 snd_soc_component_write(component, DA7213_MIXIN_L_SELECT, mixin_l_sel); in da7213_alc_calib()
335 snd_soc_component_write(component, DA7213_MIXIN_R_SELECT, mixin_r_sel); in da7213_alc_calib()
338 snd_soc_component_write(component, DA7213_ADC_L_CTRL, adc_l_ctrl); in da7213_alc_calib()
339 snd_soc_component_write(component, DA7213_ADC_R_CTRL, adc_r_ctrl); in da7213_alc_calib()
342 snd_soc_component_write(component, DA7213_MIC_1_CTRL, mic_1_ctrl); in da7213_alc_calib()
343 snd_soc_component_write(component, DA7213_MIC_2_CTRL, mic_2_ctrl); in da7213_alc_calib()
349 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_mixin_gain() local
350 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_mixin_gain()
357 da7213_alc_calib(component); in da7213_put_mixin_gain()
365 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_alc_sw() local
366 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_alc_sw()
372 da7213_alc_calib(component); in da7213_put_alc_sw()
738 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in da7213_dai_event() local
739 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_dai_event()
748 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
753 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
757 pll_ctrl = snd_soc_component_read32(component, DA7213_PLL_CTRL); in da7213_dai_event()
763 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
764 snd_soc_component_write(component, 0xF2, 0x03); in da7213_dai_event()
765 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
770 pll_status = snd_soc_component_read32(component, DA7213_PLL_STATUS); in da7213_dai_event()
780 dev_warn(component->dev, "SRM failed to lock\n"); in da7213_dai_event()
785 pll_ctrl = snd_soc_component_read32(component, DA7213_PLL_CTRL); in da7213_dai_event()
787 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
788 snd_soc_component_write(component, 0xF2, 0x01); in da7213_dai_event()
789 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
793 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
799 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
1153 struct snd_soc_component *component = dai->component; in da7213_hw_params() local
1211 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_WORD_LENGTH_MASK, in da7213_hw_params()
1213 snd_soc_component_write(component, DA7213_SR, fs); in da7213_hw_params()
1220 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_fmt() local
1221 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_fmt()
1308 snd_soc_component_write(component, DA7213_DAI_CLK_MODE, dai_clk_mode); in da7213_set_dai_fmt()
1309 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK, in da7213_set_dai_fmt()
1311 snd_soc_component_write(component, DA7213_DAI_OFFSET, dai_offset); in da7213_set_dai_fmt()
1318 struct snd_soc_component *component = dai->component; in da7213_mute() local
1321 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1323 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1326 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1328 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1341 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_sysclk() local
1342 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_sysclk()
1356 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_sysclk()
1360 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_sysclk()
1390 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_pll() local
1391 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_pll()
1401 dev_err(component->dev, in da7213_set_dai_pll()
1414 dev_err(component->dev, in da7213_set_dai_pll()
1431 dev_err(component->dev, in da7213_set_dai_pll()
1444 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_pll()
1456 dev_err(component->dev, in da7213_set_dai_pll()
1465 dev_err(component->dev, "Invalid PLL config\n"); in da7213_set_dai_pll()
1477 snd_soc_component_write(component, DA7213_PLL_FRAC_TOP, pll_frac_top); in da7213_set_dai_pll()
1478 snd_soc_component_write(component, DA7213_PLL_FRAC_BOT, pll_frac_bot); in da7213_set_dai_pll()
1479 snd_soc_component_write(component, DA7213_PLL_INTEGER, pll_integer); in da7213_set_dai_pll()
1483 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_dai_pll()
1489 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_set_dai_pll()
1490 snd_soc_component_write(component, 0xF1, 0x03); in da7213_set_dai_pll()
1491 snd_soc_component_write(component, 0xF1, 0x01); in da7213_set_dai_pll()
1492 snd_soc_component_write(component, 0xF0, 0x00); in da7213_set_dai_pll()
1529 static int da7213_set_bias_level(struct snd_soc_component *component, in da7213_set_bias_level() argument
1532 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_bias_level()
1540 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY) { in da7213_set_bias_level()
1544 dev_err(component->dev, in da7213_set_bias_level()
1552 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in da7213_set_bias_level()
1554 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1565 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1591 da7213_of_micbias_lvl(struct snd_soc_component *component, u32 val) in da7213_of_micbias_lvl() argument
1603 dev_warn(component->dev, "Invalid micbias level\n"); in da7213_of_micbias_lvl()
1609 da7213_of_dmic_data_sel(struct snd_soc_component *component, const char *str) in da7213_of_dmic_data_sel() argument
1616 dev_warn(component->dev, "Invalid DMIC data select type\n"); in da7213_of_dmic_data_sel()
1622 da7213_of_dmic_samplephase(struct snd_soc_component *component, const char *str) in da7213_of_dmic_samplephase() argument
1629 dev_warn(component->dev, "Invalid DMIC sample phase\n"); in da7213_of_dmic_samplephase()
1635 da7213_of_dmic_clkrate(struct snd_soc_component *component, u32 val) in da7213_of_dmic_clkrate() argument
1643 dev_warn(component->dev, "Invalid DMIC clock rate\n"); in da7213_of_dmic_clkrate()
1649 *da7213_fw_to_pdata(struct snd_soc_component *component) in da7213_fw_to_pdata() argument
1651 struct device *dev = component->dev; in da7213_fw_to_pdata()
1656 pdata = devm_kzalloc(component->dev, sizeof(*pdata), GFP_KERNEL); in da7213_fw_to_pdata()
1661 pdata->micbias1_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1666 pdata->micbias2_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1671 pdata->dmic_data_sel = da7213_of_dmic_data_sel(component, fw_str); in da7213_fw_to_pdata()
1677 da7213_of_dmic_samplephase(component, fw_str); in da7213_fw_to_pdata()
1682 pdata->dmic_clk_rate = da7213_of_dmic_clkrate(component, fw_val32); in da7213_fw_to_pdata()
1690 static int da7213_probe(struct snd_soc_component *component) in da7213_probe() argument
1692 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_probe()
1695 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_probe()
1700 snd_soc_component_update_bits(component, DA7213_PC_COUNT, DA7213_PC_FREERUN_MASK, in da7213_probe()
1704 snd_soc_component_update_bits(component, DA7213_AUX_L_CTRL, in da7213_probe()
1706 snd_soc_component_update_bits(component, DA7213_AUX_R_CTRL, in da7213_probe()
1708 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1710 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1712 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, in da7213_probe()
1714 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, in da7213_probe()
1716 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_probe()
1718 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_probe()
1720 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1722 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1724 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1735 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
1737 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
1740 snd_soc_component_update_bits(component, DA7213_MIXOUT_L_CTRL, in da7213_probe()
1742 snd_soc_component_update_bits(component, DA7213_MIXOUT_R_CTRL, in da7213_probe()
1745 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
1747 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
1750 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
1754 da7213->pdata = dev_get_platdata(component->dev); in da7213_probe()
1756 da7213->pdata = da7213_fw_to_pdata(component); in da7213_probe()
1782 snd_soc_component_update_bits(component, DA7213_MICBIAS_CTRL, in da7213_probe()
1808 snd_soc_component_update_bits(component, DA7213_MIC_CONFIG, in da7213_probe()
1815 da7213->mclk = devm_clk_get(component->dev, "mclk"); in da7213_probe()