Lines Matching defs:codec
161 /* codec private data */
169 static int jz4760_codec_set_bias_level(struct snd_soc_component *codec,
172 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
199 struct snd_soc_component *codec = dai->component;
200 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(codec);
204 * SYSCLK output from the codec to the AIC is required to keep the
216 struct snd_soc_component *codec = dai->component;
217 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(codec);
227 struct snd_soc_component *codec = dai->component;
235 snd_soc_component_force_bias_level(codec, SND_SOC_BIAS_ON);
251 struct snd_soc_component *codec = dai->component;
252 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
257 change = snd_soc_component_update_bits(codec, JZ4760_CODEC_REG_CR2,
353 struct snd_soc_component *codec = snd_soc_dapm_to_component(w->dapm);
354 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
573 static void jz4760_codec_codec_init_regs(struct snd_soc_component *codec)
575 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
626 static int jz4760_codec_codec_probe(struct snd_soc_component *codec)
628 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
632 jz4760_codec_codec_init_regs(codec);
637 static void jz4760_codec_codec_remove(struct snd_soc_component *codec)
639 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
668 struct jz_codec *codec = snd_soc_component_get_drvdata(dai->component);
697 regmap_update_bits(codec->regmap, JZ4760_CODEC_REG_AICR,
700 regmap_update_bits(codec->regmap, JZ4760_CODEC_REG_CCR2,
704 regmap_update_bits(codec->regmap, JZ4760_CODEC_REG_AICR,
707 regmap_update_bits(codec->regmap, JZ4760_CODEC_REG_CCR2,
763 static int jz4760_codec_io_wait(struct jz_codec *codec)
767 return readl_poll_timeout(codec->base + ICDC_RGADW_OFFSET, reg,
775 struct jz_codec *codec = context;
780 ret = jz4760_codec_io_wait(codec);
784 tmp = readl(codec->base + ICDC_RGADW_OFFSET);
787 writel(tmp, codec->base + ICDC_RGADW_OFFSET);
791 *val = readl(codec->base + ICDC_RGDATA_OFFSET) &
800 struct jz_codec *codec = context;
803 ret = jz4760_codec_io_wait(codec);
808 codec->base + ICDC_RGADW_OFFSET);
810 ret = jz4760_codec_io_wait(codec);
843 struct jz_codec *codec;
846 codec = devm_kzalloc(dev, sizeof(*codec), GFP_KERNEL);
847 if (!codec)
850 codec->dev = dev;
852 codec->base = devm_platform_ioremap_resource(pdev, 0);
853 if (IS_ERR(codec->base))
854 return PTR_ERR(codec->base);
856 codec->regmap = devm_regmap_init(dev, NULL, codec,
858 if (IS_ERR(codec->regmap))
859 return PTR_ERR(codec->regmap);
861 codec->clk = devm_clk_get(dev, "aic");
862 if (IS_ERR(codec->clk))
863 return PTR_ERR(codec->clk);
865 platform_set_drvdata(pdev, codec);
870 dev_err(dev, "Failed to register codec: %d\n", ret);
878 { .compatible = "ingenic,jz4760-codec", },
886 .name = "jz4760-codec",
892 MODULE_DESCRIPTION("JZ4760 SoC internal codec driver");