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