Lines Matching refs:codec
49 static void sn95031_enable_mic_bias(struct snd_soc_codec *codec) in sn95031_enable_mic_bias() argument
51 snd_soc_write(codec, SN95031_VAUD, BIT(2)|BIT(1)|BIT(0)); in sn95031_enable_mic_bias()
52 snd_soc_update_bits(codec, SN95031_MICBIAS, BIT(2), BIT(2)); in sn95031_enable_mic_bias()
140 static unsigned int sn95031_get_mic_bias(struct snd_soc_codec *codec) in sn95031_get_mic_bias() argument
142 u16 adc_adr = sn95031_initialize_adc(codec); in sn95031_get_mic_bias()
146 sn95031_enable_mic_bias(codec); in sn95031_get_mic_bias()
149 snd_soc_write(codec, SN95031_ADC1CNTL3, 0x05); in sn95031_get_mic_bias()
151 snd_soc_write(codec, SN95031_ADC1CNTL3, 0x04); in sn95031_get_mic_bias()
155 adc_val1 = snd_soc_read(codec, adc_adr); in sn95031_get_mic_bias()
157 adc_val2 = snd_soc_read(codec, adc_adr); in sn95031_get_mic_bias()
189 static int sn95031_set_vaud_bias(struct snd_soc_codec *codec, in sn95031_set_vaud_bias() argument
197 if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_STANDBY) { in sn95031_set_vaud_bias()
200 snd_soc_write(codec, SN95031_AUDPLLCTRL, BIT(5)); in sn95031_set_vaud_bias()
202 snd_soc_update_bits(codec, SN95031_PCM2C2, in sn95031_set_vaud_bias()
208 switch (snd_soc_codec_get_bias_level(codec)) { in sn95031_set_vaud_bias()
212 snd_soc_write(codec, SN95031_VAUD, in sn95031_set_vaud_bias()
219 snd_soc_update_bits(codec, SN95031_PCM2C2, BIT(0), 0); in sn95031_set_vaud_bias()
220 snd_soc_write(codec, SN95031_AUDPLLCTRL, 0); in sn95031_set_vaud_bias()
230 snd_soc_write(codec, SN95031_VAUD, BIT(3)); in sn95031_set_vaud_bias()
240 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in sn95031_vhs_event() local
245 snd_soc_write(codec, SN95031_VHSP, 0x3D); in sn95031_vhs_event()
246 snd_soc_write(codec, SN95031_VHSN, 0x3F); in sn95031_vhs_event()
250 snd_soc_write(codec, SN95031_VHSP, 0xC4); in sn95031_vhs_event()
251 snd_soc_write(codec, SN95031_VHSN, 0x04); in sn95031_vhs_event()
259 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in sn95031_vihf_event() local
264 snd_soc_write(codec, SN95031_VIHF, 0x27); in sn95031_vihf_event()
268 snd_soc_write(codec, SN95031_VIHF, 0x24); in sn95031_vihf_event()
276 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in sn95031_dmic12_event() local
285 snd_soc_update_bits(codec, SN95031_MICBIAS, BIT(5)|BIT(4), ldo); in sn95031_dmic12_event()
286 snd_soc_update_bits(codec, SN95031_DMICBUF0123, BIT(0), clk_dir); in sn95031_dmic12_event()
287 snd_soc_update_bits(codec, SN95031_DMICBUF0123, BIT(7), data_dir); in sn95031_dmic12_event()
294 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in sn95031_dmic34_event() local
303 snd_soc_update_bits(codec, SN95031_MICBIAS, BIT(5)|BIT(4), ldo); in sn95031_dmic34_event()
304 snd_soc_update_bits(codec, SN95031_DMICBUF0123, BIT(2), clk_dir); in sn95031_dmic34_event()
305 snd_soc_update_bits(codec, SN95031_DMICBUF45, BIT(1), data_dir); in sn95031_dmic34_event()
312 struct snd_soc_codec *codec = snd_soc_dapm_to_codec(w->dapm); in sn95031_dmic56_event() local
319 snd_soc_update_bits(codec, SN95031_MICBIAS, BIT(7)|BIT(6), ldo); in sn95031_dmic56_event()
654 snd_soc_update_bits(dai->codec, in sn95031_pcm_hs_mute()
656 snd_soc_update_bits(dai->codec, in sn95031_pcm_hs_mute()
663 snd_soc_update_bits(dai->codec, in sn95031_pcm_spkr_mute()
665 snd_soc_update_bits(dai->codec, in sn95031_pcm_spkr_mute()
686 snd_soc_update_bits(dai->codec, SN95031_PCM2C2, in sn95031_pcm_hw_params()
704 snd_soc_update_bits(dai->codec, SN95031_PCM1C1, BIT(7), rate); in sn95031_pcm_hw_params()
779 static inline void sn95031_disable_jack_btn(struct snd_soc_codec *codec) in sn95031_disable_jack_btn() argument
781 snd_soc_write(codec, SN95031_BTNCTRL2, 0x00); in sn95031_disable_jack_btn()
784 static inline void sn95031_enable_jack_btn(struct snd_soc_codec *codec) in sn95031_enable_jack_btn() argument
786 snd_soc_write(codec, SN95031_BTNCTRL1, 0x77); in sn95031_enable_jack_btn()
787 snd_soc_write(codec, SN95031_BTNCTRL2, 0x01); in sn95031_enable_jack_btn()
790 static int sn95031_get_headset_state(struct snd_soc_codec *codec, in sn95031_get_headset_state() argument
793 int micbias = sn95031_get_mic_bias(codec); in sn95031_get_headset_state()
799 sn95031_enable_jack_btn(codec); in sn95031_get_headset_state()
803 void sn95031_jack_detection(struct snd_soc_codec *codec, in sn95031_jack_detection() argument
818 status = sn95031_get_headset_state(codec, jack_data->mfld_jack); in sn95031_jack_detection()
822 sn95031_disable_jack_btn(codec); in sn95031_jack_detection()
837 static int sn95031_codec_probe(struct snd_soc_codec *codec) in sn95031_codec_probe() argument
845 snd_soc_write(codec, SN95031_PCM2RXSLOT01, 0x10); in sn95031_codec_probe()
846 snd_soc_write(codec, SN95031_PCM2RXSLOT23, 0x32); in sn95031_codec_probe()
847 snd_soc_write(codec, SN95031_PCM2RXSLOT45, 0x54); in sn95031_codec_probe()
848 snd_soc_write(codec, SN95031_PCM2TXSLOT01, 0x10); in sn95031_codec_probe()
849 snd_soc_write(codec, SN95031_PCM2TXSLOT23, 0x32); in sn95031_codec_probe()
854 snd_soc_write(codec, SN95031_PCM1C1, 0x00); in sn95031_codec_probe()
855 snd_soc_write(codec, SN95031_PCM2C1, 0x01); in sn95031_codec_probe()
856 snd_soc_write(codec, SN95031_PCM2C2, 0x0A); in sn95031_codec_probe()
857 snd_soc_write(codec, SN95031_HSMIXER, BIT(0)|BIT(4)); in sn95031_codec_probe()
861 snd_soc_write(codec, SN95031_SSR5, 0x80); in sn95031_codec_probe()
862 snd_soc_write(codec, SN95031_SSR6, 0x80); in sn95031_codec_probe()
863 snd_soc_write(codec, SN95031_VIB1C5, 0x00); in sn95031_codec_probe()
864 snd_soc_write(codec, SN95031_VIB2C5, 0x00); in sn95031_codec_probe()
866 snd_soc_write(codec, SN95031_VIB1C3, 0x00); in sn95031_codec_probe()
867 snd_soc_write(codec, SN95031_VIB2C3, 0x00); in sn95031_codec_probe()
870 snd_soc_write(codec, SN95031_SOFTMUTE, 0x3); in sn95031_codec_probe()
875 snd_soc_write(codec, SN95031_HSLVOLCTRL, 0x08); in sn95031_codec_probe()
876 snd_soc_write(codec, SN95031_HSRVOLCTRL, 0x08); in sn95031_codec_probe()
877 snd_soc_write(codec, SN95031_IHFLVOLCTRL, 0x08); in sn95031_codec_probe()
878 snd_soc_write(codec, SN95031_IHFRVOLCTRL, 0x08); in sn95031_codec_probe()
880 snd_soc_write(codec, SN95031_SSR2, 0x10); in sn95031_codec_probe()
881 snd_soc_write(codec, SN95031_SSR3, 0x40); in sn95031_codec_probe()