Logo Search packages:      
Sourcecode: linux-fsl-imx51 version File versions  Download package

mxc_mmc.c File Reference


Detailed Description

Driver for the Freescale Semiconductor MXC SDHC modules.

This driver code is based on imxmmc.c, by Sascha Hauer, Pengutronix <sascha@saschahauer.de>. This driver supports both Secure Digital Host Controller modules (SDHC1 and SDHC2) of MXC. SDHC is also referred as MMC/SD controller. This code is not tested for SD cards.

Definition in file mxc_mmc.c.

#include <linux/module.h>
#include <linux/init.h>
#include <linux/ioport.h>
#include <linux/platform_device.h>
#include <linux/interrupt.h>
#include <linux/blkdev.h>
#include <linux/dma-mapping.h>
#include <linux/mmc/mmc.h>
#include <linux/mmc/host.h>
#include <linux/mmc/card.h>
#include <linux/mmc/sd.h>
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/clk.h>
#include <linux/regulator/consumer.h>
#include <mach/dma.h>
#include <asm/io.h>
#include <asm/irq.h>
#include <asm/sizes.h>
#include <asm/mach-types.h>
#include <asm/mach/irq.h>
#include <mach/mmc.h>
#include "mxc_mmc.h"

Go to the source code of this file.

Classes

struct  mxcmci_host

Defines

#define CMD_WAIT_CNT   100
#define MAX_HOST   10
#define MXC_MMC_DMA_ENABLE
#define mxcmci_resume   NULL
#define mxcmci_suspend   NULL
#define NR_SG   1
#define RSP_TYPE(x)   ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))

Functions

 EXPORT_SYMBOL (mxc_mmc_force_detect)
void gpio_sdhc_active (int module)
void gpio_sdhc_inactive (int module)
 MODULE_AUTHOR ("Freescale Semiconductor, Inc.")
 MODULE_DESCRIPTION ("MXC Multimedia Card Interface Driver")
 module_exit (mxcmci_exit)
 module_init (mxcmci_init)
 MODULE_LICENSE ("GPL")
void mxc_mmc_force_detect (int id)
static int mxcmci_cmd_done (struct mxcmci_host *host, unsigned int stat)
static int mxcmci_data_done (struct mxcmci_host *host, unsigned int stat)
static void mxcmci_dma_irq (void *devid, int error, unsigned int cnt)
static void mxcmci_enable_sdio_irq (struct mmc_host *mmc, int enable)
static void __exit mxcmci_exit (void)
static void mxcmci_finish_request (struct mxcmci_host *host, struct mmc_request *req)
static int mxcmci_get_ro (struct mmc_host *mmc)
static irqreturn_t mxcmci_gpio_irq (int irq, void *devid)
static int __init mxcmci_init (void)
static irqreturn_t mxcmci_irq (int irq, void *devid)
static int mxcmci_probe (struct platform_device *pdev)
static int mxcmci_remove (struct platform_device *pdev)
static void mxcmci_request (struct mmc_host *mmc, struct mmc_request *req)
static void mxcmci_set_ios (struct mmc_host *mmc, struct mmc_ios *ios)
static void mxcmci_setup_data (struct mxcmci_host *host, struct mmc_data *data)
static void mxcmci_softreset (struct mxcmci_host *host)
static void mxcmci_start_clock (struct mxcmci_host *host, bool wait)
static void mxcmci_start_cmd (struct mxcmci_host *host, struct mmc_command *cmd, unsigned int cmdat)
static void mxcmci_stop_clock (struct mxcmci_host *host, bool wait)

Variables

static struct mmc_host * hosts [MAX_HOST]
static struct platform_driver mxcmci_driver
static struct mmc_host_ops mxcmci_ops


Generated by  Doxygen 1.6.0   Back to index