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",