summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/audiohw.h4
-rw-r--r--firmware/export/config/ibassodx50.h82
-rw-r--r--firmware/export/config/ibassodx90.h61
-rw-r--r--firmware/export/hosted_codec.h2
-rw-r--r--firmware/export/pcm_mixer.h6
-rw-r--r--firmware/export/rbpaths.h7
6 files changed, 91 insertions, 71 deletions
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h
index 7c5424a..d7bc3dd 100644
--- a/firmware/export/audiohw.h
+++ b/firmware/export/audiohw.h
@@ -114,6 +114,10 @@ struct sound_settings_info
#elif (CONFIG_PLATFORM & (PLATFORM_ANDROID | PLATFORM_MAEMO\
| PLATFORM_PANDORA | PLATFORM_SDL))
#include "hosted_codec.h"
+#elif defined(DX50)
+#include "codec-dx50.h"
+#elif defined(DX90)
+#include "codec-dx90.h"
#endif
/* convert caps into defines */
diff --git a/firmware/export/config/ibassodx50.h b/firmware/export/config/ibassodx50.h
index 5bbb515..e26d43c 100644
--- a/firmware/export/config/ibassodx50.h
+++ b/firmware/export/config/ibassodx50.h
@@ -1,14 +1,35 @@
-/*
- * This config file is for Rockbox as an application on Android
- */
+/***************************************************************************
+ * __________ __ ___
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2014 by Ilia Sergachev: Initial Rockbox port to iBasso DX50
+ * Copyright (C) 2014 by Mario Basister: iBasso DX90 port
+ * Copyright (C) 2014 by Simon Rothen: Initial Rockbox repository submission, additional features
+ * Copyright (C) 2014 by Udo Schläpfer: Code clean up, additional features
+ *
+ * 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 Rockbox as an application on Android without JVM. */
/* We don't run on hardware directly */
-#define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_ANDROID)
+#define CONFIG_PLATFORM PLATFORM_HOSTED
/* For Rolo and boot loader */
#define MODEL_NUMBER 94
-#define MODEL_NAME "iBasso DX50"
+#define MODEL_NAME "iBasso DX50"
#define USB_NONE
@@ -41,16 +62,15 @@
#define LCD_PIXELFORMAT RGB565
#define HAVE_LCD_ENABLE
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
+/*#define HAVE_LCD_FLIP*/
+#define HAVE_LCD_SHUTDOWN
/* define this to indicate your device's keypad */
#define HAVE_TOUCHSCREEN
#define HAVE_BUTTON_DATA
-
-/* define this if you have RTC RAM available for settings */
-//#define HAVE_RTC_RAM
-
-/* define this if you have a real-time clock */
-//#define CONFIG_RTC APPLICATION
+#define HAS_BUTTON_HOLD
/* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF
@@ -77,6 +97,10 @@
/* Define this if you do software codec */
#define CONFIG_CODEC SWCODEC
+#define HAVE_SW_TONE_CONTROLS
+#define HAVE_SW_VOLUME_CONTROL
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+#define HAVE_PLAY_FREQ
//#define HAVE_MULTIMEDIA_KEYS
#define CONFIG_KEYPAD DX50_PAD
@@ -84,39 +108,26 @@
/* define this if the target has volume keys which can be used in the lists */
#define HAVE_VOLUME_IN_LIST
-/* define this if the host platform can change volume outside of rockbox */
-//#define PLATFORM_HAS_VOLUME_CHANGE
-
-#define HAVE_SW_TONE_CONTROLS
-
-#define HAVE_SW_VOLUME_CONTROL
-
#define BATTERY_CAPACITY_DEFAULT 2100 /* default battery capacity */
-#define BATTERY_CAPACITY_MIN 1700 /* 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 BATTERY_CAPACITY_MIN 1700 /* 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 CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE
+#define CONFIG_CHARGING CHARGING_MONITOR
-#define CONFIG_CHARGING CHARGING_MONITOR
-
-#define NO_LOW_BATTERY_SHUTDOWN
-
-/* Define current usage levels. */
-#define CURRENT_NORMAL 210 /* 10 hours from a 2100 mAh battery */
-#define CURRENT_BACKLIGHT 30 /* TBD */
-#define CURRENT_RECORD 0 /* no recording */
-
-/* Define this to the CPU frequency */
/*
-#define CPU_FREQ 48000000
+ 10 hours from a 2100 mAh battery
+ Based on battery bench with stock Samsung battery.
*/
+#define CURRENT_NORMAL 210
+#define CURRENT_BACKLIGHT 30 /* TBD */
+#define CURRENT_RECORD 0 /* no recording */
/* define this if the hardware can be powered off while charging */
#define HAVE_POWEROFF_WHILE_CHARGING
-
/* Offset ( in the firmware file's header ) to the file CRC */
#define FIRMWARE_OFFSET_FILE_CRC 0
@@ -128,9 +139,6 @@
/* Define this if a programmable hotkey is mapped */
#define HAVE_HOTKEY
-#define BOOTDIR "/.rockbox"
-
/* No special storage */
#define CONFIG_STORAGE STORAGE_HOSTFS
#define HAVE_STORAGE_FLUSH
-
diff --git a/firmware/export/config/ibassodx90.h b/firmware/export/config/ibassodx90.h
index 68a728e..6de06d9 100644
--- a/firmware/export/config/ibassodx90.h
+++ b/firmware/export/config/ibassodx90.h
@@ -1,9 +1,30 @@
-/*
- * This config file is for Rockbox as an application on Android
- */
+/***************************************************************************
+ * __________ __ ___
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ *
+ * Copyright (C) 2014 by Ilia Sergachev: Initial Rockbox port to iBasso DX50
+ * Copyright (C) 2014 by Mario Basister: iBasso DX90 port
+ * Copyright (C) 2014 by Simon Rothen: Initial Rockbox repository submission, additional features
+ * Copyright (C) 2014 by Udo Schläpfer: Code clean up, additional features
+ *
+ * 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 Rockbox as an application on Android without JVM. */
/* We don't run on hardware directly */
-#define CONFIG_PLATFORM (PLATFORM_HOSTED|PLATFORM_ANDROID)
+#define CONFIG_PLATFORM PLATFORM_HOSTED
/* For Rolo and boot loader */
#define MODEL_NUMBER 95
@@ -41,16 +62,14 @@
#define LCD_PIXELFORMAT RGB565
#define HAVE_LCD_ENABLE
+#define HAVE_LCD_SHUTDOWN
+#define HAVE_LCD_SLEEP
+#define HAVE_LCD_SLEEP_SETTING
/* define this to indicate your device's keypad */
#define HAVE_TOUCHSCREEN
#define HAVE_BUTTON_DATA
-
-/* define this if you have RTC RAM available for settings */
-//#define HAVE_RTC_RAM
-
-/* define this if you have a real-time clock */
-//#define CONFIG_RTC APPLICATION
+#define HAS_BUTTON_HOLD
/* Define this if you have a software controlled poweroff */
#define HAVE_SW_POWEROFF
@@ -77,6 +96,10 @@
/* Define this if you do software codec */
#define CONFIG_CODEC SWCODEC
+#define HAVE_SW_TONE_CONTROLS
+#define HAVE_SW_VOLUME_CONTROL
+#define HW_SAMPR_CAPS SAMPR_CAP_ALL
+#define HAVE_PLAY_FREQ
//#define HAVE_MULTIMEDIA_KEYS
#define CONFIG_KEYPAD DX50_PAD
@@ -84,13 +107,6 @@
/* define this if the target has volume keys which can be used in the lists */
#define HAVE_VOLUME_IN_LIST
-/* define this if the host platform can change volume outside of rockbox */
-//#define PLATFORM_HAS_VOLUME_CHANGE
-
-#define HAVE_SW_TONE_CONTROLS
-
-#define HAVE_SW_VOLUME_CONTROL
-
#define BATTERY_CAPACITY_DEFAULT 2100 /* default battery capacity */
#define BATTERY_CAPACITY_MIN 1700 /* min. capacity selectable */
#define BATTERY_CAPACITY_MAX 3200 /* max. capacity selectable */
@@ -101,22 +117,14 @@
#define CONFIG_CHARGING CHARGING_MONITOR
-#define NO_LOW_BATTERY_SHUTDOWN
-
/* Define current usage levels. */
#define CURRENT_NORMAL 210 /* 10 hours from a 2100 mAh battery */
#define CURRENT_BACKLIGHT 30 /* TBD */
#define CURRENT_RECORD 0 /* no recording */
-/* Define this to the CPU frequency */
-/*
-#define CPU_FREQ 48000000
-*/
-
/* define this if the hardware can be powered off while charging */
#define HAVE_POWEROFF_WHILE_CHARGING
-
/* Offset ( in the firmware file's header ) to the file CRC */
#define FIRMWARE_OFFSET_FILE_CRC 0
@@ -128,9 +136,6 @@
/* Define this if a programmable hotkey is mapped */
#define HAVE_HOTKEY
-#define BOOTDIR "/.rockbox"
-
/* No special storage */
#define CONFIG_STORAGE STORAGE_HOSTFS
#define HAVE_STORAGE_FLUSH
-
diff --git a/firmware/export/hosted_codec.h b/firmware/export/hosted_codec.h
index 00ab099..5391ca8 100644
--- a/firmware/export/hosted_codec.h
+++ b/firmware/export/hosted_codec.h
@@ -25,9 +25,7 @@
&& !(CONFIG_PLATFORM & PLATFORM_MAEMO5)
AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -80, 0, 0)
#else
-#if !defined(DX50) && !defined(DX90)
#define AUDIOHW_CAPS (MONO_VOL_CAP)
-#endif
AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -99, 0, 0)
#endif /* CONFIG_PLATFORM & PLATFORM_SDL */
diff --git a/firmware/export/pcm_mixer.h b/firmware/export/pcm_mixer.h
index f7f869e..b418a5d 100644
--- a/firmware/export/pcm_mixer.h
+++ b/firmware/export/pcm_mixer.h
@@ -30,13 +30,15 @@
#if CONFIG_CPU == PP5002
/* There's far less time to do mixing because HW FIFOs are short */
#define MIX_FRAME_SAMPLES 64
-#elif (CONFIG_PLATFORM & PLATFORM_MAEMO5)
+#elif (CONFIG_PLATFORM & PLATFORM_MAEMO5) || defined(DX50) || defined(DX90)
/* Maemo 5 needs 2048 samples for decent performance.
Otherwise the locking overhead inside gstreamer costs too much */
+/* iBasso Devices: Match Rockbox PCM buffer size to ALSA PCM buffer size
+ to minimize memory transfers. */
#define MIX_FRAME_SAMPLES 2048
+#else
/* Assume HW DMA engine is available or sufficient latency exists in the
PCM pathway */
-#else
#define MIX_FRAME_SAMPLES 256
#endif
diff --git a/firmware/export/rbpaths.h b/firmware/export/rbpaths.h
index b04d669..fdbf081 100644
--- a/firmware/export/rbpaths.h
+++ b/firmware/export/rbpaths.h
@@ -40,10 +40,13 @@
#define ROCKBOX_DIR_LEN (sizeof(ROCKBOX_DIR)-1)
#endif /* def __PCTOOL__ */
-#if !defined(APPLICATION) || defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1)
+#if !defined(APPLICATION) || defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || defined(DX50) || defined(DX90)
#if defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1)
#define HOME_DIR "/mnt/media0"
+#elif defined(DX50) || defined(DX90)
+/* Where to put save files like recordings, playlists, screen dumps ...*/
+#define HOME_DIR "/mnt/sdcard"
#else
#define HOME_DIR "/"
#endif
@@ -80,7 +83,7 @@
#define PLUGIN_DEMOS_DIR PLUGIN_DIR "/demos"
#define VIEWERS_DIR PLUGIN_DIR "/viewers"
-#if defined(APPLICATION) && !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1))
+#if defined(APPLICATION) && !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || defined(DX50) || defined(DX90))
#define PLUGIN_DATA_DIR ROCKBOX_DIR "/rocks.data"
#define PLUGIN_GAMES_DATA_DIR PLUGIN_DATA_DIR
#define PLUGIN_APPS_DATA_DIR PLUGIN_DATA_DIR