Lines Matching +full:clk +full:- +full:source
1 // SPDX-License-Identifier: GPL-2.0
14 #include <linux/clk.h>
142 struct clk *clk; member
145 static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_dac_tlv, -2250, 0);
146 static const SNDRV_CTL_TLVD_DECLARE_DB_LINEAR(jz4725b_line_tlv, -1500, 600);
167 SOC_SINGLE("High-Pass Filter Capture Switch",
194 struct snd_soc_component *codec = snd_soc_dapm_to_component(w->dapm); in jz4725b_out_stage_enable()
196 struct regmap *map = icdc->regmap; in jz4725b_out_stage_enable()
215 return -EINVAL; in jz4725b_out_stage_enable()
228 SND_SOC_DAPM_MUX("ADC Source", SND_SOC_NOPM, 0, 0,
286 {"ADC Source", "Mixer", "Mixer to ADC"},
287 {"ADC Source", "Line In", "Line In"},
288 {"ADC Source", "Mic 1", "Mic 1"},
289 {"ADC Source", "Mic 2", "Mic 2"},
290 {"ADC", NULL, "ADC Source"},
302 struct regmap *map = icdc->regmap; in jz4725b_codec_set_bias_level()
333 struct regmap *map = icdc->regmap; in jz4725b_codec_dev_probe()
335 clk_prepare_enable(icdc->clk); in jz4725b_codec_dev_probe()
352 clk_disable_unprepare(icdc->clk); in jz4725b_codec_dev_remove()
378 struct jz_icdc *icdc = snd_soc_component_get_drvdata(dai->component); in jz4725b_codec_hw_params()
395 return -EINVAL; in jz4725b_codec_hw_params()
404 return -EINVAL; in jz4725b_codec_hw_params()
406 if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) { in jz4725b_codec_hw_params()
407 regmap_update_bits(icdc->regmap, in jz4725b_codec_hw_params()
412 regmap_update_bits(icdc->regmap, in jz4725b_codec_hw_params()
417 regmap_update_bits(icdc->regmap, in jz4725b_codec_hw_params()
422 regmap_update_bits(icdc->regmap, in jz4725b_codec_hw_params()
439 .name = "jz4725b-hifi",
471 return readl_poll_timeout(icdc->base + ICDC_RGADW_OFFSET, reg, in jz4725b_codec_io_wait()
487 tmp = readl(icdc->base + ICDC_RGADW_OFFSET); in jz4725b_codec_reg_read()
490 writel(tmp, icdc->base + ICDC_RGADW_OFFSET); in jz4725b_codec_reg_read()
494 *val = readl(icdc->base + ICDC_RGDATA_OFFSET) & in jz4725b_codec_reg_read()
511 icdc->base + ICDC_RGADW_OFFSET); in jz4725b_codec_reg_write()
546 struct device *dev = &pdev->dev; in jz4725b_codec_probe()
552 return -ENOMEM; in jz4725b_codec_probe()
554 icdc->base = devm_platform_ioremap_resource(pdev, 0); in jz4725b_codec_probe()
555 if (IS_ERR(icdc->base)) in jz4725b_codec_probe()
556 return PTR_ERR(icdc->base); in jz4725b_codec_probe()
558 icdc->regmap = devm_regmap_init(dev, NULL, icdc, in jz4725b_codec_probe()
560 if (IS_ERR(icdc->regmap)) in jz4725b_codec_probe()
561 return PTR_ERR(icdc->regmap); in jz4725b_codec_probe()
563 icdc->clk = devm_clk_get(&pdev->dev, "aic"); in jz4725b_codec_probe()
564 if (IS_ERR(icdc->clk)) in jz4725b_codec_probe()
565 return PTR_ERR(icdc->clk); in jz4725b_codec_probe()
578 { .compatible = "ingenic,jz4725b-codec", },
586 .name = "jz4725b-codec",