summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sparmann <theseven@rockbox.org>2009-10-24 20:31:40 +0000
committerMichael Sparmann <theseven@rockbox.org>2009-10-24 20:31:40 +0000
commitef6e1c4eaac6ead12a8ca28a004a1826d9c92d4e (patch)
treec27898b8a0ff4db44bc707e36559d17585829d09
parent791f9c2a1913550041c2998d7c87e053f58ec5ad (diff)
downloadrockbox-ef6e1c4eaac6ead12a8ca28a004a1826d9c92d4e.zip
rockbox-ef6e1c4eaac6ead12a8ca28a004a1826d9c92d4e.tar.gz
rockbox-ef6e1c4eaac6ead12a8ca28a004a1826d9c92d4e.tar.bz2
rockbox-ef6e1c4eaac6ead12a8ca28a004a1826d9c92d4e.tar.xz
Plumb an iPod Nano 2G battery leak that started spilling as soon as USB was used at least once until a reboot.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23335 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/usb-s3c6400x.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/target/arm/usb-s3c6400x.c b/firmware/target/arm/usb-s3c6400x.c
index 3034cf8..689fc53 100644
--- a/firmware/target/arm/usb-s3c6400x.c
+++ b/firmware/target/arm/usb-s3c6400x.c
@@ -370,9 +370,10 @@ void usb_drv_exit(void)
{
DCTL = 0x802; /* Soft Disconnect */
+ ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */
+ PCGCCTL = 1; /* Shut down PHY clock */
OPHYPWR = 0xF; /* PHY: Power down */
- PCGCCTL = 1; /* Mask clocks */
PWRCON |= 0x4000;
PWRCONEXT |= 0x800;
}
@@ -406,12 +407,12 @@ int usb_detect(void)
#else
void usb_init_device(void)
{
- /* simply switch USB off for now */
DCTL = 0x802; /* Soft Disconnect */
+ ORSTCON = 1; /* Put the PHY into reset (needed to get current down) */
+ PCGCCTL = 1; /* Shut down PHY clock */
OPHYPWR = 0xF; /* PHY: Power down */
- PCGCCTL = 1; /* Mask clocks */
PWRCON |= 0x4000;
PWRCONEXT |= 0x800;
}