Improve style of sdio driver

This commit is contained in:
2020-02-22 17:28:06 +01:00
parent 4b07178f3d
commit d0c488645c
4 changed files with 584 additions and 592 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -12,12 +12,13 @@
#include <fatfs/ff.h>
#include <stdint.h>
DSTATUS SDIO_status();
DSTATUS SDIO_initialize();
DRESULT SDIO_disk_read(BYTE *buff, DWORD sector, UINT count);
DRESULT SDIO_disk_write(const BYTE *buff, DWORD sector, UINT count);
DRESULT SDIO_disk_ioctl(BYTE cmd, void* buff);
DWORD get_fattime();
DSTATUS sdio_status();
DSTATUS sdio_initialize();
DRESULT sdio_disk_read(BYTE *buff, DWORD sector, UINT count);
DRESULT sdio_disk_write(const BYTE *buff, DWORD sector, UINT count);
DRESULT sdio_disk_ioctl(BYTE cmd, void* buff);
DWORD get_fattime();
//Defines for Card Status in struct _CardStatus
@@ -31,9 +32,7 @@ DWORD get_fattime();
#define CURRENT_STATE_PRG 7
#define CURRENT_STATE_DIS 8
typedef struct _CardStatus {
struct sd_card_status {
uint32_t reserved : 3;
uint32_t AKE_SEQ_ERROR : 1;
uint32_t reserved_2 : 1;
@@ -60,21 +59,19 @@ typedef struct _CardStatus {
uint32_t BLOCK_LEN_ERROR : 1;
uint32_t ADDRESS_ERROR : 1;
uint32_t OUT_OF_RANGE : 1;
}CardStatus_t;
};
typedef enum {CARD_NONE = 0, MMC, SD_V1, SD_V2_SC, SD_V2_HC} card_type_t;
enum sdio_card_type {CARD_NONE = 0, MMC, SD_V1, SD_V2_SC, SD_V2_HC};
// MMC not supported
typedef struct _SDInfo {
struct sd_info {
uint16_t rca;
card_type_t type;
enum sdio_card_type type;
uint32_t sector_count;
}SDInfo_t;
};
typedef union _StatusConv {
CardStatus_t statusstruct;
union sdio_status_conv {
struct sd_card_status statusstruct;
uint32_t value;
}StatusConv_t;
};
#endif /* FATFS_SHIMATTA_SDIO_DRIVER_SHIMATTA_SDIO_DRIVER_H_ */