summaryrefslogtreecommitdiff
path: root/fw/fe310/eos/dev/drv/sdcard.h
blob: 39891bbdea1b900d58818c90d24bcede1caea279 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdint.h>

#include "sdc_platform.h"

#define SDC_TYPE_NONE               0x00

#define SDC_TYPE_MMC                0x01

#define SDC_TYPE_SDC1               0x04
#define SDC_TYPE_SDC2               0x08
#define SDC_TYPE_SDC                0x0c
#define SDC_TYPE_MASK               0x0f

#define SDC_CAP_BLK                 0x10
#define SDC_CAP_ERASE_EN            0x20
#define SDC_CAP_MASK                0xf0

int sdc_init(uint32_t timeout);
uint8_t sdc_get_type(void);
uint8_t sdc_get_cap(void);
void sdc_clear(void);

int sdc_get_sect_count(uint32_t timeout, uint32_t *sectors);
int sdc_get_blk_size(uint32_t timeout, uint32_t *size);
int sdc_sync(uint32_t timeout);
int sdc_erase(uint32_t blk_start, uint32_t blk_end, uint32_t timeout);
int sdc_sect_read(uint32_t sect, unsigned int count, uint8_t *buffer);
int sdc_sect_write(uint32_t sect, unsigned int count, uint8_t *buffer);