Lines Matching refs:acp3x_base
25 void __iomem *acp3x_base; member
36 void __iomem *acp3x_base; member
79 static int acp3x_power_on(void __iomem *acp3x_base, bool on) in acp3x_power_on() argument
92 rv_writel(val, acp3x_base + mmACP_PGFSM_CONTROL); in acp3x_power_on()
95 val = rv_readl(acp3x_base + mmACP_PGFSM_STATUS); in acp3x_power_on()
108 static int acp3x_reset(void __iomem *acp3x_base) in acp3x_reset() argument
112 rv_writel(1, acp3x_base + mmACP_SOFT_RESET); in acp3x_reset()
115 val = rv_readl(acp3x_base + mmACP_SOFT_RESET); in acp3x_reset()
126 rv_writel(0, acp3x_base + mmACP_SOFT_RESET); in acp3x_reset()
129 val = rv_readl(acp3x_base + mmACP_SOFT_RESET); in acp3x_reset()
141 static int acp3x_init(void __iomem *acp3x_base) in acp3x_init() argument
146 ret = acp3x_power_on(acp3x_base, true); in acp3x_init()
152 ret = acp3x_reset(acp3x_base); in acp3x_init()
160 static int acp3x_deinit(void __iomem *acp3x_base) in acp3x_deinit() argument
165 ret = acp3x_reset(acp3x_base); in acp3x_deinit()
171 ret = acp3x_power_on(acp3x_base, false); in acp3x_deinit()
190 val = rv_readl(rv_i2s_data->acp3x_base + mmACP_EXTERNAL_INTR_STAT); in i2s_irq_handler()
192 rv_writel(BIT(BT_TX_THRESHOLD), rv_i2s_data->acp3x_base + in i2s_irq_handler()
199 rv_writel(BIT(BT_RX_THRESHOLD), rv_i2s_data->acp3x_base + in i2s_irq_handler()
224 rv_writel(ACP_SRAM_PTE_OFFSET | BIT(31), rtd->acp3x_base + in config_acp3x_dma()
226 rv_writel(PAGE_SIZE_4K_ENABLE, rtd->acp3x_base + in config_acp3x_dma()
234 rv_writel(low, rtd->acp3x_base + mmACP_SCRATCH_REG_0 + val); in config_acp3x_dma()
236 rv_writel(high, rtd->acp3x_base + mmACP_SCRATCH_REG_0 + val in config_acp3x_dma()
245 rv_writel(MEM_WINDOW_START, rtd->acp3x_base + in config_acp3x_dma()
247 rv_writel(MAX_BUFFER, rtd->acp3x_base + in config_acp3x_dma()
249 rv_writel(DMA_SIZE, rtd->acp3x_base + mmACP_BT_TX_DMA_SIZE); in config_acp3x_dma()
254 rv_writel(acp_fifo_addr, rtd->acp3x_base + in config_acp3x_dma()
256 rv_writel(FIFO_SIZE, rtd->acp3x_base + mmACP_BT_TX_FIFOSIZE); in config_acp3x_dma()
259 rv_writel(MEM_WINDOW_START + MAX_BUFFER, rtd->acp3x_base + in config_acp3x_dma()
261 rv_writel(MAX_BUFFER, rtd->acp3x_base + in config_acp3x_dma()
263 rv_writel(DMA_SIZE, rtd->acp3x_base + mmACP_BT_RX_DMA_SIZE); in config_acp3x_dma()
268 rv_writel(acp_fifo_addr, rtd->acp3x_base + in config_acp3x_dma()
270 rv_writel(FIFO_SIZE, rtd->acp3x_base + mmACP_BT_RX_FIFOSIZE); in config_acp3x_dma()
275 rtd->acp3x_base + mmACP_EXTERNAL_INTR_CNTL); in config_acp3x_dma()
307 rv_writel(1, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB); in acp3x_dma_open()
314 i2s_data->acp3x_base = adata->acp3x_base; in acp3x_dma_open()
324 byte_count = rv_readl(rtd->acp3x_base + in acp_get_byte_count()
326 byte_count |= rv_readl(rtd->acp3x_base + in acp_get_byte_count()
329 byte_count = rv_readl(rtd->acp3x_base + in acp_get_byte_count()
331 byte_count |= rv_readl(rtd->acp3x_base + in acp_get_byte_count()
420 rv_writel(0, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB); in acp3x_dma_close()
480 val = rv_readl(adata->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_set_tdm_slot()
481 rv_writel((val | 0x2), adata->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_set_tdm_slot()
482 val = rv_readl(adata->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_set_tdm_slot()
483 rv_writel((val | 0x2), adata->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_set_tdm_slot()
486 rv_writel(val, adata->acp3x_base + mmACP_BTTDM_TXFRMT); in acp3x_dai_set_tdm_slot()
487 rv_writel(val, adata->acp3x_base + mmACP_BTTDM_RXFRMT); in acp3x_dai_set_tdm_slot()
517 val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_hwparams()
520 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_hwparams()
522 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_i2s_hwparams()
542 rv_writel(period_bytes, rtd->acp3x_base + in acp3x_dai_i2s_trigger()
544 val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_trigger()
546 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_trigger()
548 rv_writel(period_bytes, rtd->acp3x_base + in acp3x_dai_i2s_trigger()
550 val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_i2s_trigger()
552 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_i2s_trigger()
554 rv_writel(1, rtd->acp3x_base + mmACP_BTTDM_IER); in acp3x_dai_i2s_trigger()
560 val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_trigger()
562 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_dai_i2s_trigger()
564 val = rv_readl(rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_i2s_trigger()
566 rv_writel(val, rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_dai_i2s_trigger()
568 rv_writel(0, rtd->acp3x_base + mmACP_BTTDM_IER); in acp3x_dai_i2s_trigger()
641 adata->acp3x_base = devm_ioremap(&pdev->dev, res->start, in acp3x_audio_probe()
656 status = acp3x_init(adata->acp3x_base); in acp3x_audio_probe()
678 status = acp3x_deinit(adata->acp3x_base); in acp3x_audio_probe()
692 ret = acp3x_deinit(adata->acp3x_base); in acp3x_audio_remove()
708 status = acp3x_init(adata->acp3x_base); in acp3x_resume()
717 rtd->acp3x_base + mmACP_BTTDM_ITER); in acp3x_resume()
719 rv_writel(adata->tdm_fmt, adata->acp3x_base + in acp3x_resume()
721 val = rv_readl(adata->acp3x_base + mmACP_BTTDM_ITER); in acp3x_resume()
722 rv_writel((val | 0x2), adata->acp3x_base + in acp3x_resume()
732 rtd->acp3x_base + mmACP_BTTDM_IRER); in acp3x_resume()
734 rv_writel(adata->tdm_fmt, adata->acp3x_base + in acp3x_resume()
736 val = rv_readl(adata->acp3x_base + mmACP_BTTDM_IRER); in acp3x_resume()
737 rv_writel((val | 0x2), adata->acp3x_base + in acp3x_resume()
742 rv_writel(1, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB); in acp3x_resume()
752 status = acp3x_deinit(adata->acp3x_base); in acp3x_pcm_runtime_suspend()
758 rv_writel(0, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB); in acp3x_pcm_runtime_suspend()
768 status = acp3x_init(adata->acp3x_base); in acp3x_pcm_runtime_resume()
771 rv_writel(1, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB); in acp3x_pcm_runtime_resume()