Endpoint Control Registers
The Endpoint Control registers contain the endpoint control bits for the 16 endpoints available on USB for a decoded address. These four bits define all the control necessary for any one endpoint. Endpoint 0 (ENDPT0) is associated with control pipe 0, which is required by USB for all functions. Therefore, after receiving a USB_RST interrupt, the microprocessor sets ENDPT0 to contain 0Dh.
Table 4-21. Endpoint Control Registers
| BIT |
| 7 | 6 | 5 |
| 4 | 3 |
| 2 | 1 | 0 |
| OFFSET |
|
|
|
|
| 11h through 7h |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| ||
| FIELDS |
| WOHOST_ _HUB | RETRY_DIS | /// |
| CTLEP__DIS | RXEP__EN |
| TXEP__EN | STALLEP_ | HSHKEP_ |
|
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
|
| RESET |
| 0 | 0 | 0 |
| 0 | 0 |
| 0 | 0 | 0 |
| RW |
| R/W | R/W | R/W |
| R/W | R/W |
| R/W | R/W | R/W |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Table | ||
|
|
|
|
|
|
|
| Bits |
| Field Name |
|
| Description |
| 7 |
| HOST_WO_HUB |
|
|
|
|
|
|
|
|
| A |
|
|
|
|
|
| (endpt0_rg). |
|
|
|
|
|
| 1 = host can communicate to a directly connected |
|
|
|
|
|
| 0 = host produces the PRE_PID, then switches to |
|
|
|
|
|
| token to a |
|
|
|
|
|
| device through a hub. |
| 6 |
| RETRY_DIS |
|
| |
|
|
|
|
|
| A |
|
|
|
|
|
| (endpt0_rg). |
|
|
|
|
|
| 1 = prevent host retrying NAK’ed transactions. When a transaction is NAK'ed, the |
|
|
|
|
|
| NAK PID updates the BDT PID field and the |
|
|
|
|
|
| (Required setting when host tries to poll an interrupt endpoint.) |
|
|
|
|
|
| 0 = NAK'ed transactions are retried in hardware. |
| 5 | /// |
|
| Reserved | |
| 4 |
| EP_CTL_ DIS |
|
| Endpoint Enable |
| 3 |
| EP_RX_EN |
|
| Defines whether an endpoint is enabled and the direction of the endpoint. Table |
| 2 |
| EP_TX_EN |
|
| |
|
|
|
|
| ||
| 1 |
| EP_STALL |
|
| Endpoint Stalled |
|
|
|
|
|
| This bit has priority over all control bits in the Endpoint Enable register; however, |
|
|
|
|
|
| it is only valid if EP_IN_EN=1 or EP_OUT_EN=1. Any access to this endpoint |
|
|
|
|
|
| causes the USB to return a STALL handshake. After an endpoint stalls, it requires |
|
|
|
|
|
| intervention from the host controller. |
| 0 |
| EP_HSHK |
|
| Endpoint Handshaking |
|
|
|
|
|
| 1 = defines whether the endpoint performs handshaking during a transaction to |
|
|
|
|
|
| this endpoint |
|
|
|
|
|
| This bit is generally set, unless it is an isochronous endpoint. |
49