2 * linux/drivers/mmc/host/glamo-mmc.h - GLAMO MCI driver
4 * Copyright (C) 2007-2008 Openmoko, Inc, Andy Green <andy@openmoko.com>
5 * based on S3C MMC driver -->
6 * Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License version 2 as
10 * published by the Free Software Foundation.
14 enum glamo_mci_waitfor
{
19 COMPLETION_XFERFINISH
,
20 COMPLETION_XFERFINISH_RSPFIN
,
23 struct glamo_mci_host
{
24 struct platform_device
*pdev
;
25 struct glamo_mci_pdata
*pdata
;
28 struct resource
*mem_data
;
31 u16 __iomem
*base_data
;
39 int power_mode_current
;
40 unsigned int vdd_current
;
42 unsigned long clk_rate
;
43 unsigned long clk_div
;
44 unsigned long real_rate
;
47 int force_slow_during_powerup
;
54 struct mmc_request
*mrq
;
57 spinlock_t complete_lock
;
58 volatile enum glamo_mci_waitfor
61 volatile int dma_complete
;
63 volatile u32 pio_sgptr
;
64 volatile u32 pio_words
;
65 volatile u32 pio_count
;
66 volatile u16
*pio_ptr
;
70 volatile u32 pio_active
;
76 volatile char *status
;
78 unsigned int ccnt
, dcnt
;
79 struct tasklet_struct pio_tasklet
;