📄 mmc_def.h
字号:
/* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Copyright (C) 2002 Motorola Semiconductors HK Ltd * */#ifndef MMCSDLOCAL_H_adkf /* PROTECT DOUBLE INCLUDE */#define MMCSDLOCAL_H_adkf#include <linux/config.h>#ifdef CONFIG_ARCH_MX2ADS#include <asm/arch/mx2.h>#endif#define MMCSD_TYPE_MMC 1//define Mmc Request Source , see I/O channel request source select register#define MMCSD_REQUEST_SOURCE 21/*--------------------------------------------------------------------------*//* DEFINITIONS FOR CSD/CID *//*--------------------------------------------------------------------------*/#define MMCSD_CSD_LEN 0x0080 /* BIT LENGTH OF CSD REGISTER */#define MMCSD_CID_LEN 0x0080 /* BIT LENGTH OF CID REGISTER */#define MMCSD_CSD_BYTESIZE 16 /* BYTE LENGTH OF CSD REGISTER*/#define MMCSD_CID_BYTESIZE 16 /* BYTE LENGTH OF CID REGISTER*//*--------------------------------------------------------------------------*//* DEFINE COMMANDS *//*--------------------------------------------------------------------------*/#define MMCSD_CMD0 0x00#define MMCSD_CMD1 0x01#define MMCSD_CMD2 0x02#define MMCSD_CMD3 0x03#define MMCSD_CMD4 0x04#define MMCSD_CMD5 0x05#define MMCSD_CMD6 0x06#define MMCSD_CMD7 0x07#define MMCSD_CMD8 0x08#define MMCSD_CMD9 0x09#define MMCSD_CMD10 0x0A#define MMCSD_CMD11 0x0B#define MMCSD_CMD12 0x0C#define MMCSD_CMD13 0x0D#define MMCSD_CMD14 0x0E#define MMCSD_CMD15 0x0F#define MMCSD_CMD16 0x10#define MMCSD_CMD17 0x11#define MMCSD_CMD18 0x12#define MMCSD_CMD19 0x13#define MMCSD_CMD20 0x14#define MMCSD_CMD21 0x15#define MMCSD_CMD22 0x16#define MMCSD_CMD23 0x17#define MMCSD_CMD24 0x18#define MMCSD_CMD25 0x19#define MMCSD_CMD26 0x1A#define MMCSD_CMD27 0x1B#define MMCSD_CMD28 0x1C#define MMCSD_CMD29 0x1D#define MMCSD_CMD30 0x1E#define MMCSD_CMD31 0x1F#define MMCSD_CMD32 0x20#define MMCSD_CMD33 0x21#define MMCSD_CMD34 0x22#define MMCSD_CMD35 0x23#define MMCSD_CMD36 0x24#define MMCSD_CMD37 0x25#define MMCSD_CMD38 0x26#define MMCSD_CMD39 0x27#define MMCSD_CMD40 0x28#define MMCSD_CMD41 0x29#define MMCSD_CMD42 0x2A#define MMCSD_CMD43 0x2B#define MMCSD_CMD44 0x2C#define MMCSD_CMD45 0x2D#define MMCSD_CMD46 0x2E#define MMCSD_CMD47 0x2F#define MMCSD_CMD48 0x30#define MMCSD_CMD49 0x31#define MMCSD_CMD50 0x32#define MMCSD_CMD51 0x33#define MMCSD_CMD52 0x34#define MMCSD_CMD53 0x35#define MMCSD_CMD54 0x36#define MMCSD_CMD55 0x37#define MMCSD_CMD56 0x38#define MMCSD_CMD57 0x39#define MMCSD_CMD58 0x3A#define MMCSD_CMD59 0x3B#define MMCSD_CMD60 0x3C#define MMCSD_CMD61 0x3D#define MMCSD_CMD62 0x3E#define MMCSD_CMD63 0x3F#define MMCSD_ACMD6 0x06#define MMCSD_ACMD13 0x0D#define MMCSD_ACMD22 0x16#define MMCSD_ACMD23 0x17#define MMCSD_ACMD41 0x29#define MMCSD_ACMD42 0x2A#define MMCSD_ACMD51 0x33#define MMCSD_CCC_BASIC (0x1)#define MMCSD_CCC_RES1 (0x1<<1)#define MMCSD_CCC_BLKRD (0x1<<2)#define MMCSD_CCC_RES2 (0x1<<3)#define MMCSD_CCC_BLKWT (0x1<<4)#define MMCSD_CCC_ERASE (0x1<<5)#define MMCSD_CCC_WRPT (0x1<<6)#define MMCSD_CCC_LOCK (0x1<<7)#define MMCSD_CCC_APP (0x1<<8)#define MMCSD_CCC9 (0x1<<9)#define MMCSD_CCC10 (0x1<<10)/*--------------------------------------------------------------------------*//* DEFINE CARD DOMAIN *//*--------------------------------------------------------------------------*/#define MMCSD_CAPA4M 4 /* 4 MByte */#define MMCSD_CAPA8M 8 /* 8 MByte */#define MMCSD_CAPA16M 16 /* 16 MByte */#define MMCSD_CAPA32M 32 /* 32 MByte */#define MMCSD_CAPA48M 48 /* 48 MByte */#define MMCSD_CAPA64M 64 /* 64 MByte */#define MMCSD_CAPA128M 128 /* 128 MByte *//*--------------------------------------------------------------------------*//* DEFINE RESPONSES *//*--------------------------------------------------------------------------*/#define MMCSD_RES1LEN 0x0030 /* (MMC)RESPONSE1BIT LENGTH */#define MMCSD_RES2LEN 0x0088 /* (MMC)RESPONSE2BIT LENGTH */#define MMCSD_RES3LEN 0x0030 /* (MMC)RESPONSE3BIT LENGTH */#define MMCSD_RES4LEN 0x0030 /* (MMC)RESPONSE4BIT LENGTH */#define MMCSD_RES5LEN 0x0030 /* (MMC)RESPONSE5BIT LENGTH *//*--------------------------------------------------------------------------*//* DEFINE WAIT CLOCK *//*--------------------------------------------------------------------------*/#define MMCSD_WAIT_UNIT 8#define MMCSD_NCS_MIN 0*WAIT_UNIT#define MMCSD_NCS_MAX 1*WAIT_UNIT#define MMCSD_NCR_MIN 1*WAIT_UNIT#define MMCSD_NCR_MAX 8*WAIT_UNIT#define MMCSD_NRC_MIN 1*WAIT_UNIT#define MMCSD_NRC_MAX 1*WAIT_UNIT#define MMCSD_NAC_MIN 1*WAIT_UNIT#define MMCSD_NAC_MAX 16*WAIT_UNIT#define MMCSD_NWR_MIN 1*WAIT_UNIT#define MMCSD_NWR_MAX 1*WAIT_UNIT#define MMCSD_BUSY_WAIT 0xFFFFFFFF/* = 65535(decimal) */#define MMCSD_CMD_BITLEN 48 /* BIT LENGTH OF CMD */#define MMCSD_CSD_BYTELEN 16 /* CSD BYTE LENGTH */#define MMCSD_CSD_BITLEN 128 /* CSD BIT LENGTH */#define MMCSD_CID_BITLEN 128 /* CID BIT LENGTH */#define MMCSD_CSD_CLOCK (CSD_BYTELEN+CRC16LEN)*8#define MMCSD_READ_CLOCK (MMCSD_BLOCKLEN+CRC16LEN)*8#define MMCSD_WRITE_CLOCK MMCSD_BLOCKLEN*8#define MMCSD_CRC_CLOCK CRC16LEN*8#define MMCSD_DATARES_CLOCK 4#define MMCSD_WAIT_CSDCLOCK (NCR_MAX+SPI_RESR2LEN+NAC_MAX+CSD_LEN)#define MMCSD_WAIT_CIDCLOCK (NCR_MAX+SPI_RESR2LEN+NAC_MAX+CID_LEN)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -