Lines Matching defs:spdif
25 #define DRV_NAME "tegra20-spdif"
29 struct tegra20_spdif *spdif = dev_get_drvdata(dev);
31 clk_disable_unprepare(spdif->clk_spdif_out);
38 struct tegra20_spdif *spdif = dev_get_drvdata(dev);
41 ret = clk_prepare_enable(spdif->clk_spdif_out);
55 struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai);
70 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL, mask, val);
98 ret = clk_set_rate(spdif->clk_spdif_out, spdifclock);
107 static void tegra20_spdif_start_playback(struct tegra20_spdif *spdif)
109 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL,
114 static void tegra20_spdif_stop_playback(struct tegra20_spdif *spdif)
116 regmap_update_bits(spdif->regmap, TEGRA20_SPDIF_CTRL,
123 struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai);
129 tegra20_spdif_start_playback(spdif);
134 tegra20_spdif_stop_playback(spdif);
145 struct tegra20_spdif *spdif = snd_soc_dai_get_drvdata(dai);
148 dai->playback_dma_data = &spdif->playback_dma_data;
253 struct tegra20_spdif *spdif;
258 spdif = devm_kzalloc(&pdev->dev, sizeof(struct tegra20_spdif),
260 if (!spdif)
263 dev_set_drvdata(&pdev->dev, spdif);
265 spdif->clk_spdif_out = devm_clk_get(&pdev->dev, "spdif_out");
266 if (IS_ERR(spdif->clk_spdif_out)) {
267 pr_err("Can't retrieve spdif clock\n");
268 ret = PTR_ERR(spdif->clk_spdif_out);
283 spdif->regmap = devm_regmap_init_mmio(&pdev->dev, regs,
285 if (IS_ERR(spdif->regmap)) {
287 ret = PTR_ERR(spdif->regmap);
291 spdif->playback_dma_data.addr = mem->start + TEGRA20_SPDIF_DATA_OUT;
292 spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
293 spdif->playback_dma_data.maxburst = 4;
294 spdif->playback_dma_data.slave_id = dmareq->start;