Home | History | Annotate | Download | only in mmc
      1 #ifndef UAPI_MMC_MMC_H
      2 #define UAPI_MMC_MMC_H
      3 
      4 /* Standard MMC commands (4.1)           type  argument     response */
      5    /* class 1 */
      6 #define MMC_GO_IDLE_STATE         0   /* bc                          */
      7 #define MMC_SEND_OP_COND          1   /* bcr  [31:0] OCR         R3  */
      8 #define MMC_ALL_SEND_CID          2   /* bcr                     R2  */
      9 #define MMC_SET_RELATIVE_ADDR     3   /* ac   [31:16] RCA        R1  */
     10 #define MMC_SET_DSR               4   /* bc   [31:16] RCA            */
     11 #define MMC_SLEEP_AWAKE		  5   /* ac   [31:16] RCA 15:flg R1b */
     12 #define MMC_SWITCH                6   /* ac   [31:0] See below   R1b */
     13 #define MMC_SELECT_CARD           7   /* ac   [31:16] RCA        R1  */
     14 #define MMC_SEND_EXT_CSD          8   /* adtc                    R1  */
     15 #define MMC_SEND_CSD              9   /* ac   [31:16] RCA        R2  */
     16 #define MMC_SEND_CID             10   /* ac   [31:16] RCA        R2  */
     17 #define MMC_READ_DAT_UNTIL_STOP  11   /* adtc [31:0] dadr        R1  */
     18 #define MMC_STOP_TRANSMISSION    12   /* ac                      R1b */
     19 #define MMC_SEND_STATUS          13   /* ac   [31:16] RCA        R1  */
     20 #define MMC_BUS_TEST_R           14   /* adtc                    R1  */
     21 #define MMC_GO_INACTIVE_STATE    15   /* ac   [31:16] RCA            */
     22 #define MMC_BUS_TEST_W           19   /* adtc                    R1  */
     23 #define MMC_SPI_READ_OCR         58   /* spi                  spi_R3 */
     24 #define MMC_SPI_CRC_ON_OFF       59   /* spi  [0:0] flag      spi_R1 */
     25 
     26   /* class 2 */
     27 #define MMC_SET_BLOCKLEN         16   /* ac   [31:0] block len   R1  */
     28 #define MMC_READ_SINGLE_BLOCK    17   /* adtc [31:0] data addr   R1  */
     29 #define MMC_READ_MULTIPLE_BLOCK  18   /* adtc [31:0] data addr   R1  */
     30 #define MMC_SEND_TUNING_BLOCK    19   /* adtc                    R1  */
     31 #define MMC_SEND_TUNING_BLOCK_HS200	21	/* adtc R1  */
     32 #define MMC_SEND_TUNING_BLOCK_HS400      MMC_SEND_TUNING_BLOCK_HS200
     33 
     34 #define MMC_TUNING_BLK_PATTERN_4BIT_SIZE	 64
     35 #define MMC_TUNING_BLK_PATTERN_8BIT_SIZE	128
     36 
     37   /* class 3 */
     38 #define MMC_WRITE_DAT_UNTIL_STOP 20   /* adtc [31:0] data addr   R1  */
     39 
     40   /* class 4 */
     41 #define MMC_SET_BLOCK_COUNT      23   /* adtc [31:0] data addr   R1  */
     42 #define MMC_WRITE_BLOCK          24   /* adtc [31:0] data addr   R1  */
     43 #define MMC_WRITE_MULTIPLE_BLOCK 25   /* adtc                    R1  */
     44 #define MMC_PROGRAM_CID          26   /* adtc                    R1  */
     45 #define MMC_PROGRAM_CSD          27   /* adtc                    R1  */
     46 
     47   /* class 6 */
     48 #define MMC_SET_WRITE_PROT       28   /* ac   [31:0] data addr   R1b */
     49 #define MMC_CLR_WRITE_PROT       29   /* ac   [31:0] data addr   R1b */
     50 #define MMC_SEND_WRITE_PROT      30   /* adtc [31:0] wpdata addr R1  */
     51 
     52   /* class 5 */
     53 #define MMC_ERASE_GROUP_START    35   /* ac   [31:0] data addr   R1  */
     54 #define MMC_ERASE_GROUP_END      36   /* ac   [31:0] data addr   R1  */
     55 #define MMC_ERASE                38   /* ac                      R1b */
     56 
     57   /* class 9 */
     58 #define MMC_FAST_IO              39   /* ac   <Complex>          R4  */
     59 #define MMC_GO_IRQ_STATE         40   /* bcr                     R5  */
     60 
     61   /* class 7 */
     62 #define MMC_LOCK_UNLOCK          42   /* adtc                    R1b */
     63 
     64   /* class 8 */
     65 #define MMC_APP_CMD              55   /* ac   [31:16] RCA        R1  */
     66 #define MMC_GEN_CMD              56   /* adtc [0] RD/WR          R1  */
     67 
     68 #endif /* UAPI_MMC_MMC_H */
     69