blob: 4f3506346969d6214dd12004e48c057f31bd6b07 [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>
Russell King70d13e02008-12-06 08:25:16 +000015#include <linux/spinlock.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070016
17#include <asm/dma.h>
Russell King78ff18a2006-01-03 17:39:34 +000018#include <asm/scatterlist.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -070019
20#include <asm/mach/dma.h>
21#include <asm/hardware/dec21285.h>
22
23#if 0
24static int fb_dma_request(dmach_t channel, dma_t *dma)
25{
26 return -EINVAL;
27}
28
29static void fb_dma_enable(dmach_t channel, dma_t *dma)
30{
31}
32
33static void fb_dma_disable(dmach_t channel, dma_t *dma)
34{
35}
36
37static struct dma_ops fb_dma_ops = {
38 .type = "fb",
39 .request = fb_dma_request,
40 .enable = fb_dma_enable,
41 .disable = fb_dma_disable,
42};
43#endif
44
45void __init arch_dma_init(dma_t *dma)
46{
47#if 0
48 dma[_DC21285_DMA(0)].d_ops = &fb_dma_ops;
49 dma[_DC21285_DMA(1)].d_ops = &fb_dma_ops;
50#endif
51#ifdef CONFIG_ISA_DMA
52 if (footbridge_cfn_mode())
53 isa_init_dma(dma + _ISA_DMA(0));
54#endif
55}