Freescale Semiconductor MCF52212 Network Card User Manual


 
Universal Serial Bus, OTG Capable Controller
MCF52211 ColdFire® Integrated Microcontroller Reference Manual, Rev. 2
15-6 Freescale Semiconductor
BDT. The BDT must be located on a 512-byte boundary in system memory. All enabled TX and RX
endpoint BD entries are indexed into the BDT to allow easy access via the USB-FS or ColdFire Core.
When the USB-FS receives a USB token on an enabled endpoint it uses its integrated DMA controller to
interrogate the BDT. The USB-FS must read the corresponding endpoint BD entry and determine if it owns
the BD and corresponding buffer in system memory. To compute the entry point in to the BDT, the
BDT_PAGE registers is concatenated with the current endpoint and the TX and ODD fields to form a
32-bit address. This address mechanism is shown in the following diagrams:
Figure 15-4. BDT Address Calculation
15.3.4 Buffer Descriptor Formats
The Buffer Descriptors (BD) provide endpoint buffer control information for the USB-FS and
microprocessor. The Buffer Descriptors have different meaning based on who is reading the BD in
memory. The USB-FS Controller uses the data stored in the BDs to determine:
Who owns the buffer in system memory
Data0 or Data1 PID
Release Own upon packet completion
No address increment (FIFO Mode)
Data toggle synchronization enable
How much data is to be transmitted or received
Where the buffer resides in system memory
While the microprocessor uses the data stored in the BDs to determine:
Who owns the buffer in system memory
Data0 or Data1 PID
The received TOKEN PID
How much data was transmitted or received
Where the buffer resides in system memory
The format for the BD is shown in the following figure.
31:24 23:16 15:9 8:5 4 3 2:0
BDT_PAGE_03 BDT_PAGE_02 BDT_PAGE_01[7:1] End Point IN ODD 000
Table 15-2. BDT Address Calculation Fields
Field Description
BDT_PAGE BDT_PAGE registers in the Control Register Block
END_POINT END POINT field from the USB TOKEN
TX 1 for an TX transmit transfers and 0 for an RX receive transfers
ODD This bit is maintained within the USB-FS SIE. It corresponds to the buffer that is currently in use. The buffers
are used in a ping-pong fashion.