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/init.h>
17 #include <asm/scatterlist.h>
19 #include <asm/mach/dma.h>
20 #include <asm/hardware/dec21285.h>
23 static int fb_dma_request(dmach_t channel, dma_t *dma)
28 static void fb_dma_enable(dmach_t channel, dma_t *dma)
32 static void fb_dma_disable(dmach_t channel, dma_t *dma)
36 static struct dma_ops fb_dma_ops = {
38 .request = fb_dma_request,
39 .enable = fb_dma_enable,
40 .disable = fb_dma_disable,
44 void __init arch_dma_init(dma_t *dma)
47 dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops;
48 dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops;
51 if (footbridge_cfn_mode())
52 isa_init_dma(dma + _ISA_DMA(0));