Specifications
CY7C65620
CY7C65630
Document Number: 38-08037 Rev. AB Page 17 of 32
Byte 19: Write Protect
Writing the value 0x42 to this field enables Write Protect and
any future writes to the EEPROM fail. Default is set to ‘0’.
Byte 20: NumLangs
Number of supported string languages.
CY7C65620/CY7C65630 supports a maximum of 31
languages; if this field is set to ‘0’ or a number larger than 31,
all string support is disabled.
Byte 21: SupportedStrings
This field contains a bitmap of strings supported by the hub.
A set bit indicates that the standard string is supported. A bit
not set indicates that the string is not supported. The hub
controller returns a non zero index for each string that is
supported, and returns 0x00 for each string not supported, as
indicated by this field. The bits in this field correspond to the
following standard strings.
Byte 22: ActivePorts[3:0]
Bits 3–0 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 sets this field to 0x09. The total
number of ports reported in the Hub Descriptor: bNbrPorts
field is calculated from this. Default 0x0F.
Byte 23: RemovablePorts[3:0]
Bits 3–0 are the RemovablePorts[3:0] bits that indicates
whether the corresponding logical port is removable (set to
high). Logical port numbers are from 1 to n where n is the total
number of active ports. If port 2 is disabled then physical ports
1, 3, and 4 map to logical ports 1, 2, and 3. These bit values
are recorded in the HubDescriptor:DeviceRemovable field.
Default 0x0F.
Byte 24: LangID
Array of LangID codes supported by the hub. Each LangID
consists of two bytes, stored LSB first. The array has
NumLangs entries (2 × NumLangs bytes).
Byte a: iManufacturer
Array of addresses for the iManufacturer strings. Each
address is two bytes long, stored LSB first. The array has
NumLangs entries (2 × NumLangs bytes). The starting
EEPROM address is based upon the number entered for
NumLangs. The address a = 24 + 2 × NumLangs.
Byte b: iProduct
Array of addresses for the iProduct strings. Each address is
two bytes long, stored LSB first. The array has NumLangs
entries (2 × NumLangs bytes).
The address b = a + 2 × NumLangs.
Byte c: iSerialNumber
Array of addresses for the iSerialNumber strings. Each
address is two bytes long, stored LSB first. The array has
NumLangs entries (2 × NumLangs bytes).
The address c = b + 2 × NumLangs.
Byte d: iConfiguration(Full Speed)
Array of addresses for the iConfiguration (full speed) strings.
Each address is two bytes long, stored LSB first. The array
has NumLangs entries (2 × NumLangs bytes).
The address d = c + 2 × NumLangs.
Byte e: iConfiguration(High Speed)
Array of addresses for the iConfiguration (high speed) strings.
Each address is two bytes long, stored LSB first. The array
has NumLangs entries (2 × NumLangs bytes).
The address e = d + 2 × NumLangs.
Byte f: iInterface(0)
Array of addresses for the iInterface(0) strings. Each address
is two bytes long, stored LSB first. The array has NumLangs
entries (2 × NumLangs bytes).
The address f = e + 2 × NumLangs.
Byte g: iInterface(1)
Reserved
Byte h: Strings
Strings addressed by the string pointers. Strings must comply
with the USB specification. The first byte must be the length of
the string in bytes, the second must be 0x03, and the string must
be in Unicode.
Table 4. Byte 21 Supported Strings
Bit Name Description
7 Reserved –
6 Reserved –
5 Interface (0)
The Interface string index
reported in the first interface
descriptor (alternate setting 0)
4 iConfiguration
(high speed) The iConfiguration
string index reported in the
configuration descriptor, when
operating at high speed
3 iConfiguration
(full speed) The iConfiguration
string index reported in the
configuration descriptor, when
operating at full speed
2 iSerial Number
The iSerialNumber string index
reported in the device descriptor
1 iProduct
The iProduct string index
reported in the device descriptor
0 iManufacturer
The iManufacturer string index
reported in the device descriptor