summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndree Buschmann <AndreeBuschmann@t-online.de>2011-01-21 23:32:57 +0000
committerAndree Buschmann <AndreeBuschmann@t-online.de>2011-01-21 23:32:57 +0000
commit30b29f1866c0f1899698e01708015c6e68dd9014 (patch)
tree4edbc0dcca8a3f649173fc77fe6d77a90b716d92
parent01586b5ffe7ddce3a4c7e9401187a0a8f7bb594e (diff)
downloadrockbox-30b29f1866c0f1899698e01708015c6e68dd9014.tar.gz
rockbox-30b29f1866c0f1899698e01708015c6e68dd9014.tar.bz2
rockbox-30b29f1866c0f1899698e01708015c6e68dd9014.zip
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
-rw-r--r--firmware/target/arm/ata-pp5020.c4
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