SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
When device ROM Code enumerates through USB, one may want to use his/her own vendor and product IDs rather than TI defaults. Product and Vendor IDs are transmitted as part of the USB Standard Device Descriptor during the USB device enumeration process (resp. idProduct and idVendor 16 bits fields).
Product IDs (PIDs) and vendor IDs (VIDs) are stored as part of device chip eFuses and readable from control module. The built-in USB ROM driver behaves differently whether the VID value is either left unfused, or fused with a customer-specific VID. Thus, two main cases are distinguished:
Table 32-35 lists standard USB ROM device descriptors. Table 32-36 lists USB ROM descriptor strings.
Device Descriptor Field | Size (Bytes) | VID≠0x0000(1) (fused) | VID=0x0000 (unfused)(2) |
---|---|---|---|
bLength | 1 | 0x12 | |
bDescriptorType | 1 | 0x1 | |
bcdUSB | 2 | 0x0200 (if enumerated in USB2.0 HS or FS) | |
bDeviceClass | 1 | 0xFF | |
bDeviceSubClass | 1 | 0xFF | |
bDeviceProtocol | 1 | 0xFF | |
bMaxPacketSize0 | 1 | 0x40 (64 bytes if enumerated in USB2.0 HS or FS) | |
idVendor | 2 | (VID value from control module) | 0x0451 |
idProduct | 2 | (PID value from control module) | 0xD013 |
bcdDevice | 2 | 0x0000 | |
iManufacturer | 1 | 0x20 | 0x21 |
iProduct | 1 | 0x24 | 0x25 |
iSerialNumber | 1 | 0 | |
bNumConfigurations | 1 | 1 |
String Descriptor | Size (bytes) | VID ≠ 0x0000 | VID=0x0000(unfused)(1) |
---|---|---|---|
Serial Number | N/A | ||
Configuration | 8 | "pbc" | |
Interface | 8 | "pbi" | |
Product | 8/18 | N/A | <string> |
Manufacturer | 8/36 | N/A | "Texas Instruments" |
The ROM code transmits additional descriptors as part of the enumeration procedure: configuration descriptor, device qualifier, language ID string, configuration string, interface string, and function string descriptors. Those do not depend on the VID or PID value.