
CY7C65640A
Document #: 38-08019 Rev. *H
Page 11 of 21
8.0
Configuration Options
Systems using TetraHub must have an external EEPROM in
order for the device to have a unique VID, PID, and DID. The
TetraHub can talk to SPI EEPROM that are double byte
addressable only. TetraHub uses the command format from
the '040 parts. The TetraHub cannot talk to ‘080 EEPROM
parts, as the read command format used for talking to ‘080 is
not the same as ‘040. The '010s and '020s uses the same
command format as used to interface with the ‘040 and hence
these can also be used to interface with the TetraHub.
8.1
When used in default mode, only a unique VID, PID, and DID
must be present in the external SPI EEPROM. The contents
of the EEPROM must contain this information in the following
format:
Default – 0xD0 Load
8.2
Configured – 0xD2 Load
Byte 0: 0xD2
Needs to be programmed with 0xD2
Byte 1: VID (LSB)
Least Significant Byte of Vendor ID
Byte 2: VID (MSB)
Most Significant Byte of Vendor ID
Byte 3: PID (LSB)
Least Significant Byte of Product ID
Byte 4: PID (MSB)]
Most Significant Byte of Product ID
Byte 5: DID (LSB)
Least Significant Byte of Device ID
Byte 6: DID (MSB)]
Most Significant Byte of Device ID
Byte 7: EnableOvercurrentTimer[3:0], DisabledOvercur-
rentTimer[3:0]
Count time in ms for filtering overcurrent detection. Bits 7–4
are for an enabled port, and bits 3–0 are for a disabled port.
Both range from 0 ms to 15 ms. See section 4.8. Default: 8
ms = 0x88.
Byte 8: ActivePorts[3:0], RemovablePorts[3:0]
Bits 7–4 are the ActivePorts[3:0] bits that indicates if the
corresponding port is usable. For example, a two-port hub
that uses ports 1 and 4 would set this field to 0x09. The total
number of ports reported in the Hub Descriptor: bNbrPorts
field is calculated from this. Bits 3–0 are the Removable-
Ports[3:0] bits that indicates whether the corresponding
port is removable (set to HIGH). This bit’s values are re-
corded
appropriately
HubDescriptor:DeviceRemovable field. Default: 0xFF.
Byte 9: MaximumPower
This value is reported in the ConfigurationDescriptor:bMax-
Power field and is the current in 2-mA intervals that is re-
quired from the upstream hub. Default: 0x32 = 100 mA
Byte 10: HubControllerPower
This value is reported in the HubDescriptor:bHubContrCur-
rent field and is the current in milliamperes required by the
hub controller. Default: 0x64 = 100 mA.
Byte 11: PowerOnTimer
This
value
is
reported
tor:bPwrOn2PwrGood field and is the time in 2-ms intervals
from the SetPortPower command until the power on the
corresponding downstream port is good. Default: 0x32 =
100 ms.
Byte 12: IllegalHubDescriptor, Unused, FullspeedOnly,
NoPortIndicators, Reserved, GangPowered, SingleT-
TOnly, NoEOPatEOF1
Bit 7: IllegalHubDescriptor: For GetHubDescriptor request,
some USB hosts use a DescriptorTypeof 0x00 instead of
HUB_DESCRIPTOR, 0x29. According to the USB 2.0 stan-
dard, a hub must treat this as a Request Error, and STALL
the transaction accordingly (USB 2.0, 11.24.2.5). For sys-
tems that do not accept this, the IllegalHubDescriptor con-
figuration bit may be set to allow TetraHub to accept a De-
scriptorType of 0x00 for this command. Default is 0,
recommended setting is 1.
Bit 6: Unused: This bit is an unused, don’t care bit and can
be set to anything.
Bit 5: Fullspeed: Only configures the hub to be a full-speed
only device. Default set to 0.
in
the
in
the
HubDescrip-
Byte
0
1
2
3
4
5
6
Value
0xD0
VID (LSB)
VID (MSB)
PID (LSB)
PID (MSB)
DID (LSB)
DID (MSB)
Byte
0
1
2
3
4
5
6
7
Value (MSB->LSB)
0xD2
VID (LSB)
VID (MSB)
PID (LSB)
PID (MSB)
DID (LSB)
DID (MSB)
EnableOverCurrentTimer[3:0], DisableOvercurrent-
Timer[3:0]
ActivePorts[3:0], RemovablePorts[3:0]
MaxPower
HubControllerPower
PowerOnTimer
IllegalHubDescriptor, Unused, FullspeedOnly,
NoPortIndicators, Reserved, GangPowered, SingleT-
TOnly, NoEOPatEOF1
8
9
10
11
12