diff --git a/arch/arm/src/lpc17xx/lpc17_usbdev.c b/arch/arm/src/lpc17xx/lpc17_usbdev.c
index 60137809a1061a30aa735203afb6e5898fcbb051..b9bf2420c1ea048996084de2cbd730904fa779bd 100755
--- a/arch/arm/src/lpc17xx/lpc17_usbdev.c
+++ b/arch/arm/src/lpc17xx/lpc17_usbdev.c
@@ -106,7 +106,7 @@
 
 /* CLKCTRL enable bits */
 
-#define LPC17_CLKCTRL_ENABLES (USBDEV_CLK_DEVCLK|USBDEV_CLK_PORTSELCLK|USBDEV_CLK_AHBCLK)
+#define LPC17_CLKCTRL_ENABLES (USBDEV_CLK_DEVCLK|USBDEV_CLK_AHBCLK)
 
 /* Dump GPIO registers */
 
@@ -3153,9 +3153,19 @@ void up_usbinitialize(void)
 
   /* Step 2: Enable clocking on USB (USB PLL clocking was initialized in
    * in very low-level clock setup logic (see lpc17_clockconfig.c)).  We
-   * do still need to set up USBCLKCTRL -- see below.
+   * do still need to set up USBCLKCTRL to enable device and AHB clocking.
    */
 
+  lpc17_putreg(LPC17_CLKCTRL_ENABLES, LPC17_USBDEV_CLKCTRL);
+
+  /* Then wait for the clocks to be reported as "ON" */
+
+  do
+    {
+      regval = lpc17_getreg(LPC17_USBDEV_CLKST);
+    }
+  while ((regval & LPC17_CLKCTRL_ENABLES) != LPC17_CLKCTRL_ENABLES);
+
   /* Step 3: Configure I/O pins */
 
   usbdev_dumpgpio();
@@ -3228,26 +3238,6 @@ void up_usbinitialize(void)
         }
     }
 
-  /* Turn on USB power */
-
-  flags = irqsave();
-  regval = lpc17_getreg(LPC17_SYSCON_PCONP);
-  regval |= SYSCON_PCONP_PCUSB;
-  lpc17_putreg(regval, LPC17_SYSCON_PCONP);
-  irqrestore(flags);
-
-  /* Enable device and AHB clocking  */
-
-  lpc17_putreg(LPC17_CLKCTRL_ENABLES, LPC17_USBDEV_CLKCTRL);
-
-  /* And wait for the clocks to be reported as "ON" */
-
-  do
-    {
-      regval = lpc17_getreg(LPC17_USBDEV_CLKST);
-    }
-  while ((regval & LPC17_CLKCTRL_ENABLES) != LPC17_CLKCTRL_ENABLES);
-
   /* Make sure all USB interrupts are disabled and cleared */
 
   lpc17_putreg(0, LPC17_USBDEV_INTEN);
diff --git a/configs/mcu123-lpc214x/src/up_usbstrg.c b/configs/mcu123-lpc214x/src/up_usbstrg.c
index 0159e81fc87b371f57057a2b4af354802847db49..c34a76cc04ec4ecc395232f1051e88d412709f8c 100755
--- a/configs/mcu123-lpc214x/src/up_usbstrg.c
+++ b/configs/mcu123-lpc214x/src/up_usbstrg.c
@@ -1,7 +1,7 @@
 /****************************************************************************
  * configs/mcu123-lpc214x/src/up_usbstrg.c
  *
- *   Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2008-2010 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Configure and register the LPC214x MMC/SD SPI block driver.
@@ -113,7 +113,7 @@ int usbstrg_archinitialize(void)
   message("usbstrg_archinitialize: Initializing SPI port %d\n",
           LPC214X_MMCSDSPIPORTNO);
 
-  spi = up_spiinitialize(1);
+  spi = up_spiinitialize(LPC214X_MMCSDSPIPORTNO);
   if (!spi)
     {
       message("usbstrg_archinitialize: Failed to initialize SPI port %d\n",
diff --git a/configs/nucleus2g/src/up_usbstrg.c b/configs/nucleus2g/src/up_usbstrg.c
index 2db8eddf34aaeb139adc6e26931168db43781294..849611440c7ec060381eb6e85ce22f6968897881 100755
--- a/configs/nucleus2g/src/up_usbstrg.c
+++ b/configs/nucleus2g/src/up_usbstrg.c
@@ -113,7 +113,7 @@ int usbstrg_archinitialize(void)
   message("usbstrg_archinitialize: Initializing SPI port %d\n",
           LPC17XX_MMCSDSPIPORTNO);
 
-  spi = up_spiinitialize(1);
+  spi = up_spiinitialize(LPC17XX_MMCSDSPIPORTNO);
   if (!spi)
     {
       message("usbstrg_archinitialize: Failed to initialize SPI port %d\n",
diff --git a/configs/olimex-lpc1766stk/src/up_usbstrg.c b/configs/olimex-lpc1766stk/src/up_usbstrg.c
index 4d4b1e88eef0c5fd6e12d47062ddf3e4019c63aa..c524831fb69b9cfaf07b0c75e6db9cc626e121e9 100755
--- a/configs/olimex-lpc1766stk/src/up_usbstrg.c
+++ b/configs/olimex-lpc1766stk/src/up_usbstrg.c
@@ -120,7 +120,7 @@ int usbstrg_archinitialize(void)
   message("usbstrg_archinitialize: Initializing SPI port %d\n",
           LPC17XX_MMCSDSPIPORTNO);
 
-  spi = up_spiinitialize(1);
+  spi = up_spiinitialize(LPC17XX_MMCSDSPIPORTNO);
   if (!spi)
     {
       message("usbstrg_archinitialize: Failed to initialize SPI port %d\n",