summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/lpc31xx
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2013-11-27 13:14:23 -0600
committerGregory Nutt <gnutt@nuttx.org>2013-11-27 13:14:23 -0600
commit49ebbe012dcd2f3998ebc3d50f26642c686f193d (patch)
tree55e7f22fe249348022e29ef3f7dd3abf9f347b5e /nuttx/arch/arm/src/lpc31xx
parent0fbbe19c1269dd9e902cbf3e98b1c4a6d614f6f2 (diff)
downloadnuttx-49ebbe012dcd2f3998ebc3d50f26642c686f193d.tar.gz
nuttx-49ebbe012dcd2f3998ebc3d50f26642c686f193d.tar.bz2
nuttx-49ebbe012dcd2f3998ebc3d50f26642c686f193d.zip
LPC31 EHCI: Seems to work after re-ordering some initialization logic
Diffstat (limited to 'nuttx/arch/arm/src/lpc31xx')
-rwxr-xr-xnuttx/arch/arm/src/lpc31xx/lpc31_ehci.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/nuttx/arch/arm/src/lpc31xx/lpc31_ehci.c b/nuttx/arch/arm/src/lpc31xx/lpc31_ehci.c
index 22c105c33..8802ef638 100755
--- a/nuttx/arch/arm/src/lpc31xx/lpc31_ehci.c
+++ b/nuttx/arch/arm/src/lpc31xx/lpc31_ehci.c
@@ -4307,7 +4307,7 @@ FAR struct usbhost_connection_s *lpc31_ehci_initialize(int controller)
* SLOM Not used in host mode.
* SDIS = 1, Stream disable mode. Eliminates overruns/underruns at
* the expense of some performance.
- * VBPS = 1, off chip power source
+ * VBPS = 1, off-chip power source
*/
putreg32(USBHOST_USBMODE_CMHOST | USBHOST_USBMODE_SDIS | USBHOST_USBMODE_VBPS,
@@ -4323,6 +4323,14 @@ FAR struct usbhost_connection_s *lpc31_ehci_initialize(int controller)
return NULL;
}
+ /* Re-program the USB host controller. As implemented, lpc31_reset()
+ * requires the host mode setup in order to work. However, we lose the
+ * host configuration in the reset.
+ */
+
+ putreg32(USBHOST_USBMODE_CMHOST | USBHOST_USBMODE_SDIS | USBHOST_USBMODE_VBPS,
+ LPC31_USBDEV_USBMODE);
+
/* "In order to initialize the host controller, software should perform the
* following steps:
*