mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +08:00
[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>
This commit is contained in:
parent
788ee7b098
commit
7225b3fd0b
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user