Table 43-4. Buffer descriptor format (continued)
Buffer Address (32-Bits)
Table 43-5. Buffer descriptor fields
Field Description
31–26
RSVD
Reserved
25–16
BC
Byte Count
Represents the 10-bit byte count. The USBFS SIE changes this field upon the completion of a RX
transfer with the byte count of the data received.
15–8
RSVD
Reserved
7
OWN
Determines whether the processor or USBFS currently owns the buffer. Except when KEEP=1, the
SIE hands ownership back to the processor after completing the token by clearing this bit.
This must always be the last byte of the BD that the processor updates when it initializes a BD.
0 The processor has access to the BD. USBFS ignores all other fields in the BD.
1 USBFS has access to the BD. While USBFS owns the BD, the processor should not modify any
other fields in the BD.
6
DATA0/1
Defines whether a DATA0 field (DATA0/1=0) or a DATA1 (DATA0/1=1) field was transmitted or
received. It is unchanged by USBFS.
5
KEEP/
TOK_PID[3]
This bit has two functions:
• KEEP bit—When written by the processor, it serves as the KEEP bit. Typically, this bit is 1
with ISO endpoints feeding a FIFO. The microprocessor is not informed that a token has
been processed, the data is simply transferred to or from the FIFO. When KEEP is set,
normally the NINC bit is also set to prevent address increment.
0 Allows USBFS to release the BD when a token has been processed.
1 This bit is unchanged by USBFS. Bit 3 of the current token PID is written back to the BD by
USBFS.
• TOK_PID[3]—If the OWN bit is also set, the BD remains owned by USBFS indefinitely; when
written by USB, it serves as the TOK_PID[3] bit.
0 or 1 Bit 3 of the current token PID is written back to the BD by USBFS.
Typically, this bit is 1 with ISO endpoints feeding a FIFO. The microprocessor is not informed that a
token has been processed, the data is simply transferred to or from the FIFO. When KEEP is set,
normally the NINC bit is also set to prevent address increment.
4
NINC/
TOK_PID[2]
No Increment (NINC)
Disables the DMA engine address increment. This forces the DMA engine to read or write from the
same address. This is useful for endpoints when data needs to be read from or written to a single
location such as a FIFO. Typically this bit is set with the KEEP bit for ISO endpoints that are
interfacing to a FIFO.
0 USBFS writes bit 2 of the current token PID to the BD.
1 This bit is unchanged by USBFS.
3
DTS/
Setting this bit enables USBFS to perform Data Toggle Synchronization.
Table continues on the next page...
Chapter 43 Universal Serial Bus Full Speed OTG Controller (USBFSOTG)
K22F Sub-Family Reference Manual, Rev. 4, 08/2016
NXP Semiconductors 1079