M:Robe 500 - Enable ASM optimized ATA interface improving disk access speed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23572 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Karl Kurbjun 2009-11-09 00:38:10 +00:00
parent a721007e39
commit 2a93cee8e2
3 changed files with 16 additions and 0 deletions

View file

@ -881,6 +881,7 @@ target/arm/tms320dm320/uart-dm320.c
#ifdef MROBE_500
#ifndef SIMULATOR
target/arm/ata-as-arm.S
target/arm/lcd-as-memframe.S
target/arm/mmu-arm.S
target/arm/tms320dm320/mrobe-500/adc-mr500.c

View file

@ -38,6 +38,12 @@
#elif defined(CREATIVE_ZVx) /* Zen Vision could have an other address */
.text
.equ .ata_port, 0x50FEE000
#elif defined(MROBE_500)
.text
.equ .ata_port, 0x50400000
#else
/* This isn't vaild, but it does it's job, not sure what this should be */
#error ata_port undefined!
#endif
.align 2

View file

@ -22,9 +22,18 @@
#ifndef ATA_TARGET_H
#define ATA_TARGET_H
#if 0
/* Plain C read & write loops */
#define PREFER_C_READING
#define PREFER_C_WRITING
#else
/* ASM optimized reading and writing */
#define ATA_OPTIMIZED_READING
#define ATA_OPTIMIZED_WRITING
void copy_read_sectors(const unsigned char* buf, int wordcount);
void copy_write_sectors(const unsigned char* buf, int wordcount);
#endif
#define ATA_IOBASE 0x50000000
#define REGISTER_OFFSET (ATA_IOBASE+0x00400000) /* A21 = High */