• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6/sound/soc/codecs/

Lines Matching refs:codec

52 /* codec private data */
55 struct snd_soc_codec codec;
400 static int wm8750_add_widgets(struct snd_soc_codec *codec)
402 snd_soc_dapm_new_controls(codec, wm8750_dapm_widgets,
405 snd_soc_dapm_add_routes(codec, audio_map, ARRAY_SIZE(audio_map));
418 /* codec hifi mclk clock divider coefficients */
485 struct snd_soc_codec *codec = codec_dai->codec;
486 struct wm8750_priv *wm8750 = snd_soc_codec_get_drvdata(codec);
503 struct snd_soc_codec *codec = codec_dai->codec;
554 snd_soc_write(codec, WM8750_IFACE, iface);
564 struct snd_soc_codec *codec = socdev->card->codec;
565 struct wm8750_priv *wm8750 = snd_soc_codec_get_drvdata(codec);
566 u16 iface = snd_soc_read(codec, WM8750_IFACE) & 0x1f3;
567 u16 srate = snd_soc_read(codec, WM8750_SRATE) & 0x1c0;
586 snd_soc_write(codec, WM8750_IFACE, iface);
588 snd_soc_write(codec, WM8750_SRATE, srate |
596 struct snd_soc_codec *codec = dai->codec;
597 u16 mute_reg = snd_soc_read(codec, WM8750_ADCDAC) & 0xfff7;
600 snd_soc_write(codec, WM8750_ADCDAC, mute_reg | 0x8);
602 snd_soc_write(codec, WM8750_ADCDAC, mute_reg);
606 static int wm8750_set_bias_level(struct snd_soc_codec *codec,
609 u16 pwr_reg = snd_soc_read(codec, WM8750_PWR1) & 0xfe3e;
614 snd_soc_write(codec, WM8750_PWR1, pwr_reg | 0x00c0);
619 if (codec->bias_level == SND_SOC_BIAS_OFF) {
621 snd_soc_write(codec, WM8750_PWR1, pwr_reg | 0x01c1);
628 snd_soc_write(codec, WM8750_PWR1, pwr_reg | 0x0141);
631 snd_soc_write(codec, WM8750_PWR1, 0x0001);
634 codec->bias_level = level;
673 struct snd_soc_codec *codec = socdev->card->codec;
675 wm8750_set_bias_level(codec, SND_SOC_BIAS_OFF);
682 struct snd_soc_codec *codec = socdev->card->codec;
685 u16 *cache = codec->reg_cache;
693 codec->hw_write(codec->control_data, data, 2);
696 wm8750_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
706 struct snd_soc_codec *codec;
710 dev_err(&pdev->dev, "WM8750 codec not yet registered\n");
714 socdev->card->codec = wm8750_codec;
715 codec = wm8750_codec;
724 snd_soc_add_controls(codec, wm8750_snd_controls,
726 wm8750_add_widgets(codec);
760 struct snd_soc_codec *codec = &wm8750->codec;
764 dev_err(codec->dev, "Multiple WM8750 devices not supported\n");
769 mutex_init(&codec->mutex);
770 INIT_LIST_HEAD(&codec->dapm_widgets);
771 INIT_LIST_HEAD(&codec->dapm_paths);
773 codec->name = "WM8750";
774 codec->owner = THIS_MODULE;
775 codec->bias_level = SND_SOC_BIAS_STANDBY;
776 codec->set_bias_level = wm8750_set_bias_level;
777 codec->dai = &wm8750_dai;
778 codec->num_dai = 1;
779 codec->reg_cache_size = ARRAY_SIZE(wm8750->reg_cache) + 1;
780 codec->reg_cache = &wm8750->reg_cache;
781 snd_soc_codec_set_drvdata(codec, wm8750);
783 memcpy(codec->reg_cache, wm8750_reg, sizeof(wm8750->reg_cache));
785 ret = snd_soc_codec_set_cache_io(codec, 7, 9, control);
791 ret = wm8750_reset(codec);
798 wm8750_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
801 reg = snd_soc_read(codec, WM8750_LDAC);
802 snd_soc_write(codec, WM8750_LDAC, reg | 0x0100);
803 reg = snd_soc_read(codec, WM8750_RDAC);
804 snd_soc_write(codec, WM8750_RDAC, reg | 0x0100);
805 reg = snd_soc_read(codec, WM8750_LOUT1V);
806 snd_soc_write(codec, WM8750_LOUT1V, reg | 0x0100);
807 reg = snd_soc_read(codec, WM8750_ROUT1V);
808 snd_soc_write(codec, WM8750_ROUT1V, reg | 0x0100);
809 reg = snd_soc_read(codec, WM8750_LOUT2V);
810 snd_soc_write(codec, WM8750_LOUT2V, reg | 0x0100);
811 reg = snd_soc_read(codec, WM8750_ROUT2V);
812 snd_soc_write(codec, WM8750_ROUT2V, reg | 0x0100);
813 reg = snd_soc_read(codec, WM8750_LINVOL);
814 snd_soc_write(codec, WM8750_LINVOL, reg | 0x0100);
815 reg = snd_soc_read(codec, WM8750_RINVOL);
816 snd_soc_write(codec, WM8750_RINVOL, reg | 0x0100);
818 wm8750_codec = codec;
820 ret = snd_soc_register_codec(codec);
822 dev_err(codec->dev, "Failed to register codec: %d\n", ret);
828 dev_err(codec->dev, "Failed to register DAIs: %d\n", ret);
835 snd_soc_unregister_codec(codec);
843 wm8750_set_bias_level(&wm8750->codec, SND_SOC_BIAS_OFF);
845 snd_soc_unregister_codec(&wm8750->codec);
862 struct snd_soc_codec *codec;
869 codec = &wm8750->codec;
870 codec->control_data = i2c;
873 codec->dev = &i2c->dev;
906 struct snd_soc_codec *codec;
913 codec = &wm8750->codec;
914 codec->control_data = spi;
915 codec->dev = &spi->dev;