From 9397638e24a683c5b60217ea244494b0d2c69e20 Mon Sep 17 00:00:00 2001 From: patacongo Date: Wed, 7 Nov 2012 16:04:10 +0000 Subject: STM32 OTG FS device fix from Petteri Aimonen git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5318 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/ChangeLog | 2 +- nuttx/README.txt | 11 ++++++++++- nuttx/arch/arm/src/stm32/stm32_otgfsdev.c | 13 ++++++++++++- nuttx/drivers/lcd/ug-9664hswag01.c | 2 +- 4 files changed, 24 insertions(+), 4 deletions(-) diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index 8c19ca155..5e89c7af8 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -3576,4 +3576,4 @@ added by Freddie Chopin. * configs/stm32f100_generic: Support for generic STM32F100RC board contributed by Freddie Chopin. - + * arch/arm/src/stm32_otgfsdev.c: Partial fix from Petteri Aimonen. diff --git a/nuttx/README.txt b/nuttx/README.txt index 02067fc73..ee7f62588 100644 --- a/nuttx/README.txt +++ b/nuttx/README.txt @@ -205,7 +205,8 @@ Instantiating "Canned" Configurations Where is the name of your development board and . Configuring NuttX requires only copying three files from the -to the directly where you installed NuttX (TOPDIR): +to the directory where you installed NuttX (TOPDIR) (and sometimes one +additional file to the directory the NuttX application package (APPSDIR)): Copy configs///Make.def to ${TOPDIR}/Make.defs @@ -227,6 +228,14 @@ to the directly where you installed NuttX (TOPDIR): included in the build and what is not. This file is also used to generate a C configuration header at include/nuttx/config.h. + Copy configs///appconfig to ${APPSDIR}/.config + + The appconfig file describes the applications that need to be + built in the appliction directory (APPSDIR). Not all configurations + have an appconfig file. This file is deprecated and will not be + used with new defconfig files produced with the mconf configuration + tool. + General information about configuring NuttX can be found in: ${TOPDIR}/configs/README.txt diff --git a/nuttx/arch/arm/src/stm32/stm32_otgfsdev.c b/nuttx/arch/arm/src/stm32/stm32_otgfsdev.c index 461d500ad..2d6ca9831 100644 --- a/nuttx/arch/arm/src/stm32/stm32_otgfsdev.c +++ b/nuttx/arch/arm/src/stm32/stm32_otgfsdev.c @@ -3900,7 +3900,7 @@ static void stm32_epout_disable(FAR struct stm32_ep_s *privep) * Name: stm32_epin_disable * * Description: - * Diable an IN endpoint will no longer be used + * Disable an IN endpoint when it will no longer be used * *******************************************************************************/ @@ -3912,6 +3912,17 @@ static void stm32_epin_disable(FAR struct stm32_ep_s *privep) usbtrace(TRACE_EPDISABLE, privep->epphy); + /* After USB reset, the endpoint will already be deactivated by the + * hardware. Trying to disable again will just hang in the wait. + */ + + regaddr = STM32_OTGFS_DIEPCTL(privep->epphy); + regval = stm32_getreg(regaddr); + if ((regval & OTGFS_DIEPCTL_USBAEP) == 0) + { + return; + } + /* Make sure that there is no pending IPEPNE interrupt (because we are * to poll this bit below). */ diff --git a/nuttx/drivers/lcd/ug-9664hswag01.c b/nuttx/drivers/lcd/ug-9664hswag01.c index e0e8e8e3a..aae21d648 100644 --- a/nuttx/drivers/lcd/ug-9664hswag01.c +++ b/nuttx/drivers/lcd/ug-9664hswag01.c @@ -182,7 +182,7 @@ #define UG_BPP 1 #define UG_COLORFMT FB_FMT_Y1 -/* Bytes per logical row andactual device row */ +/* Bytes per logical row and actual device row */ #define UG_XSTRIDE (UG_XRES >> 3) /* Pixels arrange "horizontally for user" */ #define UG_YSTRIDE (UG_YRES >> 3) /* But actual device arrangement is "vertical" */ -- cgit v1.2.3