Lines Matching refs:spdif
59 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_suspend() local
61 clk_disable_unprepare(spdif->mclk); in rk_spdif_runtime_suspend()
62 clk_disable_unprepare(spdif->hclk); in rk_spdif_runtime_suspend()
69 struct rk_spdif_dev *spdif = dev_get_drvdata(dev); in rk_spdif_runtime_resume() local
72 ret = clk_prepare_enable(spdif->mclk); in rk_spdif_runtime_resume()
74 dev_err(spdif->dev, "mclk clock enable failed %d\n", ret); in rk_spdif_runtime_resume()
78 ret = clk_prepare_enable(spdif->hclk); in rk_spdif_runtime_resume()
80 dev_err(spdif->dev, "hclk clock enable failed %d\n", ret); in rk_spdif_runtime_resume()
91 struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai); in rk_spdif_hw_params() local
128 ret = clk_set_rate(spdif->mclk, mclk); in rk_spdif_hw_params()
130 dev_err(spdif->dev, "Failed to set module clock rate: %d\n", in rk_spdif_hw_params()
136 ret = regmap_update_bits(spdif->regmap, SPDIF_CFGR, in rk_spdif_hw_params()
147 struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai); in rk_spdif_trigger() local
154 ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR, in rk_spdif_trigger()
163 ret = regmap_update_bits(spdif->regmap, SPDIF_XFER, in rk_spdif_trigger()
170 ret = regmap_update_bits(spdif->regmap, SPDIF_DMACR, in rk_spdif_trigger()
177 ret = regmap_update_bits(spdif->regmap, SPDIF_XFER, in rk_spdif_trigger()
191 struct rk_spdif_dev *spdif = snd_soc_dai_get_drvdata(dai); in rk_spdif_dai_probe() local
193 dai->playback_dma_data = &spdif->playback_dma_data; in rk_spdif_dai_probe()
278 struct rk_spdif_dev *spdif; in rk_spdif_probe() local
301 spdif = devm_kzalloc(&pdev->dev, sizeof(*spdif), GFP_KERNEL); in rk_spdif_probe()
302 if (!spdif) in rk_spdif_probe()
305 spdif->hclk = devm_clk_get(&pdev->dev, "hclk"); in rk_spdif_probe()
306 if (IS_ERR(spdif->hclk)) { in rk_spdif_probe()
308 return PTR_ERR(spdif->hclk); in rk_spdif_probe()
310 ret = clk_prepare_enable(spdif->hclk); in rk_spdif_probe()
312 dev_err(spdif->dev, "hclock enable failed %d\n", ret); in rk_spdif_probe()
316 spdif->mclk = devm_clk_get(&pdev->dev, "mclk"); in rk_spdif_probe()
317 if (IS_ERR(spdif->mclk)) { in rk_spdif_probe()
319 return PTR_ERR(spdif->mclk); in rk_spdif_probe()
322 ret = clk_prepare_enable(spdif->mclk); in rk_spdif_probe()
324 dev_err(spdif->dev, "clock enable failed %d\n", ret); in rk_spdif_probe()
333 spdif->regmap = devm_regmap_init_mmio_clk(&pdev->dev, "hclk", regs, in rk_spdif_probe()
335 if (IS_ERR(spdif->regmap)) { in rk_spdif_probe()
338 return PTR_ERR(spdif->regmap); in rk_spdif_probe()
341 spdif->playback_dma_data.addr = res->start + SPDIF_SMPDR; in rk_spdif_probe()
342 spdif->playback_dma_data.addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES; in rk_spdif_probe()
343 spdif->playback_dma_data.maxburst = 4; in rk_spdif_probe()
345 spdif->dev = &pdev->dev; in rk_spdif_probe()
346 dev_set_drvdata(&pdev->dev, spdif); in rk_spdif_probe()
376 struct rk_spdif_dev *spdif = dev_get_drvdata(&pdev->dev); in rk_spdif_remove() local
382 clk_disable_unprepare(spdif->mclk); in rk_spdif_remove()
383 clk_disable_unprepare(spdif->hclk); in rk_spdif_remove()