Do I really need an EEPROM for the TeraHub?

Question: Can I use the default VID/PID and default descriptors and not have an EEPROM for the TeraHub ?

 

Answer:

As far as the functionality of the TeraHub goes you do not need an EEPROM. The device will enumerate with the default VID/PID of 0x04B4/0x6560.

Although it is not necessary to have an EEPROM for the device, we recommend that you use an EEPROM to have the device enumerate with your own VID/PID. You will need you own VID/PID in order to pass the USB compliance and get the device certified. For this, you will indeed need an EEPROM for to overwrite the default cypress VID/PID with your own vendor VID/PID. Also Along with the option of changing the VID/PID (0xD0 EEPROM load), users also have options (0xD2 load) on setting the number of ports, power consumption etc... Please see the datasheet for more information. This can only be done with an external EEPROM.

You will indeed need an EEPROM for to overwrite the VID/PID with your own vendor VID/PID for passing compliance and have the device certified. Also along with the option of changing the VID/PID (0xD0 EEPROM load), users also have options (0xD2 load) on setting the number of ports, power consumption etc... Please see the datasheet for more information. This can only be done with an external EEPROM.

Various fields of the wHubcharacterestic that defaults to 0 is recommended to be set to 1 and can only be done using the EEPROM. For example:

(1) IllegalHubDescriptor: For GetHubDescriptor request, some USB hosts use a DescriptorTypeof 0x00 instead of HUB_DESCRIPTOR, 0x29. According to the USB 2.0 standard, a hub must treat this as a Request Error, and STALL the transaction accordingly (USB 2.0, 11.24.2.5). For systems that do not accept this, the IllegalHubDescriptor configuration bit may be set to allow TetraHub to accept a DescriptorType of 0x00 for this command. Default is 0, recommended setting is 1 which can be set using the EEPROM. See Datasheet section 8.2 for further information

(2) NoEOPatEOF1: This turns off the EOP generation at EOF1 in full-speed mode. Note that several USB 1.1 hosts can not handle EOPatEOF1 properly. Cypress recommends that this option be turned off for general-purpose hubs. Default is 0, recommended setting is 1 which can be set using the EEPROM. See Datasheet section 8.2 for further information