Lines Matching full:component

217 	struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);  in da7213_volsw_locked_get()  local
218 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_volsw_locked_get()
231 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_volsw_locked_put() local
232 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_volsw_locked_put()
245 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_enum_locked_get() local
246 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_enum_locked_get()
259 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_enum_locked_put() local
260 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_enum_locked_put()
271 static int da7213_get_alc_data(struct snd_soc_component *component, u8 reg_val) in da7213_get_alc_data() argument
280 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, reg_val); in da7213_get_alc_data()
283 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
285 mid_data = snd_soc_component_read(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
288 snd_soc_component_write(component, DA7213_ALC_CIC_OP_LVL_CTRL, in da7213_get_alc_data()
290 top_data = snd_soc_component_read(component, DA7213_ALC_CIC_OP_LVL_DATA); in da7213_get_alc_data()
298 static void da7213_alc_calib_man(struct snd_soc_component *component) in da7213_alc_calib_man() argument
305 avg_left_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
308 avg_right_data = da7213_get_alc_data(component, in da7213_alc_calib_man()
316 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_L, reg_val); in da7213_alc_calib_man()
318 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_L, reg_val); in da7213_alc_calib_man()
321 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_M_R, reg_val); in da7213_alc_calib_man()
323 snd_soc_component_write(component, DA7213_ALC_OFFSET_MAN_U_R, reg_val); in da7213_alc_calib_man()
326 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_man()
331 static void da7213_alc_calib_auto(struct snd_soc_component *component) in da7213_alc_calib_auto() argument
336 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, DA7213_ALC_AUTO_CALIB_EN, in da7213_alc_calib_auto()
339 alc_ctrl1 = snd_soc_component_read(component, DA7213_ALC_CTRL1); in da7213_alc_calib_auto()
344 dev_warn(component->dev, in da7213_alc_calib_auto()
346 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
351 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_alc_calib_auto()
358 static void da7213_alc_calib(struct snd_soc_component *component) in da7213_alc_calib() argument
360 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_alc_calib()
366 adc_l_ctrl = snd_soc_component_read(component, DA7213_ADC_L_CTRL); in da7213_alc_calib()
367 adc_r_ctrl = snd_soc_component_read(component, DA7213_ADC_R_CTRL); in da7213_alc_calib()
370 mixin_l_sel = snd_soc_component_read(component, DA7213_MIXIN_L_SELECT); in da7213_alc_calib()
371 mixin_r_sel = snd_soc_component_read(component, DA7213_MIXIN_R_SELECT); in da7213_alc_calib()
374 mic_1_ctrl = snd_soc_component_read(component, DA7213_MIC_1_CTRL); in da7213_alc_calib()
375 mic_2_ctrl = snd_soc_component_read(component, DA7213_MIC_2_CTRL); in da7213_alc_calib()
378 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
380 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, DA7213_ADC_EN, in da7213_alc_calib()
384 snd_soc_component_update_bits(component, DA7213_MIXIN_L_SELECT, in da7213_alc_calib()
389 snd_soc_component_update_bits(component, DA7213_MIXIN_R_SELECT, in da7213_alc_calib()
396 snd_soc_component_update_bits(component, DA7213_MIC_1_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
398 snd_soc_component_update_bits(component, DA7213_MIC_2_CTRL, DA7213_MUTE_EN, in da7213_alc_calib()
403 da7213_alc_calib_auto(component); in da7213_alc_calib()
405 da7213_alc_calib_man(component); in da7213_alc_calib()
408 snd_soc_component_write(component, DA7213_MIXIN_L_SELECT, mixin_l_sel); in da7213_alc_calib()
409 snd_soc_component_write(component, DA7213_MIXIN_R_SELECT, mixin_r_sel); in da7213_alc_calib()
412 snd_soc_component_write(component, DA7213_ADC_L_CTRL, adc_l_ctrl); in da7213_alc_calib()
413 snd_soc_component_write(component, DA7213_ADC_R_CTRL, adc_r_ctrl); in da7213_alc_calib()
416 snd_soc_component_write(component, DA7213_MIC_1_CTRL, mic_1_ctrl); in da7213_alc_calib()
417 snd_soc_component_write(component, DA7213_MIC_2_CTRL, mic_2_ctrl); in da7213_alc_calib()
423 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_mixin_gain() local
424 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_mixin_gain()
431 da7213_alc_calib(component); in da7213_put_mixin_gain()
439 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_put_alc_sw() local
440 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_put_alc_sw()
446 da7213_alc_calib(component); in da7213_put_alc_sw()
460 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_tonegen_freq_get() local
461 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_tonegen_freq_get()
487 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol); in da7213_tonegen_freq_put() local
488 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_tonegen_freq_put()
901 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in da7213_dai_event() local
902 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_dai_event()
911 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
916 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
920 pll_ctrl = snd_soc_component_read(component, DA7213_PLL_CTRL); in da7213_dai_event()
926 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
927 snd_soc_component_write(component, 0xF2, 0x03); in da7213_dai_event()
928 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
933 pll_status = snd_soc_component_read(component, DA7213_PLL_STATUS); in da7213_dai_event()
943 dev_warn(component->dev, "SRM failed to lock\n"); in da7213_dai_event()
948 pll_ctrl = snd_soc_component_read(component, DA7213_PLL_CTRL); in da7213_dai_event()
950 snd_soc_component_write(component, 0xF0, 0x8B); in da7213_dai_event()
951 snd_soc_component_write(component, 0xF2, 0x01); in da7213_dai_event()
952 snd_soc_component_write(component, 0xF0, 0x00); in da7213_dai_event()
956 snd_soc_component_update_bits(component, DA7213_PC_COUNT, in da7213_dai_event()
962 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_dai_event()
1324 struct snd_soc_component *component = dai->component; in da7213_hw_params() local
1325 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_hw_params()
1334 dev_err(component->dev, "Mono supported only in DSP mode\n"); in da7213_hw_params()
1411 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_hw_params()
1414 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, in da7213_hw_params()
1416 snd_soc_component_write(component, DA7213_SR, fs); in da7213_hw_params()
1423 struct snd_soc_component *component = codec_dai->component; in da7213_set_dai_fmt() local
1424 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_dai_fmt()
1516 snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE, in da7213_set_dai_fmt()
1520 snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK, in da7213_set_dai_fmt()
1522 snd_soc_component_write(component, DA7213_DAI_OFFSET, dai_offset); in da7213_set_dai_fmt()
1529 struct snd_soc_component *component = dai->component; in da7213_mute() local
1532 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1534 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1537 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_mute()
1539 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_mute()
1549 static int da7213_set_component_sysclk(struct snd_soc_component *component, in da7213_set_component_sysclk() argument
1553 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_component_sysclk()
1564 dev_err(component->dev, "Unsupported MCLK value %d\n", in da7213_set_component_sysclk()
1571 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_component_sysclk()
1575 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in da7213_set_component_sysclk()
1580 dev_err(component->dev, "Unknown clock source %d\n", clk_id); in da7213_set_component_sysclk()
1590 dev_err(component->dev, "Failed to set clock rate %d\n", in da7213_set_component_sysclk()
1602 static int _da7213_set_component_pll(struct snd_soc_component *component, in _da7213_set_component_pll() argument
1606 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in _da7213_set_component_pll()
1616 dev_err(component->dev, in _da7213_set_component_pll()
1629 dev_err(component->dev, in _da7213_set_component_pll()
1646 dev_err(component->dev, in _da7213_set_component_pll()
1659 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in _da7213_set_component_pll()
1671 dev_err(component->dev, in _da7213_set_component_pll()
1680 dev_err(component->dev, "Invalid PLL config\n"); in _da7213_set_component_pll()
1692 snd_soc_component_write(component, DA7213_PLL_FRAC_TOP, pll_frac_top); in _da7213_set_component_pll()
1693 snd_soc_component_write(component, DA7213_PLL_FRAC_BOT, pll_frac_bot); in _da7213_set_component_pll()
1694 snd_soc_component_write(component, DA7213_PLL_INTEGER, pll_integer); in _da7213_set_component_pll()
1698 snd_soc_component_update_bits(component, DA7213_PLL_CTRL, in _da7213_set_component_pll()
1704 snd_soc_component_write(component, 0xF0, 0x8B); in _da7213_set_component_pll()
1705 snd_soc_component_write(component, 0xF1, 0x03); in _da7213_set_component_pll()
1706 snd_soc_component_write(component, 0xF1, 0x01); in _da7213_set_component_pll()
1707 snd_soc_component_write(component, 0xF0, 0x00); in _da7213_set_component_pll()
1713 static int da7213_set_component_pll(struct snd_soc_component *component, in da7213_set_component_pll() argument
1717 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_component_pll()
1720 return _da7213_set_component_pll(component, pll_id, source, fref, fout); in da7213_set_component_pll()
1771 static int da7213_set_auto_pll(struct snd_soc_component *component, bool enable) in da7213_set_auto_pll() argument
1773 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_auto_pll()
1811 return _da7213_set_component_pll(component, 0, mode, in da7213_set_auto_pll()
1815 static int da7213_set_bias_level(struct snd_soc_component *component, in da7213_set_bias_level() argument
1818 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_set_bias_level()
1826 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_STANDBY) { in da7213_set_bias_level()
1830 dev_err(component->dev, in da7213_set_bias_level()
1835 da7213_set_auto_pll(component, true); in da7213_set_bias_level()
1840 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) { in da7213_set_bias_level()
1842 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1848 da7213_set_auto_pll(component, false); in da7213_set_bias_level()
1855 snd_soc_component_update_bits(component, DA7213_REFERENCES, in da7213_set_bias_level()
1885 da7213_of_micbias_lvl(struct snd_soc_component *component, u32 val) in da7213_of_micbias_lvl() argument
1897 dev_warn(component->dev, "Invalid micbias level\n"); in da7213_of_micbias_lvl()
1903 da7213_of_dmic_data_sel(struct snd_soc_component *component, const char *str) in da7213_of_dmic_data_sel() argument
1910 dev_warn(component->dev, "Invalid DMIC data select type\n"); in da7213_of_dmic_data_sel()
1916 da7213_of_dmic_samplephase(struct snd_soc_component *component, const char *str) in da7213_of_dmic_samplephase() argument
1923 dev_warn(component->dev, "Invalid DMIC sample phase\n"); in da7213_of_dmic_samplephase()
1929 da7213_of_dmic_clkrate(struct snd_soc_component *component, u32 val) in da7213_of_dmic_clkrate() argument
1937 dev_warn(component->dev, "Invalid DMIC clock rate\n"); in da7213_of_dmic_clkrate()
1943 *da7213_fw_to_pdata(struct snd_soc_component *component) in da7213_fw_to_pdata() argument
1945 struct device *dev = component->dev; in da7213_fw_to_pdata()
1950 pdata = devm_kzalloc(component->dev, sizeof(*pdata), GFP_KERNEL); in da7213_fw_to_pdata()
1955 pdata->micbias1_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1960 pdata->micbias2_lvl = da7213_of_micbias_lvl(component, fw_val32); in da7213_fw_to_pdata()
1965 pdata->dmic_data_sel = da7213_of_dmic_data_sel(component, fw_str); in da7213_fw_to_pdata()
1971 da7213_of_dmic_samplephase(component, fw_str); in da7213_fw_to_pdata()
1976 pdata->dmic_clk_rate = da7213_of_dmic_clkrate(component, fw_val32); in da7213_fw_to_pdata()
1983 static int da7213_probe(struct snd_soc_component *component) in da7213_probe() argument
1985 struct da7213_priv *da7213 = snd_soc_component_get_drvdata(component); in da7213_probe()
1987 pm_runtime_get_sync(component->dev); in da7213_probe()
1990 snd_soc_component_update_bits(component, DA7213_ALC_CTRL1, in da7213_probe()
1995 snd_soc_component_update_bits(component, DA7213_PC_COUNT, DA7213_PC_FREERUN_MASK, in da7213_probe()
1999 snd_soc_component_update_bits(component, DA7213_AUX_L_CTRL, in da7213_probe()
2001 snd_soc_component_update_bits(component, DA7213_AUX_R_CTRL, in da7213_probe()
2003 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
2005 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
2007 snd_soc_component_update_bits(component, DA7213_ADC_L_CTRL, in da7213_probe()
2009 snd_soc_component_update_bits(component, DA7213_ADC_R_CTRL, in da7213_probe()
2011 snd_soc_component_update_bits(component, DA7213_DAC_L_CTRL, in da7213_probe()
2013 snd_soc_component_update_bits(component, DA7213_DAC_R_CTRL, in da7213_probe()
2015 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
2017 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
2019 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
2030 snd_soc_component_update_bits(component, DA7213_MIXIN_L_CTRL, in da7213_probe()
2032 snd_soc_component_update_bits(component, DA7213_MIXIN_R_CTRL, in da7213_probe()
2035 snd_soc_component_update_bits(component, DA7213_MIXOUT_L_CTRL, in da7213_probe()
2037 snd_soc_component_update_bits(component, DA7213_MIXOUT_R_CTRL, in da7213_probe()
2040 snd_soc_component_update_bits(component, DA7213_HP_L_CTRL, in da7213_probe()
2042 snd_soc_component_update_bits(component, DA7213_HP_R_CTRL, in da7213_probe()
2045 snd_soc_component_update_bits(component, DA7213_LINE_CTRL, in da7213_probe()
2049 da7213->pdata = dev_get_platdata(component->dev); in da7213_probe()
2051 da7213->pdata = da7213_fw_to_pdata(component); in da7213_probe()
2077 snd_soc_component_update_bits(component, DA7213_MICBIAS_CTRL, in da7213_probe()
2103 snd_soc_component_update_bits(component, DA7213_MIC_CONFIG, in da7213_probe()
2109 pm_runtime_put_sync(component->dev); in da7213_probe()
2112 da7213->mclk = devm_clk_get_optional(component->dev, "mclk"); in da7213_probe()
2122 snd_soc_component_write(component, DA7213_TONE_GEN_CYCLES, DA7213_BEEP_CYCLES_MASK); in da7213_probe()
2216 dev_err(&i2c->dev, "Failed to register da7213 component: %d\n", in da7213_i2c_probe()