summaryrefslogtreecommitdiff
path: root/firmware/export/sd.h
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export/sd.h')
-rw-r--r--firmware/export/sd.h23
1 files changed, 15 insertions, 8 deletions
diff --git a/firmware/export/sd.h b/firmware/export/sd.h
index d313a4c2e1..0b64bd768d 100644
--- a/firmware/export/sd.h
+++ b/firmware/export/sd.h
@@ -23,7 +23,7 @@
23#define __SD_H__ 23#define __SD_H__
24 24
25#include <stdbool.h> 25#include <stdbool.h>
26#include "mv.h" /* for HAVE_MULTIVOLUME or not */ 26#include "mv.h" /* for HAVE_MULTIDRIVE or not */
27 27
28#define SD_BLOCK_SIZE 512 /* XXX : support other sizes ? */ 28#define SD_BLOCK_SIZE 512 /* XXX : support other sizes ? */
29 29
@@ -32,27 +32,34 @@ struct storage_info;
32void sd_enable(bool on); 32void sd_enable(bool on);
33void sd_spindown(int seconds); 33void sd_spindown(int seconds);
34void sd_sleep(void); 34void sd_sleep(void);
35void sd_sleepnow(void);
35bool sd_disk_is_active(void); 36bool sd_disk_is_active(void);
36int sd_soft_reset(void); 37int sd_soft_reset(void);
37int sd_init(void); 38int sd_init(void);
38void sd_close(void); 39void sd_close(void);
39int sd_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf); 40int sd_read_sectors(IF_MD2(int drive,) unsigned long start, int count, void* buf);
40int sd_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf); 41int sd_write_sectors(IF_MD2(int drive,) unsigned long start, int count, const void* buf);
41void sd_spin(void); 42void sd_spin(void);
43int sd_spinup_time(void); /* ticks */
42 44
43#ifdef STORAGE_GET_INFO 45#ifdef STORAGE_GET_INFO
44void sd_get_info(IF_MV2(int drive,) struct storage_info *info); 46void sd_get_info(IF_MD2(int drive,) struct storage_info *info);
45#endif 47#endif
46#ifdef HAVE_HOTSWAP 48#ifdef HAVE_HOTSWAP
47bool sd_removable(IF_MV_NONVOID(int drive)); 49bool sd_removable(IF_MV_NONVOID(int drive));
48bool sd_present(IF_MV_NONVOID(int drive)); 50bool sd_present(IF_MV_NONVOID(int drive));
49void card_enable_monitoring_target(bool on); 51void card_enable_monitoring_target(bool on);
50#endif 52#endif
51 53
52bool card_detect_target(void); 54bool card_detect_target(void);
53 55
54long sd_last_disk_activity(void); 56long sd_last_disk_activity(void);
55 57
58#ifdef CONFIG_STORAGE_MULTI
59int sd_num_drives(int first_drive);
60#endif
61
62
56/* SD States */ 63/* SD States */
57#define SD_IDLE 0 64#define SD_IDLE 0
58#define SD_READY 1 65#define SD_READY 1