diff options
author | Bertrik Sikken <bertrik@sikken.nl> | 2011-10-29 17:08:05 +0000 |
---|---|---|
committer | Bertrik Sikken <bertrik@sikken.nl> | 2011-10-29 17:08:05 +0000 |
commit | e90f961593e92fa5d98efa67b569e7efe5f4fbe0 (patch) | |
tree | 70f01d2ac811ba161c22903824590d2690850efd /rbutil/mkamsboot | |
parent | a8cde851fbcefdd33d826cf4b1f0daa8c0b48dc2 (diff) | |
download | rockbox-e90f961593e92fa5d98efa67b569e7efe5f4fbe0.tar.gz rockbox-e90f961593e92fa5d98efa67b569e7efe5f4fbe0.zip |
Sansa clip zip: update mkamsboot and fix various drivers to make it boot to the main firmware
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30853 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/mkamsboot')
-rw-r--r-- | rbutil/mkamsboot/dualboot.c | 15 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot.h | 2 | ||||
-rw-r--r-- | rbutil/mkamsboot/dualboot/dualboot.S | 8 | ||||
-rw-r--r-- | rbutil/mkamsboot/mkamsboot.c | 4 |
4 files changed, 17 insertions, 12 deletions
diff --git a/rbutil/mkamsboot/dualboot.c b/rbutil/mkamsboot/dualboot.c index b6ca1b3db5..b1bf69d12b 100644 --- a/rbutil/mkamsboot/dualboot.c +++ b/rbutil/mkamsboot/dualboot.c | |||
@@ -154,15 +154,16 @@ unsigned char dualboot_fuzev2[332] = { | |||
154 | 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, | 154 | 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8, |
155 | 0x00, 0x00, 0x0d, 0xc8, 0x10, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x07, 0xc8 | 155 | 0x00, 0x00, 0x0d, 0xc8, 0x10, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x07, 0xc8 |
156 | }; | 156 | }; |
157 | unsigned char dualboot_clipzip[152] = { | 157 | unsigned char dualboot_clipzip[168] = { |
158 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 158 | 0x06, 0x00, 0x00, 0xea, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
160 | 0x24, 0x00, 0x1f, 0xe5, 0x24, 0x10, 0x1f, 0xe5, 0x01, 0x20, 0x40, 0xe0, 0x18, 0x30, 0x1f, 0xe5, | 160 | 0x24, 0x00, 0x1f, 0xe5, 0x24, 0x10, 0x1f, 0xe5, 0x01, 0x20, 0x40, 0xe0, 0x18, 0x30, 0x1f, 0xe5, |
161 | 0x01, 0x40, 0x50, 0xe4, 0x01, 0x40, 0x43, 0xe4, 0x00, 0x00, 0x52, 0xe1, 0xfb, 0xff, 0xff, 0x1a, | 161 | 0x01, 0x40, 0x50, 0xe4, 0x01, 0x40, 0x43, 0xe4, 0x00, 0x00, 0x52, 0xe1, 0xfb, 0xff, 0xff, 0x1a, |
162 | 0x2c, 0x30, 0x0f, 0xe5, 0x48, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x01, 0x18, 0x81, 0xe3, | 162 | 0x2c, 0x30, 0x0f, 0xe5, 0x54, 0x00, 0x9f, 0xe5, 0x00, 0x10, 0x90, 0xe5, 0x01, 0x18, 0x81, 0xe3, |
163 | 0x00, 0x10, 0x80, 0xe5, 0x02, 0x00, 0x00, 0xea, 0x4c, 0x00, 0x1f, 0xe5, 0x4c, 0x10, 0x1f, 0xe5, | 163 | 0x00, 0x10, 0x80, 0xe5, 0x48, 0x00, 0x9f, 0xe5, 0x00, 0x11, 0x90, 0xe5, 0x00, 0x00, 0x51, 0xe3, |
164 | 0x01, 0x00, 0x00, 0xea, 0x60, 0x00, 0x1f, 0xe5, 0x60, 0x10, 0x1f, 0xe5, 0x58, 0x30, 0x1f, 0xe5, | 164 | 0x02, 0x00, 0x00, 0x1a, 0x58, 0x00, 0x1f, 0xe5, 0x58, 0x10, 0x1f, 0xe5, 0x01, 0x00, 0x00, 0xea, |
165 | 0x02, 0x50, 0x83, 0xe2, 0x01, 0x40, 0x43, 0xe0, 0x01, 0x20, 0x50, 0xe4, 0x01, 0x20, 0x43, 0xe4, | 165 | 0x6c, 0x00, 0x1f, 0xe5, 0x6c, 0x10, 0x1f, 0xe5, 0x64, 0x30, 0x1f, 0xe5, 0x02, 0x50, 0x83, 0xe2, |
166 | 0x04, 0x00, 0x53, 0xe1, 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, | 166 | 0x01, 0x40, 0x43, 0xe0, 0x01, 0x20, 0x50, 0xe4, 0x01, 0x20, 0x43, 0xe4, 0x04, 0x00, 0x53, 0xe1, |
167 | 0x15, 0xff, 0x2f, 0xe1, 0x14, 0x00, 0x0f, 0xc8 | 167 | 0xfb, 0xff, 0xff, 0x1a, 0x01, 0x00, 0x83, 0xe2, 0x00, 0x20, 0xa0, 0xe3, 0x15, 0xff, 0x2f, 0xe1, |
168 | 0x14, 0x00, 0x0f, 0xc8, 0x00, 0x00, 0x0b, 0xc8 | ||
168 | }; | 169 | }; |
diff --git a/rbutil/mkamsboot/dualboot.h b/rbutil/mkamsboot/dualboot.h index 787aa095f0..a635753c69 100644 --- a/rbutil/mkamsboot/dualboot.h +++ b/rbutil/mkamsboot/dualboot.h | |||
@@ -9,4 +9,4 @@ extern unsigned char dualboot_fuze[176]; | |||
9 | extern unsigned char dualboot_clipv2[248]; | 9 | extern unsigned char dualboot_clipv2[248]; |
10 | extern unsigned char dualboot_clipplus[340]; | 10 | extern unsigned char dualboot_clipplus[340]; |
11 | extern unsigned char dualboot_fuzev2[332]; | 11 | extern unsigned char dualboot_fuzev2[332]; |
12 | extern unsigned char dualboot_clipzip[152]; | 12 | extern unsigned char dualboot_clipzip[168]; |
diff --git a/rbutil/mkamsboot/dualboot/dualboot.S b/rbutil/mkamsboot/dualboot/dualboot.S index 5d8fe1268c..4df69a45cc 100644 --- a/rbutil/mkamsboot/dualboot/dualboot.S +++ b/rbutil/mkamsboot/dualboot/dualboot.S | |||
@@ -175,8 +175,12 @@ uclcopy: | |||
175 | bne boot_of @ branch directly to OF if either pin high | 175 | bne boot_of @ branch directly to OF if either pin high |
176 | 176 | ||
177 | #elif defined(SANSA_CLIPZIP) | 177 | #elif defined(SANSA_CLIPZIP) |
178 | @ just boot the OF | 178 | @ read pins |
179 | b boot_of | 179 | ldr r0, =GPIOA |
180 | ldr r1, [r0, #4*(1<<6)] @ read GPIO A6 "vol-" | ||
181 | |||
182 | cmp r1, #0 @ test input from pins | ||
183 | bne boot_of @ branch directly to OF if either pin high | ||
180 | 184 | ||
181 | #elif defined(SANSA_C200V2) | 185 | #elif defined(SANSA_C200V2) |
182 | .set BUTTON_LEFT, (1<< 2) | 186 | .set BUTTON_LEFT, (1<< 2) |
diff --git a/rbutil/mkamsboot/mkamsboot.c b/rbutil/mkamsboot/mkamsboot.c index c50fe9f5b4..073b32c217 100644 --- a/rbutil/mkamsboot/mkamsboot.c +++ b/rbutil/mkamsboot/mkamsboot.c | |||
@@ -171,11 +171,11 @@ static struct md5sums sansasums[] = { | |||
171 | { MODEL_FUZEV2, "2.02.26", "d4f6f85c3e4a8ea8f2e5acc421641801" }, | 171 | { MODEL_FUZEV2, "2.02.26", "d4f6f85c3e4a8ea8f2e5acc421641801" }, |
172 | { MODEL_FUZEV2, "2.03.31", "74fb197ccd51707388f3b233402186a6" }, | 172 | { MODEL_FUZEV2, "2.03.31", "74fb197ccd51707388f3b233402186a6" }, |
173 | { MODEL_FUZEV2, "2.03.33", "1599cc73d02ea7fe53fe2d4379c24b66" }, | 173 | { MODEL_FUZEV2, "2.03.33", "1599cc73d02ea7fe53fe2d4379c24b66" }, |
174 | #if 0 /* disabled for now because it's not been proven they can be patched */ | 174 | #if 1 /* disabled for now because it's not been proven they can be patched */ |
175 | { MODEL_CLIPZIP, "1.01.12", "45adea0873326b5af34f096e5c402f78" }, | 175 | { MODEL_CLIPZIP, "1.01.12", "45adea0873326b5af34f096e5c402f78" }, |
176 | { MODEL_CLIPZIP, "1.01.15", "f62af954334cd9ba1a87a7fa58ec6074" }, | 176 | { MODEL_CLIPZIP, "1.01.15", "f62af954334cd9ba1a87a7fa58ec6074" }, |
177 | { MODEL_CLIPZIP, "1.01.17", "27bcb343d6950f35dc261629e22ba60c" }, | ||
178 | #endif | 177 | #endif |
178 | { MODEL_CLIPZIP, "1.01.17", "27bcb343d6950f35dc261629e22ba60c" }, | ||
179 | }; | 179 | }; |
180 | 180 | ||
181 | #define NUM_MD5S (sizeof(sansasums)/sizeof(sansasums[0])) | 181 | #define NUM_MD5S (sizeof(sansasums)/sizeof(sansasums[0])) |