Table 4-2. Strap Boot EEPROM Address Lines to These Values
Example
Bytes
A2
A1
A0
EEPROM
24LC00*
24LC01
24LC02
24LC32
24LC64
16
128
256
4K
8K
N/A
0
N/A
0
N/A
0
0
0
0
0
0
1
0
0
1
* This EEPROM does not have address pins
The I2C controller performs a three-step test at power-on to determine whether a one-byte-
address or a two-byte-address EEPROM is attached. This test proceeds as follows:
1. The I2C controller sends out a “read current address” command to I2C sub-address
000 (10100001). If no ACK is returned, the controller proceeds to step 2. If ACK
is returned, the one-byte-address device is indicated. The controller discards the
data and proceeds to step 3.
2. The I2C controller sends out a “read current address” command to I2C sub-address
001 (10100011). If ACK is returned, the two-byte-address device is indicated.
The controller discards the data and proceeds to step 3. If no ACK is returned, the
controller assumes that a valid EEPROM is not connected, assumes the “No Serial
EEPROM” mode, and terminates the boot load.
3. The I2C controller resets the EEPROM address pointer to zero (using the appropri-
ate number of address bytes), then reads the first EEPROM byte. If it does not
read 0xB0 or 0xB2, the controller assumes the “No Serial EEPROM” mode. If it
reads either 0xB0 or 0xB2, the controller copies the next six bytes into internal
storage, and if it reads 0xB2, it proceeds to load the EEPROM contents into inter-
nal RAM.
EZ-USB TRM v1.9
Chapter 4. EZ-USB CPU
Page 4-13