Need to select endpoints actually supported by hardware
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1007 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
45f2de7a6b
commit
3fee480186
|
@ -16,7 +16,7 @@
|
|||
</b></big></h1>
|
||||
<p><small>by</small></p>
|
||||
<p>Gregory Nutt</p>
|
||||
<p><small>Last Update: October 1, 2008</small></p>
|
||||
<p><small>Last Update: October 9, 2008</small></p>
|
||||
</center>
|
||||
|
||||
<center><h1>Table of Contents</h1></center>
|
||||
|
@ -1627,7 +1627,8 @@ The system can be re-made subsequently by just typing <code>make</code>.
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>USB device controller driver</h2>
|
||||
<h2>USB Device-Side Support</h2>
|
||||
<h3>USB Device Controller Driver</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<code>CONFIG_USBDEV</code>: Enables USB device support
|
||||
|
@ -1652,6 +1653,31 @@ The system can be re-made subsequently by just typing <code>make</code>.
|
|||
</li>
|
||||
</ul>
|
||||
|
||||
<h3>USB Serial Device Class Driver</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_EPINTIN</code>: The logical 7-bit address of a hardware endpoint that supports interrupt IN operation
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_EPBULKOUT</code>: The logical 7-bit address of a hardware endpoint that supports bulk OUT operation
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_EPBULKIN</code>: The logical 7-bit address of a hardware endpoint that supports bulk IN operation
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_NWRREQS</code> and <code>CONFIG_USBSER_NRDREQS</code>: The number of write/read requests that can be in flight
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_VENDORID</code> and <code>CONFIG_USBSER_VENDORSTR</code>: The vendor ID code/string
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_PRODUCTID</code> and <code>CONFIG_USBSER_PRODUCTSTR</code>: The product ID code/string
|
||||
</li>
|
||||
<li>
|
||||
<code>CONFIG_USBSER_RXBUFSIZE</code> and <code>CONFIG_USBSER_TXBUFSIZE</code>: Size of the serial receive/transmit buffers
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Stack and heap information</h2>
|
||||
|
||||
<ul>
|
||||
|
|
|
@ -302,6 +302,25 @@ defconfig -- This is a configuration file similar to the Linux
|
|||
CONFIG_USBDEV_TRACE - Enables USB tracing for debug
|
||||
CONFIG_USBDEV_TRACE_NRECORDS - Number of trace entries to remember
|
||||
|
||||
USB serial device class driver
|
||||
CONFIG_USBSER_EPINTIN
|
||||
The logical 7-bit address of a hardware endpoint that supports
|
||||
interrupt IN operation
|
||||
CONFIG_USBSER_EPBULKOUT
|
||||
The logical 7-bit address of a hardware endpoint that supports
|
||||
bulk OUT operation
|
||||
CONFIG_USBSER_EPBULKIN
|
||||
The logical 7-bit address of a hardware endpoint that supports
|
||||
bulk IN operation
|
||||
CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
The number of write/read requests that can be in flight
|
||||
CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
The vendor ID code/string
|
||||
CONFIG_USBSER_PRODUCTID and CONFIG_USBSER_PRODUCTSTR
|
||||
The product ID code/string
|
||||
CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
Size of the serial receive/transmit buffers
|
||||
|
||||
Stack and heap information
|
||||
|
||||
CONFIG_BOOT_FROM_FLASH - Some configurations support XIP
|
||||
|
|
|
@ -384,8 +384,15 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -394,8 +401,9 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=1
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=5
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -384,9 +384,16 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# # CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
# The vendor ID code/string
|
||||
|
@ -394,8 +401,9 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=1
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=5
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -385,9 +385,16 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# # CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
# The vendor ID code/string
|
||||
|
@ -395,8 +402,9 @@ CONFIG_LPC214X_USBDEV_DMAINTMASK=0
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=1
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=5
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -361,8 +361,15 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -371,8 +378,9 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=3
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=1
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -369,8 +369,15 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -379,8 +386,9 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=3
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=1
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -361,8 +361,15 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -371,8 +378,9 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=3
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=1
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -361,8 +361,15 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -371,8 +378,9 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=3
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=1
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -361,8 +361,15 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
#
|
||||
# USB Serial Device Configuration
|
||||
#
|
||||
# CONFIG_USBSER_EPOUT and CONFIG_USBSER_EPIN
|
||||
# Logical endoint addresses
|
||||
# CONFIG_USBSER_EPINTIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# interrupt IN operation
|
||||
# CONFIG_USBSER_EPBULKOUT
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk OUT operation
|
||||
# CONFIG_USBSER_EPBULKIN
|
||||
# The logical 7-bit address of a hardware endpoint that supports
|
||||
# bulk IN operation
|
||||
# CONFIG_USBSER_NWRREQS and CONFIG_USBSER_NRDREQS
|
||||
# The number of write/read requests that can be in flight
|
||||
# CONFIG_USBSER_VENDORID and CONFIG_USBSER_VENDORSTR
|
||||
|
@ -371,8 +378,9 @@ CONFIG_DM320_USBDEV_DMA=n
|
|||
# The product ID code/string
|
||||
# CONFIG_USBSER_RXBUFSIZE and CONFIG_USBSER_TXBUFSIZE
|
||||
# Size of the serial receive/transmit buffers
|
||||
CONFIG_USBSER_EPOUT=1
|
||||
CONFIG_USBSER_EPIN=2
|
||||
CONFIG_USBSER_EPINTIN=3
|
||||
CONFIG_USBSER_EPBULKOUT=2
|
||||
CONFIG_USBSER_EPBULKIN=1
|
||||
CONFIG_USBSER_NWRREQS=4
|
||||
CONFIG_USBSER_NRDREQS=4
|
||||
CONFIG_USBSER_VENDORID=0x067b
|
||||
|
|
|
@ -83,12 +83,19 @@
|
|||
|
||||
/* Logical endpoint numbers / max packet sizes */
|
||||
|
||||
#ifndef CONFIG_USBSER_EPIN
|
||||
# define CONFIG_USBSER_EPIN 2
|
||||
#ifndef CONFIG_USBSER_EPINTIN
|
||||
# warning "EPINTIN not defined in the configuration"
|
||||
# define CONFIG_USBSER_EPINTIN 1
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBSER_EPOUT
|
||||
# define CONFIG_USBSER_EPOUT 1
|
||||
#ifndef CONFIG_USBSER_EPBULKOUT
|
||||
# warning "EPBULKOUT not defined in the configuration"
|
||||
# define CONFIG_USBSER_EPBULKOUT 2
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBSER_EPBULKIN
|
||||
# warning "EPBULKIN not defined in the configuration"
|
||||
# define CONFIG_USBSER_EPBULKIN 3
|
||||
#endif
|
||||
|
||||
#ifndef CONFIG_USBSER_EP0MAXPACKET
|
||||
|
@ -148,12 +155,14 @@
|
|||
|
||||
/* Endpoint configuration */
|
||||
|
||||
#define USBSER_EPINTIN_ADDR (USB_DIR_IN|1)
|
||||
#define USBSER_EPINTIN_ADDR (USB_DIR_IN|CONFIG_USBSER_EPINTIN)
|
||||
#define USBSER_EPINTIN_ATTR (USB_EP_ATTR_XFER_INT)
|
||||
#define USBSER_EPINTIN_MXPACKET (10)
|
||||
#define USBSER_EPOUTBULK_ADDR (2)
|
||||
|
||||
#define USBSER_EPOUTBULK_ADDR (CONFIG_USBSER_EPBULKOUT)
|
||||
#define USBSER_EPOUTBULK_ATTR (USB_EP_ATTR_XFER_BULK)
|
||||
#define USBSER_EPINBULK_ADDR (USB_DIR_IN|3)
|
||||
|
||||
#define USBSER_EPINBULK_ADDR (USB_DIR_IN|CONFIG_USBSER_EPBULKIN)
|
||||
#define USBSER_EPINBULK_ATTR (USB_EP_ATTR_XFER_BULK)
|
||||
|
||||
/* Vender specific control requests */
|
||||
|
@ -1210,7 +1219,7 @@ static int usbclass_bind(FAR struct usbdev_s *dev, FAR struct usbdevclass_driver
|
|||
|
||||
/* Pre-allocate the IN interrupt endpoint */
|
||||
|
||||
priv->epintin = DEV_ALLOCEP(dev, 0, TRUE, USB_EP_ATTR_XFER_INT);
|
||||
priv->epintin = DEV_ALLOCEP(dev, USBSER_EPINTIN_ADDR, TRUE, USB_EP_ATTR_XFER_INT);
|
||||
if (!priv->epintin)
|
||||
{
|
||||
usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_EPINTINALLOCFAIL), 0);
|
||||
|
@ -1221,7 +1230,7 @@ static int usbclass_bind(FAR struct usbdev_s *dev, FAR struct usbdevclass_driver
|
|||
|
||||
/* Pre-allocate the IN bulk endpoint */
|
||||
|
||||
priv->epbulkin = DEV_ALLOCEP(dev, 0, TRUE, USB_EP_ATTR_XFER_BULK);
|
||||
priv->epbulkin = DEV_ALLOCEP(dev, USBSER_EPINBULK_ADDR, TRUE, USB_EP_ATTR_XFER_BULK);
|
||||
if (!priv->epbulkin)
|
||||
{
|
||||
usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_EPBULKINALLOCFAIL), 0);
|
||||
|
@ -1232,7 +1241,7 @@ static int usbclass_bind(FAR struct usbdev_s *dev, FAR struct usbdevclass_driver
|
|||
|
||||
/* Pre-allocate the OUT bulk endpoint */
|
||||
|
||||
priv->epbulkout = DEV_ALLOCEP(dev, 0, FALSE, USB_EP_ATTR_XFER_BULK);
|
||||
priv->epbulkout = DEV_ALLOCEP(dev, USBSER_EPOUTBULK_ADDR, FALSE, USB_EP_ATTR_XFER_BULK);
|
||||
if (!priv->epbulkout)
|
||||
{
|
||||
usbtrace(TRACE_CLSERROR(USBSER_TRACEERR_EPBULKOUTALLOCFAIL), 0);
|
||||
|
|
Loading…
Reference in New Issue