Lines Matching refs:zx_tdm

151 	struct zx_tdm_info *zx_tdm = dev_get_drvdata(dai->dev);  in zx_tdm_dai_probe()  local
153 snd_soc_dai_set_drvdata(dai, zx_tdm); in zx_tdm_dai_probe()
154 zx_tdm->dma_playback.addr = zx_tdm->phy_addr + REG_DATABUF; in zx_tdm_dai_probe()
155 zx_tdm->dma_playback.maxburst = 16; in zx_tdm_dai_probe()
156 zx_tdm->dma_capture.addr = zx_tdm->phy_addr + REG_DATABUF; in zx_tdm_dai_probe()
157 zx_tdm->dma_capture.maxburst = 16; in zx_tdm_dai_probe()
158 snd_soc_dai_init_dma_data(dai, &zx_tdm->dma_playback, in zx_tdm_dai_probe()
159 &zx_tdm->dma_capture); in zx_tdm_dai_probe()
234 struct zx_tdm_info *zx_tdm = dev_get_drvdata(dai->dev); in zx_tdm_trigger() local
241 val = zx_tdm_readl(zx_tdm, REG_RX_FIFO_CTRL); in zx_tdm_trigger()
243 zx_tdm_writel(zx_tdm, REG_RX_FIFO_CTRL, val); in zx_tdm_trigger()
245 zx_tdm_rx_dma_en(zx_tdm, true); in zx_tdm_trigger()
247 val = zx_tdm_readl(zx_tdm, REG_TX_FIFO_CTRL); in zx_tdm_trigger()
249 zx_tdm_writel(zx_tdm, REG_TX_FIFO_CTRL, val); in zx_tdm_trigger()
251 zx_tdm_tx_dma_en(zx_tdm, true); in zx_tdm_trigger()
257 zx_tdm_rx_en(zx_tdm, true); in zx_tdm_trigger()
259 zx_tdm_tx_en(zx_tdm, true); in zx_tdm_trigger()
263 zx_tdm_rx_dma_en(zx_tdm, false); in zx_tdm_trigger()
265 zx_tdm_tx_dma_en(zx_tdm, false); in zx_tdm_trigger()
270 zx_tdm_rx_en(zx_tdm, false); in zx_tdm_trigger()
272 zx_tdm_tx_en(zx_tdm, false); in zx_tdm_trigger()
285 struct zx_tdm_info *zx_tdm = dev_get_drvdata(dai->dev); in zx_tdm_startup() local
288 ret = clk_prepare_enable(zx_tdm->dai_wclk); in zx_tdm_startup()
292 ret = clk_prepare_enable(zx_tdm->dai_pclk); in zx_tdm_startup()
294 clk_disable_unprepare(zx_tdm->dai_wclk); in zx_tdm_startup()
304 struct zx_tdm_info *zx_tdm = dev_get_drvdata(dai->dev); in zx_tdm_shutdown() local
306 clk_disable_unprepare(zx_tdm->dai_pclk); in zx_tdm_shutdown()
307 clk_disable_unprepare(zx_tdm->dai_wclk); in zx_tdm_shutdown()
376 struct zx_tdm_info *zx_tdm; in zx_tdm_probe() local
382 zx_tdm = devm_kzalloc(&pdev->dev, sizeof(*zx_tdm), GFP_KERNEL); in zx_tdm_probe()
383 if (!zx_tdm) in zx_tdm_probe()
386 zx_tdm->dev = &pdev->dev; in zx_tdm_probe()
388 zx_tdm->dai_wclk = devm_clk_get(&pdev->dev, "wclk"); in zx_tdm_probe()
389 if (IS_ERR(zx_tdm->dai_wclk)) { in zx_tdm_probe()
391 return PTR_ERR(zx_tdm->dai_wclk); in zx_tdm_probe()
394 zx_tdm->dai_pclk = devm_clk_get(&pdev->dev, "pclk"); in zx_tdm_probe()
395 if (IS_ERR(zx_tdm->dai_pclk)) { in zx_tdm_probe()
397 return PTR_ERR(zx_tdm->dai_pclk); in zx_tdm_probe()
401 zx_tdm->phy_addr = res->start; in zx_tdm_probe()
402 zx_tdm->regbase = devm_ioremap_resource(&pdev->dev, res); in zx_tdm_probe()
403 if (IS_ERR(zx_tdm->regbase)) in zx_tdm_probe()
404 return PTR_ERR(zx_tdm->regbase); in zx_tdm_probe()
424 zx_tdm_init_state(zx_tdm); in zx_tdm_probe()
425 platform_set_drvdata(pdev, zx_tdm); in zx_tdm_probe()