Register Map
1292
SPRUH22I – April 2012 – Revised November 2019
Copyright © 2012–2019, Texas Instruments Incorporated
M3 Universal Serial Bus (USB) Controller
Configuring each endpoint’s FIFO involves reserving a portion of the overall USB FIFO RAM to each
endpoint. The total FIFO RAM available is 4 Kbytes with the first 64 bytes reserved for endpoint 0. The
endpoint’s FIFO must be at least as large as the maximum packet size. The FIFO can also be configured
as a double-buffered FIFO so that interrupts occur at the end of each packet and allow filling the other half
of the FIFO.
If operating as a device, the USB device controller's soft connect must be enabled when the device is
ready to start communications, indicating to the host controller that the device is ready to start the
enumeration process. If operating as a Host controller, the device soft connect must be disabled and
power must be provided to VBUS via the USB0EPEN signal.
18.4 Register Map
lists the registers. All addresses given are relative to the USB base address of 0x4005.0000.
Note that the USB controller clock must be enabled before the registers can be programmed (see the
System Control
chapter).
Table 18-4. Universal Serial Bus (USB) Controller Register Map
Offset
Name
Type
Reset
Description
Section
0x000
R/W
0x00
USB Device Functional Address
0x001
R/W
0x20
USB Power
0x002
USBTXIS
RO
0x0000
USB Transmit Interrupt Status
0x004
USBRXIS
RO
0x0000
USB Receive Interrupt Status
0x006
USBTXIE
R/W
0xFFFF
USB Transmit Interrupt Enable
0x008
USBRXIE
R/W
0xFFFE
USB Receive Interrupt Enable
0x00A
RO
0x00
USB General Interrupt Status
0x00B
R/W
0x06
USB Interrupt Enable
0x00C
USBFRAME
RO
0x0000
USB Frame Value
0x00E
USBEPIDX
R/W
0x00
USB Endpoint Index
0x00F
USBTEST
R/W
0x00
USB Test Mode
0x020
USBFIFO0
R/W
0x0000.0000
USB FIFO Endpoint 0
0x024
USBFIFO1
R/W
0x0000.0000
USB FIFO Endpoint 1
0x028
USBFIFO2
R/W
0x0000.0000
USB FIFO Endpoint 2
0x02C
USBFIFO3
R/W
0x0000.0000
USB FIFO Endpoint 3
0x030
USBFIFO4
R/W
0x0000.0000
USB FIFO Endpoint 4
0x034
USBFIFO5
R/W
0x0000.0000
USB FIFO Endpoint 5
0x038
USBFIFO6
R/W
0x0000.0000
USB FIFO Endpoint 6
0x03C
USBFIFO7
R/W
0x0000.0000
USB FIFO Endpoint 7
0x040
USBFIFO8
R/W
0x0000.0000
USB FIFO Endpoint 8
0x044
USBFIFO9
R/W
0x0000.0000
USB FIFO Endpoint 9
0x048
USBFIFO10
R/W
0x0000.0000
USB FIFO Endpoint 10
0x04C
USBFIFO11
R/W
0x0000.0000
USB FIFO Endpoint 11
0x050
USBFIFO12
R/W
0x0000.0000
USB FIFO Endpoint 12
0x054
USBFIFO13
R/W
0x0000.0000
USB FIFO Endpoint 13
0x058
USBFIFO14
R/W
0x0000.0000
USB FIFO Endpoint 14
0x05C
USBFIFO15
R/W
0x0000.0000
USB FIFO Endpoint 15
0x060
R/W
0x80
USB Device Control 53
0x062
USBTXFIFOSZ
R/W
0x00
USB Transmit Dynamic FIFO Sizing
0x063
R/W
0x00
USB Receive Dynamic FIFO Sizing
0x064
USBTXFIFOADD
R/W
0x0000
USB Transmit FIFO Start Address
0x066
R/W
0x0000
USB Receive FIFO Start Address
0x07A
R/W
0x5C
USB Connect Timing
0x07B
R/W
0x3C
USB OTG VBUS Pulse Timing