diff options
author | Rafaël Carré <rafael.carre@gmail.com> | 2009-06-08 23:05:33 +0000 |
---|---|---|
committer | Rafaël Carré <rafael.carre@gmail.com> | 2009-06-08 23:05:33 +0000 |
commit | f5041538574c039b07c4db8d261bd33ec0f3bab0 (patch) | |
tree | d4fc2f48c7209e3303b5c48abc211e3a961a7dac /firmware/export/as3525.h | |
parent | 20a78a36f36967651032ab10b4ee31412e37b69d (diff) | |
download | rockbox-f5041538574c039b07c4db8d261bd33ec0f3bab0.tar.gz rockbox-f5041538574c039b07c4db8d261bd33ec0f3bab0.zip |
FS#10048 : enable MMU and data cache on Sansa AMS to give a major speed up
- cache IRAM and DRAM
- map IRAM just next to DRAM to remove the need for -mlong-calls and reduce binsize
- tweak delays in Fuze button code
- tweak delays in Clip button code (down button sometimes doesn't respond anyway : an alternate driver is being worked on)
Before reporting any problem, please check your filesystem or format your player from the OF
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21228 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/as3525.h')
-rw-r--r-- | firmware/export/as3525.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/firmware/export/as3525.h b/firmware/export/as3525.h index 21bf2bdc48..31bbeedc1e 100644 --- a/firmware/export/as3525.h +++ b/firmware/export/as3525.h | |||
@@ -27,9 +27,11 @@ | |||
27 | /* we put the codec buffer in IRAM */ | 27 | /* we put the codec buffer in IRAM */ |
28 | #define AMS_LOWMEM | 28 | #define AMS_LOWMEM |
29 | #endif | 29 | #endif |
30 | /* these addresses are valid after mapping through the MMU */ | 30 | |
31 | /* Virtual addresses */ | ||
32 | /* Do not apply to the bootloader, which uses physical addresses (no MMU) */ | ||
31 | #define DRAM_ORIG 0x30000000 | 33 | #define DRAM_ORIG 0x30000000 |
32 | #define IRAM_ORIG 0x0 | 34 | #define IRAM_ORIG (DRAM_ORIG + DRAM_SIZE) /* IRAM is mapped just next to DRAM */ |
33 | 35 | ||
34 | #define DRAM_SIZE (MEMORYSIZE * 0x100000) | 36 | #define DRAM_SIZE (MEMORYSIZE * 0x100000) |
35 | #define IRAM_SIZE 0x50000 | 37 | #define IRAM_SIZE 0x50000 |
@@ -40,8 +42,7 @@ | |||
40 | #define ECCBYTES 3 | 42 | #define ECCBYTES 3 |
41 | 43 | ||
42 | /* AS352X MMU Page Table Entries */ | 44 | /* AS352X MMU Page Table Entries */ |
43 | /* to be implemented */ | 45 | #define TTB_SIZE 0x4000 |
44 | #define TTB_SIZE 0x0 | ||
45 | #define TTB_BASE_ADDR (DRAM_ORIG + DRAM_SIZE - TTB_SIZE) | 46 | #define TTB_BASE_ADDR (DRAM_ORIG + DRAM_SIZE - TTB_SIZE) |
46 | 47 | ||
47 | 48 | ||
@@ -493,4 +494,7 @@ interface */ | |||
493 | #define I2SOUT_CLEAR (*(volatile unsigned char*)(I2SOUT_BASE+0x10)) | 494 | #define I2SOUT_CLEAR (*(volatile unsigned char*)(I2SOUT_BASE+0x10)) |
494 | #define I2SOUT_DATA (volatile unsigned long*)(I2SOUT_BASE+0x14) | 495 | #define I2SOUT_DATA (volatile unsigned long*)(I2SOUT_BASE+0x14) |
495 | 496 | ||
497 | /* PCM addresses for obtaining buffers will be what DMA is using (physical) */ | ||
498 | #define HAVE_PCM_DMA_ADDRESS | ||
499 | |||
496 | #endif /*__AS3525_H__*/ | 500 | #endif /*__AS3525_H__*/ |