diff --git a/arch/arm/src/lpc17xx/lpc17_usbhost.c b/arch/arm/src/lpc17xx/lpc17_usbhost.c index 4efdcbdfab5..1e1681ee5f1 100644 --- a/arch/arm/src/lpc17xx/lpc17_usbhost.c +++ b/arch/arm/src/lpc17xx/lpc17_usbhost.c @@ -1,7 +1,7 @@ /******************************************************************************* * arch/arm/src/lpc17xx/lpc17_usbhost.c * - * Copyright (C) 2010-2012 Gregory Nutt. All rights reserved. + * Copyright (C) 2010-2012, 2014 Gregory Nutt. All rights reserved. * Authors: Rafael Noronha * Gregory Nutt * @@ -44,6 +44,7 @@ #include #include #include +#include #include #include #include @@ -1619,7 +1620,7 @@ static int lpc17_enumerate(FAR struct usbhost_connection_s *conn, int rphndx) /* USB 2.0 spec says at least 50ms delay before port reset */ - up_mdelay(100); + (void)usleep(100*1000); /* Put RH port 1 in reset (the LPC176x supports only a single downstream port) */ @@ -1632,7 +1633,7 @@ static int lpc17_enumerate(FAR struct usbhost_connection_s *conn, int rphndx) /* Release RH port 1 from reset and wait a bit */ lpc17_putreg(OHCI_RHPORTST_PRSC, LPC17_USBHOST_RHPORTST1); - up_mdelay(200); + (void)usleep(200*1000); /* Let the common usbhost_enumerate do all of the real work. Note that the * FunctionAddress (USB address) is hardcoded to one. diff --git a/configs/olimex-lpc1766stk/README.txt b/configs/olimex-lpc1766stk/README.txt index dbb28047ebc..a4ab8b8b265 100644 --- a/configs/olimex-lpc1766stk/README.txt +++ b/configs/olimex-lpc1766stk/README.txt @@ -837,16 +837,26 @@ USB host operations. To make these modifications, do the following: 1. First configure to build the NSH configuration from the top-level NuttX directory: - cd tools - ./configure nucleus2g/nsh - cd .. + cd tools + ./configure olimex-lpc1766stk/nsh + cd .. -2. Then edit the top-level .config file to enable USB host. Make the - following changes: +2. Modify the top-level .config file to enable USB host using: - CONFIG_LPC17_USBHOST=y - CONFIG_USBHOST=y - CONFIG_SCHED_WORKQUEUE=y + make menuconfig + + Make the following changes: + + System Type -> LPC17xx Peripheral Support + CONFIG_LPC17_USBHOST=y + + Device Drivers-> USB Host Driver Support + CONFIG_USBHOST=y + CONFIG_USBHOST_ISOC_DISABLE=y + CONFIG_USBHOST_MSC=y + + Library Routines + CONFIG_SCHED_WORKQUEUE=y When this change is made, NSH should be extended to support USB flash devices. When a FLASH device is inserted, you should see a device diff --git a/configs/olimex-lpc1766stk/src/lpc17_nsh.c b/configs/olimex-lpc1766stk/src/lpc17_nsh.c index 205206c8808..c281077ab53 100644 --- a/configs/olimex-lpc1766stk/src/lpc17_nsh.c +++ b/configs/olimex-lpc1766stk/src/lpc17_nsh.c @@ -157,15 +157,13 @@ static struct usbhost_connection_s *g_usbconn; static int nsh_waiter(int argc, char *argv[]) { bool connected = false; - int ret; message("nsh_waiter: Running\n"); for (;;) { /* Wait for the device to change state */ - ret = CONN_WAIT(g_usbconn, &connected); - DEBUGASSERT(ret == OK); + DEBUGVERIFY(CONN_WAIT(g_usbconn, &connected)); connected = !connected; message("nsh_waiter: %s\n", connected ? "connected" : "disconnected");