summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-11-30 16:52:07 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2010-11-30 16:52:07 +0000
commitcf595d2b70ae33aa9d758da3846114b7ed658a9f (patch)
tree53682719347886e4905ecfa84c005010c786d081 /nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
parent3b5628c0580aa974b749806f52e3bc704a4ac744 (diff)
downloadpx4-nuttx-cf595d2b70ae33aa9d758da3846114b7ed658a9f.tar.gz
px4-nuttx-cf595d2b70ae33aa9d758da3846114b7ed658a9f.tar.bz2
px4-nuttx-cf595d2b70ae33aa9d758da3846114b7ed658a9f.zip
Misc USB fixes
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3149 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c')
-rwxr-xr-xnuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c b/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
index 8e242948c..60137809a 100755
--- a/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
+++ b/nuttx/arch/arm/src/lpc17xx/lpc17_usbdev.c
@@ -104,6 +104,10 @@
# define USB_ERROR_INT 0
#endif
+/* CLKCTRL enable bits */
+
+#define LPC17_CLKCTRL_ENABLES (USBDEV_CLK_DEVCLK|USBDEV_CLK_PORTSELCLK|USBDEV_CLK_AHBCLK)
+
/* Dump GPIO registers */
#if defined(CONFIG_LPC17_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG_GPIO)
@@ -3147,8 +3151,9 @@ void up_usbinitialize(void)
regval |= SYSCON_PCONP_PCUSB;
lpc17_putreg(regval, LPC17_SYSCON_PCONP);
- /* Step 2: Enable clocking on USB (USB clocking was initialized in very
- * low-level clock setup logic (see lpc17_clockconfig.c)
+ /* 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.
*/
/* Step 3: Configure I/O pins */
@@ -3233,7 +3238,7 @@ void up_usbinitialize(void)
/* Enable device and AHB clocking */
- lpc17_putreg(USBDEV_CLK_DEVCLK|USBDEV_CLK_AHBCLK, LPC17_USBDEV_CLKCTRL);
+ lpc17_putreg(LPC17_CLKCTRL_ENABLES, LPC17_USBDEV_CLKCTRL);
/* And wait for the clocks to be reported as "ON" */
@@ -3241,7 +3246,7 @@ void up_usbinitialize(void)
{
regval = lpc17_getreg(LPC17_USBDEV_CLKST);
}
- while ((regval & (USBDEV_CLK_DEVCLK|USBDEV_CLK_AHBCLK)) != (USBDEV_CLK_DEVCLK|USBDEV_CLK_AHBCLK));
+ while ((regval & LPC17_CLKCTRL_ENABLES) != LPC17_CLKCTRL_ENABLES);
/* Make sure all USB interrupts are disabled and cleared */