From: Kevin O'Connor Date: Tue, 11 Aug 2015 03:40:50 +0000 (-0400) Subject: sdcard: Fill command bits according to spec X-Git-Tag: rel-1.9.0~65 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=cfe326ba5219435cf9360015729083c3791a684d;p=people%2Fandrewcoop%2Fseabios.git sdcard: Fill command bits according to spec Set the proper command bits for each command according to the SDHCI specification. Signed-off-by: Kevin O'Connor --- diff --git a/src/hw/sdcard.c b/src/hw/sdcard.c index 556c7c2..287d3d8 100644 --- a/src/hw/sdcard.c +++ b/src/hw/sdcard.c @@ -56,17 +56,23 @@ struct sdhci_s { } PACKED; // SDHCI commands -#define SC_GO_IDLE_STATE ((0<<8) | 0x20) -#define SC_ALL_SEND_CID ((2<<8) | 0x21) -#define SC_SEND_RELATIVE_ADDR ((3<<8) | 0x22) -#define SC_SELECT_DESELECT_CARD ((7<<8) | 0x23) -#define SC_SEND_IF_COND ((8<<8) | 0x22) -#define SC_READ_SINGLE ((17<<8) | 0x22) -#define SC_READ_MULTIPLE ((18<<8) | 0x22) -#define SC_WRITE_SINGLE ((24<<8) | 0x22) -#define SC_WRITE_MULTIPLE ((25<<8) | 0x22) -#define SC_APP_CMD ((55<<8) | 0x22) -#define SC_APP_SEND_OP_COND ((41<<8) | 0x22) +#define SCB_R0 0x00 // No response +#define SCB_R48 0x1a // Response R1 (no data), R5, R6, R7 +#define SCB_R48d 0x3a // Response R1 (with data) +#define SCB_R48b 0x1b // Response R1b, R5b +#define SCB_R48o 0x02 // Response R3, R4 +#define SCB_R136 0x09 // Response R2 +#define SC_GO_IDLE_STATE ((0<<8) | SCB_R0) +#define SC_ALL_SEND_CID ((2<<8) | SCB_R136) +#define SC_SEND_RELATIVE_ADDR ((3<<8) | SCB_R48) +#define SC_SELECT_DESELECT_CARD ((7<<8) | SCB_R48b) +#define SC_SEND_IF_COND ((8<<8) | SCB_R48) +#define SC_READ_SINGLE ((17<<8) | SCB_R48d) +#define SC_READ_MULTIPLE ((18<<8) | SCB_R48d) +#define SC_WRITE_SINGLE ((24<<8) | SCB_R48d) +#define SC_WRITE_MULTIPLE ((25<<8) | SCB_R48d) +#define SC_APP_CMD ((55<<8) | SCB_R48) +#define SC_APP_SEND_OP_COND ((41<<8) | SCB_R48o) // SDHCI irqs #define SI_CMD_COMPLETE (1<<0)