summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/SOURCES17
-rw-r--r--firmware/drivers/fat.c2
-rw-r--r--firmware/drivers/serial.c4
-rw-r--r--firmware/export/ata_idle_notify.h3
-rw-r--r--firmware/export/config-c100.h4
-rw-r--r--firmware/export/config-c200.h2
-rw-r--r--firmware/export/config-clip.h2
-rw-r--r--firmware/export/config-cowond2.h4
-rw-r--r--firmware/export/config-creativezv.h2
-rw-r--r--firmware/export/config-creativezvm.h2
-rw-r--r--firmware/export/config-creativezvm60gb.h2
-rw-r--r--firmware/export/config-e200.h2
-rw-r--r--firmware/export/config-e200v2.h2
-rw-r--r--firmware/export/config-fmrecorder.h2
-rw-r--r--firmware/export/config-gigabeat-s.h2
-rw-r--r--firmware/export/config-gigabeat.h2
-rw-r--r--firmware/export/config-h10.h2
-rw-r--r--firmware/export/config-h100.h2
-rw-r--r--firmware/export/config-h10_5gb.h2
-rw-r--r--firmware/export/config-h120.h2
-rw-r--r--firmware/export/config-h300.h2
-rwxr-xr-xfirmware/export/config-hdd1630.h2
-rw-r--r--firmware/export/config-iaudio7.h4
-rw-r--r--firmware/export/config-iaudiom3.h2
-rw-r--r--firmware/export/config-iaudiom5.h2
-rw-r--r--firmware/export/config-iaudiox5.h2
-rw-r--r--firmware/export/config-ifp7xx.h6
-rw-r--r--firmware/export/config-ipod1g2g.h2
-rw-r--r--firmware/export/config-ipod3g.h2
-rw-r--r--firmware/export/config-ipod4g.h2
-rw-r--r--firmware/export/config-ipodcolor.h2
-rw-r--r--firmware/export/config-ipodmini.h2
-rw-r--r--firmware/export/config-ipodmini2g.h2
-rw-r--r--firmware/export/config-ipodnano.h2
-rw-r--r--firmware/export/config-ipodvideo.h2
-rw-r--r--firmware/export/config-logikdax.h4
-rw-r--r--firmware/export/config-m200.h4
-rw-r--r--firmware/export/config-mrobe100.h2
-rw-r--r--firmware/export/config-mrobe500.h2
-rw-r--r--firmware/export/config-ondavx747.h2
-rw-r--r--firmware/export/config-ondavx767.h2
-rw-r--r--firmware/export/config-ondiofm.h2
-rw-r--r--firmware/export/config-ondiosp.h2
-rw-r--r--firmware/export/config-player.h2
-rw-r--r--firmware/export/config-recorder.h2
-rw-r--r--firmware/export/config-recorderv2.h2
-rwxr-xr-xfirmware/export/config-sa9200.h2
-rw-r--r--firmware/export/config-tpj1022.h2
-rw-r--r--firmware/export/config.h11
-rw-r--r--firmware/export/hotswap.h4
-rw-r--r--firmware/export/powermgmt.h4
-rw-r--r--firmware/hotswap.c2
-rw-r--r--firmware/include/dir.h4
-rw-r--r--firmware/powermgmt.c6
-rw-r--r--firmware/usb.c4
-rw-r--r--firmware/usbstack/usb_storage.c4
56 files changed, 96 insertions, 71 deletions
diff --git a/firmware/SOURCES b/firmware/SOURCES
index e73e94b453..b17bb0c115 100644
--- a/firmware/SOURCES
+++ b/firmware/SOURCES
@@ -109,15 +109,17 @@ drivers/serial.c
109 109
110/* Storage */ 110/* Storage */
111#ifndef SIMULATOR 111#ifndef SIMULATOR
112#ifdef HAVE_MMC 112#if (CONFIG_STORAGE & STORAGE_MMC)
113drivers/ata_mmc.c 113drivers/ata_mmc.c
114#elif defined(HAVE_FLASH_DISK) 114#elif (CONFIG_STORAGE & STORAGE_NAND) && (CONFIG_NAND & NAND_IFP7XX)
115drivers/ata_flash.c 115drivers/ata_flash.c
116#elif defined(HAVE_ATA) 116#elif (CONFIG_STORAGE & STORAGE_NAND) && (CONFIG_NAND & NAND_TCC)
117target/arm/ata-nand-telechips.c
118#elif (CONFIG_STORAGE & STORAGE_ATA)
117drivers/ata.c 119drivers/ata.c
118#endif /* HAVE_MMC */ 120#endif /* CONFIG_STORAGE */
119drivers/fat.c 121drivers/fat.c
120#if defined(HAVE_MMC) || defined(HAVE_ATA_SD) 122#if (CONFIG_STORAGE & STORAGE_MMC) || (CONFIG_STORAGE & STORAGE_SD)
121hotswap.c 123hotswap.c
122#endif 124#endif
123#endif /* SIMULATOR */ 125#endif /* SIMULATOR */
@@ -981,7 +983,6 @@ target/arm/pnx0101/pcm-pnx0101.c
981#ifdef LOGIK_DAX 983#ifdef LOGIK_DAX
982#ifndef SIMULATOR 984#ifndef SIMULATOR
983drivers/nand_id.c 985drivers/nand_id.c
984target/arm/ata-nand-telechips.c
985target/arm/lcd-ssd1815.c 986target/arm/lcd-ssd1815.c
986target/arm/tcc77x/adc-tcc77x.c 987target/arm/tcc77x/adc-tcc77x.c
987target/arm/tcc77x/kernel-tcc77x.c 988target/arm/tcc77x/kernel-tcc77x.c
@@ -1004,7 +1005,6 @@ target/arm/tcc77x/logikdax/audio-logikdax.c
1004#ifndef SIMULATOR 1005#ifndef SIMULATOR
1005drivers/nand_id.c 1006drivers/nand_id.c
1006target/arm/lcd-ssd1815.c 1007target/arm/lcd-ssd1815.c
1007target/arm/ata-nand-telechips.c
1008target/arm/tcc77x/adc-tcc77x.c 1008target/arm/tcc77x/adc-tcc77x.c
1009target/arm/tcc77x/kernel-tcc77x.c 1009target/arm/tcc77x/kernel-tcc77x.c
1010target/arm/tcc77x/powermgmt-tcc77x.c 1010target/arm/tcc77x/powermgmt-tcc77x.c
@@ -1025,7 +1025,6 @@ target/arm/tcc77x/m200/audio-m200.c
1025#ifdef SANSA_C100 1025#ifdef SANSA_C100
1026#ifndef SIMULATOR 1026#ifndef SIMULATOR
1027drivers/nand_id.c 1027drivers/nand_id.c
1028target/arm/ata-nand-telechips.c
1029target/arm/tcc77x/adc-tcc77x.c 1028target/arm/tcc77x/adc-tcc77x.c
1030target/arm/tcc77x/kernel-tcc77x.c 1029target/arm/tcc77x/kernel-tcc77x.c
1031target/arm/tcc77x/c100/lcd-S6B33B2.c 1030target/arm/tcc77x/c100/lcd-S6B33B2.c
@@ -1071,7 +1070,6 @@ target/arm/as3525/as3525-codec.c
1071#ifndef SIMULATOR 1070#ifndef SIMULATOR
1072drivers/nand_id.c 1071drivers/nand_id.c
1073drivers/pcf50606.c 1072drivers/pcf50606.c
1074target/arm/ata-nand-telechips.c
1075target/arm/tcc77x/system-tcc77x.c 1073target/arm/tcc77x/system-tcc77x.c
1076target/arm/tcc77x/kernel-tcc77x.c 1074target/arm/tcc77x/kernel-tcc77x.c
1077target/arm/tcc77x/timer-tcc77x.c 1075target/arm/tcc77x/timer-tcc77x.c
@@ -1096,7 +1094,6 @@ target/arm/tcc77x/iaudio7/audio-iaudio7.c
1096drivers/nand_id.c 1094drivers/nand_id.c
1097drivers/pcf50606.c 1095drivers/pcf50606.c
1098target/arm/lcd-as-memframe.S 1096target/arm/lcd-as-memframe.S
1099target/arm/ata-nand-telechips.c
1100target/arm/tcc780x/adc-tcc780x.c 1097target/arm/tcc780x/adc-tcc780x.c
1101target/arm/tcc780x/system-tcc780x.c 1098target/arm/tcc780x/system-tcc780x.c
1102target/arm/tcc780x/cowond2/button-cowond2.c 1099target/arm/tcc780x/cowond2/button-cowond2.c
diff --git a/firmware/drivers/fat.c b/firmware/drivers/fat.c
index 3130a3e2b4..90be93f4f4 100644
--- a/firmware/drivers/fat.c
+++ b/firmware/drivers/fat.c
@@ -204,7 +204,7 @@ static char fat_cache_sectors[FAT_CACHE_SIZE][SECTOR_SIZE];
204static struct fat_cache_entry fat_cache[FAT_CACHE_SIZE]; 204static struct fat_cache_entry fat_cache[FAT_CACHE_SIZE];
205static struct mutex cache_mutex SHAREDBSS_ATTR; 205static struct mutex cache_mutex SHAREDBSS_ATTR;
206 206
207#if defined(HAVE_HOTSWAP) && !defined(HAVE_MMC) /* A better condition ?? */ 207#if defined(HAVE_HOTSWAP) && !(CONFIG_STORAGE & STORAGE_MMC) /* A better condition ?? */
208void fat_lock(void) 208void fat_lock(void)
209{ 209{
210 mutex_lock(&cache_mutex); 210 mutex_lock(&cache_mutex);
diff --git a/firmware/drivers/serial.c b/firmware/drivers/serial.c
index 961974e987..47fbf564ff 100644
--- a/firmware/drivers/serial.c
+++ b/firmware/drivers/serial.c
@@ -39,7 +39,7 @@
39/* iFP7xx has no remote */ 39/* iFP7xx has no remote */
40 40
41#if !defined(HAVE_FMADC) /* Recorder FM/V2 has no remote control pin */ \ 41#if !defined(HAVE_FMADC) /* Recorder FM/V2 has no remote control pin */ \
42 && !defined(HAVE_MMC) /* MMC takes serial port 1, so don't mess with it */ 42 && !(CONFIG_STORAGE & STORAGE_MMC) /* MMC takes serial port 1, so don't mess with it */
43 43
44/* Received byte identifiers */ 44/* Received byte identifiers */
45#define PLAY 0xC1 45#define PLAY 0xC1
@@ -146,7 +146,7 @@ int remote_control_rx(void)
146 return ret; 146 return ret;
147} 147}
148 148
149#endif /* !HAVE_FMADC && !HAVE_MMC */ 149#endif /* !HAVE_FMADC && !STORAGE_MMC */
150#elif defined(CPU_COLDFIRE) && defined(HAVE_SERIAL) 150#elif defined(CPU_COLDFIRE) && defined(HAVE_SERIAL)
151 151
152void serial_tx(const unsigned char *buf) 152void serial_tx(const unsigned char *buf)
diff --git a/firmware/export/ata_idle_notify.h b/firmware/export/ata_idle_notify.h
index cfbba6f13d..aea2c92b06 100644
--- a/firmware/export/ata_idle_notify.h
+++ b/firmware/export/ata_idle_notify.h
@@ -44,7 +44,8 @@ enum {
44}; 44};
45 45
46#define USING_ATA_CALLBACK !defined(SIMULATOR) \ 46#define USING_ATA_CALLBACK !defined(SIMULATOR) \
47 && !defined(HAVE_FLASH_DISK) \ 47 && ! ((CONFIG_STORAGE & STORAGE_NAND) \
48 && (CONFIG_NAND & NAND_IFP7XX)) \
48 && !defined(BOOTLOADER) 49 && !defined(BOOTLOADER)
49 50
50typedef bool (*ata_idle_notify)(void); 51typedef bool (*ata_idle_notify)(void);
diff --git a/firmware/export/config-c100.h b/firmware/export/config-c100.h
index 5bf0fc83a6..9a2664202a 100644
--- a/firmware/export/config-c100.h
+++ b/firmware/export/config-c100.h
@@ -120,4 +120,8 @@
120#define BOOTFILE "rockbox." BOOTFILE_EXT 120#define BOOTFILE "rockbox." BOOTFILE_EXT
121#define BOOTDIR "/" 121#define BOOTDIR "/"
122 122
123#define CONFIG_STORAGE STORAGE_NAND
124
125#define CONFIG_NAND NAND_TCC
126
123#endif /* SIMULATOR */ 127#endif /* SIMULATOR */
diff --git a/firmware/export/config-c200.h b/firmware/export/config-c200.h
index 9a9198ee05..a96b9c7ef8 100644
--- a/firmware/export/config-c200.h
+++ b/firmware/export/config-c200.h
@@ -115,7 +115,7 @@
115#define HAVE_FLASH_STORAGE 115#define HAVE_FLASH_STORAGE
116 116
117/* define this if the flash memory uses the SecureDigital Memory Card protocol */ 117/* define this if the flash memory uses the SecureDigital Memory Card protocol */
118#define HAVE_ATA_SD 118#define CONFIG_STORAGE STORAGE_SD
119 119
120#define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */ 120#define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */
121#define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */ 121#define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */
diff --git a/firmware/export/config-clip.h b/firmware/export/config-clip.h
index 01a08f3886..591ec1012a 100644
--- a/firmware/export/config-clip.h
+++ b/firmware/export/config-clip.h
@@ -95,7 +95,7 @@
95#define HAVE_FLASH_STORAGE 95#define HAVE_FLASH_STORAGE
96 96
97/* define this if the flash memory uses the SecureDigital Memory Card protocol */ 97/* define this if the flash memory uses the SecureDigital Memory Card protocol */
98#define HAVE_ATA_SD 98#define CONFIG_STORAGE STORAGE_SD
99 99
100#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */ 100#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
101#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */ 101#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
diff --git a/firmware/export/config-cowond2.h b/firmware/export/config-cowond2.h
index d136caefb2..749eb0b882 100644
--- a/firmware/export/config-cowond2.h
+++ b/firmware/export/config-cowond2.h
@@ -145,4 +145,8 @@
145#define BOOTFILE "rockbox." BOOTFILE_EXT 145#define BOOTFILE "rockbox." BOOTFILE_EXT
146#define BOOTDIR "/.rockbox" 146#define BOOTDIR "/.rockbox"
147 147
148#define CONFIG_STORAGE STORAGE_NAND
149
150#define CONFIG_NAND NAND_TCC
151
148#endif /* SIMULATOR */ 152#endif /* SIMULATOR */
diff --git a/firmware/export/config-creativezv.h b/firmware/export/config-creativezv.h
index e9cc2685b6..5f0336e538 100644
--- a/firmware/export/config-creativezv.h
+++ b/firmware/export/config-creativezv.h
@@ -37,7 +37,7 @@
37#define MODEL_NUMBER 28 37#define MODEL_NUMBER 28
38 38
39/* define this if you use an ATA controller */ 39/* define this if you use an ATA controller */
40#define HAVE_ATA 40#define CONFIG_STORAGE STORAGE_ATA
41 41
42/* define this if you have a bitmap LCD display */ 42/* define this if you have a bitmap LCD display */
43#define HAVE_LCD_BITMAP 43#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-creativezvm.h b/firmware/export/config-creativezvm.h
index ec21500296..ea3cc871a5 100644
--- a/firmware/export/config-creativezvm.h
+++ b/firmware/export/config-creativezvm.h
@@ -37,7 +37,7 @@
37#define MODEL_NUMBER 26 37#define MODEL_NUMBER 26
38 38
39/* define this if you use an ATA controller */ 39/* define this if you use an ATA controller */
40#define HAVE_ATA 40#define CONFIG_STORAGE STORAGE_ATA
41 41
42/* define this if you have a bitmap LCD display */ 42/* define this if you have a bitmap LCD display */
43#define HAVE_LCD_BITMAP 43#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-creativezvm60gb.h b/firmware/export/config-creativezvm60gb.h
index d1e1d80889..a0cf2ba918 100644
--- a/firmware/export/config-creativezvm60gb.h
+++ b/firmware/export/config-creativezvm60gb.h
@@ -37,7 +37,7 @@
37#define MODEL_NUMBER 27 37#define MODEL_NUMBER 27
38 38
39/* define this if you use an ATA controller */ 39/* define this if you use an ATA controller */
40#define HAVE_ATA 40#define CONFIG_STORAGE STORAGE_ATA
41 41
42/* define this if you have a bitmap LCD display */ 42/* define this if you have a bitmap LCD display */
43#define HAVE_LCD_BITMAP 43#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-e200.h b/firmware/export/config-e200.h
index 745aa71735..075f490ee4 100644
--- a/firmware/export/config-e200.h
+++ b/firmware/export/config-e200.h
@@ -112,7 +112,7 @@
112#define HAVE_FLASH_STORAGE 112#define HAVE_FLASH_STORAGE
113 113
114/* define this if the flash memory uses the SecureDigital Memory Card protocol */ 114/* define this if the flash memory uses the SecureDigital Memory Card protocol */
115#define HAVE_ATA_SD 115#define CONFIG_STORAGE STORAGE_SD
116 116
117#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */ 117#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
118#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */ 118#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
diff --git a/firmware/export/config-e200v2.h b/firmware/export/config-e200v2.h
index 0dc87d4123..c51bac0a9f 100644
--- a/firmware/export/config-e200v2.h
+++ b/firmware/export/config-e200v2.h
@@ -115,7 +115,7 @@
115#define HAVE_FLASH_STORAGE 115#define HAVE_FLASH_STORAGE
116 116
117/* define this if the flash memory uses the SecureDigital Memory Card protocol */ 117/* define this if the flash memory uses the SecureDigital Memory Card protocol */
118#define HAVE_ATA_SD 118#define CONFIG_STORAGE STORAGE_SD
119 119
120#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */ 120#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
121#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */ 121#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
diff --git a/firmware/export/config-fmrecorder.h b/firmware/export/config-fmrecorder.h
index 1908f6a29d..716bc98e09 100644
--- a/firmware/export/config-fmrecorder.h
+++ b/firmware/export/config-fmrecorder.h
@@ -1,5 +1,5 @@
1/* define this if you use an ATA controller */ 1/* define this if you use an ATA controller */
2#define HAVE_ATA 2#define CONFIG_STORAGE STORAGE_ATA
3 3
4#define MODEL_NAME "Archos FM Recorder" 4#define MODEL_NAME "Archos FM Recorder"
5 5
diff --git a/firmware/export/config-gigabeat-s.h b/firmware/export/config-gigabeat-s.h
index 7f36bce7dd..007fd7d2f4 100644
--- a/firmware/export/config-gigabeat-s.h
+++ b/firmware/export/config-gigabeat-s.h
@@ -13,7 +13,7 @@
13#define MODEL_NUMBER 21 13#define MODEL_NUMBER 21
14 14
15/* define this if you use an ATA controller */ 15/* define this if you use an ATA controller */
16#define HAVE_ATA 16#define CONFIG_STORAGE STORAGE_ATA
17 17
18/* define this if you have a bitmap LCD display */ 18/* define this if you have a bitmap LCD display */
19#define HAVE_LCD_BITMAP 19#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-gigabeat.h b/firmware/export/config-gigabeat.h
index f4910bfcb0..0c5462400b 100644
--- a/firmware/export/config-gigabeat.h
+++ b/firmware/export/config-gigabeat.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 18 11#define MODEL_NUMBER 18
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have a bitmap LCD display */ 16/* define this if you have a bitmap LCD display */
17#define HAVE_LCD_BITMAP 17#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-h10.h b/firmware/export/config-h10.h
index 8504ffd25a..2056fd4fcf 100644
--- a/firmware/export/config-h10.h
+++ b/firmware/export/config-h10.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "iriver H10 20GB" 9#define MODEL_NAME "iriver H10 20GB"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15#define HAVE_RECORDING 15#define HAVE_RECORDING
diff --git a/firmware/export/config-h100.h b/firmware/export/config-h100.h
index 641709f639..9c327f11fd 100644
--- a/firmware/export/config-h100.h
+++ b/firmware/export/config-h100.h
@@ -15,7 +15,7 @@
15#define MODEL_NUMBER 1 15#define MODEL_NUMBER 1
16 16
17/* define this if you use an ATA controller */ 17/* define this if you use an ATA controller */
18#define HAVE_ATA 18#define CONFIG_STORAGE STORAGE_ATA
19 19
20/* define this if you have a bitmap LCD display */ 20/* define this if you have a bitmap LCD display */
21#define HAVE_LCD_BITMAP 21#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-h10_5gb.h b/firmware/export/config-h10_5gb.h
index fa1e37229a..40acdc6efe 100644
--- a/firmware/export/config-h10_5gb.h
+++ b/firmware/export/config-h10_5gb.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "iriver H10 5/6GB" 9#define MODEL_NAME "iriver H10 5/6GB"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15#define HAVE_RECORDING 15#define HAVE_RECORDING
diff --git a/firmware/export/config-h120.h b/firmware/export/config-h120.h
index 6177347664..d81fa07d93 100644
--- a/firmware/export/config-h120.h
+++ b/firmware/export/config-h120.h
@@ -10,7 +10,7 @@
10#define MODEL_NUMBER 0 10#define MODEL_NUMBER 0
11 11
12/* define this if you use an ATA controller */ 12/* define this if you use an ATA controller */
13#define HAVE_ATA 13#define CONFIG_STORAGE STORAGE_ATA
14 14
15/* define this if you have a bitmap LCD display */ 15/* define this if you have a bitmap LCD display */
16#define HAVE_LCD_BITMAP 16#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-h300.h b/firmware/export/config-h300.h
index 0b305747cf..f45b694fe0 100644
--- a/firmware/export/config-h300.h
+++ b/firmware/export/config-h300.h
@@ -10,7 +10,7 @@
10#define MODEL_NUMBER 2 10#define MODEL_NUMBER 2
11 11
12/* define this if you use an ATA controller */ 12/* define this if you use an ATA controller */
13#define HAVE_ATA 13#define CONFIG_STORAGE STORAGE_ATA
14 14
15/* define this if you have a bitmap LCD display */ 15/* define this if you have a bitmap LCD display */
16#define HAVE_LCD_BITMAP 16#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-hdd1630.h b/firmware/export/config-hdd1630.h
index 810902e487..7ee3f11355 100755
--- a/firmware/export/config-hdd1630.h
+++ b/firmware/export/config-hdd1630.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "Philips GoGear HDD1630" 9#define MODEL_NAME "Philips GoGear HDD1630"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15/* #define HAVE_RECORDING */ 15/* #define HAVE_RECORDING */
diff --git a/firmware/export/config-iaudio7.h b/firmware/export/config-iaudio7.h
index cce357ec4b..ca6212d305 100644
--- a/firmware/export/config-iaudio7.h
+++ b/firmware/export/config-iaudio7.h
@@ -155,6 +155,10 @@
155#define BOOTFILE "rockbox." BOOTFILE_EXT 155#define BOOTFILE "rockbox." BOOTFILE_EXT
156#define BOOTDIR "/" 156#define BOOTDIR "/"
157 157
158#define CONFIG_STORAGE STORAGE_NAND
159
160#define CONFIG_NAND NAND_TCC
161
158#ifdef BOOTLOADER 162#ifdef BOOTLOADER
159#define TCCBOOT 163#define TCCBOOT
160#endif 164#endif
diff --git a/firmware/export/config-iaudiom3.h b/firmware/export/config-iaudiom3.h
index 8ebd5cb8b6..f4ced651d0 100644
--- a/firmware/export/config-iaudiom3.h
+++ b/firmware/export/config-iaudiom3.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "iAudio M3" 9#define MODEL_NAME "iAudio M3"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15#define HAVE_RECORDING 15#define HAVE_RECORDING
diff --git a/firmware/export/config-iaudiom5.h b/firmware/export/config-iaudiom5.h
index 027ffb61e5..5ec6b77862 100644
--- a/firmware/export/config-iaudiom5.h
+++ b/firmware/export/config-iaudiom5.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "iAudio M5" 9#define MODEL_NAME "iAudio M5"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15#define HAVE_RECORDING 15#define HAVE_RECORDING
diff --git a/firmware/export/config-iaudiox5.h b/firmware/export/config-iaudiox5.h
index 5ea3dcd73c..cdae55af4f 100644
--- a/firmware/export/config-iaudiox5.h
+++ b/firmware/export/config-iaudiox5.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "iAudio X5" 9#define MODEL_NAME "iAudio X5"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have recording possibility */ 14/* define this if you have recording possibility */
15#define HAVE_RECORDING 15#define HAVE_RECORDING
diff --git a/firmware/export/config-ifp7xx.h b/firmware/export/config-ifp7xx.h
index 6e6f9f4097..6a26a93da2 100644
--- a/firmware/export/config-ifp7xx.h
+++ b/firmware/export/config-ifp7xx.h
@@ -31,7 +31,9 @@
31 31
32#define CONFIG_KEYPAD IRIVER_IFP7XX_PAD 32#define CONFIG_KEYPAD IRIVER_IFP7XX_PAD
33 33
34#define CONFIG_FLASH FLASH_IFP7XX 34#define CONFIG_STORAGE STORAGE_NAND
35
36#define CONFIG_NAND NAND_IFP7XX
35 37
36#define HAVE_FAT16SUPPORT 38#define HAVE_FAT16SUPPORT
37 39
@@ -50,8 +52,6 @@
50/* Define this if you have the WM8975 audio codec */ 52/* Define this if you have the WM8975 audio codec */
51/* #define HAVE_WM8975 */ 53/* #define HAVE_WM8975 */
52 54
53#define HAVE_FLASH_DISK
54
55/* Virtual LED (icon) */ 55/* Virtual LED (icon) */
56#define CONFIG_LED LED_VIRTUAL 56#define CONFIG_LED LED_VIRTUAL
57 57
diff --git a/firmware/export/config-ipod1g2g.h b/firmware/export/config-ipod1g2g.h
index ae810b14cb..4308d9c66c 100644
--- a/firmware/export/config-ipod1g2g.h
+++ b/firmware/export/config-ipod1g2g.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 19 11#define MODEL_NUMBER 19
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility 16/* define this if you have recording possibility
17#define HAVE_RECORDING */ 17#define HAVE_RECORDING */
diff --git a/firmware/export/config-ipod3g.h b/firmware/export/config-ipod3g.h
index 3ca95c375c..f1550576d2 100644
--- a/firmware/export/config-ipod3g.h
+++ b/firmware/export/config-ipod3g.h
@@ -12,7 +12,7 @@
12#define MODEL_NUMBER 7 12#define MODEL_NUMBER 7
13 13
14/* define this if you use an ATA controller */ 14/* define this if you use an ATA controller */
15#define HAVE_ATA 15#define CONFIG_STORAGE STORAGE_ATA
16 16
17/* define this if you have recording possibility */ 17/* define this if you have recording possibility */
18/*#define HAVE_RECORDING*/ 18/*#define HAVE_RECORDING*/
diff --git a/firmware/export/config-ipod4g.h b/firmware/export/config-ipod4g.h
index 4f0045fee8..4a2207d1d6 100644
--- a/firmware/export/config-ipod4g.h
+++ b/firmware/export/config-ipod4g.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 8 11#define MODEL_NUMBER 8
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17#define HAVE_RECORDING 17#define HAVE_RECORDING
diff --git a/firmware/export/config-ipodcolor.h b/firmware/export/config-ipodcolor.h
index d23a03a00b..47b7a4eacf 100644
--- a/firmware/export/config-ipodcolor.h
+++ b/firmware/export/config-ipodcolor.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 3 11#define MODEL_NUMBER 3
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17#define HAVE_RECORDING 17#define HAVE_RECORDING
diff --git a/firmware/export/config-ipodmini.h b/firmware/export/config-ipodmini.h
index 8477e497b4..c2d6376706 100644
--- a/firmware/export/config-ipodmini.h
+++ b/firmware/export/config-ipodmini.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 9 11#define MODEL_NUMBER 9
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17/*#define HAVE_RECORDING*/ 17/*#define HAVE_RECORDING*/
diff --git a/firmware/export/config-ipodmini2g.h b/firmware/export/config-ipodmini2g.h
index 5e7bdb0d09..6d6ebf1a9a 100644
--- a/firmware/export/config-ipodmini2g.h
+++ b/firmware/export/config-ipodmini2g.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 11 11#define MODEL_NUMBER 11
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17/*#define HAVE_RECORDING*/ 17/*#define HAVE_RECORDING*/
diff --git a/firmware/export/config-ipodnano.h b/firmware/export/config-ipodnano.h
index 0750d55557..7d6515fc0f 100644
--- a/firmware/export/config-ipodnano.h
+++ b/firmware/export/config-ipodnano.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 4 11#define MODEL_NUMBER 4
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17#define HAVE_RECORDING 17#define HAVE_RECORDING
diff --git a/firmware/export/config-ipodvideo.h b/firmware/export/config-ipodvideo.h
index c7a248e532..fa6ddd304f 100644
--- a/firmware/export/config-ipodvideo.h
+++ b/firmware/export/config-ipodvideo.h
@@ -11,7 +11,7 @@
11#define MODEL_NUMBER 5 11#define MODEL_NUMBER 5
12 12
13/* define this if you use an ATA controller */ 13/* define this if you use an ATA controller */
14#define HAVE_ATA 14#define CONFIG_STORAGE STORAGE_ATA
15 15
16/* define this if you have recording possibility */ 16/* define this if you have recording possibility */
17#define HAVE_RECORDING 17#define HAVE_RECORDING
diff --git a/firmware/export/config-logikdax.h b/firmware/export/config-logikdax.h
index f9ee4b94a0..160058ff7f 100644
--- a/firmware/export/config-logikdax.h
+++ b/firmware/export/config-logikdax.h
@@ -139,4 +139,8 @@
139#define ICODE_ATTR_ALAC 139#define ICODE_ATTR_ALAC
140#define IBSS_ATTR_SHORTEN_DECODED0 140#define IBSS_ATTR_SHORTEN_DECODED0
141 141
142#define CONFIG_STORAGE STORAGE_NAND
143
144#define CONFIG_NAND NAND_TCC
145
142#endif /* SIMULATOR */ 146#endif /* SIMULATOR */
diff --git a/firmware/export/config-m200.h b/firmware/export/config-m200.h
index 2733ad577d..b3b71ee778 100644
--- a/firmware/export/config-m200.h
+++ b/firmware/export/config-m200.h
@@ -124,4 +124,8 @@
124#define ICODE_ATTR_ALAC 124#define ICODE_ATTR_ALAC
125#define IBSS_ATTR_SHORTEN_DECODED0 125#define IBSS_ATTR_SHORTEN_DECODED0
126 126
127#define CONFIG_STORAGE STORAGE_NAND
128
129#define CONFIG_NAND NAND_TCC
130
127#endif /* SIMULATOR */ 131#endif /* SIMULATOR */
diff --git a/firmware/export/config-mrobe100.h b/firmware/export/config-mrobe100.h
index 99e7757af8..051f15824f 100644
--- a/firmware/export/config-mrobe100.h
+++ b/firmware/export/config-mrobe100.h
@@ -9,7 +9,7 @@
9#define MODEL_NAME "Olympus m:robe MR-100" 9#define MODEL_NAME "Olympus m:robe MR-100"
10 10
11/* define this if you use an ATA controller */ 11/* define this if you use an ATA controller */
12#define HAVE_ATA 12#define CONFIG_STORAGE STORAGE_ATA
13 13
14/* define this if you have a bitmap LCD display */ 14/* define this if you have a bitmap LCD display */
15#define HAVE_LCD_BITMAP 15#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-mrobe500.h b/firmware/export/config-mrobe500.h
index 8e20c9478c..572d018328 100644
--- a/firmware/export/config-mrobe500.h
+++ b/firmware/export/config-mrobe500.h
@@ -33,7 +33,7 @@
33#define MODEL_NUMBER 22 33#define MODEL_NUMBER 22
34 34
35/* define this if you use an ATA controller */ 35/* define this if you use an ATA controller */
36#define HAVE_ATA 36#define CONFIG_STORAGE STORAGE_ATA
37 37
38/* define this if you have a bitmap LCD display */ 38/* define this if you have a bitmap LCD display */
39#define HAVE_LCD_BITMAP 39#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-ondavx747.h b/firmware/export/config-ondavx747.h
index 12deb9cf71..38bc5d7b01 100644
--- a/firmware/export/config-ondavx747.h
+++ b/firmware/export/config-ondavx747.h
@@ -34,7 +34,7 @@
34#define MODEL_NUMBER 35 34#define MODEL_NUMBER 35
35 35
36/* define this if you use an ATA controller */ 36/* define this if you use an ATA controller */
37//#define HAVE_ATA 37//#define CONFIG_STORAGE STORAGE_ATA
38 38
39/* define this if you have a bitmap LCD display */ 39/* define this if you have a bitmap LCD display */
40#define HAVE_LCD_BITMAP 40#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-ondavx767.h b/firmware/export/config-ondavx767.h
index 9c2d237b01..bbead76137 100644
--- a/firmware/export/config-ondavx767.h
+++ b/firmware/export/config-ondavx767.h
@@ -34,7 +34,7 @@
34#define MODEL_NUMBER 36 34#define MODEL_NUMBER 36
35 35
36/* define this if you use an ATA controller */ 36/* define this if you use an ATA controller */
37//#define HAVE_ATA 37//#define CONFIG_STORAGE STORAGE_ATA
38 38
39/* define this if you have a bitmap LCD display */ 39/* define this if you have a bitmap LCD display */
40#define HAVE_LCD_BITMAP 40#define HAVE_LCD_BITMAP
diff --git a/firmware/export/config-ondiofm.h b/firmware/export/config-ondiofm.h
index 8d3b040745..634433fcdb 100644
--- a/firmware/export/config-ondiofm.h
+++ b/firmware/export/config-ondiofm.h
@@ -106,7 +106,7 @@
106#define HAVE_ONDIO_ADC 106#define HAVE_ONDIO_ADC
107 107
108/* Define this for MMC support instead of ATA harddisk */ 108/* Define this for MMC support instead of ATA harddisk */
109#define HAVE_MMC 109#define CONFIG_STORAGE STORAGE_MMC
110 110
111/* Define this to support mounting FAT16 partitions */ 111/* Define this to support mounting FAT16 partitions */
112#define HAVE_FAT16SUPPORT 112#define HAVE_FAT16SUPPORT
diff --git a/firmware/export/config-ondiosp.h b/firmware/export/config-ondiosp.h
index fc99bf459d..3443b839b6 100644
--- a/firmware/export/config-ondiosp.h
+++ b/firmware/export/config-ondiosp.h
@@ -89,7 +89,7 @@
89#define HAVE_ONDIO_ADC 89#define HAVE_ONDIO_ADC
90 90
91/* Define this for MMC support instead of ATA harddisk */ 91/* Define this for MMC support instead of ATA harddisk */
92#define HAVE_MMC 92#define CONFIG_STORAGE STORAGE_MMC
93 93
94/* Define this to support mounting FAT16 partitions */ 94/* Define this to support mounting FAT16 partitions */
95#define HAVE_FAT16SUPPORT 95#define HAVE_FAT16SUPPORT
diff --git a/firmware/export/config-player.h b/firmware/export/config-player.h
index d94ca82735..9008212a17 100644
--- a/firmware/export/config-player.h
+++ b/firmware/export/config-player.h
@@ -1,5 +1,5 @@
1/* define this if you use an ATA controller */ 1/* define this if you use an ATA controller */
2#define HAVE_ATA 2#define CONFIG_STORAGE STORAGE_ATA
3 3
4#define MODEL_NAME "Archos Player/Studio" 4#define MODEL_NAME "Archos Player/Studio"
5 5
diff --git a/firmware/export/config-recorder.h b/firmware/export/config-recorder.h
index f6ddb88af6..e5fa3361cc 100644
--- a/firmware/export/config-recorder.h
+++ b/firmware/export/config-recorder.h
@@ -1,5 +1,5 @@
1/* define this if you use an ATA controller */ 1/* define this if you use an ATA controller */
2#define HAVE_ATA 2#define CONFIG_STORAGE STORAGE_ATA
3 3
4#define MODEL_NAME "Archos Recorder" 4#define MODEL_NAME "Archos Recorder"
5 5
diff --git a/firmware/export/config-recorderv2.h b/firmware/export/config-recorderv2.h
index 5d62ec464c..3244f19f1d 100644
--- a/firmware/export/config-recorderv2.h
+++ b/firmware/export/config-recorderv2.h
@@ -1,5 +1,5 @@
1/* define this if you use an ATA controller */ 1/* define this if you use an ATA controller */
2#define HAVE_ATA 2#define CONFIG_STORAGE STORAGE_ATA
3 3
4#define MODEL_NAME "Archos Recorder v2" 4#define MODEL_NAME "Archos Recorder v2"
5 5
diff --git a/firmware/export/config-sa9200.h b/firmware/export/config-sa9200.h
index 433e28db82..b9fd4575bc 100755
--- a/firmware/export/config-sa9200.h
+++ b/firmware/export/config-sa9200.h
@@ -94,7 +94,7 @@
94#define HAVE_FLASH_STORAGE 94#define HAVE_FLASH_STORAGE
95 95
96/* define this if the flash memory uses the SecureDigital Memory Card protocol */ 96/* define this if the flash memory uses the SecureDigital Memory Card protocol */
97#define HAVE_ATA_SD 97#define CONFIG_STORAGE STORAGE_SD
98 98
99#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */ 99#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
100#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */ 100#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
diff --git a/firmware/export/config-tpj1022.h b/firmware/export/config-tpj1022.h
index 1b49e0ebb9..6cc85fdfc9 100644
--- a/firmware/export/config-tpj1022.h
+++ b/firmware/export/config-tpj1022.h
@@ -10,7 +10,7 @@
10#define MODEL_NUMBER 15 10#define MODEL_NUMBER 15
11 11
12/* define this if you use an ATA controller */ 12/* define this if you use an ATA controller */
13#define HAVE_ATA 13#define CONFIG_STORAGE STORAGE_ATA
14 14
15/* define this if you have recording possibility */ 15/* define this if you have recording possibility */
16/*#define HAVE_RECORDING*/ /* TODO: add support for this */ 16/*#define HAVE_RECORDING*/ /* TODO: add support for this */
diff --git a/firmware/export/config.h b/firmware/export/config.h
index 01141f3866..c12f6ce4d2 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -28,6 +28,12 @@
28 28
29/* symbolic names for multiple choice configurations: */ 29/* symbolic names for multiple choice configurations: */
30 30
31/* CONFIG_STORAGE (note these are combineable bit-flags) */
32#define STORAGE_ATA 0x01
33#define STORAGE_MMC 0x02
34#define STORAGE_SD 0x04
35#define STORAGE_NAND 0x08
36
31/* CONFIG_TUNER (note these are combineable bit-flags) */ 37/* CONFIG_TUNER (note these are combineable bit-flags) */
32#define S1A0903X01 0x01 /* Samsung */ 38#define S1A0903X01 0x01 /* Samsung */
33#define TEA5767 0x02 /* Philips */ 39#define TEA5767 0x02 /* Philips */
@@ -180,8 +186,9 @@
180#define LED_VIRTUAL 2 /* Virtual LED (icon) (Archos Ondio) */ 186#define LED_VIRTUAL 2 /* Virtual LED (icon) (Archos Ondio) */
181/* else HW controlled LED (iRiver H1x0) */ 187/* else HW controlled LED (iRiver H1x0) */
182 188
183/* CONFIG_FLASH */ 189/* CONFIG_NAND */
184#define FLASH_IFP7XX 1 190#define NAND_IFP7XX 1
191#define NAND_TCC 2
185 192
186/* CONFIG_RTC */ 193/* CONFIG_RTC */
187#define RTC_M41ST84W 1 /* Archos Recorder */ 194#define RTC_M41ST84W 1 /* Archos Recorder */
diff --git a/firmware/export/hotswap.h b/firmware/export/hotswap.h
index d01c467adf..6872ca86db 100644
--- a/firmware/export/hotswap.h
+++ b/firmware/export/hotswap.h
@@ -41,14 +41,14 @@ typedef struct
41 unsigned int blocksize; /* block size in bytes */ 41 unsigned int blocksize; /* block size in bytes */
42} tCardInfo; 42} tCardInfo;
43 43
44#ifdef HAVE_ATA_SD 44#if (CONFIG_STORAGE & STORAGE_SD)
45#include "ata-sd-target.h" 45#include "ata-sd-target.h"
46#define card_detect card_detect_target 46#define card_detect card_detect_target
47#define card_get_info card_get_info_target 47#define card_get_info card_get_info_target
48#ifdef HAVE_HOTSWAP 48#ifdef HAVE_HOTSWAP
49#define card_enable_monitoring card_enable_monitoring_target 49#define card_enable_monitoring card_enable_monitoring_target
50#endif 50#endif
51#else /* HAVE_MMC */ 51#else /* STORAGE_MMC */
52#include "ata_mmc.h" 52#include "ata_mmc.h"
53#define card_detect mmc_detect 53#define card_detect mmc_detect
54#define card_get_info mmc_card_info 54#define card_get_info mmc_card_info
diff --git a/firmware/export/powermgmt.h b/firmware/export/powermgmt.h
index acdee22a12..70c4b70d7a 100644
--- a/firmware/export/powermgmt.h
+++ b/firmware/export/powermgmt.h
@@ -142,7 +142,7 @@ extern int trickle_sec; /* trickle charge: How many seconds per minute
142#define CURRENT_USB 500 /* usual current in mA in USB mode */ 142#define CURRENT_USB 500 /* usual current in mA in USB mode */
143#ifdef HAVE_REMOTE_LCD 143#ifdef HAVE_REMOTE_LCD
144# define CURRENT_REMOTE 8 /* add. current when H100-remote connected */ 144# define CURRENT_REMOTE 8 /* add. current when H100-remote connected */
145#endif /* HAVE_MMC */ 145#endif /* HAVE_REMOTE_LCD */
146 146
147# define CURRENT_MIN_CHG 70 /* minimum charge current */ 147# define CURRENT_MIN_CHG 70 /* minimum charge current */
148# define MIN_CHG_V 8500 /* at 8.5v charger voltage get CURRENT_MIN_CHG */ 148# define MIN_CHG_V 8500 /* at 8.5v charger voltage get CURRENT_MIN_CHG */
@@ -152,7 +152,7 @@ extern int trickle_sec; /* trickle charge: How many seconds per minute
152# define CURRENT_MAX_CHG 350 /* maximum charging current */ 152# define CURRENT_MAX_CHG 350 /* maximum charging current */
153# endif 153# endif
154# define MAX_CHG_V 10250 /* anything over 10.25v gives CURRENT_MAX_CHG */ 154# define MAX_CHG_V 10250 /* anything over 10.25v gives CURRENT_MAX_CHG */
155#endif /* not HAVE_MMC */ 155#endif /* not ONDIO */
156 156
157extern unsigned short power_history[POWER_HISTORY_LEN]; 157extern unsigned short power_history[POWER_HISTORY_LEN];
158extern const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT]; 158extern const unsigned short battery_level_dangerous[BATTERY_TYPES_COUNT];
diff --git a/firmware/hotswap.c b/firmware/hotswap.c
index cb8a539c01..97c162ce39 100644
--- a/firmware/hotswap.c
+++ b/firmware/hotswap.c
@@ -20,7 +20,7 @@
20 ****************************************************************************/ 20 ****************************************************************************/
21#include <stdbool.h> 21#include <stdbool.h>
22#include "config.h" 22#include "config.h"
23#ifdef HAVE_MMC 23#if (CONFIG_STORAGE & STORAGE_MMC)
24#include "ata_mmc.h" 24#include "ata_mmc.h"
25#else 25#else
26#include "hotswap.h" 26#include "hotswap.h"
diff --git a/firmware/include/dir.h b/firmware/include/dir.h
index 69403a7572..5aa6cde35a 100644
--- a/firmware/include/dir.h
+++ b/firmware/include/dir.h
@@ -28,10 +28,10 @@
28 28
29/* how to name volumes, first char must be outside of legal file names, 29/* how to name volumes, first char must be outside of legal file names,
30 a number gets appended to enumerate, if applicable */ 30 a number gets appended to enumerate, if applicable */
31#ifdef HAVE_MMC 31#if (CONFIG_STORAGE & STORAGE_MMC)
32#define VOL_NAMES "<MMC%d>" 32#define VOL_NAMES "<MMC%d>"
33#define VOL_ENUM_POS 4 /* position of %d, to avoid runtime calculation */ 33#define VOL_ENUM_POS 4 /* position of %d, to avoid runtime calculation */
34#elif defined(HAVE_HOTSWAP) 34#elif (CONFIG_STORAGE & STORAGE_SD)
35#define VOL_NAMES "<microSD%d>" 35#define VOL_NAMES "<microSD%d>"
36#define VOL_ENUM_POS 8 /* position of %d, to avoid runtime calculation */ 36#define VOL_ENUM_POS 8 /* position of %d, to avoid runtime calculation */
37#else 37#else
diff --git a/firmware/powermgmt.c b/firmware/powermgmt.c
index 86fadff2a2..6e0c03c94a 100644
--- a/firmware/powermgmt.c
+++ b/firmware/powermgmt.c
@@ -492,7 +492,7 @@ static int runcurrent(void)
492{ 492{
493 int current; 493 int current;
494 494
495#if MEM == 8 && !defined(HAVE_MMC) 495#if MEM == 8 && !(defined(ARCHOS_ONDIOSP) || defined(ARCHOS_ONDIOFM))
496 /* assuming 192 kbps, the running time is 22% longer with 8MB */ 496 /* assuming 192 kbps, the running time is 22% longer with 8MB */
497 current = (CURRENT_NORMAL*100/122); 497 current = (CURRENT_NORMAL*100/122);
498#else 498#else
@@ -1059,7 +1059,7 @@ static void power_thread(void)
1059 /* initialize the voltages for the exponential filter */ 1059 /* initialize the voltages for the exponential filter */
1060 avgbat = battery_adc_voltage() + 15; 1060 avgbat = battery_adc_voltage() + 15;
1061 1061
1062#ifndef HAVE_MMC /* this adjustment is only needed for HD based */ 1062#ifdef HAVE_DISK_STORAGE /* this adjustment is only needed for HD based */
1063 /* The battery voltage is usually a little lower directly after 1063 /* The battery voltage is usually a little lower directly after
1064 turning on, because the disk was used heavily. Raise it by 5% */ 1064 turning on, because the disk was used heavily. Raise it by 5% */
1065#ifdef HAVE_CHARGING 1065#ifdef HAVE_CHARGING
@@ -1067,7 +1067,7 @@ static void power_thread(void)
1067#endif 1067#endif
1068 avgbat += (percent_to_volt_discharge[battery_type][6] - 1068 avgbat += (percent_to_volt_discharge[battery_type][6] -
1069 percent_to_volt_discharge[battery_type][5]) / 2; 1069 percent_to_volt_discharge[battery_type][5]) / 2;
1070#endif /* not HAVE_MMC */ 1070#endif /* HAVE_DISK_STORAGE */
1071 1071
1072 avgbat = avgbat * BATT_AVE_SAMPLES; 1072 avgbat = avgbat * BATT_AVE_SAMPLES;
1073 battery_millivolts = avgbat / BATT_AVE_SAMPLES; 1073 battery_millivolts = avgbat / BATT_AVE_SAMPLES;
diff --git a/firmware/usb.c b/firmware/usb.c
index e5c7565d39..9064987ed1 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -71,7 +71,7 @@ static int countdown;
71 71
72static int usb_state; 72static int usb_state;
73 73
74#if defined(HAVE_MMC) && defined(USB_FULL_INIT) 74#if (CONFIG_STORAGE & STORAGE_MMC) && defined(USB_FULL_INIT)
75static int usb_mmc_countdown = 0; 75static int usb_mmc_countdown = 0;
76#endif 76#endif
77 77
@@ -435,7 +435,7 @@ static void usb_tick(void)
435 } 435 }
436 } 436 }
437 } 437 }
438#ifdef HAVE_MMC 438#if (CONFIG_STORAGE & STORAGE_MMC)
439 if(usb_mmc_countdown > 0) 439 if(usb_mmc_countdown > 0)
440 { 440 {
441 usb_mmc_countdown--; 441 usb_mmc_countdown--;
diff --git a/firmware/usbstack/usb_storage.c b/firmware/usbstack/usb_storage.c
index 8c1b02b183..198ff46a56 100644
--- a/firmware/usbstack/usb_storage.c
+++ b/firmware/usbstack/usb_storage.c
@@ -39,7 +39,7 @@
39 * by not overlapping ata_write_sector() with USB transfers. This does reduce 39 * by not overlapping ata_write_sector() with USB transfers. This does reduce
40 * write performance, so we only do it for the affected DAPs 40 * write performance, so we only do it for the affected DAPs
41 */ 41 */
42#ifdef HAVE_ATA_SD 42#if (CONFIG_STORAGE & STORAGE_SD)
43#define SERIALIZE_WRITES 43#define SERIALIZE_WRITES
44#endif 44#endif
45/* Enable the following define to export only the SD card slot. This 45/* Enable the following define to export only the SD card slot. This
@@ -668,7 +668,7 @@ static void handle_scsi(struct command_block_wrapper* cbw)
668 block_size = SECTOR_SIZE; 668 block_size = SECTOR_SIZE;
669 block_count = RAMDISK_SIZE; 669 block_count = RAMDISK_SIZE;
670#else 670#else
671#if defined(HAVE_ATA_SD) || defined(HAVE_HOTSWAP) 671#if (CONFIG_STORAGE & STORAGE_SD) || defined(HAVE_HOTSWAP)
672 tCardInfo* cinfo = card_get_info(lun); 672 tCardInfo* cinfo = card_get_info(lun);
673 if(cinfo->initialized && cinfo->numblocks > 0) { 673 if(cinfo->initialized && cinfo->numblocks > 0) {
674 block_size = cinfo->blocksize; 674 block_size = cinfo->blocksize;