USB Registers
Table 16-86. USB0RXMODE Register Field Descriptions (continued)
Bit
Field
Type
Reset
Description
1-0
RX1_MODE
R/W
0h
00: Transparent Mode on RX endpoint 0
01: RNDIS Mode on RX endpoint 0
10: CDC Mode on RX endpoint 0
11: Generic RNDIS or Infinite Mode on RX endpoint 0 Each RX
endpoint can be configured into 1 of 5 packet termination modes.
Transparent mode (b00) * Supports USB endpoint sizes of o FS : 8,
16, 32, 64, and 1023 o HS : 64, 128, 512, and 1024 * Mentor
Controller's RXMAXP/TXMAXP must be a valid USB endpoint size.
* With autoreq=3 XDMA will always generate a ReqPkt's at the end
of the packet.
* With autoreq=1 XDMA will never generatate a ReqPkt at the end of
the packet.
* Each USB packet is equivalent to a single CPPI DMA packet.
* Each received CPPI packet will be no larger than the USB max
packet size (1023 bytes for FS, 1024 bytes for HS) and will be both
a SOP and EOP.
* Transmitted CPPI packets can be no larger than the USB max
packet size.
* Primarily used for interrupt or isochronous endpoints, as CPU will
receive an interrupt for every USB packet (if enabled).
RNDIS mode (b01) * Supports USB endpoint sizes of o FS : 64 o
HS : 64, 128, 512, and 1024 * Mentor controller's
RXMAXP/TXMAXP must be an integer multiple of the USB endpoint
size.
* With autoreq=3 XDMA will always generate a ReqPkt's at the end
of the packet.
* With autoreq=1 XDMA will continue the generation of ReqPkt's to
the Mentor controller until a short packet is received.
* Supports transmission of CPPI packets larger than the USB max
packet size.
* The end of a CPPI packet is defined by a USB short packet (a USB
packet less than the USB max packet size).
* In the case where the CPPI packet is an exact multiple of the USB
max packet size, a zero length terminating packet is used (XDMA
recognizes this terminating packet on reception, and generates it on
transmission).
* Designed for use in an RNDIS compliant networking type of USB
device and bulk endpoints Linux CDC mode (b10) * Same as RNDIS
mode, except terminating packet has
1-byte of 0 data.
* Designed for use with a Linux OS and USB driver stack and bulk
endpoints.
Generic RNDIS mode (b11 and Generic RNDIS EP N Size register
is greater than 0) * Same as RNDIS mode, except the end of a CPPI
packet is determined by a USB short packet or when the value in the
GENERIC RNDIS EPn SIZE Register is reached (Rx mode only)(i.e.
Tx mode does not use this register).
The CPU configures this register with a value that is a multiple of the
corresponding endpoint size.
* No terminating packet is used.
* Designed for general bulk endpoint use where specific packet
terminations are not required.
* Transmit mode transfers only support FS or HS EP sizes through
the XDMA and Mentor controller.
The CPPI DMA size can be of any legal size as defined by the CPPI
4.1 specification.
Infinite mode (b11 and Generic RNDIS EP N Size register equal to
0) * Same as RNDIS mode, except the end of a CPPI packet is
determined by a USB short packet or when the CPPI DMA closes up
the packet after a defined number of buffers have been filled.
This is defined in Rx Channel N Global Configuration Register bits
28:26 rx_max_buffer_cnt.
* The CPPI DMA will ignore SOPs generated by the XDMA.
* The XDMA packet is assumed to be infinite.
* The XDMA starts the packet with a SOP (ignored by the CPPI
DMA).
* The XDMA ends the packet when a short packet occurs.
* Short packets are defined when RXMAXP (0x14) is not equal to
RXCOUNT (0x18).
1830
Universal Serial Bus (USB)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated