summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-10-08 09:47:40 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-10-11 16:37:17 -0400
commit2a471e288c16b91a7186a60b3fb84dd55a494c7a (patch)
tree3e746212c5fa69b59f61d19b6e29d11aa8a5e31b /firmware/export
parent5efaa9ef8073bb216e3dcdbb4476f2fa7c672b76 (diff)
downloadrockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.tar.gz
rockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.zip
New port: AIGO EROS Q / EROS K
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/audiohw.h2
-rw-r--r--firmware/export/config.h3
-rw-r--r--firmware/export/config/agptekrocker.h1
-rw-r--r--firmware/export/config/aigoerosq.h132
-rw-r--r--firmware/export/config/fiiom3k.h2
-rw-r--r--firmware/export/config/xduoox20.h2
-rw-r--r--firmware/export/config/xduoox3ii.h1
-rw-r--r--firmware/export/erosqlinux_codec.h13
-rw-r--r--firmware/export/rbpaths.h6
-rw-r--r--firmware/export/system.h2
10 files changed, 160 insertions, 4 deletions
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h
index 1ff220e403..8a46cbea78 100644
--- a/firmware/export/audiohw.h
+++ b/firmware/export/audiohw.h
@@ -226,6 +226,8 @@ struct sound_settings_info
226#include "xduoolinux_codec.h" 226#include "xduoolinux_codec.h"
227#elif defined(HAVE_FIIO_LINUX_CODEC) 227#elif defined(HAVE_FIIO_LINUX_CODEC)
228#include "fiiolinux_codec.h" 228#include "fiiolinux_codec.h"
229#elif defined(HAVE_EROSQ_LINUX_CODEC)
230#include "erosqlinux_codec.h"
229#endif 231#endif
230 232
231/* convert caps into defines */ 233/* convert caps into defines */
diff --git a/firmware/export/config.h b/firmware/export/config.h
index a9753e3cf8..7e8d751090 100644
--- a/firmware/export/config.h
+++ b/firmware/export/config.h
@@ -162,6 +162,7 @@
162#define XDUOO_X3II_PAD 69 162#define XDUOO_X3II_PAD 69
163#define XDUOO_X20_PAD 70 163#define XDUOO_X20_PAD 70
164#define FIIO_M3K_PAD 71 164#define FIIO_M3K_PAD 71
165#define EROSQ_PAD 72
165 166
166/* CONFIG_REMOTE_KEYPAD */ 167/* CONFIG_REMOTE_KEYPAD */
167#define H100_REMOTE 1 168#define H100_REMOTE 1
@@ -602,6 +603,8 @@ Lyre prototype 1 */
602#include "config/xduoox20.h" 603#include "config/xduoox20.h"
603#elif defined(FIIO_M3K) 604#elif defined(FIIO_M3K)
604#include "config/fiiom3k.h" 605#include "config/fiiom3k.h"
606#elif defined(EROS_Q)
607#include "config/aigoerosq.h"
605#else 608#else
606//#error "unknown hwardware platform!" 609//#error "unknown hwardware platform!"
607#endif 610#endif
diff --git a/firmware/export/config/agptekrocker.h b/firmware/export/config/agptekrocker.h
index a97522d976..230dc6cac4 100644
--- a/firmware/export/config/agptekrocker.h
+++ b/firmware/export/config/agptekrocker.h
@@ -17,6 +17,7 @@
17#define CONFIG_PLATFORM (PLATFORM_HOSTED) 17#define CONFIG_PLATFORM (PLATFORM_HOSTED)
18#endif 18#endif
19 19
20#define HIBY_LINUX
20#define HAVE_FPU 21#define HAVE_FPU
21 22
22/* define this if you have a colour LCD */ 23/* define this if you have a colour LCD */
diff --git a/firmware/export/config/aigoerosq.h b/firmware/export/config/aigoerosq.h
new file mode 100644
index 0000000000..9207b5548f
--- /dev/null
+++ b/firmware/export/config/aigoerosq.h
@@ -0,0 +1,132 @@
1/*
2 * This config file is for the AIGO EROS Q / EROS K (and its clones)
3 */
4
5/* For Rolo and boot loader */
6#define MODEL_NUMBER 113
7
8#define MODEL_NAME "AIGO Eros Q"
9
10/* LCD dimensions */
11#define LCD_WIDTH 320
12#define LCD_HEIGHT 240
13/* sqrt(240^2 + 320^2) / 2.0 = 200 */
14#define LCD_DPI 200
15
16#ifndef SIMULATOR
17#define CONFIG_PLATFORM (PLATFORM_HOSTED)
18#endif
19
20#define HIBY_LINUX
21#define HAVE_FPU
22
23/* define this if you have a colour LCD */
24#define HAVE_LCD_COLOR
25
26#define HAVE_LCD_ENABLE
27
28/* Define this if the LCD can shut down */
29#define HAVE_LCD_SHUTDOWN
30
31/* define this if you want album art for this target */
32#define HAVE_ALBUMART
33
34/* define this to enable bitmap scaling */
35#define HAVE_BMP_SCALING
36
37/* define this to enable JPEG decoding */
38#define HAVE_JPEG
39
40/* define this if you have access to the quickscreen */
41#define HAVE_QUICKSCREEN
42
43/* define this if you would like tagcache to build on this target */
44#define HAVE_TAGCACHE
45
46#define LCD_DEPTH 32
47/* Check that but should not matter */
48#define LCD_PIXELFORMAT XRGB8888
49
50#define HAVE_BACKLIGHT
51#define HAVE_BACKLIGHT_BRIGHTNESS
52
53/* Main LCD backlight brightness range and defaults: the backlight driver
54 * has levels from 0 to 255. But 0 is off so start at 1.
55 */
56#define MIN_BRIGHTNESS_SETTING 1
57#define MAX_BRIGHTNESS_SETTING 255
58#define BRIGHTNESS_STEP 5
59#define DEFAULT_BRIGHTNESS_SETTING 70
60
61/* Which backlight fading type? */
62#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
63
64/* define this if you have a real-time clock */
65#define CONFIG_RTC APPLICATION
66
67/* The number of bytes reserved for loadable codecs */
68#define CODEC_SIZE 0x80000
69
70/* The number of bytes reserved for loadable plugins */
71#define PLUGIN_BUFFER_SIZE 0x100000
72
73#define HAVE_HEADPHONE_DETECTION
74#define HAVE_LINEOUT_DETECTION
75
76/* KeyPad configuration for plugins */
77#define CONFIG_KEYPAD EROSQ_PAD
78
79/* define this if the target has volume keys which can be used in the lists */
80#define HAVE_VOLUME_IN_LIST
81
82#ifndef SIMULATOR
83/* We have usb power and can detect usb but it is handled by Linux */
84#define HAVE_USB_POWER
85
86#endif
87
88#define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE
89
90/* Linux controlls charging, we can monitor */
91#define CONFIG_CHARGING CHARGING_MONITOR
92
93/* define this if the hardware can be powered off while charging */
94#define HAVE_POWEROFF_WHILE_CHARGING
95
96/* same dimensions as gigabeats */
97#define CONFIG_LCD LCD_INGENIC_LINUX
98
99/* Define this if you have a software controlled poweroff */
100#define HAVE_SW_POWEROFF
101
102/* Define this to the CPU frequency */
103#define CPU_FREQ 108000000
104
105/* No special storage */
106#define CONFIG_STORAGE STORAGE_HOSTFS
107#define HAVE_STORAGE_FLUSH
108
109/* Battery */
110#define BATTERY_TYPES_COUNT 1
111
112/* Audio codec */
113#define HAVE_EROSQ_LINUX_CODEC
114/* Rockbox has to handle the volume level */
115#define HAVE_SW_VOLUME_CONTROL
116
117/* We don't have hardware controls */
118#define HAVE_SW_TONE_CONTROLS
119
120/* HW codec is flexible */
121#define HW_SAMPR_CAPS SAMPR_CAP_ALL_192
122
123/* Battery */
124#define BATTERY_CAPACITY_DEFAULT 2000 /* default battery capacity */
125#define BATTERY_CAPACITY_MIN 2000 /* min. capacity selectable */
126#define BATTERY_CAPACITY_MAX 2000 /* max. capacity selectable */
127#define BATTERY_CAPACITY_INC 0 /* capacity increment */
128
129/* ROLO */
130#define BOOTFILE_EXT "erosq"
131#define BOOTFILE "rockbox." BOOTFILE_EXT
132#define BOOTDIR "/.rockbox"
diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h
index 5b68f3738e..88652b633f 100644
--- a/firmware/export/config/fiiom3k.h
+++ b/firmware/export/config/fiiom3k.h
@@ -17,6 +17,8 @@
17#define CONFIG_PLATFORM (PLATFORM_HOSTED) 17#define CONFIG_PLATFORM (PLATFORM_HOSTED)
18#endif 18#endif
19 19
20#define HAVE_FPU
21
20#define HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_48 | SAMPR_CAP_88 | SAMPR_CAP_96 | SAMPR_CAP_176 | SAMPR_CAP_192) 22#define HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_48 | SAMPR_CAP_88 | SAMPR_CAP_96 | SAMPR_CAP_176 | SAMPR_CAP_192)
21 23
22/* define this if you have a bitmap LCD display */ 24/* define this if you have a bitmap LCD display */
diff --git a/firmware/export/config/xduoox20.h b/firmware/export/config/xduoox20.h
index a8d2175719..70e6131cb7 100644
--- a/firmware/export/config/xduoox20.h
+++ b/firmware/export/config/xduoox20.h
@@ -17,6 +17,8 @@
17#define CONFIG_PLATFORM (PLATFORM_HOSTED) 17#define CONFIG_PLATFORM (PLATFORM_HOSTED)
18#endif 18#endif
19 19
20#define HIBY_LINUX
21
20#define HAVE_FPU 22#define HAVE_FPU
21 23
22/* define this if you have a colour LCD */ 24/* define this if you have a colour LCD */
diff --git a/firmware/export/config/xduoox3ii.h b/firmware/export/config/xduoox3ii.h
index 143d4442fd..d19165114a 100644
--- a/firmware/export/config/xduoox3ii.h
+++ b/firmware/export/config/xduoox3ii.h
@@ -17,6 +17,7 @@
17#define CONFIG_PLATFORM (PLATFORM_HOSTED) 17#define CONFIG_PLATFORM (PLATFORM_HOSTED)
18#endif 18#endif
19 19
20#define HIBY_LINUX
20#define HAVE_FPU 21#define HAVE_FPU
21 22
22/* define this if you have a colour LCD */ 23/* define this if you have a colour LCD */
diff --git a/firmware/export/erosqlinux_codec.h b/firmware/export/erosqlinux_codec.h
new file mode 100644
index 0000000000..8a3afbfe3c
--- /dev/null
+++ b/firmware/export/erosqlinux_codec.h
@@ -0,0 +1,13 @@
1#ifndef __EROSQLINUX_CODEC__
2#define __EROSQLINUX_CODEC__
3
4#define AUDIOHW_CAPS (LINEOUT_CAP)
5
6AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -74, 6, -25)
7
8
9void audiohw_mute(int mute);
10void erosq_set_output(int ps);
11int erosq_get_outputs(void);
12
13#endif
diff --git a/firmware/export/rbpaths.h b/firmware/export/rbpaths.h
index 6b686eec0e..215b4c0c4b 100644
--- a/firmware/export/rbpaths.h
+++ b/firmware/export/rbpaths.h
@@ -42,7 +42,7 @@
42 42
43#if !defined(APPLICATION) || defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \ 43#if !defined(APPLICATION) || defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \
44 defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || \ 44 defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || \
45 defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) || defined(FIIO_M3K) 45 defined(HIBY_LINUX) || defined(FIIO_M3K)
46 46
47#if defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) 47#if defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1)
48#define HOME_DIR "/mnt/media0" 48#define HOME_DIR "/mnt/media0"
@@ -51,7 +51,7 @@
51#elif defined(DX50) || defined(DX90) 51#elif defined(DX50) || defined(DX90)
52/* Where to put save files like recordings, playlists, screen dumps ...*/ 52/* Where to put save files like recordings, playlists, screen dumps ...*/
53#define HOME_DIR "/mnt/sdcard" 53#define HOME_DIR "/mnt/sdcard"
54#elif defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) 54#elif defined(HIBY_LINUX)
55#define HOME_DIR "/mnt/sd_0" 55#define HOME_DIR "/mnt/sd_0"
56#elif defined(FIIO_M3K) 56#elif defined(FIIO_M3K)
57#define HOME_DIR "/mnt" 57#define HOME_DIR "/mnt"
@@ -92,7 +92,7 @@
92#define VIEWERS_DIR PLUGIN_DIR "/viewers" 92#define VIEWERS_DIR PLUGIN_DIR "/viewers"
93 93
94#if defined(APPLICATION) && !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \ 94#if defined(APPLICATION) && !(defined(SAMSUNG_YPR0) || defined(SAMSUNG_YPR1) || \
95 defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20)) 95 defined(DX50) || defined(DX90) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX))
96#define PLUGIN_DATA_DIR ROCKBOX_DIR "/rocks.data" 96#define PLUGIN_DATA_DIR ROCKBOX_DIR "/rocks.data"
97#define PLUGIN_GAMES_DATA_DIR PLUGIN_DATA_DIR 97#define PLUGIN_GAMES_DATA_DIR PLUGIN_DATA_DIR
98#define PLUGIN_APPS_DATA_DIR PLUGIN_DATA_DIR 98#define PLUGIN_APPS_DATA_DIR PLUGIN_DATA_DIR
diff --git a/firmware/export/system.h b/firmware/export/system.h
index cfec235bc4..1885acfffd 100644
--- a/firmware/export/system.h
+++ b/firmware/export/system.h
@@ -347,7 +347,7 @@ static inline void cpu_boost_unlock(void)
347#ifndef SIMULATOR 347#ifndef SIMULATOR
348bool dbg_ports(void); 348bool dbg_ports(void);
349#endif 349#endif
350#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) 350#if (CONFIG_PLATFORM & PLATFORM_NATIVE) || defined(SONY_NWZ_LINUX) || defined(HIBY_LINUX) || defined(FIIO_M3K)
351bool dbg_hw_info(void); 351bool dbg_hw_info(void);
352#endif 352#endif
353 353