diff options
author | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-01-21 23:32:57 +0000 |
---|---|---|
committer | Andree Buschmann <AndreeBuschmann@t-online.de> | 2011-01-21 23:32:57 +0000 |
commit | 30b29f1866c0f1899698e01708015c6e68dd9014 (patch) | |
tree | 4edbc0dcca8a3f649173fc77fe6d77a90b716d92 /firmware/target | |
parent | 01586b5ffe7ddce3a4c7e9401187a0a8f7bb594e (diff) |
Fix or at least significantly improve FS#11830. With introduction of ATA DMA for PP502x a special treatment of the IDE0_CFG register for the iPod nano (see FS#7510) was lost.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29106 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/ata-pp5020.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/firmware/target/arm/ata-pp5020.c b/firmware/target/arm/ata-pp5020.c index 44297a5a7e..0eb64351f2 100644 --- a/firmware/target/arm/ata-pp5020.c +++ b/firmware/target/arm/ata-pp5020.c @@ -106,7 +106,9 @@ void ata_dma_set_mode(unsigned char mode) { int modeidx; (*(volatile unsigned long *)(0x600060C4)) = 0xC0000000; /* 80 Mhz */ +#if !defined(IPOD_NANO) IDE0_CFG &= ~0x10000000; +#endif modeidx = mode & 7; mode &= 0xF8; @@ -121,7 +123,9 @@ void ata_dma_set_mode(unsigned char mode) { } else if (mode == 0x20 && modeidx <= ATA_MAX_MWDMA) IDE0_PRI_TIMING1 = tm_mwdma[modeidx]; +#if !defined(IPOD_NANO) IDE0_CFG |= 0x20000000; /* >= 50 Mhz */ +#endif } #define IDE_CFG_INTRQ 8 |