diff options
author | Greg White <gwhite@rockbox.org> | 2007-01-13 02:24:15 +0000 |
---|---|---|
committer | Greg White <gwhite@rockbox.org> | 2007-01-13 02:24:15 +0000 |
commit | 355be5010af1e33c0f3b36af85033bd31f996491 (patch) | |
tree | 1e83cefbe3d313179bda383a5ad508adaff8ffac /firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c | |
parent | 35b0c3f24f279eb8056e54094cb12310802f6709 (diff) | |
download | rockbox-355be5010af1e33c0f3b36af85033bd31f996491.tar.gz rockbox-355be5010af1e33c0f3b36af85033bd31f996491.zip |
Setup LCD ourselves; move LCD buffer and TTB to free up 1.7MB of memory
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11994 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c')
-rw-r--r-- | firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c b/firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c index 47abb9d46a..8094ff828f 100644 --- a/firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c +++ b/firmware/target/arm/gigabeat/meg-fx/mmu-meg-fx.c | |||
@@ -1,6 +1,7 @@ | |||
1 | #include <string.h> | 1 | #include <string.h> |
2 | #include "s3c2440.h" | 2 | #include "s3c2440.h" |
3 | #include "mmu-meg-fx.h" | 3 | #include "mmu-meg-fx.h" |
4 | #include "panic.h" | ||
4 | 5 | ||
5 | void map_memory(void); | 6 | void map_memory(void); |
6 | static void enable_mmu(void); | 7 | static void enable_mmu(void); |
@@ -20,7 +21,7 @@ void map_memory(void) { | |||
20 | enable_mmu(); | 21 | enable_mmu(); |
21 | } | 22 | } |
22 | 23 | ||
23 | unsigned int* ttb_base; | 24 | unsigned int* ttb_base = (unsigned int *) TTB_BASE; |
24 | const int ttb_size = 4096; | 25 | const int ttb_size = 4096; |
25 | 26 | ||
26 | void set_ttb() { | 27 | void set_ttb() { |
@@ -29,7 +30,7 @@ void set_ttb() { | |||
29 | int domain_access; | 30 | int domain_access; |
30 | 31 | ||
31 | /* must be 16Kb (0x4000) aligned */ | 32 | /* must be 16Kb (0x4000) aligned */ |
32 | ttb_base = (int*)0x31F00000; | 33 | ttb_base = (int*) TTB_BASE; |
33 | for (i=0; i<ttb_size; i++,ttbPtr++) | 34 | for (i=0; i<ttb_size; i++,ttbPtr++) |
34 | ttbPtr = 0; | 35 | ttbPtr = 0; |
35 | asm volatile("mcr p15, 0, %0, c2, c0, 0" : : "r" (ttb_base)); | 36 | asm volatile("mcr p15, 0, %0, c2, c0, 0" : : "r" (ttb_base)); |
@@ -47,8 +48,8 @@ void set_page_tables() { | |||
47 | 48 | ||
48 | map_section(0x30000000, 0, 32, CACHE_NONE); /* map RAM to 0 */ | 49 | map_section(0x30000000, 0, 32, CACHE_NONE); /* map RAM to 0 */ |
49 | 50 | ||
50 | map_section(0x30000000, 0, 30, CACHE_ALL); /* cache the first 30 MB or RAM */ | 51 | map_section(0x30000000, 0, 32, CACHE_ALL); /* cache the first 31 MB or RAM */ |
51 | map_section(0x31E00000, 0x31E00000, 1, BUFFERED); /* enable buffered writing for the framebuffer */ | 52 | map_section((int)FRAME, (int)FRAME, 1, BUFFERED); /* enable buffered writing for the framebuffer */ |
52 | } | 53 | } |
53 | 54 | ||
54 | void map_section(unsigned int pa, unsigned int va, int mb, int cache_flags) { | 55 | void map_section(unsigned int pa, unsigned int va, int mb, int cache_flags) { |