summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPierre Ossman <drzeus@drzeus.cx>2006-01-09 22:51:46 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-09 22:51:46 +0000
commit7225b3fd0b6e224235fc50a69f70479ff96d5602 (patch)
tree30dd999fd966cb572371eb99bb629625f720de35 /include
parent788ee7b09883515f3a72a8f2a980df5e94f37e2c (diff)
[MMC] Indicate that R1/R1b contains command opcode
Some controllers actually check the first byte of the response (most don't). This byte contains the command opcode for R1/R1b and all 1:s for other types. The difference must be indicated to the controller so it knows which reply to expect. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mmc/mmc.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h
index 86d491b3b73f..ccd3e13de1e8 100644
--- a/include/linux/mmc/mmc.h
+++ b/include/linux/mmc/mmc.h
@@ -27,14 +27,15 @@ struct mmc_command {
#define MMC_RSP_MASK (3 << 0)
#define MMC_RSP_CRC (1 << 3) /* expect valid crc */
#define MMC_RSP_BUSY (1 << 4) /* card may send busy */
+#define MMC_RSP_OPCODE (1 << 5) /* response contains opcode */
/*
* These are the response types, and correspond to valid bit
* patterns of the above flags. One additional valid pattern
* is all zeros, which means we don't expect a response.
*/
-#define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC)
-#define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_BUSY)
+#define MMC_RSP_R1 (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE)
+#define MMC_RSP_R1B (MMC_RSP_SHORT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
#define MMC_RSP_R2 (MMC_RSP_LONG|MMC_RSP_CRC)
#define MMC_RSP_R3 (MMC_RSP_SHORT)
#define MMC_RSP_R6 (MMC_RSP_SHORT|MMC_RSP_CRC)