sync hh.org
[hh.org.git] / drivers / mmc / s3c2410mci.h
blob9bccb1fc3fc99c2378c310c2914d6da5d1aa845c
1 /*
2 * linux/drivers/mmc/s3c2410mci.h - Samsung S3C2410 SDI Interface driver
4 * Copyright (C) 2004 Thomas Kleffel, All Rights Reserved.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
11 struct clk;
13 //FIXME: DMA Resource management ?!
14 #define S3C2410SDI_DMA 0
16 enum s3c2410sdi_waitfor {
17 COMPLETION_NONE,
18 COMPLETION_CMDSENT,
19 COMPLETION_RSPFIN,
20 COMPLETION_XFERFINISH,
21 COMPLETION_XFERFINISH_RSPFIN,
24 struct s3c2410sdi_host {
25 struct mmc_host *mmc;
27 struct resource *mem;
28 struct clk *clk;
29 void __iomem *base;
30 int irq;
31 int irq_cd;
32 int dma;
33 #ifdef S3C2410SDI_DMA_BACKBUF
34 dma_addr_t dmabuf_phys;
35 void *dmabuf_log;
36 unsigned int dmabuf_size;
37 #endif
39 struct mmc_request *mrq;
41 spinlock_t complete_lock;
42 struct completion complete_request;
43 struct completion complete_dma;
44 enum s3c2410sdi_waitfor complete_what;