diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-10-03 18:17:11 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-10-09 12:41:18 -0400 |
commit | aabc8aca47e60cf745a34af28c50679fcb967910 (patch) | |
tree | cfe17f546aae9785fb13482f39527e2da0597ccb /firmware/export | |
parent | 4231c2c83f2b5331e3e38b10a308ee3752315f9c (diff) | |
download | rockbox-aabc8aca47e60cf745a34af28c50679fcb967910.tar.gz rockbox-aabc8aca47e60cf745a34af28c50679fcb967910.zip |
New port: FiiO M3K
Most credit goes to: Roman Skylarov
Additional integration and refactoring by myself.
*** COMPLETELY UNTESTED ***
Change-Id: Ia64c36d92e0214c6b15f7a868df286f8113ea27b
Diffstat (limited to 'firmware/export')
-rw-r--r-- | firmware/export/audiohw.h | 2 | ||||
-rw-r--r-- | firmware/export/config.h | 3 | ||||
-rw-r--r-- | firmware/export/config/fiiom3k.h | 127 | ||||
-rw-r--r-- | firmware/export/fiiolinux_codec.h | 3 | ||||
-rw-r--r-- | firmware/export/rbpaths.h | 4 |
5 files changed, 138 insertions, 1 deletions
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index 31be0555f8..1ff220e403 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h | |||
@@ -224,6 +224,8 @@ struct sound_settings_info | |||
224 | #include "rocker_codec.h" | 224 | #include "rocker_codec.h" |
225 | #elif defined(HAVE_XDUOO_LINUX_CODEC) | 225 | #elif defined(HAVE_XDUOO_LINUX_CODEC) |
226 | #include "xduoolinux_codec.h" | 226 | #include "xduoolinux_codec.h" |
227 | #elif defined(HAVE_FIIO_LINUX_CODEC) | ||
228 | #include "fiiolinux_codec.h" | ||
227 | #endif | 229 | #endif |
228 | 230 | ||
229 | /* convert caps into defines */ | 231 | /* convert caps into defines */ |
diff --git a/firmware/export/config.h b/firmware/export/config.h index 7c57d9a120..a9753e3cf8 100644 --- a/firmware/export/config.h +++ b/firmware/export/config.h | |||
@@ -161,6 +161,7 @@ | |||
161 | #define IHIFI_800_PAD 68 | 161 | #define IHIFI_800_PAD 68 |
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 | 165 | ||
165 | /* CONFIG_REMOTE_KEYPAD */ | 166 | /* CONFIG_REMOTE_KEYPAD */ |
166 | #define H100_REMOTE 1 | 167 | #define H100_REMOTE 1 |
@@ -599,6 +600,8 @@ Lyre prototype 1 */ | |||
599 | #include "config/xduoox3ii.h" | 600 | #include "config/xduoox3ii.h" |
600 | #elif defined(XDUOO_X20) | 601 | #elif defined(XDUOO_X20) |
601 | #include "config/xduoox20.h" | 602 | #include "config/xduoox20.h" |
603 | #elif defined(FIIO_M3K) | ||
604 | #include "config/fiiom3k.h" | ||
602 | #else | 605 | #else |
603 | //#error "unknown hwardware platform!" | 606 | //#error "unknown hwardware platform!" |
604 | #endif | 607 | #endif |
diff --git a/firmware/export/config/fiiom3k.h b/firmware/export/config/fiiom3k.h new file mode 100644 index 0000000000..5b68f3738e --- /dev/null +++ b/firmware/export/config/fiiom3k.h | |||
@@ -0,0 +1,127 @@ | |||
1 | /* | ||
2 | * This config file is for the FiiO M3K | ||
3 | */ | ||
4 | |||
5 | /* For Rolo and boot loader */ | ||
6 | #define MODEL_NUMBER 112 | ||
7 | |||
8 | #define MODEL_NAME "FiiO M3K" | ||
9 | |||
10 | /* LCD dimensions */ | ||
11 | #define LCD_WIDTH 240 | ||
12 | #define LCD_HEIGHT 320 | ||
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 HW_SAMPR_CAPS (SAMPR_CAP_44 | SAMPR_CAP_48 | SAMPR_CAP_88 | SAMPR_CAP_96 | SAMPR_CAP_176 | SAMPR_CAP_192) | ||
21 | |||
22 | /* define this if you have a bitmap LCD display */ | ||
23 | #define HAVE_LCD_BITMAP | ||
24 | |||
25 | /* define this if you have a colour LCD */ | ||
26 | #define HAVE_LCD_COLOR | ||
27 | |||
28 | #define HAVE_LCD_ENABLE | ||
29 | |||
30 | /* define this if you want album art for this target */ | ||
31 | #define HAVE_ALBUMART | ||
32 | |||
33 | /* define this to enable bitmap scaling */ | ||
34 | #define HAVE_BMP_SCALING | ||
35 | |||
36 | /* define this to enable JPEG decoding */ | ||
37 | #define HAVE_JPEG | ||
38 | |||
39 | /* define this if you have access to the quickscreen */ | ||
40 | #define HAVE_QUICKSCREEN | ||
41 | |||
42 | /* define this if you would like tagcache to build on this target */ | ||
43 | #define HAVE_TAGCACHE | ||
44 | |||
45 | #define LCD_DEPTH 16 | ||
46 | /* Check that but should not matter */ | ||
47 | #define LCD_PIXELFORMAT RGB565 | ||
48 | |||
49 | #define HAVE_BACKLIGHT | ||
50 | #define HAVE_BACKLIGHT_BRIGHTNESS | ||
51 | |||
52 | /* define this if you have a light associated with the buttons */ | ||
53 | #define HAVE_BUTTON_LIGHT | ||
54 | #define HAVE_BUTTONLIGHT_BRIGHTNESS | ||
55 | |||
56 | /* Main LCD backlight brightness range and defaults: the backlight driver | ||
57 | * has levels from 0 to 32. But 0 is off so start at 1. | ||
58 | */ | ||
59 | #define MIN_BRIGHTNESS_SETTING 1 | ||
60 | #define MAX_BRIGHTNESS_SETTING 255 | ||
61 | #define BRIGHTNESS_STEP 5 | ||
62 | #define DEFAULT_BRIGHTNESS_SETTING 70 | ||
63 | |||
64 | /* Which backlight fading type? */ | ||
65 | #define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING | ||
66 | |||
67 | /* define this if you have a real-time clock */ | ||
68 | #define CONFIG_RTC APPLICATION | ||
69 | |||
70 | /* The number of bytes reserved for loadable codecs */ | ||
71 | #define CODEC_SIZE 0x80000 | ||
72 | |||
73 | /* The number of bytes reserved for loadable plugins */ | ||
74 | #define PLUGIN_BUFFER_SIZE 0x100000 | ||
75 | |||
76 | #define HAVE_HEADPHONE_DETECTION | ||
77 | |||
78 | /* KeyPad configuration for plugins */ | ||
79 | #define CONFIG_KEYPAD FIIO_M3K_PAD | ||
80 | |||
81 | /* Define this if a programmable hotkey is mapped */ | ||
82 | #define HAVE_HOTKEY | ||
83 | |||
84 | /* define this if the target has volume keys which can be used in the lists */ | ||
85 | #define HAVE_VOLUME_IN_LIST | ||
86 | |||
87 | #ifndef SIMULATOR | ||
88 | /* We have usb power and can detect usb but it is handled by Linux */ | ||
89 | #define HAVE_USB_POWER | ||
90 | |||
91 | #endif | ||
92 | |||
93 | #define CONFIG_BATTERY_MEASURE VOLTAGE_MEASURE | ||
94 | |||
95 | /* Linux controlls charging, we can monitor */ | ||
96 | #define CONFIG_CHARGING CHARGING_MONITOR | ||
97 | |||
98 | /* define this if the hardware can be powered off while charging */ | ||
99 | #define HAVE_POWEROFF_WHILE_CHARGING | ||
100 | |||
101 | /* same dimensions as gigabeats */ | ||
102 | #define CONFIG_LCD LCD_INGENIC_LINUX | ||
103 | |||
104 | /* Define this if you have a software controlled poweroff */ | ||
105 | #define HAVE_SW_POWEROFF | ||
106 | |||
107 | /* Define this to the CPU frequency */ | ||
108 | #define CPU_FREQ 1008000000 | ||
109 | |||
110 | /* No special storage */ | ||
111 | #define CONFIG_STORAGE STORAGE_HOSTFS | ||
112 | #define HAVE_STORAGE_FLUSH | ||
113 | |||
114 | /* Battery */ | ||
115 | #define BATTERY_TYPES_COUNT 1 | ||
116 | |||
117 | /* Audio codec */ | ||
118 | #define HAVE_FIIO_LINUX_CODEC | ||
119 | |||
120 | /* We don't have hardware controls */ | ||
121 | #define HAVE_SW_TONE_CONTROLS | ||
122 | |||
123 | /* Battery */ | ||
124 | #define BATTERY_CAPACITY_DEFAULT 1100 /* default battery capacity */ | ||
125 | #define BATTERY_CAPACITY_MIN 1100 /* min. capacity selectable */ | ||
126 | #define BATTERY_CAPACITY_MAX 1100 /* max. capacity selectable */ | ||
127 | #define BATTERY_CAPACITY_INC 0 /* capacity increment */ | ||
diff --git a/firmware/export/fiiolinux_codec.h b/firmware/export/fiiolinux_codec.h index 22c2263046..118a0928d7 100644 --- a/firmware/export/fiiolinux_codec.h +++ b/firmware/export/fiiolinux_codec.h | |||
@@ -2,8 +2,11 @@ | |||
2 | #define __FIIOLINUX_CODEC__ | 2 | #define __FIIOLINUX_CODEC__ |
3 | 3 | ||
4 | #define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP) | 4 | #define AUDIOHW_CAPS (FILTER_ROLL_OFF_CAP) |
5 | #define AUDIOHW_HAVE_SHORT2_ROLL_OFF | ||
5 | AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -100, 0, -30) | 6 | AUDIOHW_SETTING(VOLUME, "dB", 0, 1, -100, 0, -30) |
6 | AUDIOHW_SETTING(FILTER_ROLL_OFF, "", 0, 1, 0, 4, 0) | 7 | AUDIOHW_SETTING(FILTER_ROLL_OFF, "", 0, 1, 0, 4, 0) |
7 | #endif | 8 | #endif |
8 | 9 | ||
10 | #define AUDIOHW_MUTE_ON_PAUSE | ||
11 | |||
9 | void audiohw_mute(int mute); | 12 | void audiohw_mute(int mute); |
diff --git a/firmware/export/rbpaths.h b/firmware/export/rbpaths.h index 87a6dd91ff..6b686eec0e 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) | 45 | defined(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) || 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" |
@@ -53,6 +53,8 @@ | |||
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(AGPTEK_ROCKER) || defined(XDUOO_X3II) || defined(XDUOO_X20) |
55 | #define HOME_DIR "/mnt/sd_0" | 55 | #define HOME_DIR "/mnt/sd_0" |
56 | #elif defined(FIIO_M3K) | ||
57 | #define HOME_DIR "/mnt" | ||
56 | #else | 58 | #else |
57 | #define HOME_DIR "/" | 59 | #define HOME_DIR "/" |
58 | #endif | 60 | #endif |