diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/app.lds | 32 | ||||
-rw-r--r-- | firmware/boot.lds | 4 | ||||
-rw-r--r-- | firmware/rolo.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/s3c2440/crt0.S | 2 |
4 files changed, 19 insertions, 21 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index e3f6ef2e50..7eeb0fcaa0 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -32,16 +32,6 @@ INPUT(target/sh/crt0.o) | |||
32 | #define STUBOFFSET 0 | 32 | #define STUBOFFSET 0 |
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | #if CONFIG_CPU==S3C2440 | ||
36 | #include "s3c2440.h" | ||
37 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
38 | #elif CONFIG_CPU==DM320 | ||
39 | #include "dm320.h" | ||
40 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
41 | #else | ||
42 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE | ||
43 | #endif | ||
44 | |||
45 | #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300) | 35 | #if defined(IRIVER_H100_SERIES) || defined(IRIVER_H300) |
46 | #define DRAMORIG 0x31000000 + STUBOFFSET | 36 | #define DRAMORIG 0x31000000 + STUBOFFSET |
47 | #define IRAMORIG 0x10000000 | 37 | #define IRAMORIG 0x10000000 |
@@ -62,9 +52,8 @@ INPUT(target/sh/crt0.o) | |||
62 | #define IRAMSIZE 0x7000 | 52 | #define IRAMSIZE 0x7000 |
63 | #elif CONFIG_CPU==S3C2440 | 53 | #elif CONFIG_CPU==S3C2440 |
64 | #define DRAMORIG 0x00000100 + STUBOFFSET | 54 | #define DRAMORIG 0x00000100 + STUBOFFSET |
65 | #define IRAMORIG DRAMORIG | ||
66 | #define IRAM DRAM | ||
67 | #define IRAMSIZE 0x1000 | 55 | #define IRAMSIZE 0x1000 |
56 | #define IRAMORIG (MEMORYSIZE * 0x100000) - IRAMSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
68 | #elif CONFIG_CPU==DM320 | 57 | #elif CONFIG_CPU==DM320 |
69 | #define DRAMORIG 0x00900000 + STUBOFFSET | 58 | #define DRAMORIG 0x00900000 + STUBOFFSET |
70 | #define IRAMORIG 0x00000000 | 59 | #define IRAMORIG 0x00000000 |
@@ -79,6 +68,16 @@ INPUT(target/sh/crt0.o) | |||
79 | #define IRAMSIZE 0x1000 | 68 | #define IRAMSIZE 0x1000 |
80 | #endif | 69 | #endif |
81 | 70 | ||
71 | #if CONFIG_CPU==S3C2440 | ||
72 | #include "s3c2440.h" | ||
73 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - 0x100 - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE - IRAMSIZE | ||
74 | #elif CONFIG_CPU==DM320 | ||
75 | #include "dm320.h" | ||
76 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE - LCD_BUFFER_SIZE - TTB_SIZE | ||
77 | #else | ||
78 | #define DRAMSIZE (MEMORYSIZE * 0x100000) - PLUGINSIZE - STUBOFFSET - CODECSIZE | ||
79 | #endif | ||
80 | |||
82 | /* End of the audio buffer, where the codec buffer starts */ | 81 | /* End of the audio buffer, where the codec buffer starts */ |
83 | #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) | 82 | #define ENDAUDIOADDR (DRAMORIG + DRAMSIZE) |
84 | 83 | ||
@@ -88,9 +87,8 @@ INPUT(target/sh/crt0.o) | |||
88 | MEMORY | 87 | MEMORY |
89 | { | 88 | { |
90 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE | 89 | DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE |
91 | #if CONFIG_CPU != S3C2440 | ||
92 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE | 90 | IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE |
93 | #endif | 91 | |
94 | #if CONFIG_CPU==PNX0101 | 92 | #if CONFIG_CPU==PNX0101 |
95 | IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE | 93 | IRAM0 : ORIGIN = IRAM0ORIG, LENGTH = IRAM0SIZE |
96 | #endif | 94 | #endif |
@@ -234,14 +232,14 @@ SECTIONS | |||
234 | 232 | ||
235 | _vectorscopy = LOADADDR(.vectors); | 233 | _vectorscopy = LOADADDR(.vectors); |
236 | 234 | ||
237 | .iram : | 235 | .iram IRAMORIG : |
238 | { | 236 | { |
239 | _iramstart = .; | 237 | _iramstart = .; |
240 | *(.icode) | 238 | *(.icode) |
241 | *(.irodata) | 239 | *(.irodata) |
242 | *(.idata) | 240 | *(.idata) |
243 | _iramend = .; | 241 | _iramend = .; |
244 | } > DRAM | 242 | } >IRAM AT> DRAM |
245 | 243 | ||
246 | _iramcopy = LOADADDR(.iram); | 244 | _iramcopy = LOADADDR(.iram); |
247 | 245 | ||
@@ -253,7 +251,7 @@ SECTIONS | |||
253 | _iend = .; | 251 | _iend = .; |
254 | } > DRAM | 252 | } > DRAM |
255 | 253 | ||
256 | .stack : | 254 | .stack ADDR(.data) + SIZEOF(.data) + SIZEOF(.iram) + SIZEOF(.vectors) : |
257 | { | 255 | { |
258 | *(.stack) | 256 | *(.stack) |
259 | stackbegin = .; | 257 | stackbegin = .; |
diff --git a/firmware/boot.lds b/firmware/boot.lds index d2ea10a30d..a9900517a2 100644 --- a/firmware/boot.lds +++ b/firmware/boot.lds | |||
@@ -9,8 +9,10 @@ OUTPUT_FORMAT(elf32-littlearm) | |||
9 | OUTPUT_ARCH(arm) | 9 | OUTPUT_ARCH(arm) |
10 | #ifdef CPU_PP | 10 | #ifdef CPU_PP |
11 | INPUT(target/arm/crt0-pp-bl.o) | 11 | INPUT(target/arm/crt0-pp-bl.o) |
12 | #elif defined(OLYMPUS_MROBE_500) | 12 | #elif CONFIG_CPU==DM320 |
13 | INPUT(target/arm/tms320dm320/crt0.o) | 13 | INPUT(target/arm/tms320dm320/crt0.o) |
14 | #elif CONFIG_CPU==S3C2440 | ||
15 | INPUT(target/arm/s3c2440/crt0.o) | ||
14 | #elif defined(CPU_TCC77X) | 16 | #elif defined(CPU_TCC77X) |
15 | INPUT(target/arm/tcc77x/crt0.o) | 17 | INPUT(target/arm/tcc77x/crt0.o) |
16 | #else | 18 | #else |
diff --git a/firmware/rolo.c b/firmware/rolo.c index 2a4b753948..aac99cc555 100644 --- a/firmware/rolo.c +++ b/firmware/rolo.c | |||
@@ -161,7 +161,7 @@ void rolo_restart(const unsigned char* source, unsigned char* dest, | |||
161 | /* Wait for the COP to tell us it is rebooting */ | 161 | /* Wait for the COP to tell us it is rebooting */ |
162 | while(cpu_reply != 2); | 162 | while(cpu_reply != 2); |
163 | #endif | 163 | #endif |
164 | 164 | ||
165 | asm volatile( | 165 | asm volatile( |
166 | "mov r0, #0x10000000 \n" | 166 | "mov r0, #0x10000000 \n" |
167 | "mov pc, r0 \n" | 167 | "mov pc, r0 \n" |
diff --git a/firmware/target/arm/s3c2440/crt0.S b/firmware/target/arm/s3c2440/crt0.S index 2c94fc4510..4f220f6c7f 100644 --- a/firmware/target/arm/s3c2440/crt0.S +++ b/firmware/target/arm/s3c2440/crt0.S | |||
@@ -85,8 +85,6 @@ start: | |||
85 | bhi 1b | 85 | bhi 1b |
86 | 86 | ||
87 | #ifdef BOOTLOADER | 87 | #ifdef BOOTLOADER |
88 | /* Code for ARM bootloader targets other than iPod go here */ | ||
89 | |||
90 | /* Proper initialization pulled from 0x5070 */ | 88 | /* Proper initialization pulled from 0x5070 */ |
91 | 89 | ||
92 | /* BWSCON | 90 | /* BWSCON |