summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/drivers/sd.c13
-rw-r--r--firmware/export/mmc.h3
-rw-r--r--firmware/export/nand.h3
-rw-r--r--firmware/export/sd.h3
-rw-r--r--firmware/export/storage.h18
-rw-r--r--firmware/target/arm/ata-nand-telechips.c13
-rw-r--r--firmware/target/arm/s5l8700/ata-nand-s5l8700.c23
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c28
8 files changed, 95 insertions, 9 deletions
diff --git a/firmware/drivers/sd.c b/firmware/drivers/sd.c
index fdc05c7..4034b94 100644
--- a/firmware/drivers/sd.c
+++ b/firmware/drivers/sd.c
@@ -66,6 +66,19 @@ void sd_parse_csd(tCardInfo *card)
logf("nsac: %d taac: %d r2w: %d", card->nsac, card->taac, card->r2w_factor);
}
+void sd_sleep(void)
+{
+}
+
+void sd_spin(void)
+{
+}
+
+void sd_spindown(int seconds)
+{
+ (void)seconds;
+}
+
#ifdef STORAGE_GET_INFO
void sd_get_info(IF_MV2(int drive,) struct storage_info *info)
{
diff --git a/firmware/export/mmc.h b/firmware/export/mmc.h
index bd4b7f9..06d99d2 100644
--- a/firmware/export/mmc.h
+++ b/firmware/export/mmc.h
@@ -28,6 +28,8 @@
struct storage_info;
void mmc_enable(bool on);
+void mmc_spindown(int seconds);
+void mmc_sleep(void);
void mmc_sleepnow(void);
bool mmc_disk_is_active(void);
int mmc_soft_reset(void);
@@ -35,6 +37,7 @@ int mmc_init(void);
void mmc_close(void);
int mmc_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf);
int mmc_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void mmc_spin(void);
int mmc_spinup_time(void);
#ifdef STORAGE_GET_INFO
diff --git a/firmware/export/nand.h b/firmware/export/nand.h
index 64416b9..a5b0a1c 100644
--- a/firmware/export/nand.h
+++ b/firmware/export/nand.h
@@ -28,12 +28,15 @@
struct storage_info;
void nand_enable(bool on);
+void nand_spindown(int seconds);
+void nand_sleep(void);
bool nand_disk_is_active(void);
int nand_soft_reset(void);
int nand_init(void);
void nand_close(void);
int nand_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf);
int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void nand_spin(void);
#ifdef STORAGE_GET_INFO
void nand_get_info(IF_MV2(int drive,) struct storage_info *info);
diff --git a/firmware/export/sd.h b/firmware/export/sd.h
index f100f30..d313a4c 100644
--- a/firmware/export/sd.h
+++ b/firmware/export/sd.h
@@ -30,12 +30,15 @@
struct storage_info;
void sd_enable(bool on);
+void sd_spindown(int seconds);
+void sd_sleep(void);
bool sd_disk_is_active(void);
int sd_soft_reset(void);
int sd_init(void);
void sd_close(void);
int sd_read_sectors(IF_MV2(int drive,) unsigned long start, int count, void* buf);
int sd_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const void* buf);
+void sd_spin(void);
#ifdef STORAGE_GET_INFO
void sd_get_info(IF_MV2(int drive,) struct storage_info *info);
diff --git a/firmware/export/storage.h b/firmware/export/storage.h
index 73ec970..47d8abd 100644
--- a/firmware/export/storage.h
+++ b/firmware/export/storage.h
@@ -81,9 +81,9 @@ struct storage_info
#define storage_present(drive) ata_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_SD)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown sd_spindown
+ #define storage_sleep sd_sleep
+ #define storage_spin sd_spin
#define storage_enable(on) sd_enable(on)
#define storage_sleepnow() sd_sleepnow()
@@ -105,9 +105,9 @@ struct storage_info
#define storage_present(drive) sd_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_MMC)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown mmc_spindown
+ #define storage_sleep mmc_sleep
+ #define storage_spin mmc_spin
#define storage_enable(on) mmc_enable(on)
#define storage_sleepnow() mmc_sleepnow()
@@ -129,9 +129,9 @@ struct storage_info
#define storage_present(drive) mmc_present(IF_MV(drive))
#endif
#elif (CONFIG_STORAGE & STORAGE_NAND)
- #define storage_spindown(seconds) (void)0
- #define storage_sleep() (void)0
- #define storage_spin() (void)0
+ #define storage_spindown nand_spindown
+ #define storage_sleep nand_sleep
+ #define storage_spin nand_spin
#define storage_enable(on) (void)0
#define storage_sleepnow() nand_sleepnow()
diff --git a/firmware/target/arm/ata-nand-telechips.c b/firmware/target/arm/ata-nand-telechips.c
index 698f2b9..8bef57e 100644
--- a/firmware/target/arm/ata-nand-telechips.c
+++ b/firmware/target/arm/ata-nand-telechips.c
@@ -900,3 +900,16 @@ long nand_last_disk_activity(void)
{
return last_disk_activity;
}
+
+void nand_sleep(void)
+{
+}
+
+void nand_spin(void)
+{
+}
+
+void nand_spindown(int seconds)
+{
+ (void)seconds;
+}
diff --git a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
index 183ef18..ee1e581 100644
--- a/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
+++ b/firmware/target/arm/s5l8700/ata-nand-s5l8700.c
@@ -64,6 +64,29 @@ int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count,
return 0;
}
+void nand_spindown(int seconds)
+{
+ (void)seconds;
+}
+
+bool nand_disk_is_active(void)
+{
+ return 0;
+}
+
+void nand_sleep(void)
+{
+}
+
+void nand_spin(void)
+{
+}
+
+int nand_soft_reset(void)
+{
+ return 0;
+}
+
void nand_enable(bool on)
{
(void)on;
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
index 2832503..d918928 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-nand-jz4740.c
@@ -685,6 +685,34 @@ int nand_write_sectors(IF_MV2(int drive,) unsigned long start, int count, const
return -1;
}
+void nand_spindown(int seconds)
+{
+ /* null */
+ (void)seconds;
+}
+
+bool nand_disk_is_active(void)
+{
+ /* null */
+ return false;
+}
+
+void nand_sleep(void)
+{
+ /* null */
+}
+
+void nand_spin(void)
+{
+ /* null */
+}
+
+int nand_soft_reset(void)
+{
+ /* null */
+ return 0;
+}
+
void nand_enable(bool on)
{
/* null - flash controller is enabled/disabled as needed. */