Lines Matching refs:component
70 static void rt5631_write_index(struct snd_soc_component *component,
73 snd_soc_component_write(component, RT5631_INDEX_ADD, reg);
74 snd_soc_component_write(component, RT5631_INDEX_DATA, value);
80 static unsigned int rt5631_read_index(struct snd_soc_component *component,
85 snd_soc_component_write(component, RT5631_INDEX_ADD, reg);
86 value = snd_soc_component_read(component, RT5631_INDEX_DATA);
91 static int rt5631_reset(struct snd_soc_component *component)
93 return snd_soc_component_write(component, RT5631_RESET, 0);
186 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
187 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
197 struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
198 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
285 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
288 reg = snd_soc_component_read(component, RT5631_GLOBAL_CLK_CTRL);
295 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
296 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
303 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
306 reg = snd_soc_component_read(component, RT5631_OUTMIXER_L_CTRL);
313 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
316 reg = snd_soc_component_read(component, RT5631_OUTMIXER_R_CTRL);
323 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
326 reg = snd_soc_component_read(component, RT5631_SPK_MIXER_CTRL);
333 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
336 reg = snd_soc_component_read(component, RT5631_SPK_MIXER_CTRL);
343 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
346 reg = snd_soc_component_read(component, RT5631_ADC_REC_MIXER);
353 struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);
356 reg = snd_soc_component_read(component, RT5631_ADC_REC_MIXER);
362 * @component: ASoC component
367 static void onebit_depop_power_stage(struct snd_soc_component *component, int enable)
372 snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CTRL_2,
376 soft_vol = snd_soc_component_read(component, RT5631_SOFT_VOL_CTRL);
377 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0);
378 hp_zc = snd_soc_component_read(component, RT5631_INT_ST_IRQ_CTRL_2);
379 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
382 rt5631_write_index(component, RT5631_TEST_MODE_CTRL, 0x84c0);
383 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x309f);
384 rt5631_write_index(component, RT5631_CP_INTL_REG2, 0x6530);
386 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_2,
390 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_2, 0);
395 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, soft_vol);
396 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc);
401 * @component: ASoC component
406 static void onebit_depop_mute_stage(struct snd_soc_component *component, int enable)
411 snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CTRL_2,
415 soft_vol = snd_soc_component_read(component, RT5631_SOFT_VOL_CTRL);
416 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0);
417 hp_zc = snd_soc_component_read(component, RT5631_INT_ST_IRQ_CTRL_2);
418 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
422 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x307f);
423 snd_soc_component_update_bits(component, RT5631_HP_OUT_VOL,
427 snd_soc_component_update_bits(component, RT5631_HP_OUT_VOL,
434 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, soft_vol);
435 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc);
440 * @component: ASoC component
445 static void depop_seq_power_stage(struct snd_soc_component *component, int enable)
450 snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CTRL_2,
454 soft_vol = snd_soc_component_read(component, RT5631_SOFT_VOL_CTRL);
455 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0);
456 hp_zc = snd_soc_component_read(component, RT5631_INT_ST_IRQ_CTRL_2);
457 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
460 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x303e);
463 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
470 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
475 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
479 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x303F);
480 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
484 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
489 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
493 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
497 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
501 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
507 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, soft_vol);
508 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc);
513 * @component: ASoC component
518 static void depop_seq_mute_stage(struct snd_soc_component *component, int enable)
523 snd_soc_component_update_bits(component, RT5631_DEPOP_FUN_CTRL_2,
527 soft_vol = snd_soc_component_read(component, RT5631_SOFT_VOL_CTRL);
528 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, 0);
529 hp_zc = snd_soc_component_read(component, RT5631_INT_ST_IRQ_CTRL_2);
530 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc & 0xf7ff);
535 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x302f);
536 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
541 snd_soc_component_update_bits(component, RT5631_HP_OUT_VOL,
546 rt5631_write_index(component, RT5631_SPK_INTL_CTRL, 0x302f);
547 snd_soc_component_write(component, RT5631_DEPOP_FUN_CTRL_1,
552 snd_soc_component_update_bits(component, RT5631_HP_OUT_VOL,
559 snd_soc_component_write(component, RT5631_SOFT_VOL_CTRL, soft_vol);
560 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, hp_zc);
566 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
567 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
572 onebit_depop_mute_stage(component, 0);
573 onebit_depop_power_stage(component, 0);
575 depop_seq_mute_stage(component, 0);
576 depop_seq_power_stage(component, 0);
582 onebit_depop_power_stage(component, 1);
583 onebit_depop_mute_stage(component, 1);
585 depop_seq_power_stage(component, 1);
586 depop_seq_mute_stage(component, 1);
600 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
601 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
606 snd_soc_component_update_bits(component, RT5631_DIG_MIC_CTRL,
613 snd_soc_component_update_bits(component, RT5631_DIG_MIC_CTRL,
621 snd_soc_component_update_bits(component, RT5631_DIG_MIC_CTRL,
1355 struct snd_soc_component *component = dai->component;
1356 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1360 dev_dbg(component->dev, "enter %s\n", __func__);
1364 dev_err(component->dev, "Fail to get BCLK rate\n");
1376 dev_err(component->dev, "Fail to get coeff\n");
1396 snd_soc_component_update_bits(component, RT5631_SDP_CTRL,
1398 snd_soc_component_write(component, RT5631_STEREO_AD_DA_CLK_CTRL,
1407 struct snd_soc_component *component = codec_dai->component;
1408 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1411 dev_dbg(component->dev, "enter %s\n", __func__);
1451 snd_soc_component_write(component, RT5631_SDP_CTRL, iface);
1459 struct snd_soc_component *component = codec_dai->component;
1460 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1462 dev_dbg(component->dev, "enter %s, syclk=%d\n", __func__, freq);
1475 struct snd_soc_component *component = codec_dai->component;
1476 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1479 dev_dbg(component->dev, "enter %s\n", __func__);
1482 dev_dbg(component->dev, "PLL disabled\n");
1484 snd_soc_component_update_bits(component, RT5631_GLOBAL_CLK_CTRL,
1495 dev_info(component->dev,
1497 snd_soc_component_write(component, RT5631_PLL_CTRL,
1501 snd_soc_component_update_bits(component,
1514 dev_info(component->dev,
1516 snd_soc_component_write(component, RT5631_PLL_CTRL,
1520 snd_soc_component_update_bits(component,
1534 static int rt5631_set_bias_level(struct snd_soc_component *component,
1537 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1542 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD2,
1548 if (snd_soc_component_get_bias_level(component) == SND_SOC_BIAS_OFF) {
1549 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
1553 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
1562 snd_soc_component_write(component, RT5631_PWR_MANAG_ADD1, 0x0000);
1563 snd_soc_component_write(component, RT5631_PWR_MANAG_ADD2, 0x0000);
1564 snd_soc_component_write(component, RT5631_PWR_MANAG_ADD3, 0x0000);
1565 snd_soc_component_write(component, RT5631_PWR_MANAG_ADD4, 0x0000);
1575 static int rt5631_probe(struct snd_soc_component *component)
1577 struct rt5631_priv *rt5631 = snd_soc_component_get_drvdata(component);
1580 val = rt5631_read_index(component, RT5631_ADDA_MIXER_INTL_REG3);
1586 rt5631_reset(component);
1587 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
1591 snd_soc_component_update_bits(component, RT5631_PWR_MANAG_ADD3,
1594 snd_soc_component_write(component, RT5631_INT_ST_IRQ_CTRL_2, 0x0f18);
1597 snd_soc_component_update_bits(component, RT5631_INT_ST_IRQ_CTRL_2,
1600 snd_soc_component_update_bits(component, RT5631_INT_ST_IRQ_CTRL_2,
1604 snd_soc_component_update_bits(component, RT5631_GPIO_CTRL,
1609 snd_soc_component_update_bits(component, RT5631_DIG_MIC_CTRL,
1616 snd_soc_component_init_bias_level(component, SND_SOC_BIAS_STANDBY);