Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/mmc/host/s3cmci.h
15111 views
1
/*
2
* linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
3
*
4
* Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved.
5
*
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
*/
10
11
enum s3cmci_waitfor {
12
COMPLETION_NONE,
13
COMPLETION_FINALIZE,
14
COMPLETION_CMDSENT,
15
COMPLETION_RSPFIN,
16
COMPLETION_XFERFINISH,
17
COMPLETION_XFERFINISH_RSPFIN,
18
};
19
20
struct s3cmci_host {
21
struct platform_device *pdev;
22
struct s3c24xx_mci_pdata *pdata;
23
struct mmc_host *mmc;
24
struct resource *mem;
25
struct clk *clk;
26
void __iomem *base;
27
int irq;
28
int irq_cd;
29
int dma;
30
31
unsigned long clk_rate;
32
unsigned long clk_div;
33
unsigned long real_rate;
34
u8 prescaler;
35
36
int is2440;
37
unsigned sdiimsk;
38
unsigned sdidata;
39
int dodma;
40
int dmatogo;
41
42
bool irq_disabled;
43
bool irq_enabled;
44
bool irq_state;
45
int sdio_irqen;
46
47
struct mmc_request *mrq;
48
int cmd_is_stop;
49
50
spinlock_t complete_lock;
51
enum s3cmci_waitfor complete_what;
52
53
int dma_complete;
54
55
u32 pio_sgptr;
56
u32 pio_bytes;
57
u32 pio_count;
58
u32 *pio_ptr;
59
#define XFER_NONE 0
60
#define XFER_READ 1
61
#define XFER_WRITE 2
62
u32 pio_active;
63
64
int bus_width;
65
66
char dbgmsg_cmd[301];
67
char dbgmsg_dat[301];
68
char *status;
69
70
unsigned int ccnt, dcnt;
71
struct tasklet_struct pio_tasklet;
72
73
#ifdef CONFIG_DEBUG_FS
74
struct dentry *debug_root;
75
struct dentry *debug_state;
76
struct dentry *debug_regs;
77
#endif
78
79
#ifdef CONFIG_CPU_FREQ
80
struct notifier_block freq_transition;
81
#endif
82
};
83
84