diff options
Diffstat (limited to 'os/various/fatfs_bindings/fatfs_diskio.c')
-rw-r--r-- | os/various/fatfs_bindings/fatfs_diskio.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/os/various/fatfs_bindings/fatfs_diskio.c b/os/various/fatfs_bindings/fatfs_diskio.c index 06ee81acc..3a8b6866e 100644 --- a/os/various/fatfs_bindings/fatfs_diskio.c +++ b/os/various/fatfs_bindings/fatfs_diskio.c @@ -7,7 +7,7 @@ #include "ch.h"
#include "hal.h"
-
+#include "ffconf.h"
#include "diskio.h"
#if HAL_USE_MMC_SPI && HAL_USE_SDC
@@ -207,6 +207,11 @@ DRESULT disk_ioctl ( case GET_SECTOR_SIZE:
*((WORD *)buff) = MMC_SECTOR_SIZE;
return RES_OK;
+#if _USE_ERASE
+ case CTRL_ERASE_SECTOR:
+ mmcErase(&MMCD1, *((DWORD *)buff), *((DWORD *)buff + 1));
+ return RES_OK;
+#endif
default:
return RES_PARERR;
}
@@ -224,6 +229,11 @@ DRESULT disk_ioctl ( case GET_BLOCK_SIZE:
*((DWORD *)buff) = 256; /* 512b blocks in one erase block */
return RES_OK;
+#if _USE_ERASE
+ case CTRL_ERASE_SECTOR:
+ sdcErase(&SDCD1, *((DWORD *)buff), *((DWORD *)buff + 1));
+ return RES_OK;
+#endif
default:
return RES_PARERR;
}
|