]> git.ozlabs.org Git - minimigmac.git/blob - pic/mmc_cmds.h
Initial commit
[minimigmac.git] / pic / mmc_cmds.h
1 #ifndef __MMC_CMDS_H__
2 #define __MMC_CMDS_H__
3
4 /* MMC command set */
5 #define         CMD0            0x40            /*Resets the multimedia card*/
6 #define         CMD1            0x41            /*Activates the card's initialization process*/
7 #define         CMD2            0x42            /*--*/
8 #define         CMD3            0x43            /*--*/
9 #define         CMD4            0x44            /*--*/
10 #define         CMD5            0x45            /*reseved*/
11 #define         CMD6            0x46            /*reserved*/
12 #define         CMD7            0x47            /*--*/
13 #define         CMD8            0x48            /* Sends SD Memory Card interface condition,
14                                                    which includes host supply voltage information
15                                                    and asks the card whether card supports voltage.
16                                                    Reserved bits shall be set to '0'.*/
17 #define         CMD9            0x49            /*CSD : Ask the selected card to send its card
18                                                   specific data*/
19 #define         CMD10           0x4a            /*CID : Ask the selected card to send its card
20                                                   identification*/
21 #define         CMD11           0x4b            /*--*/
22 #define         CMD12           0x4c            /*--*/
23 #define         CMD13           0x4d            /*Ask the selected card to send its status register*/
24 #define         CMD14           0x4e            /*--*/
25 #define         CMD15           0x4f            /*--*/
26 #define         CMD16           0x50            /*Select a block length (in bytes) for all following
27                                                   block commands (Read:between 1-512 and Write:only 512)*/
28 #define         CMD17           0x51            /*Reads a block of the size selected by the SET_BLOCKLEN
29                                                   command, the start address and block length must be set
30                                                   so that the data transferred will not cross a physical
31                                                   block boundry*/
32 #define         CMD18           0x52            /*--*/
33 #define         CMD19           0x53            /*reserved*/
34 #define         CMD20           0x54            /*--*/
35 #define         CMD21           0x55            /*reserved*/
36 #define         CMD22           0x56            /*reserved*/
37 #define         CMD23           0x57            /*reserved*/
38 #define         CMD24           0x58            /*Writes a block of the size selected by CMD16, the start
39                                                   address must be alligned on a sector boundry, the block
40                                                   length is always 512 bytes*/
41 #define         CMD25           0x59            /*--*/
42 #define         CMD26           0x5a            /*--*/
43 #define         CMD27           0x5b            /*Programming of the programmable bits of the CSD*/
44 #define         CMD28           0x5c            /*If the card has write protection features, this command
45                                                   sets the write protection bit of the addressed group.
46                                                   The porperties of the write protection are coded in
47                                                   the card specific data (WP_GRP_SIZE)*/
48 #define         CMD29           0x5d            /*If the card has write protection features, this command
49                                                   clears the write protection bit of the addressed group*/
50 #define         CMD30           0x5e            /*If the card has write protection features, this command
51                                                   asks the card to send the status of the write protection
52                                                   bits. 32 write protection bits (representing 32 write
53                                                   protect groups starting at the specific address) followed
54                                                   by 16 CRD bits are transferred in a payload format via
55                                                   the data line*/
56 #define         CMD31           0x5f            /*reserved*/
57 #define         CMD32           0x60            /*sets the address of the first sector of the erase group*/
58 #define         CMD33           0x61            /*Sets the address of the last sector in a cont. range
59                                                   within the selected erase group, or the address of a
60                                                   single sector to be selected for erase*/
61 #define         CMD34           0x62            /*Removes on previously selected sector from the erase
62                                                   selection*/
63 #define         CMD35           0x63            /*Sets the address of the first erase group within a
64                                                   range to be selected for erase*/
65 #define         CMD36           0x64            /*Sets the address of the last erase group within a
66                                                   continuos range to be selected for erase*/
67 #define         CMD37           0x65            /*Removes one previously selected erase group from the
68                                                   erase selection*/
69 #define         CMD38           0x66            /*Erases all previously selected sectors*/
70 #define         CMD39           0x67            /*--*/
71 #define         CMD40           0x68            /*--*/
72 #define         CMD41           0x69            /*reserved*/
73 #define         CMD42           0x6a            /*reserved*/
74 #define         CMD43           0x6b            /*reserved*/
75 #define         CMD44           0x6c            /*reserved*/
76 #define         CMD45           0x6d            /*reserved*/
77 #define         CMD46           0x6e            /*reserved*/
78 #define         CMD47           0x6f            /*reserved*/
79 #define         CMD48           0x70            /*reserved*/
80 #define         CMD49           0x71            /*reserved*/
81 #define         CMD50           0x72            /*reserved*/
82 #define         CMD51           0x73            /*reserved*/
83 #define         CMD52           0x74            /*reserved*/
84 #define         CMD53           0x75            /*reserved*/
85 #define         CMD54           0x76            /*reserved*/
86 #define         CMD55           0x77            /*Indicates to the card that the next command is an
87                                                   application specific command rather than a standard
88                                                   command*/
89 #define         CMD56           0x78            /*reserved*/
90 #define         CMD57           0x79            /*reserved*/
91 #define         CMD58           0x7a            /*reserved*/
92 #define         CMD59           0x7b            /*Turns the CRC option ON or OFF. A '1' in the CRC option
93                                                   bit will turn the option ON, a '0' will turn it OFF*/
94 #define         CMD60           0x7c            /*--*/
95 #define         CMD61           0x7d            /*--*/
96 #define         CMD62           0x7e            /*--*/
97 #define         CMD63           0x7f            /*--*/
98
99 #endif /*  __MMC_CMDS_H__ */