Address offset: 0xB00
Device Control OUT Endpoint 0 Control Register
This register is used to control the characteristics of the OUT Endpoint 0 of the Device controller.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | I | H | G | F | E | D | D | C | B | A | A | ||||||||||||||||||||||||
| Reset 0x00008000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
MPS |
Maximum Packet Size (MPS) The maximum packet size for control OUT endpoint 0 is the same as what is programmed in control IN Endpoint 0. |
||||||||||||||||||||||||||||||||
|
BYTE64 |
0 |
64 bytes |
|||||||||||||||||||||||||||||||||
|
BYTE32 |
1 |
32 bytes |
|||||||||||||||||||||||||||||||||
|
BYTE16 |
2 |
16 bytes |
|||||||||||||||||||||||||||||||||
|
BYTE8 |
3 |
8 bytes |
|||||||||||||||||||||||||||||||||
| B |
R |
USBACTEP |
USB Active Endpoint (USBActEP) This bit is always set to 1, indicating that a control endpoint 0 is always active in all configurations and interfaces. |
||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
USB Active Endpoint 0 |
|||||||||||||||||||||||||||||||||
| C |
R |
NAKSTS |
NAK Status (NAKSts) Indicates the following: When either the application or the core sets this bit, the core stops receiving data, even If there is space in the RxFIFO to accommodate the incoming packet. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
The core is transmitting non-NAK handshakes based on the FIFO status |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
The core is transmitting NAK handshakes on this endpoint |
|||||||||||||||||||||||||||||||||
| D |
R |
EPTYPE |
Endpoint Type (EPType) Hardcoded to 2'b00 for control. |
||||||||||||||||||||||||||||||||
|
ACTIVE |
0 |
Endpoint Control 0 |
|||||||||||||||||||||||||||||||||
| E |
RW |
STALL |
STALL Handshake (Stall) The application can only set this bit, and the core clears it, when a SETUP token is received for this endpoint. If a NAK bit or Global OUT NAK is Set along with this bit, the STALL bit takes priority. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Stall |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Stall Handshake |
|||||||||||||||||||||||||||||||||
| F |
W |
CNAK |
Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint. |
||||||||||||||||||||||||||||||||
|
NOCLEAR |
0 |
No action |
|||||||||||||||||||||||||||||||||
|
CLEAR |
1 |
Clear NAK |
|||||||||||||||||||||||||||||||||
| G |
W |
SNAK |
Set NAK (SNAK) A write to this bit sets the NAK bit for the endpoint. Using this bit, the application can control the transmission of NAK handshakes on an endpoint. The core can also set bit on a Transfer Completed interrupt, or after a SETUP is received on the endpoint. |
||||||||||||||||||||||||||||||||
|
NOSET |
0 |
No action |
|||||||||||||||||||||||||||||||||
|
SET |
1 |
Set NAK |
|||||||||||||||||||||||||||||||||
| H |
R |
EPDIS |
Endpoint Disable (EPDis) The application cannot disable control OUT endpoint 0. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No Endpoint disable |
|||||||||||||||||||||||||||||||||
| I |
RW |
EPENA |
Endpoint Enable (EPEna) - When Scatter/Gather DMA mode is enabled, for OUT endpoints this bit indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is disabled (such as for buffer-pointer based DMA mode)this bit indicates that the application has allocated the memory to start receiving data from the USB. - The core clears this bit before setting any of the following interrupts on this endpoint: -- SETUP Phase Done -- Endpoint Disabled -- Transfer Completed Note: In DMA mode, this bit must be set for the core to transfer SETUP data packets into memory and it is not cleared on Transfer Completed interrupt of SETUP packet. |
||||||||||||||||||||||||||||||||
|
INACTIVE |
0 |
No action |
|||||||||||||||||||||||||||||||||
|
ACTIVE |
1 |
Enable Endpoint |
|||||||||||||||||||||||||||||||||