English
Language : 

EZ-USB Datasheet, PDF (73/334 Pages) Cypress Semiconductor – The EZ-USB USB Integrated Circuit
4.10 I2C Boot Loader
When the EZ-USB chip comes out of reset, the EZ-USB boot loader checks for the pres-
ence of an EEPROM on its I2C bus. If an EEPROM is detected, the loader reads the first
EEPROM byte to determine how to enumerate (specifically, whether to supply ID infor-
mation from the EZ-USB core or from the EEPROM). The various enumeration modes
are described in Chapter 5, "EZ-USB Enumeration and ReNumeration™."
Prior to reading the first EEPROM byte, the boot loader must set an address counter inside
the EEPROM to zero. It does this by sending a control byte (write) to select the
EEPROM, followed by a zero address to set the internal EEPROM address pointer to zero.
Then it issues a control byte (read), and reads the first EEPROM byte.
The EZ-USB boot loader supports two I2C EEPROM types:
• EEPROMs with address A[7..4]=1010 that use an 8-bit address (example:
24LC00, LC01/A, LC02/A).
• EEPROMs with address A[7..4]=1010 that use a 16-bit address (example:
24LC00, LC01/A, LC02/A).
EEPROMs with densities up to 256 bytes require loading a single address byte. Larger
EEPROMs require loading two address bytes.
The EZ-USB I2C controller needs to determine which EEPROM type is connected—one
or two address bytes—so that it can properly reset the EEPROM address pointer to zero
before reading the EEPROM. For the single-byte address part, it must send a single zero
byte of address, and for the two-byte address part it must send two zero bytes of address.
Because there is no direct way to detect which EEPROM type—single or double
address—is connected, the I2C controller uses the EEPROM address pins A2, A1, and A0
to determine whether to send out one or two bytes of address. This algorithm requires that
the EEPROM address lines are strapped as shown in Table 4-2. Single-byte-address
EEPROMs are strapped to address 000 and double-byte-address EEPROMs are strapped
to address 001.
Page 4-12
Chapter 4. EZ-USB CPU
EZ-USB TRM v1.9