English
Language : 

LAN9730 Datasheet, PDF (99/222 Pages) SMSC Corporation – High-Speed Inter-Chip (HSIC) USB 2.0
LAN9730/LAN9730i
Note: The bmAttributes field of the HS and FS descriptors in Descriptor RAM (if present) must be consistent with
the contents of the Flag Attributes Register (FLAG_ATTR).
4.8.3 DESCRIPTOR RAM INITIALIZATION
The Descriptor RAM contents are initialized using the Data Port registers. The Data Port registers are used to select the
Descriptor RAM and write the descriptor elements into it. The Descriptor RAM is 512 bytes in length. Every descriptor
written into the Descriptor RAM must be DWORD aligned. The Attributes registers discussed in Section 4.8.2 must be
written with the length of the descriptors written into the Descriptor RAM. If a descriptor is not used, hence not written
into Descriptor RAM, its length must be written as 0 into the associated Attribute register.
Note: The Attributes registers must be initialized before the Descriptor RAM.
Note: Address 0 of the Descriptor RAM is always reserved for the Language ID descriptor, even if it will not be
supported.
The descriptors must be written in the following order, starting at address 0 of the RAM and observing the DWORD align-
ment rule:
• Language ID Descriptor
• Manufacturing String Descriptor (String Index 1)
• Product Name String Descriptor (String Index 2)
• Serial Number String Descriptor (String Index 3)
• Configuration String Descriptor (String Index 4)
• Interface String Descriptor (String Index 5)
• HS Device Descriptor
• HS Configuration Descriptor
• FS Device Descriptor
• FS Configuration Descriptor
An example of Descriptor RAM use is illustrated in Figure 4-28.
As in the case of descriptors specified in EEPROM, the following restrictions apply to descriptors written into Descriptor
RAM:
1. For Device Descriptors, the only valid values for the length are 0 and 18. The descriptor size for the Device
Descriptors specified in the Descriptor RAM is a don't care and always overwritten by HW to 0x12 when trans-
mitting the descriptor to the host.
2. The descriptor type for Device Descriptors specified in the Descriptor RAM is a don't care and is always overwrit-
ten by HW to 0x1 when transmitting the descriptor to the host.
3. For the Configuration and Interface Descriptor, the only valid values for the length are 0 and 18. The descriptor
size for the Device Descriptors specified in the Descriptor RAM is a don't care and always overwritten by HW to
0x12 when transmitting the descriptor to the host.
4. The descriptor type for the Configuration Descriptors specified in the Descriptor RAM is a don't care and always
overwritten by HW to 0x2 when transmitting the descriptor to the host.
5. If a String Descriptor does not exist in the Descriptor RAM, the referencing descriptor must contain 00h for the
respective string index field.
6. If all String Descriptor lengths are zero than a Language ID will not be supported.
Note: The first entry in the Descriptor RAM is always reserved for the Language ID descriptor, even if it will not
be supported.
Note: Descriptors specified having bcdUSB, bMaxPacketSize0, and bNumConfigurations fields defined with val-
ues other than 0200h, 40h, and 1, respectively, will result in unwanted behavior and untoward results.
 2012-2015 Microchip Technology Inc.
DS00001946A-page 99