Lines Matching defs:codec
177 /* codec private data */
185 static int jz4770_codec_set_bias_level(struct snd_soc_component *codec,
188 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
216 struct snd_soc_component *codec = dai->component;
217 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(codec);
220 * SYSCLK output from the codec to the AIC is required to keep the
233 struct snd_soc_component *codec = dai->component;
234 struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(codec);
244 struct snd_soc_component *codec = dai->component;
252 snd_soc_component_force_bias_level(codec,
269 struct snd_soc_component *codec = dai->component;
270 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
275 change = snd_soc_component_update_bits(codec, JZ4770_CODEC_REG_CR_DAC,
364 struct snd_soc_component *codec = snd_soc_dapm_to_component(w->dapm);
365 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
586 static void jz4770_codec_codec_init_regs(struct snd_soc_component *codec)
588 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
661 static int jz4770_codec_codec_probe(struct snd_soc_component *codec)
663 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
667 jz4770_codec_codec_init_regs(codec);
672 static void jz4770_codec_codec_remove(struct snd_soc_component *codec)
674 struct jz_codec *jz_codec = snd_soc_component_get_drvdata(codec);
703 struct jz_codec *codec = snd_soc_component_get_drvdata(dai->component);
732 regmap_update_bits(codec->regmap, JZ4770_CODEC_REG_AICR_DAC,
735 regmap_update_bits(codec->regmap, JZ4770_CODEC_REG_FCR_DAC,
739 regmap_update_bits(codec->regmap, JZ4770_CODEC_REG_AICR_ADC,
742 regmap_update_bits(codec->regmap, JZ4770_CODEC_REG_FCR_ADC,
811 static int jz4770_codec_io_wait(struct jz_codec *codec)
815 return readl_poll_timeout(codec->base + ICDC_RGADW_OFFSET, reg,
823 struct jz_codec *codec = context;
828 ret = jz4770_codec_io_wait(codec);
832 tmp = readl(codec->base + ICDC_RGADW_OFFSET);
835 writel(tmp, codec->base + ICDC_RGADW_OFFSET);
839 *val = readl(codec->base + ICDC_RGDATA_OFFSET) &
848 struct jz_codec *codec = context;
851 ret = jz4770_codec_io_wait(codec);
856 codec->base + ICDC_RGADW_OFFSET);
858 ret = jz4770_codec_io_wait(codec);
893 struct jz_codec *codec;
896 codec = devm_kzalloc(dev, sizeof(*codec), GFP_KERNEL);
897 if (!codec)
900 codec->dev = dev;
902 codec->base = devm_platform_ioremap_resource(pdev, 0);
903 if (IS_ERR(codec->base)) {
904 ret = PTR_ERR(codec->base);
909 codec->regmap = devm_regmap_init(dev, NULL, codec,
911 if (IS_ERR(codec->regmap))
912 return PTR_ERR(codec->regmap);
914 codec->clk = devm_clk_get(dev, "aic");
915 if (IS_ERR(codec->clk))
916 return PTR_ERR(codec->clk);
918 platform_set_drvdata(pdev, codec);
923 dev_err(dev, "Failed to register codec: %d\n", ret);
931 { .compatible = "ingenic,jz4770-codec", },
939 .name = "jz4770-codec",
945 MODULE_DESCRIPTION("JZ4770 SoC internal codec driver");