
EZ-USB TRM v1.9
Chapter 5. EZ-USB CPU
Page 5-7
When the EZ-USB chip comes out of reset, the EZ-USB core makes a decision about how
to enumerate based on the contents of an external EEPROM on its I
2
C bus. Table 5-5
shows the choices. In Table 5-5, PID means Product ID, VID means Version ID, and DID
means Device ID.
If no EEPROM is present, or if one is present but the first byte is neither 0xB0 nor 0xB2,
the EZ-USB core enumerates using internally stored descriptor data, which contains the
Cypress Semiconductor VID, PID, and DID. These ID bytes cause the host operating sys-
tem to load a Cypress Semiconductor device driver. The EZ-USB core also establishes the
Default USB device
. This mode is only used for code development and debug.
If a serial EEPROM is attached to the I
2
C bus and its first byte is 0xB0, the EZ-USB core
enumerates with the same internally stored descriptor data as for the no-EEPROM case,
but with one difference. It supplies the PID/VID/DID data from six bytes in the external
EEPROM rather than from the EZ-USB core. The custom VID/PID/DID in the EEPROM
causes the host operating system to load a device driver that is matched to the EEPROM
VID/PID/DID. This EZ-USB operating mode provides a
soft
USB device using ReNu-
meration
.
If a serial EEPROM is attached to the I
2
C bus and its first byte is 0xB2, the EZ-USB core
transfers the contents of the EEPROM into internal RAM. The EZ-USB core also sets the
ReNum bit to 1 to indicate that the 8051 (and not the EZ-USB core) responds to device
requests over CONTROL endpoint zero (see the text box, “When ReNum=1 at Power-
On” on page 5-6). Therefore, all descriptor data, including VID/DID/PID values, are sup-
plied by the 8051 firmware. The last byte loaded from the EEPROM (to the CPUCS reg-
ister) releases the 8051 reset signal, allowing the EZ-USB chip to come up as a fully
custom device with firmware in RAM.
The following sections discuss these enumeration methods in detail.
5.5
Enumeration Modes
Table 5-5. EZ-USB Core Action at Power-Up
FirstEEPROMbyte
EZ-USB CoreAction
Not0xB0or0xB2
Suppliesdescriptors, PID/VID/DIDfromEZ-USB
Core. SetsReNum=0.
0xB0
SuppliesdescriptorsfromEZ-USBcore,PID/VID/DID
fromEEPROM. SetsReNum=0.
0xB2
LoadsEEPROMintoEZ-USBRAM SetsReNum=1;
therefore8051suppliesdescriptors, PID/VID/DID.