From 5135a804d0f76c3985de297e7e52e5a0eebced6a Mon Sep 17 00:00:00 2001
From: patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>
Date: Tue, 30 Nov 2010 19:35:24 +0000
Subject: [PATCH] Minor usb-related

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3150 42af7a65-404d-4744-a932-0658087f49c3
---
 arch/arm/src/lpc17xx/lpc17_usbdev.c        | 34 ++++++++--------------
 configs/mcu123-lpc214x/src/up_usbstrg.c    |  4 +--
 configs/nucleus2g/src/up_usbstrg.c         |  2 +-
 configs/olimex-lpc1766stk/src/up_usbstrg.c |  2 +-
 4 files changed, 16 insertions(+), 26 deletions(-)

diff --git a/arch/arm/src/lpc17xx/lpc17_usbdev.c b/arch/arm/src/lpc17xx/lpc17_usbdev.c
index 60137809a1..b9bf2420c1 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 0159e81fc8..c34a76cc04 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 2db8eddf34..849611440c 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 4d4b1e88ee..c524831fb6 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",
-- 
GitLab