summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-05-11 15:39:00 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-05-11 15:39:00 +0000
commit71372162b1b5e52ee85d14626b60c7fb4958f23e (patch)
tree66aee5159e4b9fba3b405f7904b1291b430e7fd0
parent63f4f68a7421676eb247ad2c33e3fbae245ba304 (diff)
downloadrockbox-71372162b1b5e52ee85d14626b60c7fb4958f23e.zip
rockbox-71372162b1b5e52ee85d14626b60c7fb4958f23e.tar.gz
rockbox-71372162b1b5e52ee85d14626b60c7fb4958f23e.tar.bz2
rockbox-71372162b1b5e52ee85d14626b60c7fb4958f23e.tar.xz
Enable write buffering for the 1MB device memory section. This means using a different device framebuffer address too. You must update the firmware _and_ bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17458 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xfirmware/export/imx31l.h2
-rw-r--r--firmware/target/arm/imx31/crt0.S7
2 files changed, 8 insertions, 1 deletions
diff --git a/firmware/export/imx31l.h b/firmware/export/imx31l.h
index 5299799..9ac0bc8 100755
--- a/firmware/export/imx31l.h
+++ b/firmware/export/imx31l.h
@@ -30,7 +30,7 @@
#define TTB_SIZE (0x4000)
#define IRAM_SIZE (0x4000)
#define TTB_BASE ((unsigned int *)TTB_BASE_ADDR)
-#define FRAME ((void*)0x80100000)
+#define FRAME ((void*)0x03f00000)
#define FRAME_SIZE (240*320*2)
#define DEVBSS_ATTR __attribute__((section(".devbss"),nocommon))
diff --git a/firmware/target/arm/imx31/crt0.S b/firmware/target/arm/imx31/crt0.S
index 55cd741..101c979 100644
--- a/firmware/target/arm/imx31/crt0.S
+++ b/firmware/target/arm/imx31/crt0.S
@@ -172,6 +172,13 @@ remap_start:
cmp r2, r3
blo 1b
+ /* Map device section 0x80100000 to 0x03f00000 - buffered, not cached */
+ bic r1, r1, #0x0ff00000
+ orr r1, r1, #0x00100000
+ bic r1, r1, #(1 << 3)
+ add r2, r5, #63*4
+ str r1, [r2]
+
/* Enable MMU */
mov r0, #0