summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}