forked from Archive/PX4-Autopilot
Some STM32 USB OTG FS driver fixes
git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@5059 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
parent
018beb7f1b
commit
064743fe72
|
@ -3200,4 +3200,6 @@
|
|||
OFF, there are more NAKs occuring in more places than before and this
|
||||
reveals a variety of errors. This check in improves NAK robustness
|
||||
for control transfers but does not resolve all of the issues.
|
||||
* configs/stm3220g-eval/*/defconfig: Calibrated delay loop. It had
|
||||
never been calibrated was was way off.
|
||||
|
||||
|
|
|
@ -48,6 +48,10 @@
|
|||
#include <errno.h>
|
||||
#include <debug.h>
|
||||
|
||||
#if !defined(CONFIG_DEBUG_VERBOSE) && !defined(CONFIG_DEBUG_USB)
|
||||
# include <debug.h>
|
||||
#endif
|
||||
|
||||
#include <nuttx/arch.h>
|
||||
#include <nuttx/kmalloc.h>
|
||||
#include <nuttx/usb/usb.h>
|
||||
|
@ -1888,7 +1892,7 @@ static void stm32_gint_connected(FAR struct stm32_usbhost_s *priv)
|
|||
if (!priv->connected)
|
||||
{
|
||||
/* Yes.. then now we are connected */
|
||||
|
||||
|
||||
ullvdbg("Connected\n");
|
||||
priv->connected = true;
|
||||
DEBUGASSERT(priv->smstate == SMSTATE_DETACHED);
|
||||
|
@ -3595,8 +3599,19 @@ static int stm32_transfer(FAR struct usbhost_driver_s *drvr, usbhost_ep_t ep,
|
|||
}
|
||||
}
|
||||
|
||||
/* There is a bug in the code at present. With debug OFF, this driver
|
||||
* overruns the typical FLASH device and there are many problems with
|
||||
* NAKS sticking a big delay here allows the driver to work but with
|
||||
* very poor performance when debug is off.
|
||||
*/
|
||||
|
||||
#if !defined(CONFIG_DEBUG_VERBOSE) && !defined(CONFIG_DEBUG_USB)
|
||||
#warning "REVISIT this delay"
|
||||
usleep(100*1000);
|
||||
#endif
|
||||
|
||||
/* Start the transfer */
|
||||
|
||||
|
||||
stm32_transfer_start(priv, chidx);
|
||||
|
||||
/* Wait for the transfer to complete and get the result */
|
||||
|
@ -3696,7 +3711,7 @@ static void stm32_portreset(FAR struct stm32_usbhost_s *priv)
|
|||
* Flush the selected Tx FIFO.
|
||||
*
|
||||
* Input Parameters:
|
||||
* priv -- USB host driver private data structure.
|
||||
* txfnum -- USB host driver private data structure.
|
||||
*
|
||||
* Returned Value:
|
||||
* None.
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -76,7 +76,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -75,7 +75,7 @@ CONFIG_ARCH_CHIP="stm32"
|
|||
CONFIG_ARCH_CHIP_STM32F207IG=y
|
||||
CONFIG_ARCH_BOARD="stm3220g-eval"
|
||||
CONFIG_ARCH_BOARD_STM3220G_EVAL=y
|
||||
CONFIG_BOARD_LOOPSPERMSEC=16717
|
||||
CONFIG_BOARD_LOOPSPERMSEC=10926
|
||||
CONFIG_DRAM_SIZE=0x00030000
|
||||
CONFIG_DRAM_START=0x20000000
|
||||
CONFIG_ARCH_IRQPRIO=y
|
||||
|
|
|
@ -351,7 +351,7 @@ static inline int romfs_searchdir(struct romfs_mountpt_s *rm,
|
|||
}
|
||||
while (next != 0);
|
||||
|
||||
/* There is nothing in this directoy with that name */
|
||||
/* There is nothing in this directory with that name */
|
||||
|
||||
return -ENOENT;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue