Author: SananyaM_56 Version: **
Why does HX3 enumerate in Vendor Command Class with a different PID in I2C Master Boot mode?
When the boot mode is selected as I2C master mode (MODE_SEL=01), and the I2C slave (for example, EEPROM) is corrupted, HX3 bootloader can go into Vendor Command Class. HX3 will then enumerate with a PID different from the default one mentioned in the HX3 Kits User Guide and bind to the vendor driver. This can happen when one of the following conditions occur:
- There is no EEPROM present or the connected I2C EEPROM is blank.
- The connected I2C EEPROM has firmware with invalid signature.
- The connected I2C EEPROM has firmware has invalid contents.
In the case of the first two conditions, HX3 will enumerate as a USB 2.0 hub with a Vendor mode PID that is programmed into the e-Fuse. See the HX3 datasheet for the default vendor PIDs for different parts.
In the case of the third condition, HX3 enumerates with a PID that is calculated from the programmed I2C USB 3.0 PID+0x03.
To avoid this, the boot mode can be selected as internal ROM mode (MODE_SEL=11) in which case HX3 will enumerate with the default PID as per the part number.