![Texas Instruments AM1808 Technical Reference Manual Download Page 1672](http://html.mh-extra.com/html/texas-instruments/am1808/am1808_technical-reference-manual_10945581672.webp)
Architecture
1672
SPRUH82C – April 2013 – Revised September 2016
Copyright © 2013–2016, Texas Instruments Incorporated
Universal Serial Bus 2.0 (USB) Controller
NOTE:
While EOIR is not written, the interrupt from the USB controller remains asserted.
34.2.9 Test Modes
The USB2.0 controller supports the four USB 2.0 test modes defined for high-speed functions. It also
supports an additional “FIFO access” test mode that can be used to test the operation of the CPU
interface, the DMA controller (if configured), and the RAM block.
The test modes are entered by writing to the TESTMODE register. A test mode is usually requested by
the host sending a SET_FEATURE request to Endpoint 0. When the software receives the request, it
should wait until the Endpoint 0 transfer has completed (when it receives the Endpoint 0 interrupt
indicating the status phase has completed) then write to the TESTMODE register.
NOTE:
These test modes have no purpose in normal operation.
34.2.9.1 TEST_SE0_NAK
To enter the Test_SE0_NAK test mode, the software should set the TEST_SE0_NAK bit in the
TESTMODE register to 1. The USB controller will then go into a mode in which it responds to any valid IN
token with a NAK.
34.2.9.2 TEST_J
To enter the Test_J test mode, the software should set the TEST_J bit in the TESTMODE register to 1.
The USB controller will then go into a mode in which it transmits a continuous J on the bus.
34.2.9.3 TEST_K
To enter the Test_K test mode, the software should set the TEST_K bit in the TESTMODE register to 1.
The USB controller will then go into a mode in which it transmits a continuous K on the bus.
34.2.9.4 TEST_PACKET
To execute the Test_Packet, the software should:
1. Start a session (if the core is being used in Host mode).
2. Write the standard test packet (shown below) to the Endpoint 0 FIFO.
3. Write 8h to the TESTMODE register (TEST_PACKET = 1) to enter Test_Packet test mode.
4. Set the TxPktRdy bit in the CSR0 register (D1).
The 53 by test packet to load is as follows (all bytes in hex). The test packet only has to be loaded once;
the USB controller will keep re-sending the test packet without any further intervention from the software.
This data sequence is defined in Universal Serial Bus Specification Revision 2.0, Section 7.1.20. The USB
controller will add the DATAA0 PID to the head of the data sequence and the CRC to the end.
00
00
00
00
00
00
00
00
00
AA
AA
AA
AA
AA
AA
AA
AA
EE
EE
EE
EE
EE
EE
EE
EE
FE
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
FF
7F
BF
DF
EF
F7
FB
FD
FC
7E
BF
DF
EF
F7
FB
FD
7E