mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.3 KiB
75 lines
1.3 KiB
/* SPDX-License-Identifier: GPL-2.0-only */ |
|
/* |
|
* linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver |
|
* |
|
* Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved. |
|
*/ |
|
|
|
enum s3cmci_waitfor { |
|
COMPLETION_NONE, |
|
COMPLETION_FINALIZE, |
|
COMPLETION_CMDSENT, |
|
COMPLETION_RSPFIN, |
|
COMPLETION_XFERFINISH, |
|
COMPLETION_XFERFINISH_RSPFIN, |
|
}; |
|
|
|
struct s3cmci_host { |
|
struct platform_device *pdev; |
|
struct s3c24xx_mci_pdata *pdata; |
|
struct mmc_host *mmc; |
|
struct resource *mem; |
|
struct clk *clk; |
|
void __iomem *base; |
|
int irq; |
|
int irq_cd; |
|
struct dma_chan *dma; |
|
|
|
unsigned long clk_rate; |
|
unsigned long clk_div; |
|
unsigned long real_rate; |
|
u8 prescaler; |
|
|
|
int is2440; |
|
unsigned sdiimsk; |
|
unsigned sdidata; |
|
|
|
bool irq_disabled; |
|
bool irq_enabled; |
|
bool irq_state; |
|
int sdio_irqen; |
|
|
|
struct mmc_request *mrq; |
|
int cmd_is_stop; |
|
|
|
spinlock_t complete_lock; |
|
enum s3cmci_waitfor complete_what; |
|
|
|
int dma_complete; |
|
|
|
u32 pio_sgptr; |
|
u32 pio_bytes; |
|
u32 pio_count; |
|
u32 *pio_ptr; |
|
#define XFER_NONE 0 |
|
#define XFER_READ 1 |
|
#define XFER_WRITE 2 |
|
u32 pio_active; |
|
|
|
int bus_width; |
|
|
|
char dbgmsg_cmd[301]; |
|
char dbgmsg_dat[301]; |
|
char *status; |
|
|
|
unsigned int ccnt, dcnt; |
|
struct tasklet_struct pio_tasklet; |
|
|
|
#ifdef CONFIG_DEBUG_FS |
|
struct dentry *debug_root; |
|
#endif |
|
|
|
#ifdef CONFIG_ARM_S3C24XX_CPUFREQ |
|
struct notifier_block freq_transition; |
|
#endif |
|
};
|
|
|