summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Wilgus <me.theuser@yahoo.com>2017-02-08 04:46:54 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2017-10-29 17:52:40 +0100
commitefb71ed0ce6afee0643025f71e48eabca297d872 (patch)
tree9af1578076feeb6d184e5e8b0a118d89ba0d5122
parent41869a6534400090ce61111aa79398513462b24f (diff)
downloadrockbox-efb71ed0ce6afee0643025f71e48eabca297d872.tar.gz
rockbox-efb71ed0ce6afee0643025f71e48eabca297d872.zip
Add boot data to MOST AS3525 Devices
Adds boot data to as3525 devices Sansa C200v2 E200v2 Clip Clipv2 Clip+ ClipZip fuze, fuzev2 m200v4 Adds boot_data to features.txt default arm crt0.s now had boot data if HAVE_BOOTDATA is defined Change-Id: I614a556696540511a69fc12a4520b01c268bf8a9
-rw-r--r--apps/features.txt4
-rw-r--r--firmware/export/config/sansaclipplus.h2
-rw-r--r--firmware/export/config/sansaclipv2.h2
-rw-r--r--firmware/export/config/sansaclipzip.h2
-rw-r--r--firmware/export/config/sansafuze.h2
-rw-r--r--firmware/export/config/sansafuzev2.h2
-rw-r--r--firmware/target/arm/crt0.S11
7 files changed, 24 insertions, 1 deletions
diff --git a/apps/features.txt b/apps/features.txt
index 997727dbd9..3c0b0a3856 100644
--- a/apps/features.txt
+++ b/apps/features.txt
@@ -284,3 +284,7 @@ hardware_click
#if defined(HAVE_PLAY_FREQ)
play_frequency
#endif
+
+#if defined(HAVE_BOOTDATA)
+boot_data
+#endif
diff --git a/firmware/export/config/sansaclipplus.h b/firmware/export/config/sansaclipplus.h
index 07cf03280a..cf2b1136a3 100644
--- a/firmware/export/config/sansaclipplus.h
+++ b/firmware/export/config/sansaclipplus.h
@@ -7,6 +7,8 @@
#define MODEL_NAME "Sandisk Sansa Clip+"
#define FIRMWARE_OFFSET_FILE_DATA 8
#define FIRMWARE_OFFSET_FILE_CRC 0
+/* Define if boot data from bootloader has been enabled for the target */
+#define HAVE_BOOTDATA
#define HAVE_MULTIDRIVE
#define NUM_DRIVES 2
diff --git a/firmware/export/config/sansaclipv2.h b/firmware/export/config/sansaclipv2.h
index c7833189b6..cf3f90e363 100644
--- a/firmware/export/config/sansaclipv2.h
+++ b/firmware/export/config/sansaclipv2.h
@@ -7,6 +7,8 @@
#define MODEL_NAME "Sandisk Sansa Clipv2"
#define FIRMWARE_OFFSET_FILE_DATA 8
#define FIRMWARE_OFFSET_FILE_CRC 0
+/* Define if boot data from bootloader has been enabled for the target */
+#define HAVE_BOOTDATA
#define HW_SAMPR_CAPS SAMPR_CAP_ALL
diff --git a/firmware/export/config/sansaclipzip.h b/firmware/export/config/sansaclipzip.h
index 9adf7023a9..9f1ff1f206 100644
--- a/firmware/export/config/sansaclipzip.h
+++ b/firmware/export/config/sansaclipzip.h
@@ -7,6 +7,8 @@
#define MODEL_NAME "Sandisk Sansa Zip"
#define FIRMWARE_OFFSET_FILE_DATA 8
#define FIRMWARE_OFFSET_FILE_CRC 0
+/* Define if boot data from bootloader has been enabled for the target */
+#define HAVE_BOOTDATA
#define HAVE_MULTIDRIVE
#define NUM_DRIVES 2
diff --git a/firmware/export/config/sansafuze.h b/firmware/export/config/sansafuze.h
index 528e99080e..d674d1f88a 100644
--- a/firmware/export/config/sansafuze.h
+++ b/firmware/export/config/sansafuze.h
@@ -5,6 +5,8 @@
/* For Rolo and boot loader */
#define MODEL_NUMBER 43
#define MODEL_NAME "Sandisk Sansa Fuze"
+/* Define if boot data from bootloader has been enabled for the target */
+#define HAVE_BOOTDATA
#define HW_SAMPR_CAPS SAMPR_CAP_ALL
diff --git a/firmware/export/config/sansafuzev2.h b/firmware/export/config/sansafuzev2.h
index 595106eecf..a4d90160bd 100644
--- a/firmware/export/config/sansafuzev2.h
+++ b/firmware/export/config/sansafuzev2.h
@@ -5,6 +5,8 @@
/* For Rolo and boot loader */
#define MODEL_NUMBER 68
#define MODEL_NAME "Sandisk Sansa Fuze v2"
+/* Define if boot data from bootloader has been enabled for the target */
+#define HAVE_BOOTDATA
#define HW_SAMPR_CAPS SAMPR_CAP_ALL
diff --git a/firmware/target/arm/crt0.S b/firmware/target/arm/crt0.S
index b9cc27f5c5..07d860ed4f 100644
--- a/firmware/target/arm/crt0.S
+++ b/firmware/target/arm/crt0.S
@@ -21,6 +21,10 @@
#include "config.h"
#include "cpu.h"
+#if defined(HAVE_BOOTDATA) && !defined(BOOTLOADER)
+#include "bootdata.h"
+#endif
+
.section .init.text,"ax",%progbits
.global start
@@ -137,6 +141,11 @@ newstart:
ldr ip, =main @ make sure we are using the virtual address
bx ip
+#if defined(HAVE_BOOTDATA) && !defined(BOOTLOADER)
+/* boot data structure */
+put_boot_data_here
+#endif
+
/* Cache-align interrupt stacks */
.balign 32
@@ -149,4 +158,4 @@ irq_stack:
fiq_stack:
svc_stack:
-end: \ No newline at end of file
+end: