CHAPTER 12 USB FUNCTION CONTROLLER (USBF)
Preliminary User’s Manual U19014EJ1V0UD
346
(11) UF0 configuration/interface/endpoint descriptor registers 0 to 255 (UF0CIE0 to UF0CIE255)
These registers store the value to be returned in response to the GET_DESCRIPTOR Configuration request.
These registers can be read or written in 8-bit units. However, data can be written to these registers only
when the EP0NKA bit is set to 1.
Descriptor information of up to 256 bytes can be stored in these registers. Store each descriptor in the order
of Configuration, Interface, and Endpoint (see
Table 12-6
). If there are two or more Interfaces, repeatedly
store the data following the Interface descriptor.
Table 12-6. Mapping of UF0CIEn Register
Address Descriptor
Stored
F9E3H
Configuration descriptor (9 bytes)
F9ECH
Interface descriptor (9 bytes)
F9F5H
Endpoint1 descriptor (7 bytes)
F9FCH
Endpoint2 descriptor (7 bytes)
FA03H :
: :
FAxxH
Interface descriptor (9 bytes)
FAxxH + 9
Endpoint1 descriptor (7 bytes)
FAxxH + 16
Endpoint2 descriptor (7 bytes)
FAxxH + 23
:
: :
The range of the valid data that can be set to these registers varies according to the setting of the UF0DSCL
register. In addition to the descriptors listed in Table 12-7, descriptors peculiar to classes and vendors can
also be stored.
If all the values are fixed, they can be stored in ROM.
Cautions 1. To rewrite these registers, set the EP0NKA bit to 1 before reading the register contents,
and rewrite the register contents after confirming that the bit has been set, in order to
prevent conflict between a read access and a write access.
2. Use the value defined by USB Specification Ver. 2.0 and the latest Class Specification as
the set value.
UF0CIEn
(n = 0 to 255)
5
3
2
1
After reset
0
4
6
7
F9E3H to
FAE2H
Undefined
Address
electronic components distributor