0 supported usb requests, 1 device class commands, Cy7c656xx preliminary – Cypress EZ-USB HX2LP User Manual
Page 16

CY7C656xx
PRELIMINARY
Document #: 38-08037 Rev. *D
Page 16 of 23
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 would set this field to 0x09. The total
number of ports reported in the Hub Descriptor: bNbrPorts
field is calculated from this.
Byte 23: RemovablePorts[3:0]
Bits 3–0 are the RemovablePorts[3:0] bits that indicates
whether the corresponding port is removable (set to high).
This bit values are recorded appropriately in the
HubDescriptor:DeviceRemovable field. Default: 0xFF.
Byte 24: LangID
Array of LangID codes supported by the hub. Each LangID
consists of two bytes, stored LSB first. The array has Num-
Langs entries (2 * NumLangs bytes).
Byte a: iManufacturer
Array of addresses for the iManufacturer strings. Each ad-
dress is two bytes long, stored LSB first. The array has
NumLangs entries (2 * NumLangs bytes). (The starting EE-
PROM 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 Num-
Langs entries (2 * NumLangs bytes).
The address b = a + 2*NunLangs.
Byte c: iSerialNumber
Array of addresses for the iSerialNumber strings. Each ad-
dress 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 ad-
dress 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)
Array of addresses for the iInterface(1) strings. Each ad-
dress is two bytes long, stored LSB first. The array has
NumLangs entries (2 * NumLangs bytes).
The address g = f + 2 * NumLangs.
Byte h: Strings
Strings addressed by the string pointers. Strings must com-
ply 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.
10.0
Supported USB Requests
10.1
Device Class Commands
Table 10-1. Device Class Requests
Request
bmRequestType
bRequest
wValue
wIndex
wLength
Data
GetDeviceStatus
10000000B
0x00
0x0000
0x0000
0x0002
2 Byte Device Status
GetInterfaceStatus
10000001B
0x00
0x0000
0x0000
0x0002
2 Byte Endpoint
Status
GetEndpointStatus
10000010B
0x00
0x0000
0x0000
0x0002
2 Byte Endpoint
Status
GetDeviceDescriptor
10000000B
0x06
0x0001
Zero or
Language ID
Descriptor
Length
Descriptor
GetConfigDescriptor
10000000B
0x06
0x0002
Zero or
Language ID
Descriptor
Length
Descriptor
GetDeviceQualifierDe-
scriptor
10000000B
0x06
0x0006
Zero or
Language ID
Descriptor
Length
Descriptor
GetOtherSpeedConfigura-
tionDescriptor
10000000B
0x06
0x0007
Zero or
Language ID
Descriptor
Length
Descriptor
GetConfiguration
10000000B
0x08
0x0000
0x0000
0x0001
Configuration value
SetCongfiguration
00000000B
0x09
Configuration
Value
0x0000
0x0000
None
GetInterface
10000001B
0xA
0x0000
0x0000
0x0001
Interface Number
Note:
12. Only one configuration is supported in CY7C656xx.