summaryrefslogtreecommitdiff
path: root/bootloader/x1000/x1000bootloader.h
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-03-05 13:52:11 +0000
committerAidan MacDonald <amachronic@protonmail.com>2022-03-24 23:40:07 +0000
commit53a92f0ecce72ec92084a23a4f22679d2c01e22a (patch)
treee235961945c6eb329f2f176384e74b969c2be64a /bootloader/x1000/x1000bootloader.h
parent9bde653410e83d5e97729aef212341f3cde790bc (diff)
downloadrockbox-53a92f0ecce72ec92084a23a4f22679d2c01e22a.tar.gz
rockbox-53a92f0ecce72ec92084a23a4f22679d2c01e22a.zip
x1000: bootloader: add original firmware boot capability
Adds the ability to boot the OF's player or recovery kernels from the bootloader. Works on Shanling Q1 but broken on the FiiO M3K (kernel hang) so leave it disabled for the M3K. Change-Id: I26b973fba1c22afb906a78865963a96dd2107932
Diffstat (limited to 'bootloader/x1000/x1000bootloader.h')
-rw-r--r--bootloader/x1000/x1000bootloader.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/bootloader/x1000/x1000bootloader.h b/bootloader/x1000/x1000bootloader.h
index 9090523c14..88d4e3585b 100644
--- a/bootloader/x1000/x1000bootloader.h
+++ b/bootloader/x1000/x1000bootloader.h
@@ -41,6 +41,17 @@ struct uimage_header;
41# define BL_SELECT_NAME "PLAY" 41# define BL_SELECT_NAME "PLAY"
42# define BL_QUIT_NAME "POWER" 42# define BL_QUIT_NAME "POWER"
43# define BOOTBACKUP_FILE "/fiiom3k-boot.bin" 43# define BOOTBACKUP_FILE "/fiiom3k-boot.bin"
44// FIXME: OF kernel hangs on the m3k
45//# define OF_PLAYER_NAME "FiiO player"
46# define OF_PLAYER_ADDR 0x20000
47# define OF_PLAYER_LENGTH (4 * 1024 * 1024)
48# define OF_PLAYER_ARGS OF_RECOVERY_ARGS \
49 " init=/linuxrc ubi.mtd=3 root=ubi0:rootfs ubi.mtd=4 rootfstype=ubifs rw loglevel=8"
50//# define OF_RECOVERY_NAME "FiiO recovery"
51# define OF_RECOVERY_ADDR 0x420000
52# define OF_RECOVERY_LENGTH (5 * 1024 * 1024)
53# define OF_RECOVERY_ARGS \
54 "mem=64M@0x0 no_console_suspend console=ttyS2,115200n8 lpj=5009408 ip=off"
44#elif defined(SHANLING_Q1) 55#elif defined(SHANLING_Q1)
45# define BL_RECOVERY BUTTON_NEXT 56# define BL_RECOVERY BUTTON_NEXT
46# define BL_UP BUTTON_PREV 57# define BL_UP BUTTON_PREV
@@ -52,6 +63,16 @@ struct uimage_header;
52# define BL_SELECT_NAME "PLAY" 63# define BL_SELECT_NAME "PLAY"
53# define BL_QUIT_NAME "POWER" 64# define BL_QUIT_NAME "POWER"
54# define BOOTBACKUP_FILE "/shanlingq1-boot.bin" 65# define BOOTBACKUP_FILE "/shanlingq1-boot.bin"
66# define OF_PLAYER_NAME "Shanling player"
67# define OF_PLAYER_ADDR 0x140000
68# define OF_PLAYER_LENGTH (8 * 1024 * 1024)
69# define OF_PLAYER_ARGS OF_RECOVERY_ARGS \
70 " init=/linuxrc ubi.mtd=5 root=ubi0:rootfs ubi.mtd=6 rootfstype=ubifs rw"
71# define OF_RECOVERY_NAME "Shanling recovery"
72# define OF_RECOVERY_ADDR 0x940000
73# define OF_RECOVERY_LENGTH (10 * 1024 * 1024)
74# define OF_RECOVERY_ARGS \
75 "mem=64M@0x0 no_console_suspend console=ttyS2,115200n8 lpj=5009408 ip=off"
55#elif defined(EROS_QN) 76#elif defined(EROS_QN)
56# define BL_RECOVERY BUTTON_VOL_UP 77# define BL_RECOVERY BUTTON_VOL_UP
57# define BL_UP BUTTON_SCROLL_BACK 78# define BL_UP BUTTON_SCROLL_BACK
@@ -118,6 +139,8 @@ void bootloader_restore(void);
118 */ 139 */
119 140
120void boot_rockbox(void); 141void boot_rockbox(void);
142void boot_of_player(void);
143void boot_of_recovery(void);
121void shutdown(void); 144void shutdown(void);
122void reboot(void); 145void reboot(void);
123 146