update usb dev/host controller drivers to reflect new(ish) logging standards; augment device enpoint and fifo allocation #defines to do more sanity checking, and be automatically adaptive to size changes. Update README.txt to reflect current status of the implementation.

This commit is contained in:
ziggurat29 2016-07-07 13:54:35 -05:00
parent 7c428efa97
commit 42820c0938
3 changed files with 140 additions and 54 deletions

View File

@ -1,5 +1,5 @@
This is a port of NuttX to the STM32L4 Family
Used development board is the Nucleo L476RG
Used development board is the Nucleo L476RG, STM32L4VGDiscovery
The status is HIGHLY EXPERIMENTAL.
@ -16,22 +16,23 @@ IRQs : OK
GPIO : OK
EXTI : OK, to be tested.
HSI : OK
HSE : To be tested
HSE : OK
PLL : Works @ 80 MHz
MSI : TODO
LSE : works, but TODO autotrim of MSI, etc
MSI : OK
LSE : OK
RCC : All registers defined, peripherals enabled, basic clock working
SYSCTL : All registers defined
USART : Working in normal mode (no DMA, to be tested, code is written)
DMA : works; at least tested with QSPI
SRAM2 : Should work with enough MM regions
SRAM2 : OK; can be included in MM region or left separate for special app purposes
FIREWALL : Code written, to be tested, requires support from ldscript
SPI : Code written, to be tested, including DMA
I2C : Registers defined
RTC : works
QSPI : works in polling, interrupt, DMA, and also memory-mapped modes
CAN : TODO
OTGFS : TODO
OTGFS : dev implemented, tested, outstanding issue with CDCACM (ACM_SET_LINE_CODING, but otherwise works);
: host implemented, only build smoke-tested (i.e. builds, but no functional testing yet)
Timers : TODO
PM : TODO, PWR registers defined
FSMC : TODO

View File

