diff options
Diffstat (limited to 'include/asm-avr32/arch-at32ap7000/mmc.h')
| -rw-r--r-- | include/asm-avr32/arch-at32ap7000/mmc.h | 96 | 
1 files changed, 96 insertions, 0 deletions
| diff --git a/include/asm-avr32/arch-at32ap7000/mmc.h b/include/asm-avr32/arch-at32ap7000/mmc.h new file mode 100644 index 000000000..fcfbbb3c6 --- /dev/null +++ b/include/asm-avr32/arch-at32ap7000/mmc.h @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2004-2006 Atmel Corporation + * + * See file CREDITS for list of people who contributed to this + * project. + * + * 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 + */ +#ifndef __ASM_AVR32_MMC_H +#define __ASM_AVR32_MMC_H + +struct mmc_cid { +	unsigned long psn; +	unsigned short oid; +	unsigned char mid; +	unsigned char prv; +	unsigned char mdt; +	char pnm[7]; +}; + +struct mmc_csd +{ +	u8	csd_structure:2, +		spec_vers:4, +		rsvd1:2; +	u8	taac; +	u8	nsac; +	u8	tran_speed; +	u16	ccc:12, +		read_bl_len:4; +	u64	read_bl_partial:1, +		write_blk_misalign:1, +		read_blk_misalign:1, +		dsr_imp:1, +		rsvd2:2, +		c_size:12, +		vdd_r_curr_min:3, +		vdd_r_curr_max:3, +		vdd_w_curr_min:3, +		vdd_w_curr_max:3, +		c_size_mult:3, +		sector_size:5, +		erase_grp_size:5, +		wp_grp_size:5, +		wp_grp_enable:1, +		default_ecc:2, +		r2w_factor:3, +		write_bl_len:4, +		write_bl_partial:1, +		rsvd3:5; +	u8	file_format_grp:1, +		copy:1, +		perm_write_protect:1, +		tmp_write_protect:1, +		file_format:2, +		ecc:2; +	u8	crc:7; +	u8	one:1; +}; + +/* MMC Command numbers */ +#define MMC_CMD_GO_IDLE_STATE		0 +#define MMC_CMD_SEND_OP_COND		1 +#define MMC_CMD_ALL_SEND_CID 		2 +#define MMC_CMD_SET_RELATIVE_ADDR	3 +#define MMC_CMD_SD_SEND_RELATIVE_ADDR	3 +#define MMC_CMD_SET_DSR			4 +#define MMC_CMD_SELECT_CARD		7 +#define MMC_CMD_SEND_CSD 		9 +#define MMC_CMD_SEND_CID 		10 +#define MMC_CMD_SEND_STATUS		13 +#define MMC_CMD_SET_BLOCKLEN		16 +#define MMC_CMD_READ_SINGLE_BLOCK	17 +#define MMC_CMD_READ_MULTIPLE_BLOCK	18 +#define MMC_CMD_WRITE_BLOCK		24 +#define MMC_CMD_APP_CMD			55 + +#define MMC_ACMD_SD_SEND_OP_COND	41 + +#define R1_ILLEGAL_COMMAND		(1 << 22) +#define R1_APP_CMD			(1 << 5) + +#endif /* __ASM_AVR32_MMC_H */ |