/* * linux/drivers/mmc/host/omap.c * * Copyright (C) 2004 Nokia Corporation * Written by Tuukka Tikkanen and Juha Yrjölä<juha.yrjola@nokia.com> * Misc hacks here and there by Tony Lindgren <tony@atomide.com> * Other hacks (DMA, SD, etc) by David Brownell * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */#include<linux/module.h>#include<linux/moduleparam.h>#include<linux/init.h>#include<linux/ioport.h>#include<linux/platform_device.h>#include<linux/interrupt.h>#include<linux/dmaengine.h>#include<linux/dma-mapping.h>#include<linux/delay.h>#include<linux/spinlock.h>#include<linux/timer.h>#include<linux/of.h>#include<linux/omap-dma.h>#include<linux/mmc/host.h>#include<linux/mmc/card.h>#include<linux/clk.h>#include<linux/scatterlist.h>#include<linux/slab.h>#include<linux/platform_data/mmc-omap.h>#define OMAP_MMC_REG_CMD 0x00#define OMAP_MMC_REG_ARGL 0x01#define OMAP_MMC_REG_ARGH 0x02#define OMAP_MMC_REG_CON 0x03#define OMAP_MMC_REG_STAT 0x04#define OMAP_MMC_REG_IE 0x05#define OMAP_MMC_REG_CTO 0x06#define OMAP_MMC_REG_DTO 0x07#define OMAP_MMC_REG_DATA 0x08#define OMAP_MMC_REG_BLEN 0x09#define OMAP_MMC_REG_NBLK 0x0a#define OMAP_MMC_REG_BUF 0x0b#define OMAP_MMC_REG_SDIO 0x0d#define OMAP_MMC_REG_REV 0x0f#define OMAP_MMC_REG_RSP0 0x10#define OMAP_MMC_REG_RSP1 0x11#define OMAP_MMC_REG_RSP2 0x12#define OMAP_MMC_REG_RSP3 0x13#define OMAP_MMC_REG_RSP4 0x14#define OMAP_MMC_REG_RSP5 0x15#define OMAP_MMC_REG_RSP6 0x16#define OMAP_MMC_REG_RSP7 0x17#define OMAP_MMC_REG_IOSR 0x18#define OMAP_MMC_REG_SYSC 0x19#define OMAP_MMC_REG_SYSS 0x1a#define OMAP_MMC_STAT_CARD_ERR (1 << 14)#define OMAP_MMC_STAT_CARD_IRQ (1 << 13)#define OMAP_MMC_STAT_OCR_BUSY (1 <<