Lines Matching refs:zx_spdif
84 struct zx_spdif_info *zx_spdif = dev_get_drvdata(dai->dev); in zx_spdif_dai_probe() local
86 snd_soc_dai_set_drvdata(dai, zx_spdif); in zx_spdif_dai_probe()
87 zx_spdif->dma_data.addr = zx_spdif->mapbase + ZX_DATA; in zx_spdif_dai_probe()
88 zx_spdif->dma_data.maxburst = 8; in zx_spdif_dai_probe()
89 snd_soc_dai_init_dma_data(dai, &zx_spdif->dma_data, NULL); in zx_spdif_dai_probe()
139 struct zx_spdif_info *zx_spdif = dev_get_drvdata(socdai->dev); in zx_spdif_hw_params() local
148 val = readl_relaxed(zx_spdif->reg_base + ZX_CTRL); in zx_spdif_hw_params()
176 writel_relaxed(val, zx_spdif->reg_base + ZX_CTRL); in zx_spdif_hw_params()
178 val = readl_relaxed(zx_spdif->reg_base + ZX_VALID_BIT); in zx_spdif_hw_params()
184 writel_relaxed(val, zx_spdif->reg_base + ZX_VALID_BIT); in zx_spdif_hw_params()
187 ret = zx_spdif_chanstats(zx_spdif->reg_base, rate); in zx_spdif_hw_params()
213 struct zx_spdif_info *zx_spdif = dev_get_drvdata(dai->dev); in zx_spdif_trigger() local
218 val = readl_relaxed(zx_spdif->reg_base + ZX_FIFOCTRL); in zx_spdif_trigger()
220 writel_relaxed(val, zx_spdif->reg_base + ZX_FIFOCTRL); in zx_spdif_trigger()
224 zx_spdif_cfg_tx(zx_spdif->reg_base, true); in zx_spdif_trigger()
230 zx_spdif_cfg_tx(zx_spdif->reg_base, false); in zx_spdif_trigger()
244 struct zx_spdif_info *zx_spdif = dev_get_drvdata(dai->dev); in zx_spdif_startup() local
246 return clk_prepare_enable(zx_spdif->dai_clk); in zx_spdif_startup()
252 struct zx_spdif_info *zx_spdif = dev_get_drvdata(dai->dev); in zx_spdif_shutdown() local
254 clk_disable_unprepare(zx_spdif->dai_clk); in zx_spdif_shutdown()
308 struct zx_spdif_info *zx_spdif; in zx_spdif_probe() local
311 zx_spdif = devm_kzalloc(&pdev->dev, sizeof(*zx_spdif), GFP_KERNEL); in zx_spdif_probe()
312 if (!zx_spdif) in zx_spdif_probe()
315 zx_spdif->dai_clk = devm_clk_get(&pdev->dev, "tx"); in zx_spdif_probe()
316 if (IS_ERR(zx_spdif->dai_clk)) { in zx_spdif_probe()
318 return PTR_ERR(zx_spdif->dai_clk); in zx_spdif_probe()
322 zx_spdif->mapbase = res->start; in zx_spdif_probe()
323 zx_spdif->reg_base = devm_ioremap_resource(&pdev->dev, res); in zx_spdif_probe()
324 if (IS_ERR(zx_spdif->reg_base)) { in zx_spdif_probe()
325 return PTR_ERR(zx_spdif->reg_base); in zx_spdif_probe()
328 zx_spdif_dev_init(zx_spdif->reg_base); in zx_spdif_probe()
329 platform_set_drvdata(pdev, zx_spdif); in zx_spdif_probe()