root/drivers/mmc/host/s3cmci.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  *  linux/drivers/mmc/s3cmci.h - Samsung S3C MCI driver
   4  *
   5  *  Copyright (C) 2004-2006 Thomas Kleffel, All Rights Reserved.
   6  */
   7 
   8 enum s3cmci_waitfor {
   9         COMPLETION_NONE,
  10         COMPLETION_FINALIZE,
  11         COMPLETION_CMDSENT,
  12         COMPLETION_RSPFIN,
  13         COMPLETION_XFERFINISH,
  14         COMPLETION_XFERFINISH_RSPFIN,
  15 };
  16 
  17 struct s3cmci_host {
  18         struct platform_device  *pdev;
  19         struct s3c24xx_mci_pdata *pdata;
  20         struct mmc_host         *mmc;
  21         struct resource         *mem;
  22         struct clk              *clk;
  23         void __iomem            *base;
  24         int                     irq;
  25         int                     irq_cd;
  26         struct dma_chan         *dma;
  27 
  28         unsigned long           clk_rate;
  29         unsigned long           clk_div;
  30         unsigned long           real_rate;
  31         u8                      prescaler;
  32 
  33         int                     is2440;
  34         unsigned                sdiimsk;
  35         unsigned                sdidata;
  36 
  37         bool                    irq_disabled;
  38         bool                    irq_enabled;
  39         bool                    irq_state;
  40         int                     sdio_irqen;
  41 
  42         struct mmc_request      *mrq;
  43         int                     cmd_is_stop;
  44 
  45         spinlock_t              complete_lock;
  46         enum s3cmci_waitfor     complete_what;
  47 
  48         int                     dma_complete;
  49 
  50         u32                     pio_sgptr;
  51         u32                     pio_bytes;
  52         u32                     pio_count;
  53         u32                     *pio_ptr;
  54 #define XFER_NONE 0
  55 #define XFER_READ 1
  56 #define XFER_WRITE 2
  57         u32                     pio_active;
  58 
  59         int                     bus_width;
  60 
  61         char                    dbgmsg_cmd[301];
  62         char                    dbgmsg_dat[301];
  63         char                    *status;
  64 
  65         unsigned int            ccnt, dcnt;
  66         struct tasklet_struct   pio_tasklet;
  67 
  68 #ifdef CONFIG_DEBUG_FS
  69         struct dentry           *debug_root;
  70 #endif
  71 
  72 #ifdef CONFIG_ARM_S3C24XX_CPUFREQ
  73         struct notifier_block   freq_transition;
  74 #endif
  75 };

/* [<][>][^][v][top][bottom][index][help] */