@ -117,10 +117,62 @@
# define CONFIG_USBDEV_EP5_TXFIFO_SIZE 128
#endif
#if (CONFIG_USBDEV_RXFIFO_SIZE + CONFIG_USBDEV_EP0_TXFIFO_SIZE +\
CONFIG_USBDEV_EP1_TXFIFO_SIZE + CONFIG_USBDEV_EP2_TXFIFO_SIZE +\
CONFIG_USBDEV_EP3_TXFIFO_SIZE + CONFIG_USBDEV_EP4_TXFIFO_SIZE +\
CONFIG_USBDEV_EP5_TXFIFO_SIZE ) > 1280
/* Number of endpoints */
#define STM32_NENDPOINTS (6) /* ep0-5 x 2 for IN and OUT */
/* Adjust actual number of endpoints based upon size; 0 means 'not available',
* and we expect that the first 0-length endpoint implies that all others
* after are unused as well (irrespective of what their size is set to be).
*/
#if CONFIG_USBDEV_EP1_TXFIFO_SIZE == 0
# undef STM32_NENDPOINTS
# define STM32_NENDPOINTS 1
# undef CONFIG_USBDEV_EP2_TXFIFO_SIZE
# define CONFIG_USBDEV_EP2_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP3_TXFIFO_SIZE
# define CONFIG_USBDEV_EP3_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP4_TXFIFO_SIZE
# define CONFIG_USBDEV_EP4_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP5_TXFIFO_SIZE
# define CONFIG_USBDEV_EP5_TXFIFO_SIZE 0
#elif CONFIG_USBDEV_EP2_TXFIFO_SIZE == 0
# undef STM32_NENDPOINTS
# define STM32_NENDPOINTS 2
# undef CONFIG_USBDEV_EP3_TXFIFO_SIZE
# define CONFIG_USBDEV_EP3_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP4_TXFIFO_SIZE
# define CONFIG_USBDEV_EP4_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP5_TXFIFO_SIZE
# define CONFIG_USBDEV_EP5_TXFIFO_SIZE 0
#elif CONFIG_USBDEV_EP3_TXFIFO_SIZE == 0
# undef STM32_NENDPOINTS
# define STM32_NENDPOINTS 3
# undef CONFIG_USBDEV_EP4_TXFIFO_SIZE
# define CONFIG_USBDEV_EP4_TXFIFO_SIZE 0
# undef CONFIG_USBDEV_EP5_TXFIFO_SIZE
# define CONFIG_USBDEV_EP5_TXFIFO_SIZE 0
#elif CONFIG_USBDEV_EP4_TXFIFO_SIZE == 0
# undef STM32_NENDPOINTS
# define STM32_NENDPOINTS 4
# undef CONFIG_USBDEV_EP5_TXFIFO_SIZE
# define CONFIG_USBDEV_EP5_TXFIFO_SIZE 0
#elif CONFIG_USBDEV_EP5_TXFIFO_SIZE == 0
# undef STM32_NENDPOINTS
# define STM32_NENDPOINTS 5
#endif
/* Sanity check on allocations specified. */
#if (CONFIG_USBDEV_RXFIFO_SIZE +\
CONFIG_USBDEV_EP0_TXFIFO_SIZE +\
CONFIG_USBDEV_EP1_TXFIFO_SIZE +\
CONFIG_USBDEV_EP2_TXFIFO_SIZE +\
CONFIG_USBDEV_EP3_TXFIFO_SIZE +\
CONFIG_USBDEV_EP4_TXFIFO_SIZE +\
CONFIG_USBDEV_EP5_TXFIFO_SIZE +\
0 ) > 1280
# error "FIFO allocations exceed FIFO memory size"
#endif
@ -141,35 +193,35 @@
#define STM32_EP1_TXFIFO_BYTES ((CONFIG_USBDEV_EP1_TXFIFO_SIZE + 3) & ~3)
#define STM32_EP1_TXFIFO_WORDS ((CONFIG_USBDEV_EP1_TXFIFO_SIZE + 3) >> 2)
#if STM32_EP1_TXFIFO_WORDS < 16
#if STM32_EP1_TXFIFO_BYTES != 0 && STM32_EP1_TXFIFO_WORDS < 16
# error "CONFIG_USBDEV_EP1_TXFIFO_SIZE is out of range"
#endif
#define STM32_EP2_TXFIFO_BYTES ((CONFIG_USBDEV_EP2_TXFIFO_SIZE + 3) & ~3)
#define STM32_EP2_TXFIFO_WORDS ((CONFIG_USBDEV_EP2_TXFIFO_SIZE + 3) >> 2)
#if STM32_EP2_TXFIFO_WORDS < 16
#if STM32_EP2_TXFIFO_BYTES != 0 && STM32_EP2_TXFIFO_WORDS < 16
# error "CONFIG_USBDEV_EP2_TXFIFO_SIZE is out of range"
#endif
#define STM32_EP3_TXFIFO_BYTES ((CONFIG_USBDEV_EP3_TXFIFO_SIZE + 3) & ~3)
#define STM32_EP3_TXFIFO_WORDS ((CONFIG_USBDEV_EP3_TXFIFO_SIZE + 3) >> 2)
#if STM32_EP3_TXFIFO_WORDS < 16
#if STM32_EP3_TXFIFO_BYTES != 0 && STM32_EP3_TXFIFO_WORDS < 16
# error "CONFIG_USBDEV_EP3_TXFIFO_SIZE is out of range"
#endif
#define STM32_EP4_TXFIFO_BYTES ((CONFIG_USBDEV_EP4_TXFIFO_SIZE + 3) & ~3)
#define STM32_EP4_TXFIFO_WORDS ((CONFIG_USBDEV_EP4_TXFIFO_SIZE + 3) >> 2)
#if STM32_EP4_TXFIFO_WORDS < 16
#if STM32_EP4_TXFIFO_BYTES != 0 && STM32_EP4_TXFIFO_WORDS < 16
# error "CONFIG_USBDEV_EP4_TXFIFO_SIZE is out of range"
#endif
#define STM32_EP5_TXFIFO_BYTES ((CONFIG_USBDEV_EP5_TXFIFO_SIZE + 3) & ~3)
#define STM32_EP5_TXFIFO_WORDS ((CONFIG_USBDEV_EP5_TXFIFO_SIZE + 3) >> 2)
#if STM32_EP5_TXFIFO_WORDS < 16
#if STM32_EP5_TXFIFO_BYTES != 0 && STM32_EP5_TXFIFO_WORDS < 16
# error "CONFIG_USBDEV_EP5_TXFIFO_SIZE is out of range"
#endif
@ -259,10 +311,20 @@
#define STM32_TRACEINTID_SETUPDONE (90 + 3)
#define STM32_TRACEINTID_SETUPRECVD (90 + 4)
/* Endpoints ******************************************************************/
/* CONFIG_USB_DUMPBUFFER will dump the contents of buffers to the console. */
/* Number of endpoints */
#define STM32_NENDPOINTS (6) /* ep0-5 x 2 for IN and OUT */
#define CONFIG_USB_DUMPBUFFER
#if !defined(CONFIG_DEBUG_INFO) || !defined(CONFIG_DEBUG_USB)
# undef CONFIG_USB_DUMPBUFFER
#endif
#ifdef CONFIG_USB_DUMPBUFFER
# define usb_dumpbuffer(t,b,l) lib_dumpbuffer(t,b,l)
#else
# define usb_dumpbuffer(t,b,l)
#endif
/* Endpoints ******************************************************************/
/* Odd physical endpoint numbers are IN; even are OUT */
@ -273,8 +335,11 @@
#define EP0 (0)
/* The set of all endpoints available to the class implementation (1-3) */
#define STM32_EP_AVAILABLE (0x3e) /* All available endpoints */
/* The set of all endpoints available to the class implementation (1-n).
* This is a bitmap, and the first endpoint (0) is reserved.
*/
#define STM32_EP_AVAILABLE (((1 << STM32_NENDPOINTS) - 1) & ~1)
/* Maximum packet sizes for full speed endpoints */
@ -496,7 +561,7 @@ struct stm32_usbdev_s
/* Register operations ********************************************************/
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG)
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG_USB)
static uint32_t stm32_getreg(uint32_t addr);
static void stm32_putreg(uint32_t val, uint32_t addr);
#else
@ -816,7 +881,7 @@ const struct trace_msg_t g_usb_trace_strings_intdecode[] =
*
****************************************************************************/
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG)
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG_USB)
static uint32_t stm32_getreg(uint32_t addr)
{
static uint32_t prevaddr = 0;
@ -879,7 +944,7 @@ static uint32_t stm32_getreg(uint32_t addr)
*
****************************************************************************/
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG)
#if defined(CONFIG_STM32_USBDEV_REGDEBUG) && defined(CONFIG_DEBUG_USB)
static void stm32_putreg(uint32_t val, uint32_t addr)
{
/* Show the register value being written */
@ -1054,6 +1119,8 @@ static void stm32_txfifo_write(FAR struct stm32_ep_s *privep,
int nwords;
int i;
usb_dumpbuffer(">>>",buf,nbytes);
/* Convert the number of bytes to words */
nwords = (nbytes + 3) >> 2;
@ -1442,6 +1509,8 @@ static void stm32_rxfifo_read(FAR struct stm32_ep_s *privep,
*dest++ = data.b[2];
*dest++ = data.b[3];
}
usb_dumpbuffer("<<<",dest-len,len);
}
/****************************************************************************
@ -1472,6 +1541,8 @@ static void stm32_rxfifo_discard(FAR struct stm32_ep_s *privep, int len)
volatile uint32_t data = stm32_getreg(regaddr);
(void)data;
}
uinfo("<<< discarding %d\n",len);
}
}
@ -2106,7 +2177,7 @@ static inline void stm32_ep0out_testmode(FAR struct stm32_usbdev_s *priv,
* Name: stm32_ep0out_stdrequest
*
* Description:
* Handle a stanard request on EP0. Pick off the things of interest to the
* Handle a standard request on EP0. Pick off the things of interest to the
* USB device controller driver; pass what is left to the class driver.
*
****************************************************************************/
@ -2321,6 +2392,8 @@ static inline void stm32_ep0out_stdrequest(struct stm32_usbdev_s *priv,
stm32_setaddress(priv, (uint16_t)priv->ctrlreq.value[0]);
stm32_ep0in_transmitzlp(priv);
uinfo("USB_REQ_SETADDRESS %02x\n",(uint16_t)priv->ctrlreq.value[0]);
}
else
{
@ -4209,7 +4282,7 @@ static int stm32_ep_disable(FAR struct usbdev_ep_s *ep)
{
FAR struct stm32_ep_s *privep = (FAR struct stm32_ep_s *)ep;
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!ep)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -4249,7 +4322,7 @@ static FAR struct usbdev_req_s *stm32_ep_allocreq(FAR struct usbdev_ep_s *ep)
{
FAR struct stm32_req_s *privreq;
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!ep)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -4282,7 +4355,7 @@ static void stm32_ep_freereq(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s
{
FAR struct stm32_req_s *privreq = (FAR struct stm32_req_s *)req;
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!ep || !req)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -4354,7 +4427,7 @@ static int stm32_ep_submit(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s *
/* Some sanity checking */
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!req || !req->callback || !req->buf || !ep)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -4366,7 +4439,7 @@ static int stm32_ep_submit(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s *
usbtrace(TRACE_EPSUBMIT, privep->epphy);
priv = privep->dev;
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!priv->driver)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_NOTCONFIGURED), priv->usbdev.speed);
@ -4443,7 +4516,7 @@ static int stm32_ep_cancel(FAR struct usbdev_ep_s *ep, FAR struct usbdev_req_s *
FAR struct stm32_ep_s *privep = (FAR struct stm32_ep_s *)ep;
irqstate_t flags;
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!ep || !req)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -4901,7 +4974,7 @@ static int stm32_selfpowered(struct usbdev_s *dev, bool selfpowered)
usbtrace(TRACE_DEVSELFPOWERED, (uint16_t)selfpowered);
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!dev)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);
@ -5248,47 +5321,59 @@ static void stm32_hwinitialize(FAR struct stm32_usbdev_s *priv)
stm32_putreg(STM32_RXFIFO_WORDS, STM32_OTGFS_GRXFSIZ);
#if STM32_NENDPOINTS > 0
/* EP0 TX */
address = STM32_RXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF0_TX0FD_SHIFT) |
(STM32_EP0_TXFIFO_WORDS << OTGFS_DIEPTXF0_TX0FSA_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF0);
#endif
#if STM32_NENDPOINTS > 1
/* EP1 TX */
address += STM32_EP0_TXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF_INEPTXSA_SHIFT) |
(STM32_EP1_TXFIFO_WORDS << OTGFS_DIEPTXF_INEPTXFD_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF1);
#endif
#if STM32_NENDPOINTS > 2
/* EP2 TX */
address += STM32_EP1_TXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF_INEPTXSA_SHIFT) |
(STM32_EP2_TXFIFO_WORDS << OTGFS_DIEPTXF_INEPTXFD_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF2);
#endif
#if STM32_NENDPOINTS > 3
/* EP3 TX */
address += STM32_EP2_TXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF_INEPTXSA_SHIFT) |
(STM32_EP3_TXFIFO_WORDS << OTGFS_DIEPTXF_INEPTXFD_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF3);
#endif
#if STM32_NENDPOINTS > 4
/* EP4 TX */
address += STM32_EP3_TXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF_INEPTXSA_SHIFT) |
(STM32_EP4_TXFIFO_WORDS << OTGFS_DIEPTXF_INEPTXFD_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF4);
#endif
#if STM32_NENDPOINTS > 5
/* EP5 TX */
address += STM32_EP4_TXFIFO_WORDS;
regval = (address << OTGFS_DIEPTXF_INEPTXSA_SHIFT) |
(STM32_EP5_TXFIFO_WORDS << OTGFS_DIEPTXF_INEPTXFD_SHIFT);
stm32_putreg(regval, STM32_OTGFS_DIEPTXF5);
#endif
/* Flush the FIFOs */
@ -5583,7 +5668,7 @@ int usbdev_register(struct usbdevclass_driver_s *driver)
usbtrace(TRACE_DEVREGISTER, 0);
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (!driver || !driver->ops->bind || !driver->ops->unbind ||
!driver->ops->disconnect || !driver->ops->setup)
{
@ -5654,7 +5739,7 @@ int usbdev_unregister(struct usbdevclass_driver_s *driver)
usbtrace(TRACE_DEVUNREGISTER, 0);
#ifdef CONFIG_DEBUG
#ifdef CONFIG_DEBUG_USB
if (driver != priv->driver)
{
usbtrace(TRACE_DEVERROR(STM32_TRACEERR_INVALIDPARMS), 0);

View File

@ -1285,7 +1285,7 @@ static int stm32_ctrlep_alloc(FAR struct stm32_usbhost_s *priv,
ctrlep = (FAR struct stm32_ctrlinfo_s *)kmm_malloc(sizeof(struct stm32_ctrlinfo_s));
if (ctrlep == NULL)
{
udbg("ERROR: Failed to allocate control endpoint container\n");
uerr("ERROR: Failed to allocate control endpoint container\n");
return -ENOMEM;
}
@ -1295,7 +1295,7 @@ static int stm32_ctrlep_alloc(FAR struct stm32_usbhost_s *priv,
hport->funcaddr, hport->speed, ctrlep);
if (ret < 0)
{
udbg("ERROR: stm32_ctrlchan_alloc failed: %d\n", ret);
uerr("ERROR: stm32_ctrlchan_alloc failed: %d\n", ret);
kmm_free(ctrlep);
return ret;
}
@ -1347,7 +1347,7 @@ static int stm32_xfrep_alloc(FAR struct stm32_usbhost_s *priv,
chidx = stm32_chan_alloc(priv);
if (chidx < 0)
{
udbg("ERROR: Failed to allocate a host channel\n");
uerr("ERROR: Failed to allocate a host channel\n");
return -ENOMEM;
}
@ -1857,7 +1857,7 @@ static ssize_t stm32_in_transfer(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_in_setup(priv, chidx);
if (ret < 0)
{
udbg("ERROR: stm32_in_setup failed: %d\n", ret);
uerr("ERROR: stm32_in_setup failed: %d\n", ret);
return (ssize_t)ret;
}
@ -1888,7 +1888,7 @@ static ssize_t stm32_in_transfer(FAR struct stm32_usbhost_s *priv, int chidx,
{
/* Break out and return the error */
udbg("ERROR: stm32_chan_wait failed: %d\n", ret);
uerr("ERROR: stm32_chan_wait failed: %d\n", ret);
return (ssize_t)ret;
}
}
@ -1933,7 +1933,7 @@ static void stm32_in_next(FAR struct stm32_usbhost_s *priv,
return;
}
udbg("ERROR: stm32_in_setup failed: %d\n", ret);
uerr("ERROR: stm32_in_setup failed: %d\n", ret);
result = ret;
}
@ -1991,7 +1991,7 @@ static int stm32_in_asynch(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_chan_asynchsetup(priv, chan, callback, arg);
if (ret < 0)
{
udbg("ERROR: stm32_chan_asynchsetup failed: %d\n", ret);
uerr("ERROR: stm32_chan_asynchsetup failed: %d\n", ret);
return ret;
}
@ -2000,7 +2000,7 @@ static int stm32_in_asynch(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_in_setup(priv, chidx);
if (ret < 0)
{
udbg("ERROR: stm32_in_setup failed: %d\n", ret);
uerr("ERROR: stm32_in_setup failed: %d\n", ret);
}
/* And return with the transfer pending */
@ -2126,7 +2126,7 @@ static ssize_t stm32_out_transfer(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_out_setup(priv, chidx);
if (ret < 0)
{
udbg("ERROR: stm32_out_setup failed: %d\n", ret);
uerr("ERROR: stm32_out_setup failed: %d\n", ret);
return (ssize_t)ret;
}
@ -2154,7 +2154,7 @@ static ssize_t stm32_out_transfer(FAR struct stm32_usbhost_s *priv, int chidx,
{
/* Break out and return the error */
udbg("ERROR: stm32_chan_wait failed: %d\n", ret);
uerr("ERROR: stm32_chan_wait failed: %d\n", ret);
return (ssize_t)ret;
}
@ -2219,7 +2219,7 @@ static void stm32_out_next(FAR struct stm32_usbhost_s *priv,
return;
}
udbg("ERROR: stm32_out_setup failed: %d\n", ret);
uerr("ERROR: stm32_out_setup failed: %d\n", ret);
result = ret;
}
@ -2277,7 +2277,7 @@ static int stm32_out_asynch(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_chan_asynchsetup(priv, chan, callback, arg);
if (ret < 0)
{
udbg("ERROR: stm32_chan_asynchsetup failed: %d\n", ret);
uerr("ERROR: stm32_chan_asynchsetup failed: %d\n", ret);
return ret;
}
@ -2286,7 +2286,7 @@ static int stm32_out_asynch(FAR struct stm32_usbhost_s *priv, int chidx,
ret = stm32_out_setup(priv, chidx);
if (ret < 0)
{
udbg("ERROR: stm32_out_setup failed: %d\n", ret);
uerr("ERROR: stm32_out_setup failed: %d\n", ret);
}
/* And return with the transfer pending */
@ -2371,7 +2371,7 @@ static inline void stm32_gint_hcinisr(FAR struct stm32_usbhost_s *priv,
/* AND the two to get the set of enabled, pending HC interrupts */
pending &= regval;
ullvdbg("HCINTMSK%d: %08x pending: %08x\n", chidx, regval, pending);
uinfo("HCINTMSK%d: %08x pending: %08x\n", chidx, regval, pending);
/* Check for a pending ACK response received/transmitted (ACK) interrupt */
@ -2632,7 +2632,7 @@ static inline void stm32_gint_hcoutisr(FAR struct stm32_usbhost_s *priv,
/* AND the two to get the set of enabled, pending HC interrupts */
pending &= regval;
ullvdbg("HCINTMSK%d: %08x pending: %08x\n", chidx, regval, pending);
uinfo("HCINTMSK%d: %08x pending: %08x\n", chidx, regval, pending);
/* Check for a pending ACK response received/transmitted (ACK) interrupt */
@ -2950,7 +2950,7 @@ static inline void stm32_gint_rxflvlisr(FAR struct stm32_usbhost_s *priv)
/* Read and pop the next status from the Rx FIFO */
grxsts = stm32_getreg(STM32_OTGFS_GRXSTSP);
ullvdbg("GRXSTS: %08x\n", grxsts);
uinfo("GRXSTS: %08x\n", grxsts);
/* Isolate the channel number/index in the status word */
@ -3103,7 +3103,7 @@ static inline void stm32_gint_nptxfeisr(FAR struct stm32_usbhost_s *priv)
/* Write the next group of packets into the Tx FIFO */
ullvdbg("HNPTXSTS: %08x chidx: %d avail: %d buflen: %d xfrd: %d wrsize: %d\n",
uinfo("HNPTXSTS: %08x chidx: %d avail: %d buflen: %d xfrd: %d wrsize: %d\n",
regval, chidx, avail, chan->buflen, chan->xfrd, wrsize);
stm32_gint_wrpacket(priv, chan->buffer, chidx, wrsize);
@ -3191,7 +3191,7 @@ static inline void stm32_gint_ptxfeisr(FAR struct stm32_usbhost_s *priv)
/* Write the next group of packets into the Tx FIFO */
ullvdbg("HPTXSTS: %08x chidx: %d avail: %d buflen: %d xfrd: %d wrsize: %d\n",
uinfo("HPTXSTS: %08x chidx: %d avail: %d buflen: %d xfrd: %d wrsize: %d\n",
regval, chidx, avail, chan->buflen, chan->xfrd, wrsize);
stm32_gint_wrpacket(priv, chan->buffer, chidx, wrsize);
@ -3866,7 +3866,7 @@ static int stm32_rh_enumerate(FAR struct stm32_usbhost_s *priv,
ret = stm32_ctrlchan_alloc(priv, 0, 0, priv->rhport.hport.speed, &priv->ep0);
if (ret < 0)
{
udbg("ERROR: Failed to allocate a control endpoint: %d\n", ret);
uerr("ERROR: Failed to allocate a control endpoint: %d\n", ret);
}
return ret;
@ -3912,7 +3912,7 @@ static int stm32_enumerate(FAR struct usbhost_connection_s *conn,
{
/* Return to the disconnected state */
udbg("ERROR: Enumeration failed: %d\n", ret);
uerr("ERROR: Enumeration failed: %d\n", ret);
stm32_gint_disconnected(priv);
}
@ -4728,7 +4728,7 @@ static int stm32_connect(FAR struct usbhost_driver_s *drvr,
/* Set the connected/disconnected flag */
hport->connected = connected;
ullvdbg("Hub port %d connected: %s\n", hport->port, connected ? "YES" : "NO");
uinfo("Hub port %d connected: %s\n", hport->port, connected ? "YES" : "NO");
/* Report the connection event */