diff options
Diffstat (limited to 'drivers/mmc/tegra2_mmc.h')
| -rw-r--r-- | drivers/mmc/tegra2_mmc.h | 49 | 
1 files changed, 49 insertions, 0 deletions
| diff --git a/drivers/mmc/tegra2_mmc.h b/drivers/mmc/tegra2_mmc.h index 28698e0fc..671583c42 100644 --- a/drivers/mmc/tegra2_mmc.h +++ b/drivers/mmc/tegra2_mmc.h @@ -68,6 +68,55 @@ struct tegra2_mmc {  	unsigned char	res6[0x100];	/* RESERVED, offset 100h-1FFh */  }; +#define TEGRA_MMC_HOSTCTL_DMASEL_MASK				(3 << 3) +#define TEGRA_MMC_HOSTCTL_DMASEL_SDMA				(0 << 3) +#define TEGRA_MMC_HOSTCTL_DMASEL_ADMA2_32BIT			(2 << 3) +#define TEGRA_MMC_HOSTCTL_DMASEL_ADMA2_64BIT			(3 << 3) + +#define TEGRA_MMC_TRNMOD_DMA_ENABLE				(1 << 0) +#define TEGRA_MMC_TRNMOD_BLOCK_COUNT_ENABLE			(1 << 1) +#define TEGRA_MMC_TRNMOD_DATA_XFER_DIR_SEL_WRITE		(0 << 4) +#define TEGRA_MMC_TRNMOD_DATA_XFER_DIR_SEL_READ			(1 << 4) +#define TEGRA_MMC_TRNMOD_MULTI_BLOCK_SELECT			(1 << 5) + +#define TEGRA_MMC_CMDREG_RESP_TYPE_SELECT_MASK			(3 << 0) +#define TEGRA_MMC_CMDREG_RESP_TYPE_SELECT_NO_RESPONSE		(0 << 0) +#define TEGRA_MMC_CMDREG_RESP_TYPE_SELECT_LENGTH_136		(1 << 0) +#define TEGRA_MMC_CMDREG_RESP_TYPE_SELECT_LENGTH_48		(2 << 0) +#define TEGRA_MMC_CMDREG_RESP_TYPE_SELECT_LENGTH_48_BUSY	(3 << 0) + +#define TEGRA_MMC_TRNMOD_CMD_CRC_CHECK				(1 << 3) +#define TEGRA_MMC_TRNMOD_CMD_INDEX_CHECK			(1 << 4) +#define TEGRA_MMC_TRNMOD_DATA_PRESENT_SELECT_DATA_TRANSFER	(1 << 5) + +#define TEGRA_MMC_PRNSTS_CMD_INHIBIT_CMD			(1 << 0) +#define TEGRA_MMC_PRNSTS_CMD_INHIBIT_DAT			(1 << 1) + +#define TEGRA_MMC_CLKCON_INTERNAL_CLOCK_ENABLE			(1 << 0) +#define TEGRA_MMC_CLKCON_INTERNAL_CLOCK_STABLE			(1 << 1) +#define TEGRA_MMC_CLKCON_SD_CLOCK_ENABLE			(1 << 2) + +#define TEGRA_MMC_CLKCON_SDCLK_FREQ_SEL_SHIFT			8 +#define TEGRA_MMC_CLKCON_SDCLK_FREQ_SEL_MASK			(0xff << 8) + +#define TEGRA_MMC_SWRST_SW_RESET_FOR_ALL			(1 << 0) +#define TEGRA_MMC_SWRST_SW_RESET_FOR_CMD_LINE			(1 << 1) +#define TEGRA_MMC_SWRST_SW_RESET_FOR_DAT_LINE			(1 << 2) + +#define TEGRA_MMC_NORINTSTS_CMD_COMPLETE			(1 << 0) +#define TEGRA_MMC_NORINTSTS_XFER_COMPLETE			(1 << 1) +#define TEGRA_MMC_NORINTSTS_DMA_INTERRUPT			(1 << 3) +#define TEGRA_MMC_NORINTSTS_ERR_INTERRUPT			(1 << 15) +#define TEGRA_MMC_NORINTSTS_CMD_TIMEOUT				(1 << 16) + +#define TEGRA_MMC_NORINTSTSEN_CMD_COMPLETE			(1 << 0) +#define TEGRA_MMC_NORINTSTSEN_XFER_COMPLETE			(1 << 1) +#define TEGRA_MMC_NORINTSTSEN_DMA_INTERRUPT			(1 << 3) +#define TEGRA_MMC_NORINTSTSEN_BUFFER_WRITE_READY		(1 << 4) +#define TEGRA_MMC_NORINTSTSEN_BUFFER_READ_READY			(1 << 5) + +#define TEGRA_MMC_NORINTSIGEN_XFER_COMPLETE			(1 << 1) +  struct mmc_host {  	struct tegra2_mmc *reg;  	unsigned int version;	/* SDHCI spec. version */ |