USB Registers
16.5.7.410 QUEUE_93_D Register (offset = 25DCh) [reset = 0h]
QUEUE_93_D is shown in
and described in
.
Figure 16-686. QUEUE_93_D Register
31
30
29
28
27
26
25
24
DESC_PTR
R/W-0
23
22
21
20
19
18
17
16
DESC_PTR
R/W-0
15
14
13
12
11
10
9
8
DESC_PTR
R/W-0
7
6
5
4
3
2
1
0
DESC_PTR
DESC_SIZE
R/W-0
R/W-0
LEGEND: R/W = Read/Write; R = Read only; W1toCl = Write 1 to clear bit; -n = value after reset
Table 16-700. QUEUE_93_D Register Field Descriptions
Bit
Field
Type
Reset
Description
31-5
DESC_PTR
R/W-0
0
Descriptor pointer.
It will be read as zero if the queue is empty.
It will indicate a
32-bit aligned address that points to a descriptor when the queue is
not empty.
4-0
DESC_SIZE
R/W-0
0
Descriptor Size.
It is encoded in
4-byte increments with values 0 to 31 representing 24 and so on to
148 bytes.
This field will return a 0x0 when an empty queue is read.
Queue Manager Queue N Registers D To save hardware resources,
the queue manager internally stores descriptor size (desc_size)
information in four bits.
However, register D has five LSBs that specify descriptor size.
As a consequence, the value of desc_size that is pushed may not be
same as that is read during a pop.
The value that is read back is equal to always rounded to an odd
number.
So, for even values, the value read back is one more than what was
written.
For odd values, the value read back is same as the value that was
written.
Note that this
5-bit field (desc_size) is unrelated to the code for size of descriptors
in a descriptor region.
It is just a place holder for a
5-bit value that is maintained across the push and pop operations for
every descriptor managed by the queue manager.
2518
Universal Serial Bus (USB)
SPRUH73H – October 2011 – Revised April 2013
Copyright © 2011–2013, Texas Instruments Incorporated