Lines Matching refs:codec

322 	struct snd_soc_codec *codec = codec_dai->codec;  in wm8974_set_dai_pll()  local
328 reg = snd_soc_read(codec, WM8974_CLOCK); in wm8974_set_dai_pll()
329 snd_soc_write(codec, WM8974_CLOCK, reg & 0x0ff); in wm8974_set_dai_pll()
332 reg = snd_soc_read(codec, WM8974_POWER1); in wm8974_set_dai_pll()
333 snd_soc_write(codec, WM8974_POWER1, reg & 0x1df); in wm8974_set_dai_pll()
339 snd_soc_write(codec, WM8974_PLLN, (pll_div.pre_div << 4) | pll_div.n); in wm8974_set_dai_pll()
340 snd_soc_write(codec, WM8974_PLLK1, pll_div.k >> 18); in wm8974_set_dai_pll()
341 snd_soc_write(codec, WM8974_PLLK2, (pll_div.k >> 9) & 0x1ff); in wm8974_set_dai_pll()
342 snd_soc_write(codec, WM8974_PLLK3, pll_div.k & 0x1ff); in wm8974_set_dai_pll()
343 reg = snd_soc_read(codec, WM8974_POWER1); in wm8974_set_dai_pll()
344 snd_soc_write(codec, WM8974_POWER1, reg | 0x020); in wm8974_set_dai_pll()
347 reg = snd_soc_read(codec, WM8974_CLOCK); in wm8974_set_dai_pll()
348 snd_soc_write(codec, WM8974_CLOCK, reg | 0x100); in wm8974_set_dai_pll()
359 struct snd_soc_codec *codec = codec_dai->codec; in wm8974_set_dai_clkdiv() local
364 reg = snd_soc_read(codec, WM8974_GPIO) & 0x1cf; in wm8974_set_dai_clkdiv()
365 snd_soc_write(codec, WM8974_GPIO, reg | div); in wm8974_set_dai_clkdiv()
368 reg = snd_soc_read(codec, WM8974_CLOCK) & 0x11f; in wm8974_set_dai_clkdiv()
369 snd_soc_write(codec, WM8974_CLOCK, reg | div); in wm8974_set_dai_clkdiv()
372 reg = snd_soc_read(codec, WM8974_CLOCK) & 0x1e3; in wm8974_set_dai_clkdiv()
373 snd_soc_write(codec, WM8974_CLOCK, reg | div); in wm8974_set_dai_clkdiv()
385 struct snd_soc_codec *codec = codec_dai->codec; in wm8974_set_dai_fmt() local
387 u16 clk = snd_soc_read(codec, WM8974_CLOCK) & 0x1fe; in wm8974_set_dai_fmt()
434 snd_soc_write(codec, WM8974_IFACE, iface); in wm8974_set_dai_fmt()
435 snd_soc_write(codec, WM8974_CLOCK, clk); in wm8974_set_dai_fmt()
443 struct snd_soc_codec *codec = dai->codec; in wm8974_pcm_hw_params() local
444 u16 iface = snd_soc_read(codec, WM8974_IFACE) & 0x19f; in wm8974_pcm_hw_params()
445 u16 adn = snd_soc_read(codec, WM8974_ADD) & 0x1f1; in wm8974_pcm_hw_params()
484 snd_soc_write(codec, WM8974_IFACE, iface); in wm8974_pcm_hw_params()
485 snd_soc_write(codec, WM8974_ADD, adn); in wm8974_pcm_hw_params()
491 struct snd_soc_codec *codec = dai->codec; in wm8974_mute() local
492 u16 mute_reg = snd_soc_read(codec, WM8974_DAC) & 0xffbf; in wm8974_mute()
495 snd_soc_write(codec, WM8974_DAC, mute_reg | 0x40); in wm8974_mute()
497 snd_soc_write(codec, WM8974_DAC, mute_reg); in wm8974_mute()
502 static int wm8974_set_bias_level(struct snd_soc_codec *codec, in wm8974_set_bias_level() argument
505 u16 power1 = snd_soc_read(codec, WM8974_POWER1) & ~0x3; in wm8974_set_bias_level()
511 snd_soc_write(codec, WM8974_POWER1, power1); in wm8974_set_bias_level()
517 if (snd_soc_codec_get_bias_level(codec) == SND_SOC_BIAS_OFF) { in wm8974_set_bias_level()
518 regcache_sync(dev_get_regmap(codec->dev, NULL)); in wm8974_set_bias_level()
521 snd_soc_write(codec, WM8974_POWER1, power1 | 0x3); in wm8974_set_bias_level()
526 snd_soc_write(codec, WM8974_POWER1, power1); in wm8974_set_bias_level()
530 snd_soc_write(codec, WM8974_POWER1, 0); in wm8974_set_bias_level()
531 snd_soc_write(codec, WM8974_POWER2, 0); in wm8974_set_bias_level()
532 snd_soc_write(codec, WM8974_POWER3, 0); in wm8974_set_bias_level()
580 static int wm8974_probe(struct snd_soc_codec *codec) in wm8974_probe() argument
584 ret = wm8974_reset(codec); in wm8974_probe()
586 dev_err(codec->dev, "Failed to issue reset\n"); in wm8974_probe()