summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2007-07-27 18:15:03 +0000
committerJens Arnold <amiconn@rockbox.org>2007-07-27 18:15:03 +0000
commit018d55599571d118ef682f81c3fc7ab2f4534b40 (patch)
treec94ce2f655b8e82adac7ef7548006e0ff77321d0
parent6f13f4cd8ffda4c77b5a42d88f7a8ed4ee86c991 (diff)
downloadrockbox-018d55599571d118ef682f81c3fc7ab2f4534b40.tar.gz
rockbox-018d55599571d118ef682f81c3fc7ab2f4534b40.zip
Sound working on iPod 2nd gen, but very unstable (applies also to 3rd gen). Freezes most of the time. Reverting the >66MHz unlock makes it a bit better, but also not stable. Using the C FIQ has the same effect.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14029 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/wmcodec-pp.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/firmware/target/arm/wmcodec-pp.c b/firmware/target/arm/wmcodec-pp.c
index 7d00369bf0..455e3e1087 100644
--- a/firmware/target/arm/wmcodec-pp.c
+++ b/firmware/target/arm/wmcodec-pp.c
@@ -74,6 +74,11 @@ int audiohw_init(void) {
/* GPIO D06 enable for output */
outl(inl(0xcf00000c) | 0x40, 0xcf00000c);
outl(inl(0xcf00001c) & ~0x40, 0xcf00001c);
+#ifdef IPOD_1G2G
+ /* bits 11,10 == 10 */
+ outl(inl(0xcf004040) & ~0x400, 0xcf004040);
+ outl(inl(0xcf004040) | 0x800, 0xcf004040);
+#else /* IPOD_3G */
/* bits 11,10 == 01 */
outl(inl(0xcf004040) | 0x400, 0xcf004040);
outl(inl(0xcf004040) & ~0x800, 0xcf004040);
@@ -87,6 +92,7 @@ int audiohw_init(void) {
outl(inl(0xcf000008) | 0x8, 0xcf000008);
outl(inl(0xcf000018) | 0x8, 0xcf000018);
outl(inl(0xcf000028) & ~0x8, 0xcf000028);
+#endif /* IPOD_1G2G/3G */
#endif
return 0;