Home | History | Annotate | Download | only in hw
      1 /*
      2  *  include/linux/mmc/sd.h
      3  *
      4  *  Copyright (C) 2005-2007 Pierre Ossman, All Rights Reserved.
      5  *
      6  * This program is free software; you can redistribute it and/or modify
      7  * it under the terms of the GNU General Public License as published by
      8  * the Free Software Foundation; either version 2 of the License, or (at
      9  * your option) any later version.
     10  */
     11 
     12 #ifndef MMC_SD_H
     13 #define MMC_SD_H
     14 
     15 /* SD commands                           type  argument     response */
     16   /* class 0 */
     17 /* This is basically the same command as for MMC with some quirks. */
     18 #define SD_SEND_RELATIVE_ADDR     3   /* bcr                     R6  */
     19 #define SD_SEND_IF_COND           8   /* bcr  [11:0] See below   R7  */
     20 
     21   /* class 10 */
     22 #define SD_SWITCH                 6   /* adtc [31:0] See below   R1  */
     23 
     24   /* Application commands */
     25 #define SD_APP_SET_BUS_WIDTH      6   /* ac   [1:0] bus width    R1  */
     26 #define SD_APP_SEND_NUM_WR_BLKS  22   /* adtc                    R1  */
     27 #define SD_APP_OP_COND           41   /* bcr  [31:0] OCR         R3  */
     28 #define SD_APP_SEND_SCR          51   /* adtc                    R1  */
     29 
     30 /*
     31  * SD_SWITCH argument format:
     32  *
     33  *      [31] Check (0) or switch (1)
     34  *      [30:24] Reserved (0)
     35  *      [23:20] Function group 6
     36  *      [19:16] Function group 5
     37  *      [15:12] Function group 4
     38  *      [11:8] Function group 3
     39  *      [7:4] Function group 2
     40  *      [3:0] Function group 1
     41  */
     42 
     43 /*
     44  * SD_SEND_IF_COND argument format:
     45  *
     46  *	[31:12] Reserved (0)
     47  *	[11:8] Host Voltage Supply Flags
     48  *	[7:0] Check Pattern (0xAA)
     49  */
     50 
     51 /*
     52  * SCR field definitions
     53  */
     54 
     55 #define SCR_SPEC_VER_0		0	/* Implements system specification 1.0 - 1.01 */
     56 #define SCR_SPEC_VER_1		1	/* Implements system specification 1.10 */
     57 #define SCR_SPEC_VER_2		2	/* Implements system specification 2.00 */
     58 
     59 /*
     60  * SD bus widths
     61  */
     62 #define SD_BUS_WIDTH_1		0
     63 #define SD_BUS_WIDTH_4		2
     64 
     65 /*
     66  * SD_SWITCH mode
     67  */
     68 #define SD_SWITCH_CHECK		0
     69 #define SD_SWITCH_SET		1
     70 
     71 /*
     72  * SD_SWITCH function groups
     73  */
     74 #define SD_SWITCH_GRP_ACCESS	0
     75 
     76 /*
     77  * SD_SWITCH access modes
     78  */
     79 #define SD_SWITCH_ACCESS_DEF	0
     80 #define SD_SWITCH_ACCESS_HS	1
     81 
     82 #endif
     83 
     84