diff options
Diffstat (limited to 'os/hal/include')
-rw-r--r-- | os/hal/include/mmc_spi.h | 9 | ||||
-rw-r--r-- | os/hal/include/mmcsd.h | 4 | ||||
-rw-r--r-- | os/hal/include/sdc.h | 1 |
3 files changed, 14 insertions, 0 deletions
diff --git a/os/hal/include/mmc_spi.h b/os/hal/include/mmc_spi.h index a1a33c72d..307ffd3ca 100644 --- a/os/hal/include/mmc_spi.h +++ b/os/hal/include/mmc_spi.h @@ -158,6 +158,14 @@ typedef struct { */
bool_t block_addresses;
/**
+ * @brief Card CID.
+ */
+ uint32_t cid[4];
+ /**
+ * @brief Card CSD.
+ */
+ uint32_t csd[4];
+ /**
* @brief Total number of blocks in card.
*/
uint32_t capacity;
@@ -215,6 +223,7 @@ extern "C" { bool_t mmcStopSequentialWrite(MMCDriver *mmcp);
bool_t mmcSync(MMCDriver *mmcp);
bool_t mmcGetInfo(MMCDriver *mmcp, BlockDeviceInfo *bdip);
+ bool_t mmcErase(MMCDriver *mmcp, uint32_t startblk, uint32_t endblk);
bool_t mmc_lld_is_card_inserted(MMCDriver *mmcp);
bool_t mmc_lld_is_write_protected(MMCDriver *mmcp);
#ifdef __cplusplus
diff --git a/os/hal/include/mmcsd.h b/os/hal/include/mmcsd.h index b21c29442..7595e1202 100644 --- a/os/hal/include/mmcsd.h +++ b/os/hal/include/mmcsd.h @@ -77,6 +77,7 @@ #define MMCSD_CMD_SEL_DESEL_CARD 7
#define MMCSD_CMD_SEND_IF_COND 8
#define MMCSD_CMD_SEND_CSD 9
+#define MMCSD_CMD_SEND_CID 10
#define MMCSD_CMD_STOP_TRANSMISSION 12
#define MMCSD_CMD_SEND_STATUS 13
#define MMCSD_CMD_SET_BLOCKLEN 16
@@ -85,6 +86,9 @@ #define MMCSD_CMD_SET_BLOCK_COUNT 23
#define MMCSD_CMD_WRITE_BLOCK 24
#define MMCSD_CMD_WRITE_MULTIPLE_BLOCK 25
+#define MMCSD_CMD_ERASE_RW_BLK_START 32
+#define MMCSD_CMD_ERASE_RW_BLK_END 33
+#define MMCSD_CMD_ERASE 38
#define MMCSD_CMD_APP_OP_COND 41
#define MMCSD_CMD_LOCK_UNLOCK 42
#define MMCSD_CMD_APP_CMD 55
diff --git a/os/hal/include/sdc.h b/os/hal/include/sdc.h index f54007f44..d2624d306 100644 --- a/os/hal/include/sdc.h +++ b/os/hal/include/sdc.h @@ -203,6 +203,7 @@ extern "C" { sdcflags_t sdcGetAndClearErrors(SDCDriver *sdcp);
bool_t sdcSync(SDCDriver *sdcp);
bool_t sdcGetInfo(SDCDriver *sdcp, BlockDeviceInfo *bdip);
+ bool_t sdcErase(SDCDriver *mmcp, uint32_t startblk, uint32_t endblk);
bool_t _sdc_wait_for_transfer_state(SDCDriver *sdcp);
#ifdef __cplusplus
}
|