summaryrefslogtreecommitdiffstats
path: root/firmware/export/config
diff options
context:
space:
mode:
authorBjörn Stenberg <bjorn@haxx.se>2009-12-07 12:19:08 +0000
committerBjörn Stenberg <bjorn@haxx.se>2009-12-07 12:19:08 +0000
commitc0740440ac9c830f59e8b5c9b3a8aecc49766506 (patch)
tree5ad47d05a66c0a1048d8bd6b304a66a8489248cd /firmware/export/config
parentee15637749e293139f31a32548850cb549d3533e (diff)
downloadrockbox-c0740440ac9c830f59e8b5c9b3a8aecc49766506.tar.gz
rockbox-c0740440ac9c830f59e8b5c9b3a8aecc49766506.tar.bz2
rockbox-c0740440ac9c830f59e8b5c9b3a8aecc49766506.zip
Rename targets to be consistent in all places. (FS #10819). Take 2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23883 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/config')
-rw-r--r--firmware/export/config/archosfmrecorder.h142
-rw-r--r--firmware/export/config/archosondiofm.h139
-rw-r--r--firmware/export/config/archosondiosp.h123
-rw-r--r--firmware/export/config/archosplayer.h105
-rw-r--r--firmware/export/config/archosrecorder.h132
-rw-r--r--firmware/export/config/archosrecorderv2.h142
-rw-r--r--firmware/export/config/cowond2.h171
-rw-r--r--firmware/export/config/creativezv.h167
-rw-r--r--firmware/export/config/gigabeatfx.h188
-rw-r--r--firmware/export/config/gigabeats.h216
-rw-r--r--firmware/export/config/gogearhdd1630.h202
-rw-r--r--firmware/export/config/gogearsa9200.h196
-rw-r--r--firmware/export/config/iaudio7.h162
-rw-r--r--firmware/export/config/iaudiom3.h171
-rw-r--r--firmware/export/config/iaudiom5.h192
-rw-r--r--firmware/export/config/iaudiox5.h205
-rw-r--r--firmware/export/config/ipod1g2g.h171
-rw-r--r--firmware/export/config/ipod3g.h175
-rw-r--r--firmware/export/config/ipod4g.h209
-rw-r--r--firmware/export/config/ipodcolor.h184
-rw-r--r--firmware/export/config/ipodmini1g.h195
-rw-r--r--firmware/export/config/ipodmini2g.h205
-rw-r--r--firmware/export/config/ipodnano1g.h194
-rw-r--r--firmware/export/config/ipodnano2g.h213
-rw-r--r--firmware/export/config/ipodvideo.h226
-rw-r--r--firmware/export/config/iriverh10.h188
-rw-r--r--firmware/export/config/iriverh100.h216
-rw-r--r--firmware/export/config/iriverh10_5gb.h171
-rw-r--r--firmware/export/config/iriverh120.h217
-rw-r--r--firmware/export/config/iriverh300.h204
-rw-r--r--firmware/export/config/iriverifp7xx.h127
-rw-r--r--firmware/export/config/logikdax.h147
-rw-r--r--firmware/export/config/lyreproto1.h103
-rw-r--r--firmware/export/config/meizuiaudiom3.h180
-rw-r--r--firmware/export/config/meizum6sl.h178
-rw-r--r--firmware/export/config/meizum6sp.h181
-rw-r--r--firmware/export/config/mini2440.h156
-rw-r--r--firmware/export/config/mrobe100.h202
-rw-r--r--firmware/export/config/mrobe500.h258
-rw-r--r--firmware/export/config/ondavx747.h224
-rw-r--r--firmware/export/config/ondavx767.h167
-rw-r--r--firmware/export/config/samsungyh820.h183
-rw-r--r--firmware/export/config/samsungyh920.h189
-rw-r--r--firmware/export/config/samsungyh925.h187
-rw-r--r--firmware/export/config/samsungyps3.h182
-rw-r--r--firmware/export/config/sansac100.h128
-rw-r--r--firmware/export/config/sansac200.h207
-rw-r--r--firmware/export/config/sansac200v2.h199
-rw-r--r--firmware/export/config/sansaclip.h199
-rw-r--r--firmware/export/config/sansae200.h216
-rw-r--r--firmware/export/config/sansae200v2.h212
-rw-r--r--firmware/export/config/sansafuze.h206
-rw-r--r--firmware/export/config/sansam200.h136
-rw-r--r--firmware/export/config/sansam200v4.h165
-rw-r--r--firmware/export/config/sansaview.h203
-rw-r--r--firmware/export/config/sim.h81
-rw-r--r--firmware/export/config/tatungtpj1022.h139
-rw-r--r--firmware/export/config/zenvisionm.h176
-rw-r--r--firmware/export/config/zenvisionm60gb.h168
59 files changed, 10520 insertions, 0 deletions
diff --git a/firmware/export/config/archosfmrecorder.h b/firmware/export/config/archosfmrecorder.h
new file mode 100644
index 0000000000..d9f3a95f3e
--- /dev/null
+++ b/firmware/export/config/archosfmrecorder.h
@@ -0,0 +1,142 @@
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+#define MODEL_NAME "Archos FM Recorder"
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_SPDIF)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+/* define this if you have the button bar */
+#define HAVE_BUTTONBAR
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 112
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXEL_ASPECT_WIDTH 4
+#define LCD_PIXEL_ASPECT_HEIGHT 5
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x7ee57e
+
+/* define this if you have a Recorder style 10-key keyboard */
+#define CONFIG_KEYPAD RECORDER_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_M41ST84W
+
+/* FM recorders can wake up from RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* define this if you have RTC RAM available for settings */
+#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+#ifndef BOOTLOADER
+/* Define this if you have an FM Radio */
+#define CONFIG_TUNER S1A0903X01
+#endif
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you have a MAS3587F */
+#define CONFIG_CODEC MAS3587F
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+#define CONFIG_I2C I2C_PLAYREC
+
+#define BATTERY_CAPACITY_DEFAULT 2200 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 2200 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CURRENT_NORMAL 145 /* usual current in mA */
+#define CURRENT_RECORD 35 /* additional recording current */
+#define CURRENT_USB 500 /* usual current in mA in USB mode */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this if you have a FM Recorder key system */
+#define HAVE_FMADC
+
+/* Define this if battery voltage can only be measured with ATA powered */
+#define NEED_ATA_POWER_BATT_MEASURE
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11059200
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x14010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Software controlled LED */
+#define CONFIG_LED LED_REAL
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "ajz"
+#define BOOTFILE "ajbrec." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+
diff --git a/firmware/export/config/archosondiofm.h b/firmware/export/config/archosondiofm.h
new file mode 100644
index 0000000000..b14f113244
--- /dev/null
+++ b/firmware/export/config/archosondiofm.h
@@ -0,0 +1,139 @@
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+#define MODEL_NAME "Ondio FM"
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 112
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXEL_ASPECT_WIDTH 4
+#define LCD_PIXEL_ASPECT_HEIGHT 5
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x82b4fa
+
+/* define this if you have an Ondio style 6-key keyboard */
+#define CONFIG_KEYPAD ONDIO_PAD
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+#ifndef BOOTLOADER
+/* Define this if you have an FM Radio */
+#define CONFIG_TUNER (S1A0903X01 | TEA5767) /* to be decided at runtime */
+#define CONFIG_TUNER_XTAL 13000000
+#endif
+
+/* Define this if you have a MAS3587F */
+#define CONFIG_CODEC MAS3587F
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define BATTERY_CAPACITY_DEFAULT 1000 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 2 /* Alkalines or NiMH */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 95 /* average, nearly proportional to 1/U */
+#define CURRENT_USB 1 /* host powered in USB mode; avoid zero-div */
+#define CURRENT_BACKLIGHT 0 /* no backlight */
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 12000000
+
+/* Define this for different I2C pinout */
+#define CONFIG_I2C I2C_ONDIO
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+/* Define this if the tuner is switched on by software */
+#define HAVE_TUNER_PWR_CTRL
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x16010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Define this if the display is mounted upside down */
+#define HAVE_DISPLAY_FLIPPED
+
+/* Define this for different ADC channel assignment */
+#define HAVE_ONDIO_ADC
+
+/* Define this for MMC support instead of ATA harddisk */
+#define CONFIG_STORAGE STORAGE_MMC
+
+/* Define this to support mounting FAT16 partitions */
+#define HAVE_FAT16SUPPORT
+
+/* Define this if the MAS SIBI line can be controlled via PB8 */
+#define HAVE_MAS_SIBI_CONTROL
+
+/* define this if more than one device/partition can be used */
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+
+/* define this if media can be exchanged on the fly */
+#define HAVE_HOTSWAP
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "ajz"
+#define BOOTFILE "ajbrec." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+
diff --git a/firmware/export/config/archosondiosp.h b/firmware/export/config/archosondiosp.h
new file mode 100644
index 0000000000..452b47b78e
--- /dev/null
+++ b/firmware/export/config/archosondiosp.h
@@ -0,0 +1,123 @@
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+#define MODEL_NAME "Ondio SP"
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 112
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXEL_ASPECT_WIDTH 4
+#define LCD_PIXEL_ASPECT_HEIGHT 5
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x82b4fa
+
+/* define this if you have an Ondio style 6-key keyboard */
+#define CONFIG_KEYPAD ONDIO_PAD
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+/* Define this if you have a MAS3539F */
+#define CONFIG_CODEC MAS3539F
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define BATTERY_CAPACITY_DEFAULT 1000 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 2 /* Alkalines or NiMH */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 95 /* average, nearly proportional to 1/U */
+#define CURRENT_USB 1 /* host powered in USB mode; avoid zero-div */
+#define CURRENT_BACKLIGHT 0 /* no backlight */
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 12000000
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x12010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Define this if the display is mounted upside down */
+#define HAVE_DISPLAY_FLIPPED
+
+/* Define this for different I2C pinout */
+#define CONFIG_I2C I2C_ONDIO
+
+/* Define this for different ADC channel assignment */
+#define HAVE_ONDIO_ADC
+
+/* Define this for MMC support instead of ATA harddisk */
+#define CONFIG_STORAGE STORAGE_MMC
+
+/* Define this to support mounting FAT16 partitions */
+#define HAVE_FAT16SUPPORT
+
+/* Define this if the MAS SIBI line can be controlled via PB8 */
+#define HAVE_MAS_SIBI_CONTROL
+
+/* define this if more than one device/partition can be used */
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+
+/* define this if media can be exchanged on the fly */
+#define HAVE_HOTSWAP
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "ajz"
+#define BOOTFILE "ajbrec." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+
diff --git a/firmware/export/config/archosplayer.h b/firmware/export/config/archosplayer.h
new file mode 100644
index 0000000000..c60ee6a071
--- /dev/null
+++ b/firmware/export/config/archosplayer.h
@@ -0,0 +1,105 @@
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+#define MODEL_NAME "Archos Player/Studio"
+
+/* define this if you have a charcell LCD display */
+#define HAVE_LCD_CHARCELLS
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define LCD_WIDTH 11
+#define LCD_HEIGHT 2
+#define LCD_DEPTH 1
+#define SIM_LCD_WIDTH 132 /* pixels */
+#define SIM_LCD_HEIGHT 64 /* pixels */
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x7ee57e
+
+/* define this if you have the Player's keyboard */
+#define CONFIG_KEYPAD PLAYER_PAD
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+/* Define this if you have a MAS3507D */
+#define CONFIG_CODEC MAS3507D
+
+/* Define this if you have a DAC3550A */
+#define HAVE_DAC3550A
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CURRENT_NORMAL 145 /* usual current in mA */
+#define CURRENT_USB 500 /* usual current in mA in USB mode */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this if you control ata power player style
+ (with PB4, new player only) */
+#define ATA_POWER_PLAYERSTYLE
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 12000000 /* cycle time ~83.3ns */
+
+/* Define this if you must discharge the data line by driving it low
+ and then set it to input to see if it stays low or goes high */
+#define HAVE_I2C_LOW_FIRST
+
+#define CONFIG_I2C I2C_PLAYREC
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 4
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 6
+
+/* The start address index for ROM builds */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Software controlled LED */
+#define CONFIG_LED LED_REAL
+
+#define CONFIG_LCD LCD_SSD1801
+
+#define BOOTFILE_EXT "mod"
+#define BOOTFILE "archos." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 31
+#define DEFAULT_CONTRAST_SETTING 30
+
+#define HAVE_SERIAL
+
diff --git a/firmware/export/config/archosrecorder.h b/firmware/export/config/archosrecorder.h
new file mode 100644
index 0000000000..ef9f523c49
--- /dev/null
+++ b/firmware/export/config/archosrecorder.h
@@ -0,0 +1,132 @@
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+#define MODEL_NAME "Archos Recorder"
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_SPDIF)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+/* define this if you have the button bar */
+#define HAVE_BUTTONBAR
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 112
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXEL_ASPECT_WIDTH 4
+#define LCD_PIXEL_ASPECT_HEIGHT 5
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x7ee57e
+
+/* define this if you have the Recorder's 10-key keyboard */
+#define CONFIG_KEYPAD RECORDER_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_M41ST84W
+
+/* define this if you have RTC RAM available for settings */
+#define HAVE_RTC_RAM
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you have a MAS3587F */
+#define CONFIG_CODEC MAS3587F
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_PLAYREC
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CURRENT_NORMAL 145 /* usual current in mA */
+#define CURRENT_RECORD 35 /* additional recording current */
+#define CURRENT_USB 500 /* usual current in mA in USB mode */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Software controlled charging */
+#define CONFIG_CHARGING CHARGING_TARGET
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11059200
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 4
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 6
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x11010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Software controlled LED */
+#define CONFIG_LED LED_REAL
+
+/* Define this for S/PDIF output available */
+#define HAVE_SPDIF_OUT
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "ajz"
+#define BOOTFILE "ajbrec." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+
+#define HAVE_SERIAL
diff --git a/firmware/export/config/archosrecorderv2.h b/firmware/export/config/archosrecorderv2.h
new file mode 100644
index 0000000000..c530fa5815
--- /dev/null
+++ b/firmware/export/config/archosrecorderv2.h
@@ -0,0 +1,142 @@
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+#define MODEL_NAME "Archos Recorder v2"
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_SPDIF)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+/* define this if you have the button bar */
+#define HAVE_BUTTONBAR
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 112
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXEL_ASPECT_WIDTH 4
+#define LCD_PIXEL_ASPECT_HEIGHT 5
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x7ee57e
+
+/* define this if you have a Recorder style 10-key keyboard */
+#define CONFIG_KEYPAD RECORDER_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_M41ST84W
+
+/* FM recorders can wake up from RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* define this if you have RTC RAM available for settings */
+#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x8000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you have a MAS3587F */
+#define CONFIG_CODEC MAS3587F
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_PLAYREC
+
+#define BATTERY_CAPACITY_DEFAULT 2200 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 2200 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CURRENT_NORMAL 145 /* usual current in mA */
+#define CURRENT_RECORD 35 /* additional recording current */
+#define CURRENT_USB 500 /* usual current in mA in USB mode */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a SH7034 */
+#define CONFIG_CPU SH7034
+
+/* Define this if you have a FM Recorder key system */
+#define HAVE_FMADC
+
+/* Define this if battery voltage can only be measured with ATA powered */
+#define NEED_ATA_POWER_BATT_MEASURE
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11059200
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 20
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 6
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 24
+
+#ifndef BOOTLOADER
+/* Define this if you have an FM Radio */
+#define CONFIG_TUNER S1A0903X01
+#endif
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x12010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+/* Software controlled LED */
+#define CONFIG_LED LED_REAL
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "ajz"
+#define BOOTFILE "ajbrec." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+
diff --git a/firmware/export/config/cowond2.h b/firmware/export/config/cowond2.h
new file mode 100644
index 0000000000..88c7ce5b8f
--- /dev/null
+++ b/firmware/export/config/cowond2.h
@@ -0,0 +1,171 @@
+/*
+ * This config file is for the Cowon D2
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 24
+
+#define MODEL_NAME "Cowon D2"
+
+#if 0
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0e21
+#define USB_PRODUCT_ID 0x0800
+#endif
+
+
+/* Produce a dual-boot bootloader.bin for mktccboot */
+#define TCCBOOT
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you can flip your LCD */
+/* #define HAVE_LCD_FLIP */
+
+/* define this if you can invert the colours on your LCD */
+/* #define HAVE_LCD_INVERT */
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* FM Tuner */
+#define CONFIG_TUNER LV24020LP
+#define HAVE_TUNER_PWR_CTRL
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
+#define HAVE_MULTIDRIVE
+#define HAVE_HOTSWAP
+#define NUM_DRIVES 2
+
+#define CONFIG_NAND NAND_TCC
+
+/* Some (2Gb?) D2s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* LCD dimensions */
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+#define LCD_DEPTH 16
+#define LCD_PIXELFORMAT 565
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD COWOND2_PAD
+#define HAVE_TOUCHSCREEN
+#define HAVE_BUTTON_DATA
+
+/* The D2 has either a PCF50606 or PCF50635, RTC_D2 handles both */
+#define CONFIG_RTC RTC_D2
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Reduce Tremor's ICODE usage */
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* The D2 uses a WM8985 codec */
+#define HAVE_WM8985
+
+/* Use WM8985 EQ1 & EQ5 as hardware tone controls */
+/* #define HAVE_SW_TONE_CONTROLS */
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+/* Enable LCD brightness control */
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 14
+#define DEFAULT_BRIGHTNESS_SETTING 8
+
+#define CONFIG_I2C I2C_TCC780X
+
+#define BATTERY_CAPACITY_DEFAULT 1600 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define current usage levels. */
+#define CURRENT_NORMAL 88 /* 18 hours from a 1600 mAh battery */
+#define CURRENT_BACKLIGHT 30 /* TBD */
+#define CURRENT_RECORD 0 /* no recording yet */
+
+/* Define this if you have a TCC7801 */
+#define CONFIG_CPU TCC7801
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 48000000
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define INCLUDE_TIMEOUT_API
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define CONFIG_LCD LCD_COWOND2
+
+#define BOOTFILE_EXT "d2"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/creativezv.h b/firmware/export/config/creativezv.h
new file mode 100644
index 0000000000..eff5a506c0
--- /dev/null
+++ b/firmware/export/config/creativezv.h
@@ -0,0 +1,167 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Creative Zen Vision
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x00900000
+
+#define CREATIVE_ZV 1
+
+#define MODEL_NAME "Creative Zen Vision"
+
+/* This makes it part of the Creative Zen Vision family :) */
+#define CREATIVE_ZVx 1
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 28
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+//#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_CREATIVEZVM
+
+/* choose the lcd orientation. both work */
+#define CONFIG_ORIENTATION SCREEN_PORTRAIT
+
+#define LCD_WIDTH 640
+#define LCD_HEIGHT 480
+
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+#define CONFIG_KEYPAD CREATIVEZV_PAD
+#define HAVE_HEADPHONE_DETECTION
+//#define HAVE_TOUCHPAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+//#define CONFIG_RTC RTC_RX5X348AB
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+//#define HAVE_BACKLIGHT
+
+//#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+//#define MIN_BRIGHTNESS_SETTING 0
+//#define MAX_BRIGHTNESS_SETTING 127
+//#define DEFAULT_BRIGHTNESS_SETTING 85 /* OF "full brightness" */
+//#define DEFAULT_DIMNESS_SETTING 22 /* OF "most dim" */
+
+/* Define this if you have a software controlled poweroff */
+//#define HAVE_SW_POWEROFF
+//TODO: enable this back
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Define this if you have the TLV320 audio codec -> controlled by the DSP */
+#define HAVE_TLV320
+
+#define CONFIG_I2C I2C_DM320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/*#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \
+ SAMPR_CAP_11)*/
+
+#define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+//#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if you have a TI TMS320DM320 */
+#define CONFIG_CPU DM320
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 16934400
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define BOOTFILE_EXT "zv"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define CONFIG_USBOTG USBOTG_ISP1583
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x041e
+#define USB_PRODUCT_ID 0x4133
+#define USB_NUM_ENDPOINTS 7
+
diff --git a/firmware/export/config/gigabeatfx.h b/firmware/export/config/gigabeatfx.h
new file mode 100644
index 0000000000..363312a415
--- /dev/null
+++ b/firmware/export/config/gigabeatfx.h
@@ -0,0 +1,188 @@
+/*
+ * This config file is for toshiba Gigabeat F
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define TOSHIBA_GIGABEAT_F 1
+
+#define MODEL_NAME "Toshiba Gigabeat F"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 18
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#ifndef BOOTLOADER
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+#define HAVE_LCD_SLEEP
+/* We don't use a setting but a fixed delay after the backlight has
+ * turned off */
+#define LCD_SLEEP_TIMEOUT (5*HZ)
+
+#define HAVE_TOUCHPAD_SENSITIVITY_SETTING
+
+#define HAVE_HARDWARE_BEEP
+
+#endif /* BOOTLOADER */
+
+#define CONFIG_KEYPAD GIGABEAT_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_S3C2440
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define HAVE_BUTTON_LIGHT
+
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+#define HAVE_BUTTONLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1 /* 0.5 mA */
+#define MAX_BRIGHTNESS_SETTING 12 /* 32 mA */
+#define DEFAULT_BRIGHTNESS_SETTING 10 /* 16 mA */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8751
+
+/* Define this if you want to use the adaptive bass capibility of the 8751 */
+/* #define USE_ADAPTIVE_BASS */
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \
+ SAMPR_CAP_11)
+
+/* All exact rates for 16.9344MHz clock */
+#define CODEC_SRCTRL_11025HZ (0x19 << 1)
+#define CODEC_SRCTRL_22050HZ (0x1b << 1)
+#define CODEC_SRCTRL_44100HZ (0x11 << 1)
+#define CODEC_SRCTRL_88200HZ (0x1f << 1)
+
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 830 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 830 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 830 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 25 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define current usage levels */
+#define CURRENT_NORMAL 46 /* 18 hours from an 830 mah battery*/
+#define CURRENT_BACKLIGHT 30 /* seems reasonable */
+#define CURRENT_RECORD 0 /* no recording on the gigabeat F/X */
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define this if the unit has a battery switch or battery can be removed
+ * when running */
+#define HAVE_BATTERY_SWITCH
+
+#define HAVE_LCD_FLIP
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 47 /* Match boot contrast */
+
+/* LCD invert - does not currently work */
+/* #define HAVE_LCD_INVERT */
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU S3C2440
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_S3C2440
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 16934400
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+#define CONFIG_LCD LCD_GIGABEAT
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define BOOTFILE_EXT "gigabeat"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/gigabeats.h b/firmware/export/config/gigabeats.h
new file mode 100644
index 0000000000..7f55797a07
--- /dev/null
+++ b/firmware/export/config/gigabeats.h
@@ -0,0 +1,216 @@
+/*
+ * This config file is for toshiba Gigabeat S
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define TOSHIBA_GIGABEAT_S 1
+
+#define MODEL_NAME "Toshiba Gigabeat S"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 21
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#define CONFIG_KEYPAD GIGABEAT_S_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_MC13783
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have a SI4700 fm radio tuner */
+#define CONFIG_TUNER SI4700
+
+/* Define this if you have the WM8978 audio codec */
+#define HAVE_WM8978
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS SRC_CAP_FMRADIO
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS HW_SAMPR_CAPS /* Same as playback */
+
+/* define default recording levels */
+#define DEFAULT_REC_LEFT_GAIN 0
+#define DEFAULT_REC_RIGHT_GAIN 0
+
+/* Define this if you have recording capability */
+#define HAVE_RECORDING
+
+/* Define this if your LCD can be put to sleep. */
+#define HAVE_LCD_SLEEP
+/* We don't use a setting but a fixed delay after the backlight has
+ * turned off */
+#define LCD_SLEEP_TIMEOUT (2*HZ)
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+#ifndef BOOTLOADER
+
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 24
+#define DEFAULT_BRIGHTNESS_SETTING 12
+
+/* Implementation-defined fading type with bool settings */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_TARGET
+
+#define HAVE_HEADPHONE_DETECTION
+#endif /* BOOTLOADER */
+
+#define CONFIG_CPU IMX31L
+
+/* Define this if you want to use imx31l's i2c interface */
+#define CONFIG_I2C I2C_IMX31L
+
+/* Define the bitmask of modules used */
+#define SPI_MODULE_MASK (USE_CSPI2_MODULE)
+#define I2C_MODULE_MASK (USE_I2C1_MODULE | USE_I2C2_MODULE)
+#define GPIO_EVENT_MASK (USE_GPIO1_EVENTS)
+
+/* Define this if target has an additional number of threads specific to it */
+#define TARGET_EXTRA_THREADS 2
+
+/* Type of mobile power - check this out */
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 25 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* TODO: have a proper status displayed in the bootloader and have it
+ * work! */
+/* Charing implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x200000
+
+/* Define this to the CPU frequency */
+/* TODO */
+#define CPU_FREQ 264000000 /* Set by retailOS loader */
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+#define USBPOWER_BUTTON BUTTON_MENU
+#define USBPOWER_BTN_IGNORE BUTTON_POWER
+
+/* define this if the unit has a battery switch or battery can be removed
+ * when running */
+#define HAVE_BATTERY_SWITCH
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the usb stack */
+#define USE_ROCKBOX_USB
+#define HAVE_USBSTACK
+/* usb stack and driver settings */
+#define USB_PORTSCX_PHY_TYPE PORTSCX_PTS_ULPI
+#define USB_VENDOR_ID 0x0930
+#define USB_PRODUCT_ID 0x0010
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this to add support for ATA DMA */
+#define HAVE_ATA_DMA
+
+#define CONFIG_LCD LCD_GIGABEAT
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+//#define HAVE_SERIAL
+#define HAVE_VOLUME_IN_LIST
+
+/*Remove Comments from UART_INT to enable the UART interrupts,*/
+/*otherwise iterrupts will be disabled. For now we will test */
+/*UART state by polling the registers, and if necessary update this */
+/*method by using the interrupts instead*/
+//#define UART_INT
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define HAVE_PCM_DMA_ADDRESS
+
+#define BOOTFILE_EXT "gigabeat"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/gogearhdd1630.h b/firmware/export/config/gogearhdd1630.h
new file mode 100644
index 0000000000..c9a3b035ca
--- /dev/null
+++ b/firmware/export/config/gogearhdd1630.h
@@ -0,0 +1,202 @@
+/*
+ * This config file is for the Philips GoGear HDD16x0/HDD63x0
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 31
+#define MODEL_NAME "Philips GoGear HDD16x0"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 byte-swapped */
+
+#ifndef BOOTLOADER
+/* Define this if your LCD can be enabled/disabled */
+/* #define HAVE_LCD_ENABLE */
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ * should be defined as well.
+ * We can currently put the lcd to sleep but it won't wake up properly */
+/* #define HAVE_LCD_SLEEP */
+/* #define HAVE_LCD_SLEEP_SETTING */
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD PHILIPS_HDD1630_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock. The HDD16x0 has a PCF8563 RTC,
+ but it's register compatible with the E8564. */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564
+#define HAVE_RTC_ALARM
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731 audio codec */
+#define HAVE_WM8731
+
+/* WM8731 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* TODO: #define AB_REPEAT_ENABLE 1 */
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING */
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 16
+#define DEFAULT_BRIGHTNESS_SETTING 13 /* match OF brightness */
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+#define HAVE_BUTTONLIGHT_BRIGHTNESS
+
+#define BATTERY_CAPACITY_DEFAULT 630 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 630 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 630 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5022
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_HDD1630
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 127
+#define DEFAULT_CONTRAST_SETTING 63 /* Match boot contrast */
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0471
+#define USB_PRODUCT_ID 0x014C
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/gogearsa9200.h b/firmware/export/config/gogearsa9200.h
new file mode 100644
index 0000000000..d9b9462880
--- /dev/null
+++ b/firmware/export/config/gogearsa9200.h
@@ -0,0 +1,196 @@
+/*
+ * This config file is for the Philips GoGear SA9200
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 34
+#define MODEL_NAME "Philips GoGear SA200"
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 160
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#ifndef BOOTLOADER
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep.
+ HAVE_LCD_ENABLE should be defined as well. */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD PHILIPS_SA9200_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* The PP5024 has a built-in AustriaMicrosystems AS3514 */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa E200s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+/* Can't control the brightness on all the buttons */
+/* #define HAVE_BUTTONLIGHT_BRIGHTNESS */
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 750 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* define current usage levels (copied from the e200v1 )*/
+#define CURRENT_NORMAL 30 /* Toni's measurements in Nov 2008 */
+#define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */
+#define CURRENT_RECORD 30 /* flash player, so this is just unboosted current*/
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5024 */
+#define CONFIG_CPU PP5024
+
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_PP5024
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_SA9200
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 31
+#define DEFAULT_CONTRAST_SETTING 22 /* Match boot contrast */
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0471
+#define USB_PRODUCT_ID 0x014f
+#define HAVE_USB_HID_MOUSE
+
+/* WARNING! Enable Rockbox USB mass storage. */
+#ifndef BOOTLOADER
+#define USE_ROCKBOX_USB
+#endif
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* These values are unused, but need to be defined */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
diff --git a/firmware/export/config/iaudio7.h b/firmware/export/config/iaudio7.h
new file mode 100644
index 0000000000..44a6f84b0a
--- /dev/null
+++ b/firmware/export/config/iaudio7.h
@@ -0,0 +1,162 @@
+/*
+ * This config file is for the Iaudio7 series
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 32
+#define MODEL_NAME "Cowon iAudio7"
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* FM Tuner */
+#define CONFIG_TUNER LV24020LP
+#define HAVE_TUNER_PWR_CTRL
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/* define hardware samples rate caps mask */
+#define HW_SAMPR_CAPS (/*SAMPR_CAP_88 | */SAMPR_CAP_44/* | SAMPR_CAP_22 | SAMPR_CAP_11*/)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44/* | SAMPR_CAP_22 | SAMPR_CAP_11*/)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define HAVE_FAT16SUPPORT
+
+#if 0 && !defined(SIMULATOR) /* Enable for USB driver test */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0e21
+#define USB_PRODUCT_ID 0x0750
+#endif
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_TCC
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+/* 16bits for now... */
+#define LCD_DEPTH 16 /* 262144 colours */
+#define LCD_PIXELFORMAT RGB565 /*rgb565*/
+
+/*#define LCD_PIXELFORMAT VERTICAL_PACKING*/
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD IAUDIO67_PAD
+
+/* #define HAVE_BUTTON_DATA */
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50606
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Reduce Tremor's ICODE usage */
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* The iaudio7 uses built-in WM8731 codec */
+#define HAVE_WM8731
+/* Codec is slave on serial bus */
+#define CODEC_SLAVE
+
+/* WM8731 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_TCC77X
+
+#define BATTERY_CAPACITY_DEFAULT 540 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 540 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 540 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if you have a TCC770 */
+#define CONFIG_CPU TCC770
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 120000000
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define CONFIG_LCD LCD_IAUDIO67
+
+#define BOOTFILE_EXT "iaudio"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#ifdef BOOTLOADER
+#define TCCBOOT
+#endif
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/iaudiom3.h b/firmware/export/config/iaudiom3.h
new file mode 100644
index 0000000000..99c4605be0
--- /dev/null
+++ b/firmware/export/config/iaudiom3.h
@@ -0,0 +1,171 @@
+/*
+ * This config file is for iAudio M3
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 25
+
+#define MODEL_NAME "iAudio M3"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 96
+#define LCD_DEPTH 2
+
+#define LCD_PIXELFORMAT VERTICAL_INTERLEAVED
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x82b4fa
+
+/* define this if only the remote has an LCD */
+#define HAVE_REMOTE_LCD_AS_MAIN
+
+#define CONFIG_KEYPAD IAUDIO_M3_PAD
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+/* #define CONFIG_RTC FIXME: most probably none */
+
+#define CONFIG_LCD LCD_TL0350A
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 950 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 950 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define current usage levels */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU MCF5249
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* FIXME: implement hardware LED handling */
+/* #define CONFIG_LED LED_REAL */
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iaudio"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 10
+#define MAX_CONTRAST_SETTING 35
+#define DEFAULT_CONTRAST_SETTING 24
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
diff --git a/firmware/export/config/iaudiom5.h b/firmware/export/config/iaudiom5.h
new file mode 100644
index 0000000000..03add43dbf
--- /dev/null
+++ b/firmware/export/config/iaudiom5.h
@@ -0,0 +1,192 @@
+/*
+ * This config file is for iAudio M5
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 17
+
+#define MODEL_NAME "iAudio M5"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#ifdef HAVE_FMRADIO_IN /* FM modded M5 */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+#else /* stock M5 */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN)
+#endif
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x648764
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xdfd8ff
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 96
+#define LCD_REMOTE_DEPTH 2
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#define CONFIG_KEYPAD IAUDIO_X5M5_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50606
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+#define CONFIG_LCD LCD_S1D15E06
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#ifdef HAVE_FMRADIO_IN /* FM modded M5 */
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+#endif
+
+#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 950 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 950 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define current usage levels */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5250 */
+#define CONFIG_CPU MCF5250
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iaudio"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 24
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 10
+#define MAX_REMOTE_CONTRAST_SETTING 35
+#define DEFAULT_REMOTE_CONTRAST_SETTING 24 /* Match boot contrast */
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
diff --git a/firmware/export/config/iaudiox5.h b/firmware/export/config/iaudiox5.h
new file mode 100644
index 0000000000..bafe51f12d
--- /dev/null
+++ b/firmware/export/config/iaudiox5.h
@@ -0,0 +1,205 @@
+/*
+ * This config file is for iAudio X5
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 10
+
+#define MODEL_NAME "iAudio X5"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 96
+#define LCD_REMOTE_DEPTH 2
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_INTERLEAVED
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#ifndef BOOTLOADER
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+#define CONFIG_KEYPAD IAUDIO_X5M5_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50606
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+#define CONFIG_LCD LCD_X5
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 950 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 950 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define current usage levels */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5250 */
+#define CONFIG_CPU MCF5250
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_M5636
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iaudio"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+
+/* Main LCD backlight brightness range and defaults */
+/* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */
+#define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */
+#define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */
+#define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 10
+#define MAX_REMOTE_CONTRAST_SETTING 35
+#define DEFAULT_REMOTE_CONTRAST_SETTING 24 /* Match boot contrast */
diff --git a/firmware/export/config/ipod1g2g.h b/firmware/export/config/ipod1g2g.h
new file mode 100644
index 0000000000..cde745e874
--- /dev/null
+++ b/firmware/export/config/ipod1g2g.h
@@ -0,0 +1,171 @@
+/*
+ * This config file is for the Apple iPod 1g and 2g
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod 1g/2g"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 19
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility
+#define HAVE_RECORDING */
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if the LCD needs to be shutdown */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2 /* 4 colours - 2bpp */
+
+#define LCD_PIXELFORMAT HORIZONTAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x648764
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xdfd8ff
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+#define HAVE_LCD_CONTRAST
+
+/* LCD contrast */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 30 /* Match boot contrast */
+
+#define CONFIG_KEYPAD IPOD_1G2G_PAD
+
+#define HAVE_SCROLLWHEEL
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731L audio codec */
+#define HAVE_WM8721
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* WM8721 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this if the backlight unverts LCD appearance */
+#define HAVE_BACKLIGHT_INVERSION
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 1200 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1200 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1900 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+//#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* FIXME: Don't shutdown on low battery until we have proper suspend. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have a PortalPlayer PP5002 */
+#define CONFIG_CPU PP5002
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this if you want to use the PP5002 i2c interface */
+#define CONFIG_I2C I2C_PP5002
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPOD2BPP
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define USB_HANDLED_BY_OF
+/* actually firewire only, but handled like USB */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ipod3g.h b/firmware/export/config/ipod3g.h
new file mode 100644
index 0000000000..e82cc92f56
--- /dev/null
+++ b/firmware/export/config/ipod3g.h
@@ -0,0 +1,175 @@
+/*
+ * This config file is for the Apple iPod 3g
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod 3g"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 7
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING*/
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if the LCD needs to be shutdown */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2 /* 4 colours - 2bpp */
+
+#define LCD_PIXELFORMAT HORIZONTAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xadd8e6
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+#define HAVE_LCD_CONTRAST
+
+/* LCD contrast */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40 /* Match boot contrast */
+
+#define CONFIG_KEYPAD IPOD_3G_PAD
+
+#define HAVE_SCROLLWHEEL
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731L audio codec */
+#define HAVE_WM8731
+
+/* WM8731 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 630 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 630 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if you have a PortalPlayer PP5002 */
+#define CONFIG_CPU PP5002
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this if you want to use the PP5002 i2c interface */
+#define CONFIG_I2C I2C_PP5002
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPOD2BPP
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define USB_HANDLED_BY_OF
+/* actually both firewire and USB, USB isn't handled yet */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ipod4g.h b/firmware/export/config/ipod4g.h
new file mode 100644
index 0000000000..e6bdc35bd8
--- /dev/null
+++ b/firmware/export/config/ipod4g.h
@@ -0,0 +1,209 @@
+/*
+ * This config file is for the Apple iPod 4g Grayscale
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod 4g Grayscale"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 8
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if the LCD needs to be shutdown */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2 /* 4 colours - 2bpp */
+#define LCD_PIXELFORMAT HORIZONTAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xadd8e6
+
+#define HAVE_LCD_CONTRAST
+
+/* LCD contrast */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40 /* Match boot contrast */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8975
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 270
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 630 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 630 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 100 /* MP3: ~10.5h out of 1100mAh battery */
+#define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */
+#if defined(HAVE_RECORDING)
+#define CURRENT_RECORD 35 /* FIXME: this needs adjusting */
+#endif
+
+/* Define Apple remote tuner */
+#define CONFIG_TUNER IPOD_REMOTE_TUNER
+#define HAVE_RDS_CAP
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPOD2BPP
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x1203
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IPOD_ACCESSORY_PROTOCOL
+#define HAVE_SERIAL
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ipodcolor.h b/firmware/export/config/ipodcolor.h
new file mode 100644
index 0000000000..0f1de4fdba
--- /dev/null
+++ b/firmware/export/config/ipodcolor.h
@@ -0,0 +1,184 @@
+/*
+ * This config file is for the Apple iPod Color/Photo
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod Color/Photo"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 3
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 220
+#define LCD_HEIGHT 176
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+
+/* LCD stays visible without backlight - simulator hint */
+#define HAVE_TRANSFLECTIVE_LCD
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8975
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 270
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define Apple remote tuner */
+#define CONFIG_TUNER IPOD_REMOTE_TUNER
+#define HAVE_RDS_CAP
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPODCOLOR
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x1204
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IPOD_ACCESSORY_PROTOCOL
+#define HAVE_SERIAL
+
diff --git a/firmware/export/config/ipodmini1g.h b/firmware/export/config/ipodmini1g.h
new file mode 100644
index 0000000000..129829ffbb
--- /dev/null
+++ b/firmware/export/config/ipodmini1g.h
@@ -0,0 +1,195 @@
+/*
+ * This config file is for the Apple iPod Mini (1st Gen)
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod Mini 1g"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 9
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING*/
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if the LCD needs to be shutdown */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 138
+#define LCD_HEIGHT 110
+#define LCD_DEPTH 2 /* 4 colours - 2bpp */
+
+#define LCD_PIXELFORMAT HORIZONTAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x648764
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xdfd8ff
+
+#define HAVE_LCD_CONTRAST
+
+/* LCD contrast */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40 /* Match boot contrast */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+#define HAVE_SCROLLWHEEL
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8721 audio codec */
+#define HAVE_WM8731
+
+/* WM8721 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 400 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 400 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 800 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define current usage levels */
+#define CURRENT_NORMAL 50 /* PP5024 uses ~40mA, so add some for disk */
+#define CURRENT_BACKLIGHT 20 /* FIXME: This needs to be measured */
+#define CURRENT_RECORD 110 /* FIXME: Needs to be measured */
+
+/* Hardware controlled charging? */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPODMINI
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x1205
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ipodmini2g.h b/firmware/export/config/ipodmini2g.h
new file mode 100644
index 0000000000..8087269485
--- /dev/null
+++ b/firmware/export/config/ipodmini2g.h
@@ -0,0 +1,205 @@
+/*
+ * This config file is for the Apple iPod Mini 2nd Gen
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod Mini 2g"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 11
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING*/
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if the LCD needs to be shutdown */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 138
+#define LCD_HEIGHT 110
+#define LCD_DEPTH 2 /* 4 colours - 2bpp */
+
+#define LCD_PIXELFORMAT HORIZONTAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x648764
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xdfd8ff
+
+#define HAVE_LCD_CONTRAST
+
+/* LCD contrast */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40 /* Match boot contrast */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8711 audio codec */
+#define HAVE_WM8711
+
+/* WM8721 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 270
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define BATTERY_CAPACITY_DEFAULT 400 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 400 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 800 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define current usage levels */
+#define CURRENT_NORMAL 50 /* PP5024 uses ~40mA, so add some for disk */
+#define CURRENT_BACKLIGHT 20 /* FIXME: This needs to be measured */
+#define CURRENT_RECORD 110 /* FIXME: Needs to be measured */
+
+/* Hardware controlled charging? */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5022 */
+#define CONFIG_CPU PP5022
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPODMINI
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x1205
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ipodnano1g.h b/firmware/export/config/ipodnano1g.h
new file mode 100644
index 0000000000..e1ec1afa86
--- /dev/null
+++ b/firmware/export/config/ipodnano1g.h
@@ -0,0 +1,194 @@
+/*
+ * This config file is for the Apple iPod Nano
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod Nano 1g"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 4
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 132
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+
+/* LCD stays visible without backlight - simulator hint */
+#define HAVE_TRANSFLECTIVE_LCD
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8975
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 32
+#define DEFAULT_BRIGHTNESS_SETTING 16
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 270
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define BATTERY_CAPACITY_DEFAULT 300 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 200 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 600 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 20 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+//#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+#define CURRENT_NORMAL 32 /* MP3: ~9h playback out of 300mAh battery */
+#define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */
+#if defined(HAVE_RECORDING)
+#define CURRENT_RECORD 35 /* FIXME: this needs adjusting */
+#endif
+
+/* Define Apple remote tuner */
+#define CONFIG_TUNER IPOD_REMOTE_TUNER
+#define HAVE_RDS_CAP
+
+/* Define this if you have a PortalPlayer PP5022 */
+#define CONFIG_CPU PP5022
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 24000000
+
+#define CONFIG_LCD LCD_IPODNANO
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x120a
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IPOD_ACCESSORY_PROTOCOL
+#define HAVE_SERIAL
+
diff --git a/firmware/export/config/ipodnano2g.h b/firmware/export/config/ipodnano2g.h
new file mode 100644
index 0000000000..be7129b690
--- /dev/null
+++ b/firmware/export/config/ipodnano2g.h
@@ -0,0 +1,213 @@
+/*
+ * This config file is for iPod Nano 2nd Generation
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 62
+
+#define MODEL_NAME "Apple iPod Nano 2g"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_LINEIN)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if the LCD can shut down */
+#define HAVE_LCD_SHUTDOWN
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+#define HAVE_WHEEL_ACCELERATION
+#define WHEEL_ACCEL_START 270
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_SAMSUNG
+
+/* define this if at least one storage driver
+ needs to do cleanup on shutdown */
+#define HAVE_STORAGE_FLUSH
+
+/* The NAND flash has 2048-byte sectors, and is our only storage */
+#define SECTOR_SIZE 2048
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 132
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+//#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+//#define HAVE_LCD_SLEEP
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+//#define AB_REPEAT_ENABLE 1
+//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_NANO2G
+
+#define CONFIG_LCD LCD_NANO2G
+
+/* Define the type of audio codec */
+#define HAVE_WM8975
+
+#define HAVE_PCM_DMA_ADDRESS
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define BATTERY_CAPACITY_DEFAULT 400 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 400 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 400 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if your LCD can set contrast */
+//#define HAVE_LCD_CONTRAST
+
+/* The exact type of CPU */
+#define CONFIG_CPU S5L8701
+
+/* I2C interface */
+#define CONFIG_I2C I2C_S5L8700
+
+#define HAVE_USB_CHARGING_ENABLE
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 191692800
+
+/* Define this if you have ATA power-off control */
+//#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+//#define CONFIG_USBOTG USBOTG_M5636
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ - not yet */
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* Alternative bootfile extension - this is for encrypted images */
+#define BOOTFILE_EXT2 "ipodx"
+
+#if 0
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+#endif
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+#if 0
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+#endif
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 0x2e
+#define DEFAULT_BRIGHTNESS_SETTING 0x20
+
+/* USB defines */
+#define HAVE_USBSTACK
+#define CONFIG_USBOTG USBOTG_S3C6400X
+#define USB_VENDOR_ID 0x05AC
+#define USB_PRODUCT_ID 0x1260
+#define USB_NUM_ENDPOINTS 5
+#define USE_ROCKBOX_USB
+#define USB_DEVBSS_ATTR __attribute__((aligned(16)))
diff --git a/firmware/export/config/ipodvideo.h b/firmware/export/config/ipodvideo.h
new file mode 100644
index 0000000000..59ac6466e5
--- /dev/null
+++ b/firmware/export/config/ipodvideo.h
@@ -0,0 +1,226 @@
+/*
+ * This config file is for the Apple iPod Video
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define IPOD_ARCH 1
+
+#define MODEL_NAME "Apple iPod Video"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 5
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS HW_SAMPR_CAPS
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* LCD stays visible without backlight - simulator hint */
+#define HAVE_TRANSFLECTIVE_LCD
+
+#define CONFIG_KEYPAD IPOD_4G_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50605
+
+/* Define if the device can wake from an RTC alarm */
+#define HAVE_RTC_ALARM
+
+/* Define this if you can switch on/off the accessory power supply */
+#define HAVE_ACCESSORY_SUPPLY
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8758 audio codec */
+#define HAVE_WM8758
+
+#define AB_REPEAT_ENABLE 1
+#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+#ifndef BOOTLOADER
+/* Support for LCD sleep/BCM shutdown */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+/* The same code may also be used when shutting down the iPod */
+#define HAVE_LCD_SHUTDOWN
+#endif
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 32
+#define DEFAULT_BRIGHTNESS_SETTING 16
+
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 270
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 3
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+/* Type of mobile power */
+#if (MEM==32) /* this is the 30GB-model */
+# define BATTERY_CAPACITY_DEFAULT 400 /* default battery capacity for the 30GB model */
+# define BATTERY_CAPACITY_MIN 300 /* min. capacity selectable */
+# define BATTERY_CAPACITY_MAX 800 /* max. capacity selectable */
+#else /* these are the 60/80GB-models */
+# define BATTERY_CAPACITY_DEFAULT 600 /* default battery capacity for the 60/80GB model */
+# define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+# define BATTERY_CAPACITY_MAX 1000 /* max. capacity selectable */
+#endif
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 35 /* MP3: ~11h out of 400mAh battery (30GB) or ~17h out of 600mAh (60GB) */
+#define CURRENT_BACKLIGHT 20 /* FIXME: this needs adjusting */
+#if defined(HAVE_RECORDING)
+#define CURRENT_RECORD 35 /* FIXME: this needs adjusting */
+#endif
+
+/* Define Apple remote tuner */
+#define CONFIG_TUNER IPOD_REMOTE_TUNER
+#define HAVE_RDS_CAP
+
+/* Define this if you have a PortalPlayer PP5022 */
+#define CONFIG_CPU PP5022
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+#define CONFIG_LCD LCD_IPODVIDEO
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x05ac
+#define USB_PRODUCT_ID 0x1209
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can read an absolute wheel position */
+#define HAVE_WHEEL_POSITION
+
+/* define this if the device has larger sectors when accessed via USB */
+/* (only relevant in disk.c, fat.c now always supports large virtual sectors) */
+#define MAX_LOG_SECTOR_SIZE 2048
+
+/* define this if the hard drive uses large physical sectors (ATA-7 feature) */
+/* and doesn't handle them in the drive firmware */
+#define MAX_PHYS_SECTOR_SIZE 1024
+
+#define BOOTFILE_EXT "ipod"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define IPOD_ACCESSORY_PROTOCOL
+#define HAVE_SERIAL
+
diff --git a/firmware/export/config/iriverh10.h b/firmware/export/config/iriverh10.h
new file mode 100644
index 0000000000..cde1b6075e
--- /dev/null
+++ b/firmware/export/config/iriverh10.h
@@ -0,0 +1,188 @@
+/*
+ * This config file is for the iriver H10 20Gb
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 13
+#define MODEL_NAME "iriver H10 20GB"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+
+#ifndef BOOTLOADER
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ * should be defined as well.
+ * We can currently put the lcd to sleep but it won't wake up properly */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD IRIVER_H10_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564
+#define HAVE_RTC_ALARM
+#endif
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731 audio codec */
+#define HAVE_WM8731
+
+/* WM8731 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define AB_REPEAT_ENABLE 1
+
+#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_H10_20GB
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.h10 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0B70
+#define USB_PRODUCT_ID 0x00BA
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/iriverh100.h b/firmware/export/config/iriverh100.h
new file mode 100644
index 0000000000..d01ee1f3f9
--- /dev/null
+++ b/firmware/export/config/iriverh100.h
@@ -0,0 +1,216 @@
+#define TARGET_TREE /* this target is using the target tree system */
+
+/*
+ * This config file is for iriver iHP-100, iHP-110, iHP-115
+ */
+#define IRIVER_H100_SERIES 1
+
+#define MODEL_NAME "iriver iHP-100 series"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 1
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xadd8e6
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 64
+#define LCD_REMOTE_DEPTH 1
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#define CONFIG_KEYPAD IRIVER_H100_PAD
+
+#define CONFIG_REMOTE_KEYPAD H100_REMOTE
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+/* Define if we have a hardware defect that causes ticking on the audio line */
+#define HAVE_REMOTE_LCD_TICKING
+
+#define CONFIG_LCD LCD_S1D15E06
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+#define HAVE_UDA1380
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* define hardware samples rate caps mask */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+#define HAVE_AGC
+
+#define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define current usage levels */
+#define CURRENT_NORMAL 80 /* 16h playback on 1300mAh battery */
+#define CURRENT_BACKLIGHT 23 /* from IriverBattery twiki page */
+#define CURRENT_SPDIF_OUT 10 /* optical SPDIF output on */
+#define CURRENT_RECORD 105 /* additional current while recording */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU MCF5249
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* Define this if you can run rockbox from flash memory */
+/* In theory we can, but somebody needs to verify there are no issues. */
+#define HAVE_FLASHED_ROCKBOX
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x200000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define HAVE_ATA_LED_CTRL
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iriver"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_RAMIMAGE_ENTRY 0x00001000
+#define FLASH_ROMIMAGE_ENTRY 0x00100000
+#define FLASH_MAGIC 0xfbfbfbf2
+
+/* Define this if there is an EEPROM chip */
+#define HAVE_EEPROM
+
+/* Define this if the EEPROM chip is used */
+#define HAVE_EEPROM_SETTINGS
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | \
+ SRC_CAP_FMRADIO | SRC_CAP_SPDIF)
+
+/* Define this for S/PDIF output available */
+#define HAVE_SPDIF_OUT
+
+/* Define this if you can control the S/PDIF power */
+#define HAVE_SPDIF_POWER
+#define SPDIF_POWER_INVERTED
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+#define HAVE_LCD_CONTRAST
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_CONTRAST_SETTING 14 /* White screen a bit higher than this */
+#define MAX_CONTRAST_SETTING 63 /* Black screen a bit lower than this */
+#define DEFAULT_CONTRAST_SETTING 27
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 5
+#define MAX_REMOTE_CONTRAST_SETTING 63
+#define DEFAULT_REMOTE_CONTRAST_SETTING 42
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
diff --git a/firmware/export/config/iriverh10_5gb.h b/firmware/export/config/iriverh10_5gb.h
new file mode 100644
index 0000000000..e69f6c2b20
--- /dev/null
+++ b/firmware/export/config/iriverh10_5gb.h
@@ -0,0 +1,171 @@
+/*
+ * This config file is for the iriver H10 5/6Gb model
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 14
+#define MODEL_NAME "iriver H10 5/6GB"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565SWAPPED /* rgb565 byte-swapped */
+
+/*#define IRAM_LCDFRAMEBUFFER IDATA_ATTR*//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD IRIVER_H10_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564
+#define HAVE_RTC_ALARM
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731 audio codec */
+#define HAVE_WM8731
+
+/* WM8731 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define AB_REPEAT_ENABLE 1
+
+#define BATTERY_CAPACITY_DEFAULT 820 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 700 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 900 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+#ifndef SIMULATOR
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+/* TODO: this is probably wrong */
+#define CPU_FREQ 75000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_H10_5GB
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0x8
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.h10 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0B70
+#define USB_PRODUCT_ID 0x00BA
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#endif
diff --git a/firmware/export/config/iriverh120.h b/firmware/export/config/iriverh120.h
new file mode 100644
index 0000000000..8751c121cc
--- /dev/null
+++ b/firmware/export/config/iriverh120.h
@@ -0,0 +1,217 @@
+#define TARGET_TREE /* this target is using the target tree system */
+/*
+ * This config file is for iriver H120 and H140
+ */
+#define IRIVER_H100_SERIES 1
+
+#define MODEL_NAME "iriver H120/H140"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 0
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xadd8e6
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 64
+#define LCD_REMOTE_DEPTH 1
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#define CONFIG_KEYPAD IRIVER_H100_PAD
+
+#define CONFIG_REMOTE_KEYPAD H100_REMOTE
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+/* Define if we have a hardware defect that causes ticking on the audio line */
+#define HAVE_REMOTE_LCD_TICKING
+
+#define CONFIG_LCD LCD_S1D15E06
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+#define HAVE_UDA1380
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | \
+ SRC_CAP_FMRADIO | SRC_CAP_SPDIF)
+
+/* define hardware samples rate caps mask */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+#define HAVE_AGC
+
+#define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define current usage levels */
+#define CURRENT_NORMAL 80 /* 16h playback on 1300mAh battery */
+#define CURRENT_BACKLIGHT 23 /* from IriverBattery twiki page */
+#define CURRENT_SPDIF_OUT 10 /* optical SPDIF output on */
+#define CURRENT_RECORD 105 /* additional current while recording */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+#ifndef SIMULATOR
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU MCF5249
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* Define this if you can run rockbox from flash memory */
+#define HAVE_FLASHED_ROCKBOX
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x200000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define HAVE_ATA_LED_CTRL
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iriver"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_RAMIMAGE_ENTRY 0x00001000
+#define FLASH_ROMIMAGE_ENTRY 0x00100000
+#define FLASH_MAGIC 0xfbfbfbf2
+
+/* Define this if there is an EEPROM chip */
+#define HAVE_EEPROM
+
+/* Define this if the EEPROM chip is used */
+#define HAVE_EEPROM_SETTINGS
+
+#endif /* !SIMULATOR */
+
+/* Define this for S/PDIF output available */
+#define HAVE_SPDIF_OUT
+
+/* Define this if you can control the S/PDIF power */
+#define HAVE_SPDIF_POWER
+
+/* Define this if you have a serial port */
+/*#define HAVE_SERIAL*/
+
+/** Port-specific settings **/
+
+#define HAVE_LCD_CONTRAST
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_CONTRAST_SETTING 14 /* White screen a bit higher than this */
+#define MAX_CONTRAST_SETTING 63 /* Black screen a bit lower than this */
+#define DEFAULT_CONTRAST_SETTING 27
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 5
+#define MAX_REMOTE_CONTRAST_SETTING 63
+#define DEFAULT_REMOTE_CONTRAST_SETTING 42
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
diff --git a/firmware/export/config/iriverh300.h b/firmware/export/config/iriverh300.h
new file mode 100644
index 0000000000..d2348397d2
--- /dev/null
+++ b/firmware/export/config/iriverh300.h
@@ -0,0 +1,204 @@
+#define TARGET_TREE /* this target is using the target tree system */
+/*
+ * This config file is for iriver H320, H340
+ */
+#define IRIVER_H300_SERIES 1
+
+#define MODEL_NAME "iriver H300 series"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 2
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 220
+#define LCD_HEIGHT 176
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* remote LCD */
+#define LCD_REMOTE_WIDTH 128
+#define LCD_REMOTE_HEIGHT 64
+#define LCD_REMOTE_DEPTH 1
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#define CONFIG_KEYPAD IRIVER_H300_PAD
+
+#define CONFIG_REMOTE_KEYPAD H300_REMOTE
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_PCF50606
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+/* Define if we have a hardware defect that causes ticking on the audio line */
+#define HAVE_REMOTE_LCD_TICKING
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+#define HAVE_UDA1380
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define hardware samples rate caps mask */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+#define HAVE_AGC
+
+#define BATTERY_CAPACITY_DEFAULT 1300 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1300 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 80 /* 16h playback on 1300mAh battery from IriverRuntime wiki page */
+#define CURRENT_BACKLIGHT 23 /* FIXME: This needs to be measured, copied from H100 */
+#define CURRENT_RECORD 110 /* additional current while recording */
+#define CURRENT_MAX_CHG 650 /* maximum charging current */
+#define CURRENT_REMOTE 8 /* additional current when remote connected */
+
+/* define this if the unit can have USB charging disabled by user -
+ * if USB/MAIN power is discernable and hardware doesn't compel charging */
+#define HAVE_USB_CHARGING_ENABLE
+
+/* Define this if you have a Motorola SCF5249 */
+#define CONFIG_CPU MCF5249
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_COLDFIRE
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+#define CONFIG_LCD LCD_H300
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ISP1362
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iriver"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this if there is an EEPROM chip */
+#define HAVE_EEPROM
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40
+
+/* Main LCD backlight brightness range and defaults */
+/* accepts 0..15 but note that 0 and 1 give a black display on H300! */
+#define MIN_BRIGHTNESS_SETTING 2 /* 2/16 (12.50%) */
+#define MAX_BRIGHTNESS_SETTING 15 /* 15/16 (93.75%) */
+#define DEFAULT_BRIGHTNESS_SETTING 9 /* 9/16 (56.25%) */
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 5
+#define MAX_REMOTE_CONTRAST_SETTING 63
+#define DEFAULT_REMOTE_CONTRAST_SETTING 42
diff --git a/firmware/export/config/iriverifp7xx.h b/firmware/export/config/iriverifp7xx.h
new file mode 100644
index 0000000000..48a53f8c9d
--- /dev/null
+++ b/firmware/export/config/iriverifp7xx.h
@@ -0,0 +1,127 @@
+/*
+ * This config file is for iriver iFP-799
+ */
+#define TARGET_TREE
+
+#define IRIVER_IFP7XX_SERIES 1
+
+#define MODEL_NAME "iriver iFP-799"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 6
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING*/
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+/* #define HAVE_LCD_COLOR */
+
+/* define this if you would like tagcache to build on this target */
+/* #define HAVE_TAGCACHE */
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5e6854
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x3ca0e6
+
+#define CONFIG_KEYPAD IRIVER_IFP7XX_PAD
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_IFP7XX
+
+#define HAVE_FAT16SUPPORT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x38000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x10000
+
+/* Define this if you have the WM8975 audio codec */
+/* #define HAVE_WM8975 */
+
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 5
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 40
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define BATTERY_CAPACITY_DEFAULT 1000 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2800 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 2 /* Alkalines or NiMH */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have a Philips PNX0101 */
+#define CONFIG_CPU PNX0101
+
+/* Define this if you want to use the PNX0101 i2c interface */
+#define CONFIG_I2C I2C_PNX0101
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 48000000
+
+#define CONFIG_LCD LCD_IFP7XX
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define USB_ISP1582
+
+#define HAVE_GDB_API
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "iriver"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define IBSS_ATTR_VOICE_STACK
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+#define ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_FLAC
+#define IBSS_ATTR_FLAC_DECODED0
+#define ICONST_ATTR_MPA_HUFFMAN
+#define IBSS_ATTR_MPC_SAMPLE_BUF
+#define ICODE_ATTR_ALAC
+#define IBSS_ATTR_SHORTEN_DECODED0
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/logikdax.h b/firmware/export/config/logikdax.h
new file mode 100644
index 0000000000..8fbd064306
--- /dev/null
+++ b/firmware/export/config/logikdax.h
@@ -0,0 +1,147 @@
+/*
+ * This config file is for the Logik DAX MP3/DAB
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 33
+
+#define MODEL_NAME "Logik DAX MP3/DAB"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+//#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_SPDIF)
+
+#if 0 /* Enable for USB driver test */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x13d1
+#define USB_PRODUCT_ID 0x1002
+#endif
+
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define HAVE_FAT16SUPPORT
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_TCC
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x82b4fa
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD LOGIK_DAX_PAD
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_TCC77X
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x38000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x10000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* The DAX uses built-in WM8731 codec */
+#define HAVE_WM8731
+/* Codec is slave on serial bus */
+#define CODEC_SLAVE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_TCC77X
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have a TCC773L */
+#define CONFIG_CPU TCC773L
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+#define HAVE_FAT16SUPPORT
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 120000000
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 4
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 6
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x11010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "logik"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define IBSS_ATTR_VOICE_STACK
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+#define ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_FLAC
+#define IBSS_ATTR_FLAC_DECODED0
+#define ICONST_ATTR_MPA_HUFFMAN
+#define IBSS_ATTR_MPC_SAMPLE_BUF
+#define ICODE_ATTR_ALAC
+#define IBSS_ATTR_SHORTEN_DECODED0
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/lyreproto1.h b/firmware/export/config/lyreproto1.h
new file mode 100644
index 0000000000..250b8e2c00
--- /dev/null
+++ b/firmware/export/config/lyreproto1.h
@@ -0,0 +1,103 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ *
+ * Copyright (C) 2009 by Jorge Pinto
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Lyre prototype 1.
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x20000000
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 130
+
+/* define this if the flash memory uses the
+ * SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+#define HAVE_FLASH_STORAGE
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+#define CONFIG_LCD LCD_LYRE_PROTO1
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 128
+/* The LCD used is just rgb444, 64 colours. We do a bit conversion on LCD
+ * drivers. */
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+#define CONFIG_KEYPAD LYRE_PROTO1_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Lyre prototype 1 do not use I2C, just SPI */
+#define CONFIG_I2C I2C_NONE
+
+/* Define this if you have the TLV320 audio codec -> controlled by the DSP */
+#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+#define CONFIG_CPU AT91SAM9260
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 198656000
+#define MCK_FREQ 99328000
+#define SLOW_CLOCK 32768
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define BOOTFILE_EXT "lyre_proto1"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/meizuiaudiom3.h b/firmware/export/config/meizuiaudiom3.h
new file mode 100644
index 0000000000..06720695eb
--- /dev/null
+++ b/firmware/export/config/meizuiaudiom3.h
@@ -0,0 +1,180 @@
+/*
+ * This config file is for Meizu M3
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 39
+
+#define MODEL_NAME "Meizu M3"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_SAMSUNG
+
+/* The NAND flash has 2048-byte sectors, and is our only storage */
+#define SECTOR_SIZE 2048
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 132
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+//#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+//#define HAVE_LCD_SLEEP
+
+#define CONFIG_KEYPAD MEIZU_M3_PAD
+
+//#define AB_REPEAT_ENABLE 1
+//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+//#define CONFIG_RTC RTC_S5L8700
+#define CONFIG_RTC RTC_S35390A
+
+#define CONFIG_LCD LCD_MEIZUM6
+
+/* Define the type of audio codec */
+#define HAVE_UDA1380
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5760
+#define CONFIG_TUNER_XTAL 32768
+
+//#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging, software can monitor plug and charge state */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if your LCD can set contrast */
+//#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5250 */
+#define CONFIG_CPU S5L8700
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_S5L8700
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+//#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+//#define CONFIG_USBOTG USBOTG_M5636
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "meizu"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 0
+#define MAX_BRIGHTNESS_SETTING 15
+#define DEFAULT_BRIGHTNESS_SETTING 10
+
diff --git a/firmware/export/config/meizum6sl.h b/firmware/export/config/meizum6sl.h
new file mode 100644
index 0000000000..ffa8903526
--- /dev/null
+++ b/firmware/export/config/meizum6sl.h
@@ -0,0 +1,178 @@
+/*
+ * This config file is for Meizu M6SL
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 38
+
+#define MODEL_NAME "Meizu M6SL"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_SAMSUNG
+
+/* LCD dimensions */
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+//#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+//#define HAVE_LCD_SLEEP
+
+#define CONFIG_KEYPAD MEIZU_M6SL_PAD
+
+//#define AB_REPEAT_ENABLE 1
+//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_S5L8700
+//#define CONFIG_RTC RTC_S35390A
+
+#define CONFIG_LCD LCD_MEIZUM6
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8751 //FIXME
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5760
+#define CONFIG_TUNER_XTAL 32768
+
+//#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if your LCD can set contrast */
+//#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5250 */
+#define CONFIG_CPU S5L8700
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_S5L8700
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+//#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+//#define CONFIG_USBOTG USBOTG_M5636
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "meizu"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+
+/* Main LCD backlight brightness range and defaults */
+/* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */
+#define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */
+#define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */
+#define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */
+
diff --git a/firmware/export/config/meizum6sp.h b/firmware/export/config/meizum6sp.h
new file mode 100644
index 0000000000..0fc7264192
--- /dev/null
+++ b/firmware/export/config/meizum6sp.h
@@ -0,0 +1,181 @@
+/*
+ * This config file is for Meizu M6SP
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 37
+
+#define MODEL_NAME "Meizu M6SP"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_SAMSUNG
+
+/* The NAND flash has 2048-byte sectors, and is our only storage */
+#define SECTOR_SIZE 2048
+
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+//#define HAVE_LCD_SLEEP
+
+#define CONFIG_KEYPAD MEIZU_M6SP_PAD
+
+//#define AB_REPEAT_ENABLE 1
+//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_S5L8700
+//#define CONFIG_RTC RTC_S35390A
+
+#define CONFIG_LCD LCD_MEIZUM6
+
+/* Define this if you have the WM8975 audio codec */
+#define HAVE_WM8751 //FIXME
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER TEA5760
+#define CONFIG_TUNER_XTAL 32768
+
+//#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 700 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2250 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* Define this if your LCD can set contrast */
+//#define HAVE_LCD_CONTRAST
+
+/* Define this if you have a Motorola SCF5250 */
+#define CONFIG_CPU S5L8700
+
+/* Define this if you want to use coldfire's i2c interface */
+#define CONFIG_I2C I2C_S5L8700
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 11289600
+
+/* Define this if you have ATA power-off control */
+//#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+//#define CONFIG_USBOTG USBOTG_M5636
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "meizu"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define BOOTLOADER_ENTRYPOINT 0x001F0000
+#define FLASH_ENTRYPOINT 0x00001000
+#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+
+/* Main LCD backlight brightness range and defaults */
+/* PCF50506 can output 0%-100% duty cycle but D305A expects %15-100%. */
+#define MIN_BRIGHTNESS_SETTING 1 /* 15/16 (93.75%) */
+#define MAX_BRIGHTNESS_SETTING 13 /* 3/16 (18.75%) */
+#define DEFAULT_BRIGHTNESS_SETTING 8 /* 8/16 (50.00%) = x5 boot default */
+
diff --git a/firmware/export/config/mini2440.h b/firmware/export/config/mini2440.h
new file mode 100644
index 0000000000..5dad250930
--- /dev/null
+++ b/firmware/export/config/mini2440.h
@@ -0,0 +1,156 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2009 by Bob Cousins, Lyre Project
+ * Copyright (C) 2009 by Jorge Pinto, Lyre Project
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Mini2440
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 131
+#define MODEL_NAME "Mini2440"
+
+/***************************************************************************/
+/* Hardware Config */
+
+/* TODO: ??? */
+#define CONFIG_SDRAM_START 0x30000000
+
+/* Flash storage */
+#define HAVE_FLASH_STORAGE
+/* define the storage type */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 1 // no access to NAND yet
+#define HAVE_HOTSWAP
+#define HAVE_HOTSWAP_STORAGE_AS_MAIN
+#define INCLUDE_TIMEOUT_API
+
+/* Disk storage */
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+/* #define HAVE_DISK_STORAGE */
+
+/* Display */
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+/* The LCD is assumed to be 3.5" TFT touch screen, others are possible */
+#define CONFIG_LCD LCD_MINI2440
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+/* The LCD is configured for RGB565 */
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+/* Define this for LCD backlight available */
+/* The Mini2440 supports backlight brightness depending on LCD type */
+/* But the 3.5" LCD touch screen does not support brightness*/
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1 /* 0.5 mA */
+#define MAX_BRIGHTNESS_SETTING 12 /* 32 mA */
+#define DEFAULT_BRIGHTNESS_SETTING 10 /* 16 mA */
+
+/* Keypad */
+#define CONFIG_KEYPAD MINI2440_PAD
+#define HAVE_TOUCHSCREEN
+#define HAVE_BUTTON_DATA
+
+/* I2C */
+/* We do not use currently use hardware I2C, but does not build without */
+#define CONFIG_I2C I2C_S3C2440
+
+/* Define DAC/Codec */
+#define HAVE_UDA1341
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* Battery */
+#define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+
+
+/***************************************************************************/
+/* Application Config */
+
+#define HAVE_ALBUMART
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+#define HAVE_QUICKSCREEN
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_S3C2440
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+#define CONFIG_CPU S3C2440
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 406000000
+#define MCK_FREQ (CPU_FREQ/4)
+#define SLOW_CLOCK 32768
+
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 63
+#define DEFAULT_CONTRAST_SETTING 47 /* Match boot contrast */
+
+/* USB */
+/* TODO:#define HAVE_USBSTACK */
+#define USB_NONE
+
+#define HAVE_SERIAL
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+/*#define POWER_INPUT_BATTERY 0*/
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define BOOTFILE_EXT "mini2440"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/mrobe100.h b/firmware/export/config/mrobe100.h
new file mode 100644
index 0000000000..90419914b2
--- /dev/null
+++ b/firmware/export/config/mrobe100.h
@@ -0,0 +1,202 @@
+/*
+ * This config file is for the Olympus m:robe MR-100
+ */
+
+#define TARGET_TREE
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 23
+#define MODEL_NAME "Olympus m:robe MR-100"
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+#define HAVE_NEGATIVE_LCD /* bright on dark */
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x323232
+#define LCD_BL_DARKCOLOR 0x5e0202
+#define LCD_BL_BRIGHTCOLOR 0xf10603
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
+#ifndef BOOTLOADER
+/* Define this if you have an remote lcd */
+#define HAVE_REMOTE_LCD
+
+#define LCD_REMOTE_WIDTH 79
+#define LCD_REMOTE_HEIGHT 16
+#define LCD_REMOTE_DEPTH 1
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+#endif /* BOOTLOADER */
+
+#define CONFIG_KEYPAD MROBE100_PAD
+#define CONFIG_REMOTE_KEYPAD MROBE_REMOTE
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_MR100
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Wolfsom audio codec */
+#define HAVE_WM8751
+#define CODEC_SRCTRL_44100HZ (0x40|(0x11 << 1)|1)
+
+#define AB_REPEAT_ENABLE 1
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* We can fade the backlight by using PWM */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_PWM
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+#define HAVE_BUTTONLIGHT_BRIGHTNESS
+
+/* Remote LCD contrast range and defaults */
+#define MIN_REMOTE_CONTRAST_SETTING 0
+#define MAX_REMOTE_CONTRAST_SETTING 15
+#define DEFAULT_REMOTE_CONTRAST_SETTING 8
+
+/* Define this if your LCD can be enabled/disabled */
+/* TODO: #define HAVE_LCD_ENABLE */
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ * should be defined as well.
+ * We can currently put the lcd to sleep but it won't wake up properly */
+/*TODO: #define HAVE_LCD_SLEEP*/
+/*TODO: #define HAVE_LCD_SLEEP_SETTING <= optional */
+
+#define BATTERY_CAPACITY_DEFAULT 720 /* default battery capacity */
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* Type of mobile power */
+#define CONFIG_BATTERY BATT_LIION750
+#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 750 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_MROBE100
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 40
+#define DEFAULT_CONTRAST_SETTING 20
+
+
+/* We're able to shut off power to the HDD */
+#define HAVE_ATA_POWER_OFF
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x07B4
+#define USB_PRODUCT_ID 0x0280
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Define this if you can detect headphones */
+#define HAVE_HEADPHONE_DETECTION
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* Offset ( in the firmware file's header ) to the file CRC and data.
+ Not used for the mrobe 100, since it boots an mi4 file, but needed
+ for compatibility. */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x0
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/mrobe500.h b/firmware/export/config/mrobe500.h
new file mode 100644
index 0000000000..96e25c9247
--- /dev/null
+++ b/firmware/export/config/mrobe500.h
@@ -0,0 +1,258 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2007 by Karl Kurbjun
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the M:Robe 500i
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x00900000
+
+#define OLYMPUS_MROBE_500 1
+#define MODEL_NAME "Olympus M:Robe 500i"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 22
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* Define this to add support for ATA DMA */
+//#define HAVE_ATA_DMA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* define this if you want viewport clipping enabled for safe LCD functions */
+#define HAVE_VIEWPORT_CLIP
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_MROBE500
+
+/* These defines are used internal to this header */
+#define _LCD_RES_QVGA 1
+#define _LCD_RES_VGA 2
+#define _LCD_PORTRAIT 1
+#define _LCD_LANDSCAPE 2
+
+/* Setup the resolution and orientation */
+#define _RESOLUTION _LCD_RES_VGA
+#define _ORIENTATION _LCD_LANDSCAPE
+
+#if _RESOLUTION == _LCD_RES_VGA
+#define LCD_NATIVE_WIDTH 480
+#define LCD_NATIVE_HEIGHT 640
+#else
+#define LCD_NATIVE_WIDTH 240
+#define LCD_NATIVE_HEIGHT 320
+#endif
+
+/* choose the lcd orientation. CONFIG_ORIENTATION defined in config.h */
+#if _ORIENTATION == _LCD_PORTRAIT
+/* This is the Portrait setup */
+#define LCD_WIDTH LCD_NATIVE_WIDTH
+#define LCD_HEIGHT LCD_NATIVE_HEIGHT
+#else
+/* Frame buffer stride */
+#define LCD_STRIDEFORMAT VERTICAL_STRIDE
+
+/* This is the Landscape setup */
+#define LCD_WIDTH LCD_NATIVE_HEIGHT
+#define LCD_HEIGHT LCD_NATIVE_WIDTH
+#endif
+
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#define MAX_ICON_HEIGHT 35
+#define MAX_ICON_WIDTH 35
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+
+/* remote LCD */
+#define HAVE_REMOTE_LCD
+#define LCD_REMOTE_WIDTH 79
+#define LCD_REMOTE_HEIGHT 16
+#define LCD_REMOTE_DEPTH 1
+
+/* Remote display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_REMOTE_DARKCOLOR 0x000000
+#define LCD_REMOTE_BRIGHTCOLOR 0x5a915a
+#define LCD_REMOTE_BL_DARKCOLOR 0x000000
+#define LCD_REMOTE_BL_BRIGHTCOLOR 0x82b4fa
+
+#define LCD_REMOTE_PIXELFORMAT VERTICAL_PACKING
+
+#define CONFIG_REMOTE_KEYPAD MROBE_REMOTE
+
+#define MIN_REMOTE_CONTRAST_SETTING 0
+#define MAX_REMOTE_CONTRAST_SETTING 15
+#define DEFAULT_REMOTE_CONTRAST_SETTING 7
+
+#define CONFIG_KEYPAD MROBE500_PAD
+#define HAVE_TOUCHSCREEN
+#define HAVE_BUTTON_DATA
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+//#define HAVE_HARDWARE_BEEP
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_RX5X348AB
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 0
+#define MAX_BRIGHTNESS_SETTING 127
+#define DEFAULT_BRIGHTNESS_SETTING 85 /* OF "full brightness" */
+#define DEFAULT_DIMNESS_SETTING 22 /* OF "most dim" */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#if LCD_NATIVE_WIDTH < 480
+#define PLUGIN_BUFFER_SIZE 0x100000
+#else
+/* THe larger screen needs larger bitmaps in plugins */
+#define PLUGIN_BUFFER_SIZE 0x200000
+#endif
+
+#define HW_SAMPR_CAPS SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11 | SAMPR_CAP_8
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1000 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2000 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define current usage levels */
+#define CURRENT_NORMAL 100 /* Measured */
+#define CURRENT_BACKLIGHT 100 /* Over 200 mA total measured when on */
+#define CURRENT_RECORD 0 /* no recording */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if you have a Texas Instruments TSC2100 touch screen */
+#define HAVE_TSC2100
+
+/* M66591 register base */
+#define M66591_BASE 0x60000000
+
+/* enable these for the usb stack */
+#define CONFIG_USBOTG USBOTG_M66591
+#define USE_ROCKBOX_USB
+
+#define HAVE_USBSTACK
+//#define HAVE_USB_POWER
+//#define USBPOWER_BUTTON BUTTON_POWER
+//#define USBPOWER_BTN_IGNORE BUTTON_TOUCH
+/* usb stack and driver settings */
+#define USB_NUM_ENDPOINTS 7
+#define USB_VENDOR_ID 0x07b4
+#define USB_PRODUCT_ID 0x0281
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if hardware supports alternate blitting */
+#define HAVE_LCD_MODES LCD_MODE_RGB565 | LCD_MODE_YUV | LCD_MODE_PAL256
+
+#define CONFIG_CPU DM320
+
+#define CONFIG_I2C I2C_DM320
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 87500000
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "mrobe500"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/ondavx747.h b/firmware/export/config/ondavx747.h
new file mode 100644
index 0000000000..ac2032587a
--- /dev/null
+++ b/firmware/export/config/ondavx747.h
@@ -0,0 +1,224 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Onda VX747(+)/VX777
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x80004000
+
+#ifdef ONDA_VX747P
+#define MODEL_NAME "Onda VX747+"
+#define MODEL_NUMBER 54
+/* Define something for camera interface... */
+#elif defined(ONDA_VX777)
+#define MODEL_NAME "Onda VX777"
+#define MODEL_NUMBER 61
+#else
+#define MODEL_NAME "Onda VX747"
+#define MODEL_NUMBER 45
+#endif
+
+/* Support FAT16 for SD cards <= 2GB */
+#define HAVE_FAT16SUPPORT
+
+/* ChinaChip NAND FTL */
+#define CONFIG_NAND NAND_CC
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+//#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_ONDAVX747
+
+#ifdef BOOTLOADER /* OF requires landscape */
+#define LCD_WIDTH 400
+#define LCD_HEIGHT 240
+#else
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 400
+#endif
+
+#define LCD_DEPTH 16 /* 16bit colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+#ifdef ONDA_VX777
+#define CONFIG_KEYPAD ONDAVX777_PAD
+#else
+#define CONFIG_KEYPAD ONDAVX747_PAD
+#endif
+#define HAVE_TOUCHSCREEN
+#define HAVE_BUTTON_DATA
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_JZ47XX
+
+/* Tuner config */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_HW_REG
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 16
+#define DEFAULT_BRIGHTNESS_SETTING 16 /* "full brightness" */
+#define DEFAULT_DIMNESS_SETTING 1 /* "most dim" */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Define this if you have the Jz4740 internal codec */
+#define HAVE_JZ4740_CODEC
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* has no volume control, so we use the software ones */
+#define HAVE_SW_VOLUME_CONTROL
+
+/* software controlled volume ranges from -73 -> 0 dB, other than that
+ is controlled by hardware */
+#define SW_VOLUME_MIN -73
+#define SW_VOLUME_MAX 0
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_12 | SAMPR_CAP_11 | SAMPR_CAP_8)
+
+#define CONFIG_I2C I2C_JZ47XX
+
+#define NEED_ADC_CLOSE 1
+
+#define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+#define CFG_EXTAL 12000000 /* EXT clock: 12 Mhz */
+
+/*
+No access to the NAND yet..
+
+#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
+#define NUM_DRIVES 2
+*/
+#define CONFIG_STORAGE (STORAGE_SD)
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 1
+#define HAVE_HOTSWAP_STORAGE_AS_MAIN
+#define INCLUDE_TIMEOUT_API
+
+/* Define this if media can be exchanged on the fly */
+#define HAVE_HOTSWAP
+
+/* Define this if you have a Ingenic JZ4732 */
+#define CONFIG_CPU JZ4732
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* Define this if you have a speaker */
+#define HAVE_SPEAKER
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 336000000 /* CPU clock: 336 MHz */
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#ifdef ONDA_VX747P
+#define BOOTFILE_EXT "vx747p"
+#elif defined(ONDA_VX777)
+#define BOOTFILE_EXT "vx777"
+#else
+#define BOOTFILE_EXT "vx747"
+#endif
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define CONFIG_USBOTG USBOTG_JZ4740
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x07C4
+#define USB_PRODUCT_ID 0xA4A5
+
diff --git a/firmware/export/config/ondavx767.h b/firmware/export/config/ondavx767.h
new file mode 100644
index 0000000000..661d3e9e5e
--- /dev/null
+++ b/firmware/export/config/ondavx767.h
@@ -0,0 +1,167 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Onda VX747
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x80004000
+
+#define ONDA_VX767 1
+
+#define MODEL_NAME "Onda VX767"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 64
+
+//#define HAVE_ATA_SD
+//#define HAVE_HOTSWAP
+
+//#define CONFIG_STORAGE (STORAGE_NAND | STORAGE_SD)
+#define CONFIG_STORAGE STORAGE_SD /* Multivolume currently handled at firmware/target/ level */
+
+#define CONFIG_NAND NAND_CC
+
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_ONDAVX767
+
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+
+#define LCD_DEPTH 16 /* 16bit colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+//#define HAVE_LCD_ENABLE
+
+#define CONFIG_KEYPAD ONDAVX767_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_JZ47XX
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 0 /* TODO */
+#define MAX_BRIGHTNESS_SETTING 127
+#define DEFAULT_BRIGHTNESS_SETTING 85
+#define DEFAULT_DIMNESS_SETTING 22
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Define this if you have the Jz4740 internal codec */
+#define HAVE_JZ4740_CODEC
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* Tuner config */
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* Define this if you have a speaker */
+//#define HAVE_SPEAKER
+
+#define CONFIG_I2C I2C_JZ47XX
+
+/* TLV320 has no tone controls, so we use the software ones */
+//#define HAVE_SW_TONE_CONTROLS
+
+/*#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \
+ SAMPR_CAP_11)*/
+
+#define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+//#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if you have a Ingenic JZ4740 */
+#define CONFIG_CPU JZ4732
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 336000000 /* CPU clock: 336 MHz */
+#define CFG_EXTAL 12000000 /* EXT clock: 12 Mhz */
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "vx767"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define CONFIG_USBOTG USBOTG_JZ4740
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x07C4
+#define USB_PRODUCT_ID 0xA4A5
+
diff --git a/firmware/export/config/samsungyh820.h b/firmware/export/config/samsungyh820.h
new file mode 100644
index 0000000000..4968960803
--- /dev/null
+++ b/firmware/export/config/samsungyh820.h
@@ -0,0 +1,183 @@
+/*
+ * This config file is for the Samsung YH-820
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 57
+#define MODEL_NAME "Samsung YH-820"
+
+/* define this if you have recording possibility */
+/* todo #define HAVE_RECORDING */
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN )
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_S6B33B2
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 96
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565
+
+#ifndef BOOTLOADER
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_E8564
+/* TODO ??? */
+//#define HAVE_RTC_ALARM
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep.
+ HAVE_LCD_ENABLE should be defined as well. */
+/* todo #define HAVE_LCD_SLEEP*/
+/* todo #define HAVE_LCD_SLEEP_SETTING */
+#endif /* !BOOTLOADER */
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 255
+#define DEFAULT_CONTRAST_SETTING 137
+
+/* define this if you can flip your LCD */
+/* #define HAVE_LCD_FLIP */
+
+/* define this if you can invert the colours on your LCD */
+/* todo #define HAVE_LCD_INVERT */
+
+/* put the lcd frame buffer in IRAM */
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define CONFIG_KEYPAD SAMSUNG_YH_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* We're able to shut off power to the HDD */
+/* todo #define HAVE_ATA_POWER_OFF */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the AK4537 audio codec */
+#define HAVE_AK4537
+
+/* AK4537 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+
+#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+/* todo - check */
+#define USB_VENDOR_ID 0x04e8
+#define USB_PRODUCT_ID 0x5023
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0x00
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 0x00
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/samsungyh920.h b/firmware/export/config/samsungyh920.h
new file mode 100644
index 0000000000..310fa1374c
--- /dev/null
+++ b/firmware/export/config/samsungyh920.h
@@ -0,0 +1,189 @@
+/*
+ * This config file is for the Samsung YH-920
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 58
+#define MODEL_NAME "Samsung YH-920"
+
+/* define this if you have recording possibility */
+/* todo #define HAVE_RECORDING */
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN )
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_S1D15E06
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 2
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5a915a
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0xadd8e6
+
+/* todo */
+/* #ifndef BOOTLOADER */
+#if 0
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ * should be defined as well.
+ * We can currently put the lcd to sleep but it won't wake up properly */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this if your LCD can set contrast */
+/* todo #define HAVE_LCD_CONTRAST */
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */
+
+/* define this if you can flip your LCD */
+/* todo #define HAVE_LCD_FLIP */
+
+/* define this if you can invert the colours on your LCD */
+/* todo #define HAVE_LCD_INVERT */
+
+/* put the lcd frame buffer in IRAM */
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define CONFIG_KEYPAD SAMSUNG_YH_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564
+/* TODO ??? */
+//#define HAVE_RTC_ALARM
+#endif
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* We're able to shut off power to the HDD */
+/* todo #define HAVE_ATA_POWER_OFF */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the AK4537 audio codec */
+#define HAVE_AK4537
+
+/* AK4537 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+
+#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x04e8
+#define USB_PRODUCT_ID 0x5022
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0x00
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 0x00
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/samsungyh925.h b/firmware/export/config/samsungyh925.h
new file mode 100644
index 0000000000..55d46ae1e1
--- /dev/null
+++ b/firmware/export/config/samsungyh925.h
@@ -0,0 +1,187 @@
+/*
+ * This config file is for the Samsung YH-925
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 59
+#define MODEL_NAME "Samsung YH-925"
+
+/* define this if you have recording possibility */
+/* todo #define HAVE_RECORDING */
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN )
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_48 | SAMPR_CAP_44 | SAMPR_CAP_32 | \
+ SAMPR_CAP_24 | SAMPR_CAP_22 | SAMPR_CAP_16 | \
+ SAMPR_CAP_11 | SAMPR_CAP_8)
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_YH925
+
+/* LCD dimensions */
+#define LCD_WIDTH 160
+#define LCD_HEIGHT 128
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565
+
+/* todo */
+/* #ifndef BOOTLOADER */
+#if 0
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ * should be defined as well.
+ * We can currently put the lcd to sleep but it won't wake up properly */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 14 /* Match boot contrast */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+/* todo #define HAVE_LCD_INVERT */
+
+/* put the lcd frame buffer in IRAM */
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+#define CONFIG_KEYPAD SAMSUNG_YH_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_E8564
+/* TODO */
+//#define HAVE_RTC_ALARM
+#endif
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* We're able to shut off power to the HDD */
+/* todo #define HAVE_ATA_POWER_OFF */
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the AK4537 audio codec */
+#define HAVE_AK4537
+
+/* AK4537 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define AB_REPEAT_ENABLE 1
+
+#define BATTERY_CAPACITY_DEFAULT 900 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1150 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x100000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+/* todo - check */
+#define USB_VENDOR_ID 0x04e8
+#define USB_PRODUCT_ID 0x5024
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0x00
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 0x00
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
diff --git a/firmware/export/config/samsungyps3.h b/firmware/export/config/samsungyps3.h
new file mode 100644
index 0000000000..fd8fde6f6c
--- /dev/null
+++ b/firmware/export/config/samsungyps3.h
@@ -0,0 +1,182 @@
+/*
+ * This config file is for Samsung YP-S3
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 53
+
+#define MODEL_NAME "Samsumg YP-S3"
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_FMRADIO)
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define the bitmask of recording sample rates */
+#define REC_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | SAMPR_CAP_11)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_SAMSUNG
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 220
+#define LCD_DEPTH 16 /* pseudo 262.144 colors */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+//#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+//#define HAVE_LCD_SLEEP
+
+/* We have button lights */
+#define HAVE_BUTTON_LIGHT
+
+#define CONFIG_KEYPAD MEIZU_M3_PAD
+
+/* We have headphone detection */
+#define HAVE_HEADPHONE_DETECTION
+
+//#define AB_REPEAT_ENABLE 1
+//#define ACTION_WPSAB_SINGLE ACTION_WPS_BROWSE
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_S35390A
+
+/* Define the type of audio codec */
+//#define HAVE_WM....
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* FM Tuner */
+#define CONFIG_TUNER SI4700
+#define CONFIG_TUNER_XTAL 32768
+
+/* assume no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+#define BATTERY_CAPACITY_DEFAULT 580 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 580 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 580 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging, software can monitor plug and charge state */
+#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if your LCD can set contrast */
+//#define HAVE_LCD_CONTRAST
+
+/* We have a Samsung S5L8700 */
+#define CONFIG_CPU S5L8700
+
+/* We use the S5L8700 i2c interface */
+#define CONFIG_I2C I2C_S5L8700
+
+/* define this if the hardware can be powered off while charging */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 200000000
+
+/* Define this if you have ATA power-off control */
+//#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB */
+//#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x04E8
+#define USB_PRODUCT_ID 0x5090
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "yps3"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+//#define BOOTLOADER_ENTRYPOINT 0x001F0000
+//#define FLASH_ENTRYPOINT 0x00001000
+//#define FLASH_MAGIC 0xfbfbfbf1
+
+/* Define this for FM radio input available */
+#define HAVE_FMRADIO_IN
+
+/** Port-specific settings **/
+
+/* Main LCD contrast range and defaults */
+#define MIN_CONTRAST_SETTING 1
+#define MAX_CONTRAST_SETTING 30
+#define DEFAULT_CONTRAST_SETTING 19 /* Match boot contrast */
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 0
+#define MAX_BRIGHTNESS_SETTING 15
+#define DEFAULT_BRIGHTNESS_SETTING 10
+
diff --git a/firmware/export/config/sansac100.h b/firmware/export/config/sansac100.h
new file mode 100644
index 0000000000..a332bf5670
--- /dev/null
+++ b/firmware/export/config/sansac100.h
@@ -0,0 +1,128 @@
+/*
+ * This config file is for the Sansa C100 series
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define MODEL_NAME "Sandisk Sansa c100 series"
+
+/* For Rolo and bootloader */
+#define MODEL_NUMBER 30
+
+/* define hardware samples rate caps mask */
+#define HW_SAMPR_CAPS (/*SAMPR_CAP_88 | */SAMPR_CAP_44/* | SAMPR_CAP_22 | SAMPR_CAP_11*/)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you can flip your LCD */
+/*#define HAVE_LCD_FLIP*/
+
+/* define this if you can invert the colours on your LCD */
+/*#define HAVE_LCD_INVERT*/
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* Only v1 */
+#define CONFIG_STORAGE STORAGE_NAND
+#define CONFIG_NAND NAND_TCC
+
+/* c100's with direct-to-NAND access are FAT16 */
+#define HAVE_FAT16SUPPORT
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /*rgb565*/
+
+/*#define LCD_PIXELFORMAT VERTICAL_PACKING*/
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD SANSA_C100_PAD
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_TCC77X
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x50000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x50000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have the TLV320 audio codec */
+#define HAVE_TLV320
+
+/*#define CONFIG_TUNER TEA5767*/
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_TCC77X
+
+#define BATTERY_CAPACITY_DEFAULT 540 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 540 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 540 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have a TCC770 */
+#define CONFIG_CPU TCC770
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 120000000
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* The start address index for ROM builds */
+/* #define ROM_START 0x11010 for behind original Archos */
+#define ROM_START 0x7010 /* for behind BootBox */
+
+#define CONFIG_LCD LCD_S6B33B2
+
+#define BOOTFILE_EXT "c100"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#ifdef BOOTLOADER
+#define TCCBOOT
+#endif
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/sansac200.h b/firmware/export/config/sansac200.h
new file mode 100644
index 0000000000..45cfb8aee9
--- /dev/null
+++ b/firmware/export/config/sansac200.h
@@ -0,0 +1,207 @@
+/*
+ * This config file is for the Sandisk Sansa e200
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 20
+#define MODEL_NAME "Sandisk Sansa c200 series"
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS (SAMPR_CAP_22)
+#define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
+#define REC_SAMPR_DEFAULT SAMPR_22
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 132
+#define LCD_HEIGHT 80
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+/* TODO: #define HAVE_LCD_SLEEP */
+/* TODO: #define HAVE_LCD_SLEEP_SETTING <= optional */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+/* TODO: #define HAVE_LCD_INVERT */
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 255
+#define DEFAULT_CONTRAST_SETTING 85
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD SANSA_C200_PAD
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* The PP5024 has a built-in AustriaMicrosystems AS3514 */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa E200s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+#define CONFIG_TUNER LV24020LP
+#define HAVE_TUNER_PWR_CTRL
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 530 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* define current usage levels */
+#define CURRENT_NORMAL 30 /* Should be nearly identical to E200 */
+#define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */
+#define CURRENT_RECORD 30 /* flash player, so this is just unboosted current*/
+
+/* Define this if you have a PortalPlayer PP5024 */
+#define CONFIG_CPU PP5022
+
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_PP5024
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD TODO: hopefully the same as the x5 but check this*/
+#define CONFIG_LCD LCD_C200
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+#endif
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7451
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
diff --git a/firmware/export/config/sansac200v2.h b/firmware/export/config/sansac200v2.h
new file mode 100644
index 0000000000..65aebf245b
--- /dev/null
+++ b/firmware/export/config/sansac200v2.h
@@ -0,0 +1,199 @@
+/*
+ * This config file is for the Sandisk Sansa c200v2
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 44
+#define MODEL_NAME "Sandisk Sansa c200v2 series"
+#define FIRMWARE_OFFSET_FILE_DATA 8
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 132
+#define LCD_HEIGHT 80
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+/* TODO: #define HAVE_LCD_SLEEP */
+/* TODO: #define HAVE_LCD_SLEEP_SETTING <= optional */
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+/* TODO: #define HAVE_LCD_INVERT */
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 255
+#define DEFAULT_CONTRAST_SETTING 85
+
+#if 0 /* not enough room for a 16 bits framebuffer */
+#define IRAM_LCDFRAMEBUFFER IDATA_ATTR /* put the lcd frame buffer in IRAM */
+#endif
+
+#define CONFIG_KEYPAD SANSA_C200_PAD
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* The AS3525 has a built-in AS3514 (or a newer version) */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa E200s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x48000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner - suspected to be the SI4702 */
+#define CONFIG_TUNER SI4700
+/* #define HAVE_TUNER_PWR_CTRL */
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 530 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 530 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 530 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5024 */
+#define CONFIG_CPU AS3525
+
+/* Define how much SD sectors are reserved for OF */
+#define AMS_OF_SIZE 0x5000
+
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_AS3525
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 250000000
+
+/* Type of LCD : Samsung S6B33B2 */
+#define CONFIG_LCD LCD_C200
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+
+#define USB_HANDLED_BY_OF
+
+#define CONFIG_USBOTG USBOTG_AS3525
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7452
+
+#endif /* BOOTLOADER */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "sansa"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/** Port-specific settings **/
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
diff --git a/firmware/export/config/sansaclip.h b/firmware/export/config/sansaclip.h
new file mode 100644
index 0000000000..4fa5f94598
--- /dev/null
+++ b/firmware/export/config/sansaclip.h
@@ -0,0 +1,199 @@
+/*
+ * This config file is for the Sandisk Sansa Clip
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 40
+#define MODEL_NAME "Sandisk Sansa Clip"
+#define FIRMWARE_OFFSET_FILE_DATA 8
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+#define HAVE_NEGATIVE_LCD /* bright on dark */
+#define HAVE_LCD_SPLIT /* split display */
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x000000
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x0de2e5
+
+#define LCD_DARKCOLOR_2 0x000000
+#define LCD_BRIGHTCOLOR_2 0x000000
+#define LCD_BL_DARKCOLOR_2 0x000000
+#define LCD_BL_BRIGHTCOLOR_2 0xffe60f
+
+#define LCD_SPLIT_POS 16
+#define LCD_SPLIT_LINES 2
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+#ifndef BOOTLOADER
+/* Define this if your LCD can be put to sleep.
+ * HAVE_LCD_ENABLE should be defined as well. */
+//#define HAVE_LCD_SLEEP
+//#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the pixels */
+#define HAVE_LCD_INVERT
+
+/* Define this if your LCD can set contrast */
+#define HAVE_LCD_CONTRAST
+
+#define MIN_CONTRAST_SETTING 0
+#define MAX_CONTRAST_SETTING 50
+#define DEFAULT_CONTRAST_SETTING 30
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD SANSA_CLIP_PAD
+
+/* define this if the target has volume keys which can be used in the lists */
+#define HAVE_VOLUME_IN_LIST
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* We're working on the assumption that the AS3525 has something
+ similar to the AS3514 for audio codec etc */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x48000 /* in IRAM */
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x60000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+#define CONFIG_TUNER SI4700 /* in fact SI4702 but let's hope it's compatible */
+//#define HAVE_TUNER_PWR_CTRL
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 350 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 350 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 350 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a AMS AS3525 SoC */
+#define CONFIG_CPU AS3525
+
+/* Define how much SD sectors are reserved for OF */
+#define AMS_OF_SIZE 0x5000
+
+/* Define this if you want to use the AS3525 i2c interface */
+#define CONFIG_I2C I2C_AS3525
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 250000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_SSD1303
+
+#ifndef BOOTLOADER
+
+#define USB_HANDLED_BY_OF
+
+#define CONFIG_USBOTG USBOTG_AS3525
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7433
+
+#endif /* BOOTLOADER */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "sansa"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/** Port-specific settings **/
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
diff --git a/firmware/export/config/sansae200.h b/firmware/export/config/sansae200.h
new file mode 100644
index 0000000000..687878ce06
--- /dev/null
+++ b/firmware/export/config/sansae200.h
@@ -0,0 +1,216 @@
+/*
+ * This config file is for the Sandisk Sansa e200
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 16
+#define MODEL_NAME "Sandisk Sansa e200 series"
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS (SAMPR_CAP_22)
+#define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
+#define REC_SAMPR_DEFAULT SAMPR_22
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 220
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#ifndef BOOTLOADER
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD SANSA_E200_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+/* The PP5024 has a built-in AustriaMicrosystems AS3514 */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa E200s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner */
+#define CONFIG_TUNER LV24020LP
+#define HAVE_TUNER_PWR_CTRL
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 540
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 1
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 750 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* define current usage levels */
+#define CURRENT_NORMAL 30 /* Toni's measurements in Nov 2008 */
+#define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */
+#define CURRENT_RECORD 30 /* flash player, so this is just unboosted current*/
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5024 */
+#define CONFIG_CPU PP5024
+
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_PP5024
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD TODO: hopefully the same as the x5 but check this*/
+#define CONFIG_LCD LCD_X5
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+#endif
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7421
+#define HAVE_USB_HID_MOUSE
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/** Port-specific settings **/
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
+
+#ifdef E200R_INSTALLER
+#define IRAMORIG 0x40004000
+#endif
+
diff --git a/firmware/export/config/sansae200v2.h b/firmware/export/config/sansae200v2.h
new file mode 100644
index 0000000000..110555aec5
--- /dev/null
+++ b/firmware/export/config/sansae200v2.h
@@ -0,0 +1,212 @@
+/*
+ * This config file is for the Sandisk Sansa e200v2
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 41
+#define MODEL_NAME "Sandisk Sansa e200v2 series"
+
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 176
+#define LCD_HEIGHT 220
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#ifndef BOOTLOADER
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well.
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+ */
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* put the lcd frame buffer in IRAM */
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR
+
+#define CONFIG_KEYPAD SANSA_E200_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* We're working on the assumption that the AS3525 has something
+ similar to the AS3514 for audio codec etc */
+#define HAVE_AS3514
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa E200s seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner - suspected to be the SI4702 */
+#define CONFIG_TUNER SI4700
+/* #define HAVE_TUNER_PWR_CTRL */
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 540
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 1
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 730 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 730 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 730 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have an AMS AS3525*/
+#define CONFIG_CPU AS3525
+
+/* Define how much SD sectors are reserved for OF */
+#define AMS_OF_SIZE 0xF000
+
+/* Define this if you want to use the AS2525 i2c interface */
+#define CONFIG_I2C I2C_AS3525
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 75000000
+
+/* Type of LCD TODO: hopefully the same as the x5 but check this*/
+#define CONFIG_LCD LCD_X5
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+#endif
+
+#ifndef BOOTLOADER
+
+#define USB_HANDLED_BY_OF
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_AS3525
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7423
+
+#endif /* !BOOTLOADER */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "sansa"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
diff --git a/firmware/export/config/sansafuze.h b/firmware/export/config/sansafuze.h
new file mode 100644
index 0000000000..4370aef42e
--- /dev/null
+++ b/firmware/export/config/sansafuze.h
@@ -0,0 +1,206 @@
+/*
+ * This config file is for the Sandisk Sansa Fuze
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 43
+#define MODEL_NAME "Sandisk Sansa Fuze"
+
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* define this if you have recording possibility */
+#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+#ifndef BOOTLOADER/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have LCD enable function */
+#define HAVE_LCD_ENABLE
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well.
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+*/
+
+/* define this if you can flip your LCD */
+//#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+//#define HAVE_LCD_INVERT
+
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_AS3514
+
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+#endif /* !BOOTLOADER */
+
+/* put the lcd frame buffer in IRAM */
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR
+
+#define CONFIG_KEYPAD SANSA_FUZE_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+
+/* LCD dimensions */
+#define LCD_WIDTH 220
+#define LCD_HEIGHT 176
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+
+/* We're working on the assumption that the AS3525 has something
+ similar to the AS3514 for audio codec etc */
+#define HAVE_AS3514
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Some Sansa Fuzes seem to be FAT16 formatted */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* FM Tuner - suspected to be the SI4702 */
+#define CONFIG_TUNER SI4700
+/* #define HAVE_TUNER_PWR_CTRL */
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Which backlight fading type? */
+#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 540
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 1
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 550 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 550 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 550 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_TARGET
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have an AMS AS3525*/
+#define CONFIG_CPU AS3525
+
+/* Define how much SD sectors are reserved for OF */
+#define AMS_OF_SIZE 0xF000
+
+/* Define this if you want to use the AS2525 i2c interface */
+#define CONFIG_I2C I2C_AS3525
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 250000000
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_FUZE
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+#endif
+
+#ifndef BOOTLOADER
+
+#define USB_HANDLED_BY_OF
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_AS3525
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7423
+
+#endif /* !BOOTLOADER */
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "sansa"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
diff --git a/firmware/export/config/sansam200.h b/firmware/export/config/sansam200.h
new file mode 100644
index 0000000000..0f071e18ab
--- /dev/null
+++ b/firmware/export/config/sansam200.h
@@ -0,0 +1,136 @@
+/*
+ * This config file is for the Sansa M200 series
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 29
+
+#define MODEL_NAME "Sandisk Sansa m200 series"
+
+/* Enable FAT16 support */
+#define HAVE_FAT16SUPPORT
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+//#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_LINEIN | SRC_CAP_SPDIF)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+#define CONFIG_STORAGE STORAGE_NAND
+
+#define CONFIG_NAND NAND_TCC
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_BARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5e6854
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x3ca0e6
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD SANSA_M200_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if you have a real-time clock */
+#define CONFIG_RTC RTC_TCC77X
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x38000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x10000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have the TLV320 audio codec */
+#define HAVE_TLV320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define CONFIG_I2C I2C_TCC77X
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have a TCC770 */
+#define CONFIG_CPU TCC770
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 120000000
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "m200"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/"
+
+#define IBSS_ATTR_VOICE_STACK
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+#define ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_FLAC
+#define IBSS_ATTR_FLAC_DECODED0
+#define ICONST_ATTR_MPA_HUFFMAN
+#define IBSS_ATTR_MPC_SAMPLE_BUF
+#define ICODE_ATTR_ALAC
+#define IBSS_ATTR_SHORTEN_DECODED0
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/sansam200v4.h b/firmware/export/config/sansam200v4.h
new file mode 100644
index 0000000000..af9f1aedc6
--- /dev/null
+++ b/firmware/export/config/sansam200v4.h
@@ -0,0 +1,165 @@
+/*
+ * This config file is for the Sansa M200 V4 series
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 42
+
+#define MODEL_NAME "Sandisk Sansa m200 v4 series"
+
+/* Enable FAT16 support */
+#define HAVE_FAT16SUPPORT
+
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* define this if you have recording possibility */
+//#define HAVE_RECORDING
+
+#define REC_SAMPR_CAPS SAMPR_CAP_ALL
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* define this if you have access to the quickscreen */
+//#define HAVE_QUICKSCREEN
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+//#define HAVE_TAGCACHE
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+/* LCD dimensions */
+#define LCD_WIDTH 128
+#define LCD_HEIGHT 64
+#define LCD_DEPTH 1
+
+#define LCD_PIXELFORMAT VERTICAL_PACKING
+
+/* Display colours, for screenshots and sim (0xRRGGBB) */
+#define LCD_DARKCOLOR 0x000000
+#define LCD_BRIGHTCOLOR 0x5e6854
+#define LCD_BL_DARKCOLOR 0x000000
+#define LCD_BL_BRIGHTCOLOR 0x3ca0e6
+
+/* define this to indicate your device's keypad */
+#define CONFIG_KEYPAD SANSA_M200_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+#define CONFIG_RTC RTC_AS3514
+#endif
+
+/* define this if you have RTC RAM available for settings */
+//#define HAVE_RTC_RAM
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x48000 /* in IRAM */
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x60000
+
+#define AB_REPEAT_ENABLE 1
+
+#define CONFIG_TUNER TEA5767
+#define CONFIG_TUNER_XTAL 32768
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* Define this if you have the TLV320 audio codec */
+/*#define HAVE_TLV320*/
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/* We're working on the assumption that the AS3525 has something
+ similar to the AS3514 for audio codec etc */
+#define HAVE_AS3514
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+/* Define how much SD sectors are reserved for OF */
+#define AMS_OF_SIZE 0x5000
+
+#define BATTERY_CAPACITY_DEFAULT 1500 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 50 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* define this if the unit should not shut down on low battery. */
+#define NO_LOW_BATTERY_SHUTDOWN
+
+/* Define this if you have an AMS AS3525 */
+#define CONFIG_CPU AS3525
+
+/* Define this if you want to use the AS3525 i2c interface */
+#define CONFIG_I2C I2C_AS3525
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 250000000
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+#ifndef BOOTLOADER
+
+#define USB_HANDLED_BY_OF
+
+#define CONFIG_USBOTG USBOTG_AS3525
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x7431
+
+#endif /* BOOTLOADER */
+
+#define CONFIG_LCD LCD_SSD1815
+
+#define BOOTFILE_EXT "sansa"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define IBSS_ATTR_VOICE_STACK
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+#define ICODE_ATTR_TREMOR_MDCT
+#define ICODE_ATTR_FLAC
+#define IBSS_ATTR_FLAC_DECODED0
+#define ICONST_ATTR_MPA_HUFFMAN
+#define IBSS_ATTR_MPC_SAMPLE_BUF
+#define ICODE_ATTR_ALAC
+#define IBSS_ATTR_SHORTEN_DECODED0
+
+#define IRAM_LCDFRAMEBUFFER IBSS_ATTR /* put the lcd frame buffer in IRAM */
+
diff --git a/firmware/export/config/sansaview.h b/firmware/export/config/sansaview.h
new file mode 100644
index 0000000000..4111b8380a
--- /dev/null
+++ b/firmware/export/config/sansaview.h
@@ -0,0 +1,203 @@
+/*
+ * This config file is for the Sandisk Sansa View
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 63
+#define MODEL_NAME "Sandisk View"
+
+#define HW_SAMPR_CAPS (SAMPR_CAP_44)
+
+/* define this if you have recording possibility */
+/* #define HAVE_RECORDING */
+
+#define REC_SAMPR_CAPS (SAMPR_CAP_22)
+#define REC_FREQ_DEFAULT REC_FREQ_22 /* Default is not 44.1kHz */
+#define REC_SAMPR_DEFAULT SAMPR_22
+
+/* Define bitmask of input sources - recordable bitmask can be defined
+ explicitly if different */
+#define INPUT_SRC_CAPS (SRC_CAP_MIC | SRC_CAP_FMRADIO)
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you want album art for this target */
+#define HAVE_ALBUMART
+
+/* define this to enable bitmap scaling */
+#define HAVE_BMP_SCALING
+
+/* define this to enable JPEG decoding */
+#define HAVE_JPEG
+
+/* define this if you have a light associated with the buttons */
+#define HAVE_BUTTON_LIGHT
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* LCD dimensions */
+#define LCD_WIDTH 240
+#define LCD_HEIGHT 320
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+#ifndef BOOTLOADER
+/* define this if you have LCD enable function */
+/* #define HAVE_LCD_ENABLE */
+
+/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
+ should be defined as well. */
+/* #define HAVE_LCD_SLEEP */
+/* #define HAVE_LCD_SLEEP_SETTING */
+#endif
+
+/* define this if you can flip your LCD */
+#define HAVE_LCD_FLIP
+
+/* define this if you can invert the colours on your LCD */
+#define HAVE_LCD_INVERT
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+/* The only difference is that the power/hold is on the left instead of right on Fuze */
+#define CONFIG_KEYPAD SANSA_FUZE_PAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+/* There is no hardware tone control */
+#define HAVE_SW_TONE_CONTROLS
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+/* #define CONFIG_RTC RTC_ */
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* Required for MicroSD cards */
+#define HAVE_FAT16SUPPORT
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+#define AB_REPEAT_ENABLE 1
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+/* #define HAVE_BACKLIGHT_BRIGHTNESS */
+
+/* define this if the unit uses a scrollwheel for navigation */
+#define HAVE_SCROLLWHEEL
+/* define to activate advanced wheel acceleration code */
+#define HAVE_WHEEL_ACCELERATION
+/* define from which rotation speed [degree/sec] on the acceleration starts */
+#define WHEEL_ACCEL_START 540
+/* define type of acceleration (1 = ^2, 2 = ^3, 3 = ^4) */
+#define WHEEL_ACCELERATION 1
+
+/* define this if you have a flash memory storage */
+#define HAVE_FLASH_STORAGE
+
+/* define this if the flash memory uses the SecureDigital Memory Card protocol */
+#define CONFIG_STORAGE STORAGE_SD
+
+#define BATTERY_CAPACITY_DEFAULT 750 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 750 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 750 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 0 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Charging implemented in a target-specific algorithm */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* define current usage levels */
+#define CURRENT_NORMAL 30 /* Toni's measurements in Nov 2008 */
+#define CURRENT_BACKLIGHT 40 /* Screen is about 20, blue LEDs are another 20, so 40 if both */
+#define CURRENT_RECORD 30 /* flash player, so this is just unboosted current*/
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* Define this if you have a PortalPlayer PP5024 */
+#define CONFIG_CPU PP6100
+
+/* Define this if you want to use the PP5024 i2c interface */
+#define CONFIG_I2C I2C_PP5024
+
+/* define this if the hardware can be powered off while charging */
+/* Sansa can't be powered off while charging */
+/* #define HAVE_POWEROFF_WHILE_CHARGING */
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 250000000
+
+/* Type of LCD TODO: hopefully the same as the x5 but check this*/
+#define CONFIG_LCD LCD_VIEW
+
+/* Offset ( in the firmware file's header ) to the file CRC and data. These are
+ only used when loading the old format rockbox.e200 file
+ Required for bootloader/common.c to compile */
+#define FIRMWARE_OFFSET_FILE_CRC 0x0
+#define FIRMWARE_OFFSET_FILE_DATA 0x8
+
+#ifndef BOOTLOADER
+#define HAVE_MULTIDRIVE
+#define NUM_DRIVES 2
+#define HAVE_HOTSWAP
+#endif
+
+/* USB On-the-go */
+/* #define CONFIG_USBOTG USBOTG_ARC */
+
+/* enable these for the experimental usb stack */
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x0781
+#define USB_PRODUCT_ID 0x74b1
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define MI4_FORMAT
+#define BOOTFILE_EXT "mi4"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define ICODE_ATTR_TREMOR_NOT_MDCT
+
+#define INCLUDE_TIMEOUT_API
+
+/** Port-specific settings **/
+
+/* Main LCD backlight brightness range and defaults */
+#define MIN_BRIGHTNESS_SETTING 1
+#define MAX_BRIGHTNESS_SETTING 12
+#define DEFAULT_BRIGHTNESS_SETTING 6
+
+/* Default recording levels */
+#define DEFAULT_REC_MIC_GAIN 23
+#define DEFAULT_REC_LEFT_GAIN 23
+#define DEFAULT_REC_RIGHT_GAIN 23
diff --git a/firmware/export/config/sim.h b/firmware/export/config/sim.h
new file mode 100644
index 0000000000..ec398c8b2d
--- /dev/null
+++ b/firmware/export/config/sim.h
@@ -0,0 +1,81 @@
+/* This config file is for all simulators, and is used in addition to the
+ target specific configs */
+
+#undef CONFIG_CPU
+
+#undef HAVE_FMADC
+
+#undef NEED_ATA_POWER_BATT_MEASURE
+
+#undef CONFIG_I2C
+
+#undef HAVE_PCM_DMA_ADDRESS
+
+#undef FLASH_SIZE
+
+#undef CPU_FREQ
+
+#undef HAVE_ATA_POWER_OFF
+
+#undef CONFIG_LCD
+
+#undef CONFIG_LED
+
+#undef ROM_START
+
+#undef FIRMWARE_OFFSET_FILE_LENGTH
+#undef FIRMWARE_OFFSET_FILE_CRC
+#undef FIRMWARE_OFFSET_FILE_DATA
+
+#undef AMS_OF_SIZE
+
+#undef HAVE_MULTIDRIVE
+#undef NUM_DRIVES
+#undef HAVE_HOTSWAP
+#undef HAVE_HOTSWAP_STORAGE_AS_MAIN
+
+#undef CONFIG_STORAGE
+
+#undef CONFIG_USBOTG
+
+#undef USB_HANDLED_BY_OF
+
+#undef HAVE_USBSTACK
+#undef USE_ROCKBOX_USB
+#undef USB_VENDOR_ID
+#undef USB_PRODUCT_ID
+#undef USB_NUM_ENDPOINTS
+#undef HAVE_USB_HID_MOUSE
+
+#undef HAVE_ADJUSTABLE_CPU_FREQ
+
+#undef MI4_FORMAT
+#undef BOOTFILE_EXT
+#undef BOOTFILE
+#undef BOOTDIR
+
+#undef BOOTLOADER_ENTRYPOINT
+
+#undef FLASH_ENTRYPOINT
+
+#undef FLASH_MAGIC
+
+#undef HAVE_EEPROM
+#undef HAVE_EEPROM_SETTINGS
+
+#undef HAVE_HARDWARE_BEEP
+
+#undef HAVE_POWEROFF_WHILE_CHARGING
+
+#undef INCLUDE_TIMEOUT_API
+
+#undef HAVE_FLASHED_ROCKBOX
+
+#undef IPOD_ACCESSORY_PROTOCOL
+
+#undef HAVE_WHEEL_POSITION
+
+#undef HAVE_LCD_MODES
+
+#undef HAVE_SPEAKER
+
diff --git a/firmware/export/config/tatungtpj1022.h b/firmware/export/config/tatungtpj1022.h
new file mode 100644
index 0000000000..89e3d6dff1
--- /dev/null
+++ b/firmware/export/config/tatungtpj1022.h
@@ -0,0 +1,139 @@
+/*
+ * This config file is for the Tatung Elio TPJ-1022
+ */
+
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define MODEL_NAME "Tatung Elio TPJ-1022"
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 15
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have recording possibility */
+/*#define HAVE_RECORDING*/ /* TODO: add support for this */
+
+/* define the bitmask of hardware sample rates */
+#define HW_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8)
+
+/* define the bitmask of recording sample rates
+#define REC_SAMPR_CAPS (SAMPR_CAP_96 | SAMPR_CAP_88 | SAMPR_CAP_48 | \
+ SAMPR_CAP_44 | SAMPR_CAP_32 | SAMPR_CAP_8) */
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* LCD dimensions */
+#define LCD_WIDTH 220
+#define LCD_HEIGHT 176
+#define LCD_DEPTH 16 /* 65536 colours */
+#define LCD_PIXELFORMAT RGB565
+
+/* #define IRAM_LCDFRAMEBUFFER IDATA_ATTR *//* put the lcd frame buffer in IRAM */
+
+#define CONFIG_KEYPAD ELIO_TPJ1022_PAD
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+#ifndef BOOTLOADER
+//#define CONFIG_RTC RTC_E8564
+#endif
+
+/* Define this if you have a software controlled poweroff */
+#define HAVE_SW_POWEROFF
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x80000
+
+/* Define this if you have the WM8731 audio codec */
+#define HAVE_WM8731
+
+#define AB_REPEAT_ENABLE 1
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+#define HAVE_BACKLIGHT
+
+#define BATTERY_CAPACITY_DEFAULT 1550 /* default battery capacity
+ TODO: check this, probably different
+ for different models too */
+#define BATTERY_CAPACITY_MIN 1500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 1600 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 10 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging? FIXME */
+#define CONFIG_CHARGING CHARGING_SIMPLE
+
+/* define this if the unit can be powered or charged via USB */
+/*#define HAVE_USB_POWER*/
+
+/* Define this if you have a PortalPlayer PP5020 */
+#define CONFIG_CPU PP5020
+
+/* Define this if you want to use the PP5020 i2c interface */
+#define CONFIG_I2C I2C_PP5020
+
+/* define this if the hardware can be powered off while charging */
+/* TODO: should this be set for the H10? */
+//#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The start address index for ROM builds */
+#define ROM_START 0x00000000
+
+/* Define this to the CPU frequency */
+/* TODO: this is probably wrong */
+#define CPU_FREQ 11289600
+
+/* Type of LCD */
+#define CONFIG_LCD LCD_TPJ1022
+
+#define DEFAULT_CONTRAST_SETTING 19
+
+/* Offset ( in the firmware file's header ) to the file length */
+#define FIRMWARE_OFFSET_FILE_LENGTH 0
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* USB On-the-go */
+#define CONFIG_USBOTG USBOTG_ARC
+
+/* define this if the unit can be powered or charged via USB */
+#define HAVE_USB_POWER
+
+/* enable these for the experimental usb stack ROOLKU */
+#define HAVE_USBSTACK
+#define USB_VENDOR_ID 0x07B4
+#define USB_PRODUCT_ID 0x0280
+
+/* Define this if you have adjustable CPU frequency */
+#define HAVE_ADJUSTABLE_CPU_FREQ
+
+#define BOOTFILE_EXT "elio"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
diff --git a/firmware/export/config/zenvisionm.h b/firmware/export/config/zenvisionm.h
new file mode 100644
index 0000000000..d8005bb83d
--- /dev/null
+++ b/firmware/export/config/zenvisionm.h
@@ -0,0 +1,176 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Creative Zen Vision:M
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x00900000
+
+#define CREATIVE_ZVM 1
+
+#define MODEL_NAME "Creative Zen Vision:M"
+
+/* This makes it part of the Creative Zen Vision family :) */
+#define CREATIVE_ZVx 1
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 26
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+//#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_CREATIVEZVM
+
+/* choose the lcd orientation. both work */
+#define CONFIG_ORIENTATION SCREEN_PORTRAIT
+
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+/* Disabled until properly working
+#define HAVE_LCD_ENABLE */
+
+#define CONFIG_KEYPAD CREATIVEZVM_PAD
+#define HAVE_HEADPHONE_DETECTION
+//#define HAVE_TOUCHPAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+//#define CONFIG_RTC RTC_RX5X348AB
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+//#define HAVE_BACKLIGHT
+
+//#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+//#define MIN_BRIGHTNESS_SETTING 0
+//#define MAX_BRIGHTNESS_SETTING 127
+//#define DEFAULT_BRIGHTNESS_SETTING 85 /* OF "full brightness" */
+//#define DEFAULT_DIMNESS_SETTING 22 /* OF "most dim" */
+
+/* Define this if you have a software controlled poweroff */
+//#define HAVE_SW_POWEROFF
+//TODO: enable this back
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Define this if you have the TLV320 audio codec -> controlled by the DSP */
+#define HAVE_TLV320
+
+#define CONFIG_I2C I2C_DM320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/*#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \
+ SAMPR_CAP_11)*/
+
+#define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+//#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if you have a TI TMS320DM320 */
+#define CONFIG_CPU DM320
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 16934400
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define BOOTFILE_EXT "zvm"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+#define CONFIG_USBOTG USBOTG_ISP1583
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x041e
+#define USB_PRODUCT_ID 0x4133
+#define USB_NUM_ENDPOINTS 7
+
+/*DEBUGGING!*/
+/*
+#define THREAD_EXTRA_CHECKS 1
+#define DEBUG 1
+#define debug(msg) printf(msg)
+#define BUTTON_DEBUG
+*/
+
diff --git a/firmware/export/config/zenvisionm60gb.h b/firmware/export/config/zenvisionm60gb.h
new file mode 100644
index 0000000000..3e95ae7be7
--- /dev/null
+++ b/firmware/export/config/zenvisionm60gb.h
@@ -0,0 +1,168 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2008 by Maurus Cuelenaere
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+ * KIND, either express or implied.
+ *
+ ****************************************************************************/
+
+/*
+ * This config file is for the Creative Zen Vision:M 60GB
+ */
+#define TARGET_TREE /* this target is using the target tree system */
+
+#define CONFIG_SDRAM_START 0x00900000
+
+#define CREATIVE_ZVM60GB 1
+
+#define MODEL_NAME "Creative Zen Vision:M 60GB"
+
+/* This makes it part of the Creative Zen Vision family :) */
+#define CREATIVE_ZVx 1
+
+/* For Rolo and boot loader */
+#define MODEL_NUMBER 27
+
+/* define this if you use an ATA controller */
+#define CONFIG_STORAGE STORAGE_ATA
+
+/* define this if you have a bitmap LCD display */
+#define HAVE_LCD_BITMAP
+
+/* define this if you have a colour LCD */
+#define HAVE_LCD_COLOR
+
+/* define this if you have access to the quickscreen */
+#define HAVE_QUICKSCREEN
+
+/* define this if you have access to the pitchscreen */
+#define HAVE_PITCHSCREEN
+
+/* define this if you would like tagcache to build on this target */
+#define HAVE_TAGCACHE
+
+/* define this if the target has volume keys which can be used in the lists */
+//#define HAVE_VOLUME_IN_LIST
+
+/* LCD dimensions */
+#define CONFIG_LCD LCD_CREATIVEZVM
+
+/* choose the lcd orientation. both work */
+#define CONFIG_ORIENTATION SCREEN_PORTRAIT
+
+#define LCD_WIDTH 320
+#define LCD_HEIGHT 240
+
+#define LCD_DEPTH 16 /* 65k colours */
+#define LCD_PIXELFORMAT RGB565 /* rgb565 */
+
+/* Define this if your LCD can be enabled/disabled */
+#define HAVE_LCD_ENABLE
+
+#define CONFIG_KEYPAD CREATIVEZVM_PAD
+#define HAVE_HEADPHONE_DETECTION
+//#define HAVE_TOUCHPAD
+
+/* Define this to enable morse code input */
+#define HAVE_MORSE_INPUT
+
+/* Define this if you do software codec */
+#define CONFIG_CODEC SWCODEC
+
+/* define this if you have a real-time clock */
+//#define CONFIG_RTC RTC_RX5X348AB
+
+/* define this if you have a disk storage, i.e. something
+ that needs spinups and can cause skips when shaked */
+#define HAVE_DISK_STORAGE
+
+/* Define this for LCD backlight available */
+//#define HAVE_BACKLIGHT
+
+//#define HAVE_BACKLIGHT_BRIGHTNESS
+
+/* Main LCD backlight brightness range and defaults */
+//#define MIN_BRIGHTNESS_SETTING 0
+//#define MAX_BRIGHTNESS_SETTING 127
+//#define DEFAULT_BRIGHTNESS_SETTING 85 /* OF "full brightness" */
+//#define DEFAULT_DIMNESS_SETTING 22 /* OF "most dim" */
+
+/* Define this if you have a software controlled poweroff */
+//#define HAVE_SW_POWEROFF
+//TODO: enable this back
+
+/* The number of bytes reserved for loadable codecs */
+#define CODEC_SIZE 0x100000
+
+/* The number of bytes reserved for loadable plugins */
+#define PLUGIN_BUFFER_SIZE 0x100000
+
+/* Define this if you have the TLV320 audio codec -> controlled by the DSP */
+#define HAVE_TLV320
+
+#define CONFIG_I2C I2C_DM320
+
+/* TLV320 has no tone controls, so we use the software ones */
+#define HAVE_SW_TONE_CONTROLS
+
+/*#define HW_SAMPR_CAPS (SAMPR_CAP_88 | SAMPR_CAP_44 | SAMPR_CAP_22 | \
+ SAMPR_CAP_11)*/
+
+#define BATTERY_CAPACITY_DEFAULT 1250 /* default battery capacity */
+#define BATTERY_CAPACITY_MIN 500 /* min. capacity selectable */
+#define BATTERY_CAPACITY_MAX 2500 /* max. capacity selectable */
+#define BATTERY_CAPACITY_INC 100 /* capacity increment */
+#define BATTERY_TYPES_COUNT 1 /* only one type */
+
+/* Hardware controlled charging with monitoring */
+//#define CONFIG_CHARGING CHARGING_MONITOR
+
+/* Define this if you have a TI TMS320DM320 */
+#define CONFIG_CPU DM320
+
+/* define this if the hardware can be powered off while charging */
+#define HAVE_POWEROFF_WHILE_CHARGING
+
+/* The size of the flash ROM */
+#define FLASH_SIZE 0x400000
+
+/* Define this to the CPU frequency */
+#define CPU_FREQ 16934400
+
+/* Define this if you have ATA power-off control */
+#define HAVE_ATA_POWER_OFF
+
+/* Offset ( in the firmware file's header ) to the file CRC */
+#define FIRMWARE_OFFSET_FILE_CRC 0
+
+/* Offset ( in the firmware file's header ) to the real data */
+#define FIRMWARE_OFFSET_FILE_DATA 8
+
+/* Define this if you have adjustable CPU frequency */
+/* #define HAVE_ADJUSTABLE_CPU_FREQ */
+
+#define BOOTFILE_EXT "zvm60"
+#define BOOTFILE "rockbox." BOOTFILE_EXT
+#define BOOTDIR "/.rockbox"
+
+/* #define CONFIG_USBOTG USBOTG_ISP1761 */
+#define CONFIG_USBOTG USBOTG_ISP1583
+#define HAVE_USBSTACK
+#define USE_ROCKBOX_USB
+#define USB_VENDOR_ID 0x041e
+#define USB_PRODUCT_ID 0x4133
+#define USB_NUM_ENDPOINTS 7
+