Lines Matching refs:codec
247 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in wm8988_lrc_control() local
248 u16 adctl2 = snd_soc_read(codec, WM8988_ADCTL2); in wm8988_lrc_control()
251 if (snd_soc_read(codec, WM8988_PWR2) & 0x180) in wm8988_lrc_control()
256 return snd_soc_write(codec, WM8988_ADCTL2, adctl2); in wm8988_lrc_control()
558 struct snd_soc_codec *codec = codec_dai->codec; in wm8988_set_dai_sysclk() local
559 struct wm8988_priv *wm8988 = snd_soc_codec_get_drvdata(codec); in wm8988_set_dai_sysclk()
590 struct snd_soc_codec *codec = codec_dai->codec; in wm8988_set_dai_fmt() local
641 snd_soc_write(codec, WM8988_IFACE, iface); in wm8988_set_dai_fmt()
648 struct snd_soc_codec *codec = dai->codec; in wm8988_pcm_startup() local
649 struct wm8988_priv *wm8988 = snd_soc_codec_get_drvdata(codec); in wm8988_pcm_startup()
655 dev_err(codec->dev, in wm8988_pcm_startup()
671 struct snd_soc_codec *codec = dai->codec; in wm8988_pcm_hw_params() local
672 struct wm8988_priv *wm8988 = snd_soc_codec_get_drvdata(codec); in wm8988_pcm_hw_params()
673 u16 iface = snd_soc_read(codec, WM8988_IFACE) & 0x1f3; in wm8988_pcm_hw_params()
674 u16 srate = snd_soc_read(codec, WM8988_SRATE) & 0x180; in wm8988_pcm_hw_params()
683 dev_err(codec->dev, in wm8988_pcm_hw_params()
705 snd_soc_write(codec, WM8988_IFACE, iface); in wm8988_pcm_hw_params()
707 snd_soc_write(codec, WM8988_SRATE, srate | in wm8988_pcm_hw_params()
715 struct snd_soc_codec *codec = dai->codec; in wm8988_mute() local
716 u16 mute_reg = snd_soc_read(codec, WM8988_ADCDAC) & 0xfff7; in wm8988_mute()
719 snd_soc_write(codec, WM8988_ADCDAC, mute_reg | 0x8); in wm8988_mute()
721 snd_soc_write(codec, WM8988_ADCDAC, mute_reg); in wm8988_mute()
725 static int wm8988_set_bias_level(struct snd_soc_codec *codec, in wm8988_set_bias_level() argument
728 struct wm8988_priv *wm8988 = snd_soc_codec_get_drvdata(codec); in wm8988_set_bias_level()
729 u16 pwr_reg = snd_soc_read(codec, WM8988_PWR1) & ~0x1c1; in wm8988_set_bias_level()
737 snd_soc_write(codec, WM8988_PWR1, pwr_reg | 0x00c0); in wm8988_set_bias_level()
741 if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) { in wm8988_set_bias_level()
745 snd_soc_write(codec, WM8988_PWR1, pwr_reg | 0x1c1); in wm8988_set_bias_level()
752 snd_soc_write(codec, WM8988_PWR1, pwr_reg | 0x0141); in wm8988_set_bias_level()
756 snd_soc_write(codec, WM8988_PWR1, 0x0000); in wm8988_set_bias_level()
795 static int wm8988_probe(struct snd_soc_codec *codec) in wm8988_probe() argument
799 ret = wm8988_reset(codec); in wm8988_probe()
801 dev_err(codec->dev, "Failed to issue reset\n"); in wm8988_probe()
806 snd_soc_update_bits(codec, WM8988_RADC, 0x0100, 0x0100); in wm8988_probe()
807 snd_soc_update_bits(codec, WM8988_RDAC, 0x0100, 0x0100); in wm8988_probe()
808 snd_soc_update_bits(codec, WM8988_ROUT1V, 0x0100, 0x0100); in wm8988_probe()
809 snd_soc_update_bits(codec, WM8988_ROUT2V, 0x0100, 0x0100); in wm8988_probe()
810 snd_soc_update_bits(codec, WM8988_RINVOL, 0x0100, 0x0100); in wm8988_probe()