diff options
author | Tom Rini <trini@ti.com> | 2013-08-12 18:06:30 -0400 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2013-08-12 18:06:30 -0400 |
commit | c15438eaea8b854d89455ebf7a1c7c4f06fa92f5 (patch) | |
tree | 1b9f2cddd85c061fb0377681d1fee0a2904d738d /drivers/dma/apbh_dma.c | |
parent | d62a89bd5b5033649a90fa5bfe0f5b32013ca8f8 (diff) | |
parent | 1dc793dd2b8fb97dddf437547d86bd5bcfdb8b29 (diff) | |
download | talos-obmc-uboot-c15438eaea8b854d89455ebf7a1c7c4f06fa92f5.tar.gz talos-obmc-uboot-c15438eaea8b854d89455ebf7a1c7c4f06fa92f5.zip |
Merge branch 'master' of git://www.denx.de/git/u-boot-video
Diffstat (limited to 'drivers/dma/apbh_dma.c')
-rw-r--r-- | drivers/dma/apbh_dma.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/drivers/dma/apbh_dma.c b/drivers/dma/apbh_dma.c index 96d4c9bb19..22defcd7d9 100644 --- a/drivers/dma/apbh_dma.c +++ b/drivers/dma/apbh_dma.c @@ -545,6 +545,28 @@ int mxs_dma_go(int chan) } /* + * Execute a continuously running circular DMA descriptor. + * NOTE: This is not intended for general use, but rather + * for the LCD driver in Smart-LCD mode. It allows + * continuous triggering of the RUN bit there. + */ +void mxs_dma_circ_start(int chan, struct mxs_dma_desc *pdesc) +{ + struct mxs_apbh_regs *apbh_regs = + (struct mxs_apbh_regs *)MXS_APBH_BASE; + + mxs_dma_flush_desc(pdesc); + + mxs_dma_enable_irq(chan, 1); + + writel(mxs_dma_cmd_address(pdesc), + &apbh_regs->ch[chan].hw_apbh_ch_nxtcmdar); + writel(1, &apbh_regs->ch[chan].hw_apbh_ch_sema); + writel(1 << (chan + APBH_CTRL0_CLKGATE_CHANNEL_OFFSET), + &apbh_regs->hw_apbh_ctrl0_clr); +} + +/* * Initialize the DMA hardware */ void mxs_dma_init(void) |