UM10503
All information provided in this document is subject to legal disclaimers.
© NXP B.V. 2012. All rights reserved.
User manual
Rev. 1.3 — 6 July 2012
523 of 1269
NXP Semiconductors
UM10503
Chapter 23: LPC43xx USB0 Host/Device/OTG controller
23.6.7 Device address (DEVICEADDR - device) and Periodic List Base
(PERIODICLISTBASE- host) registers
23.6.7.1 Device mode
The upper seven bits of this register represent the device address. After any controller
reset or a USB reset, the device address is set to the default address (0). The default
address will match all incoming addresses. Software shall reprogram the address after
receiving a SET_ADDRESS descriptor.
The USBADRA bit is used to accelerate the SET_ADDRESS sequence by allowing the
DCD to preset the USBADR register bits before the status phase of the SET_ADDRESS
descriptor.
23.6.7.2 Host mode
This 32-bit register contains the beginning address of the Periodic Frame List in the
system memory. The host controller driver (HCD) loads this register prior to starting the
schedule execution by the Host Controller. The memory structure referenced by this
1
0
1
32 elements (128 bytes)
7
1
1
0
16 elements (64 bytes)
6
1
1
1
8 elements (32 bytes)
5
Table 408. Number of bits used for the frame list index
USBCMD
bit 15
USBCMD
bit 3
USBCMD
bit 2
Frame list size
N
Table 409. USB Device Address register in device mode (DEVICEADDR - address 0x4000 6154) bit description
Bit
Symbol
Value Description
Reset
value
Access
23:0
-
Reserved
0
-
24
USBADRA
Device address advance
0
Any write to USBADR are instantaneous.
1
When the user writes a one to this bit at the same time or before USBADR
is written, the write to USBADR fields is staged and held in a hidden
register. After an IN occurs on endpoint 0 and is acknowledged, USBADR
will be loaded from the holding register.
Hardware will automatically clear this bit on the following conditions:
•
IN is ACKed to endpoint 0. USBADR is updated from the staging
register.
•
OUT/SETUP occurs on endpoint 0. USBADR is
not
updated.
•
Device reset occurs. USBADR is set to 0.
Remark:
After the status phase of the SET_ADDRESS descriptor, the
DCD has 2 ms to program the USBADR field. This mechanism will ensure
this specification is met when the DCD can not write the device address
within 2 ms from the SET_ADDRESS status phase. If the DCD writes the
USBADR with USBADRA=1 after the SET_ADDRESS data phase (before
the prime of the status phase), the USBADR will be programmed instantly
at the correct time and meet the 2 ms USB requirement.
31:25
USBADR
USB device address
0
R/W