blob: e7b8a6adaf7acec3683af70a392bcbca0bfa7575 [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
Russell King1df81302008-12-08 15:58:50 +000023static int fb_dma_request(unsigned int chan, dma_t *dma)
Linus Torvalds1da177e2005-04-16 15:20:36 -070024{
25 return -EINVAL;
26}
27
Russell King1df81302008-12-08 15:58:50 +000028static void fb_dma_enable(unsigned int chan, dma_t *dma)
Linus Torvalds1da177e2005-04-16 15:20:36 -070029{
30}
31
Russell King1df81302008-12-08 15:58:50 +000032static void fb_dma_disable(unsigned int chan, dma_t *dma)
Linus Torvalds1da177e2005-04-16 15:20:36 -070033{
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}