blob: b653e9cfa3f7761ee9d988a213223c71470eb706 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * linux/arch/arm/kernel/dma-ebsa285.c
3 *
4 * Copyright (C) 1998 Phil Blundell
5 *
6 * DMA functions specific to EBSA-285/CATS architectures
7 *
8 * Changelog:
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.
12 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070013#include <linux/init.h>
Russell Kingfced80c2008-09-06 12:10:45 +010014#include <linux/io.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
16#include <asm/dma.h>
Russell King78ff18a2006-01-03 17:39:34 +000017#include <asm/scatterlist.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070018
19#include <asm/mach/dma.h>
20#include <asm/hardware/dec21285.h>
21
22#if 0
23static int fb_dma_request(dmach_t channel, dma_t *dma)
24{
25 return -EINVAL;
26}
27
28static void fb_dma_enable(dmach_t channel, dma_t *dma)
29{
30}
31
32static void fb_dma_disable(dmach_t channel, dma_t *dma)
33{
34}
35
36static struct dma_ops fb_dma_ops = {
37 .type = "fb",
38 .request = fb_dma_request,
39 .enable = fb_dma_enable,
40 .disable = fb_dma_disable,
41};
42#endif
43
44void __init arch_dma_init(dma_t *dma)
45{
46#if 0
47 dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops;
48 dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops;
49#endif
50#ifdef CONFIG_ISA_DMA
51 if (footbridge_cfn_mode())
52 isa_init_dma(dma + _ISA_DMA(0));
53#endif
54}