28 USB FUNCTION CONTROLLER (USB)
28-56
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
DescAdrs[11:0]
Specifies the start address of the FIFO used at the start of Descriptor reply operation, Descriptor write
operation and Descriptor read operation in the Descriptor reply function.
The Descriptor Address does not have the function to allocate the FIFO area for the Descriptor reply
function. The entire FIFO area ranging from 0x0000 to 0x03ff (1K bytes) can be specified for the De-
scriptor Address, regardless of the FIFO area setting.
In the Description reply, DescAdrs is updated every time the IN transaction completes at the endpoint
EP0, as many times as the number of data transmitted. Refer to the item on the ReplyDescriptor of the
EP0Control register, for the Descriptor reply function.
Every time data is written into or read from the Descriptor, the DescAdrs is incremented by 1.
Refer to the item on the DescDoor register, for the Descriptor write and read functions.
The FIFO area for the Descriptor reply function is not allocated explicitly. Therefore, specify the
DescAdrs_H, L register and the DescSize_H, L register to avoid overlapping with FIFOs of other end-
points. Appropriate area is the area ranging from the end address of the area reserved by the endpoint
EP0 (0x0040) to the start address of the endpoint EPa (EPaStartAdrs_H, L).
When referring to the Descriptor Address, read from the DescAdrs_H to the DescAdrs_L.
DescSize_H (Descriptor Size HIGH)
DescSize_L (Descriptor Size LOW)
Register name Address
Bit
Name
Setting
Init. R/W
Remarks
DescSize_H
(Descriptor
size high)
0x300c8a
(8 bits)
D7–2 –
–
–
–
0 when being read.
D1–0 DescSize[9:8]
Descriptor size
0x0 R/W
DescSize_L
(Descriptor
size low)
0x300c8b
(8 bits)
D7–0 DescSize[7:0]
Descriptor size
0x0 R/W
DescSize[9:0]
Specifies the total number of the data to reply in Descriptor reply function, for the Descriptor Size. Re-
fer to the item on the ReplyDescriptor bit of the EP0Control register, for the Descriptor reply function.
The area ranging from 0x0000 to 0x03ff can be specified for the Descriptor Size regardless of the FIFO
area setting. In the Description reply, DescAdrs is updated every time the IN transaction completes at
the endpoint EP0, as many times as the number of data transmitted.
The FIFO area for the Descriptor reply function is not allocated explicitly. Therefore, specify the
DescAdrs_H, L register and the DescSize_H, L register to avoid overlapping with FIFOs of other end-
points. Use the area ranging from the end address of the area reserved by the endpoint EP0 (0x0040) to
the start address of the endpoint EPa (EPaStartAdrs_H, L).
When referring to the Descriptor Size, read from the DescSize_H to the DescSize_L.
DescDoor (Descriptor Door)
Register name Address
Bit
Name
Setting
Init. R/W
Remarks
DescDoor
(Descriptor
door)
0x300c8f
(8 bits)
D7–0 DescMode[7:0]
Descriptor door
0x0 R/W
D[7:0]
DescMode[7:0]
This register is the access register that is used for read and write for the Descriptor.
Before starting the write operation, set the start address of the area where the FIFO Descriptor is writ-
ten, into the DescAdrs_H, L register. And then performing writing one byte by one byte into this reg-
ister automatically increments the DescAdrs_H, L register one byte by one byte to write data sequen-
tially.
The data written by the DescDoor register can be used by the ReplyDescriptor function repeatedly.
Thus the Descriptor reply function protects these data from deletion and overwriting. However, if the
area where the Descriptor data is written into, is overlapped with the area secured by other endpoints,
the data will be overwritten.