SLAU723A October 2017 – October 2018 MSP432E401Y , MSP432E411Y
When operating as a device, the USB controller provides two dedicated control endpoints (IN and OUT) and 14 configurable endpoints (seven IN and seven OUT) that can be used for communications with a host controller. The endpoint number and direction associated with an endpoint is directly related to its register designation. For example, when the host is transmitting to endpoint 1, all configuration and data is in the endpoint 1 transmit register interface.
Endpoint 0 is a dedicated control endpoint used for all control transactions to endpoint 0 during enumeration or when any other control requests are made to endpoint 0. Endpoint 0 uses the first 64 bytes of the FIFO RAM of the USB controller as a shared memory for both IN and OUT transactions.
The remaining 14 endpoints can be configured as control, bulk, interrupt, or isochronous endpoints. They should be treated as seven configurable IN and seven configurable OUT endpoints. The endpoint pairs are not required to have the same type for their IN and OUT endpoint configuration. For example, the OUT portion of an endpoint pair could be a bulk endpoint, while the IN portion of that endpoint pair could be an interrupt endpoint. The address and size of the FIFOs attached to each endpoint can be modified to fit the application's needs.