Lines Matching refs:scodec

109 static void sun4i_codec_start_playback(struct sun4i_codec *scodec)  in sun4i_codec_start_playback()  argument
117 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_start_playback()
122 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_start_playback()
127 static void sun4i_codec_stop_playback(struct sun4i_codec *scodec) in sun4i_codec_stop_playback() argument
135 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_stop_playback()
144 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); in sun4i_codec_trigger() local
153 sun4i_codec_start_playback(scodec); in sun4i_codec_trigger()
159 sun4i_codec_stop_playback(scodec); in sun4i_codec_trigger()
173 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); in sun4i_codec_prepare() local
180 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_prepare()
185 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_prepare()
196 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_prepare()
201 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_prepare()
285 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); in sun4i_codec_hw_params() local
297 ret = clk_set_rate(scodec->clk_module, clk_freq); in sun4i_codec_hw_params()
306 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
316 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
322 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
327 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
331 scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; in sun4i_codec_hw_params()
333 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
338 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_hw_params()
342 scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; in sun4i_codec_hw_params()
352 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); in sun4i_codec_startup() local
358 regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, in sun4i_codec_startup()
362 return clk_prepare_enable(scodec->clk_module); in sun4i_codec_startup()
369 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(rtd->card); in sun4i_codec_shutdown() local
371 clk_disable_unprepare(scodec->clk_module); in sun4i_codec_shutdown()
516 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(card); in sun4i_codec_dai_probe() local
518 snd_soc_dai_init_dma_data(dai, &scodec->playback_dma_data, in sun4i_codec_dai_probe()
593 struct sun4i_codec *scodec; in sun4i_codec_probe() local
598 scodec = devm_kzalloc(&pdev->dev, sizeof(*scodec), GFP_KERNEL); in sun4i_codec_probe()
599 if (!scodec) in sun4i_codec_probe()
602 scodec->dev = &pdev->dev; in sun4i_codec_probe()
611 scodec->regmap = devm_regmap_init_mmio(&pdev->dev, base, in sun4i_codec_probe()
613 if (IS_ERR(scodec->regmap)) { in sun4i_codec_probe()
615 return PTR_ERR(scodec->regmap); in sun4i_codec_probe()
619 scodec->clk_apb = devm_clk_get(&pdev->dev, "apb"); in sun4i_codec_probe()
620 if (IS_ERR(scodec->clk_apb)) { in sun4i_codec_probe()
622 return PTR_ERR(scodec->clk_apb); in sun4i_codec_probe()
625 scodec->clk_module = devm_clk_get(&pdev->dev, "codec"); in sun4i_codec_probe()
626 if (IS_ERR(scodec->clk_module)) { in sun4i_codec_probe()
628 return PTR_ERR(scodec->clk_module); in sun4i_codec_probe()
632 if (clk_prepare_enable(scodec->clk_apb)) { in sun4i_codec_probe()
638 scodec->playback_dma_data.addr = res->start + SUN4I_CODEC_DAC_TXDATA; in sun4i_codec_probe()
639 scodec->playback_dma_data.maxburst = 4; in sun4i_codec_probe()
640 scodec->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_2_BYTES; in sun4i_codec_probe()
670 snd_soc_card_set_drvdata(card, scodec); in sun4i_codec_probe()
683 clk_disable_unprepare(scodec->clk_apb); in sun4i_codec_probe()
690 struct sun4i_codec *scodec = snd_soc_card_get_drvdata(card); in sun4i_codec_remove() local
694 clk_disable_unprepare(scodec->clk_apb); in sun4i_codec_remove()