2 * linux/arch/arm/kernel/dma-ebsa285.c
4 * Copyright (C) 1998 Phil Blundell
6 * DMA functions specific to EBSA-285/CATS architectures
9 * 09-Nov-1998 RMK Split out ISA DMA functions to dma-isa.c
10 * 17-Mar-1999 RMK Allow any EBSA285-like architecture to have
11 * ISA DMA controllers.
13 #include <linux/config.h>
14 #include <linux/init.h>
18 #include <asm/scatterlist.h>
20 #include <asm/mach/dma.h>
21 #include <asm/hardware/dec21285.h>
24 static int fb_dma_request(dmach_t channel, dma_t *dma)
29 static void fb_dma_enable(dmach_t channel, dma_t *dma)
33 static void fb_dma_disable(dmach_t channel, dma_t *dma)
37 static struct dma_ops fb_dma_ops = {
39 .request = fb_dma_request,
40 .enable = fb_dma_enable,
41 .disable = fb_dma_disable,
45 void __init arch_dma_init(dma_t *dma)
48 dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops;
49 dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops;
52 if (footbridge_cfn_mode())
53 isa_init_dma(dma + _ISA_DMA(0));