an 9.29: usb20h04 4-port usb2.0 hub controller...

21
SMSC AN 9.29 APPLICATION NOTE Revision 1.4 (09-10-04) AN 9.29 USB20H04 4-Port USB2.0 Hub Controller Configuration Programming Preface This Application Note provides detailed information on methods to configure the USB20H04 4- Port USB2.0 Hub Controller in a hub system. Audience This manual assumes that the users have some familiarity with hardware design, USB protocols, and serial bus architectures. The goal of this application note is to provide information pertaining to the serial bus port of the USB20H04 that will assist in configuring the device using any of the supported methods. Overview The SMSC 4-port hub controller is fully compliant with the USB2.0 Specification and does not require firmware development. Refer to the complete datasheet for reference when using this application note. A default configuration is available in the USB20H04 following a reset. This configuration may be sufficient for some applications when it is desired to save the expense of an EEPROM. The controller may also be configured from a microcontroller or an external EEPROM. When using the microcontroller interface, the USB20H04 appears as an SMBus slave device. The EEPROM interface supports a 2-wire I2C device. Features Please refer to the USB20H04 datasheet for an updated list of features. General Features Compliant with USB2.0 Specification Hub controller IC with four downstream ports Four transaction translators ensure maximum USB throughput Enables bus-powered Hi-Speed hub design Compatible with On-The-Go (OTG) USB devices Integrated Session Request Protocol (SRP) operates with dual-role OTG hosts Default configuration with pin selectable options Serial interface to configure vendor ID and other options from EEPROM or microcontroller Flexible OEM configuration options Available in a 64-pin QFP

Upload: nguyendieu

Post on 11-Mar-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

SMSC AN 9.29 APPLICATION

AN 9.29

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

PrefaceThis Application Note provides detailed information on methods to configure the USB20H04 4-Port USB2.0 Hub Controller in a hub system.

AudienceThis manual assumes that the users have some familiarity with hardware design, USBprotocols, and serial bus architectures. The goal of this application note is to provide informationpertaining to the serial bus port of the USB20H04 that will assist in configuring the device usingany of the supported methods.

OverviewThe SMSC 4-port hub controller is fully compliant with the USB2.0 Specification and does notrequire firmware development. Refer to the complete datasheet for reference when using thisapplication note.

A default configuration is available in the USB20H04 following a reset. This configuration maybe sufficient for some applications when it is desired to save the expense of an EEPROM. Thecontroller may also be configured from a microcontroller or an external EEPROM. When usingthe microcontroller interface, the USB20H04 appears as an SMBus slave device. The EEPROMinterface supports a 2-wire I2C device.

Features

Please refer to the USB20H04 datasheet for an updated list of features.

General Features

■ Compliant with USB2.0 Specification

■ Hub controller IC with four downstream ports

■ Four transaction translators ensure maximum USB throughput

■ Enables bus-powered Hi-Speed hub design

■ Compatible with On-The-Go (OTG) USB devices

■ Integrated Session Request Protocol (SRP) operates with dual-role OTG hosts

■ Default configuration with pin selectable options

■ Serial interface to configure vendor ID and other options from EEPROM or microcontroller

■ Flexible OEM configuration options

■ Available in a 64-pin QFP

NOTE Revision 1.4 (09-10-04)

Page 2: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Hardware Features

■ Integrated termination and pull-up/pull-down resistors

■ Internal short circuit protection of DP and DM lines

■ On-chip oscillator uses low cost 24MHz crystal

■ Supports individual or ganged over-current protection and power control

■ LED drivers for each downstream port

Description of Serial InterfaceConfiguration of the USB20H04 is performed after reset. The USB20H04 can be configured either by an externalmicrocontroller or by an external EEPROM. The SMB_SEL_N pin determines the method used.

The SMBus interface shares the same pins as the EEPROM interface. If the SMB_SEL_N pin is configured toactivate the SMBus interface, external EEPROM support is no longer available and the user-defined configurationvalues must be loaded via the SMBus.

Pin Function ListingThe USB20H04 serial interface includes the following pins:

Two External Sources of Configuration Data

I2C EEPROM

The I2C EEPROM interface implements a subset of the I2C Master specification. The Hub’s I2CEEPROM interface is designed to attach to a single “dedicated” I2C EEPROM, and conforms to the

Table 1 USB20H04 Pin Table for Configuration Select and Serial Port Interface

NAMEBUFFER

TYPEACTIVELEVEL DESCRIPTION

SMB_SEL_N I N/A SMBus Select. Selects between configuration via the SMBus interface, or from an external EEPROM or using the internal default, as described in the table below.

SMB_SEL_N CS/EE_SEL SMBus or EEPROM interface configuration.

0 0 SMBus slave. Address: 0101100

0 1 SMBus slave. Address: 0101101

1 0 Internal default configuration.

1 1 2-wire EEPROM interface.

CS/EE_SEL IO8 N/A Chip Select. This multifunction pin is sampled on the rising edge of RESET_N. If SMB_SEL_N = 1, the internal default configuration will be used when this pin is low, or the external I2C EEPROM will supply the configuration when this pin is high. When SMB_SEL_N = 0, this pin selects the SMBus slave address, as described in the table above. Connect a 1k ohm resistor in series with the input when connecting this pin to either VDD or VSS.

SD/SDA IOSD12 N/A Serial Data. Data I/O on the 2-Wire interface.

SCK/SCL IOSD12 N/A Serial Clock. Clock for the 2-Wire interface.

Revision 1.4 (09-10-04) 2 SMSC AN 9.29APPLICATION NOTE

Page 3: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Standard-mode I2C specification (100kbit/s transfer rate and 7-bit addressing) for protocol andelectrical compatibility. Extensions to the I2C specification are not supported.

The USB20H04 acts as the master, and generates the serial clock SCL, controls the bus access(determines which device acts as the transmitter and which device acts as the receiver), and generatesthe START and STOP conditions.

IMPLEMENTATION CHARACTERISTICS

Serial EEPROM interface details may be obtained in the specific manufacturer’s datasheet. Forexample, the MicroChip 24AA00 Datasheet includes a section that describes the read operation.User’s of the USB20H04 will generally not need to be concerned with these details.

PULL-UP RESISTOR

The circuit board designer is required to place external pull-up resistors on the SDA & SCL lines (perSMBus 1.0 Specification, and EEPROM manufacturer guidelines) to VDD in order to assure properoperation.

I2C EEPROM SLAVE ADDRESS

Slave address is 1010xxx (where xxx is don’t care”). The optional 10-bit addressing is NOT supported.

I2C EEPROM DATA READ

Please refer to the Philips Semiconductor Standard I2C-Bus Specification for details on I2C busprotocols.

IN CIRCUIT EEPROM PROGRAMMING

The USB20H04 enables in circuit programming of the attached EEPROM by tri-stating the serialinterface when in reset. The circuit board would typically be designed with a header for makingconnection to a programmer.

SMBus Slave Interface

Instead of loading User-Defined Descriptor data from an external EEPROM, the USB20H04 can beconfigured to receive a code load from an external processor via an SMBus interface. The SMBusinterface shares the same pins as the EEPROM interface, and if the SMB_SEL pin is configured toactivate the SMBus interface, then external EEPROM support is no longer available. Due to systemissues, the USB20H04 will wait indefinitely for the SMBus code load to complete, and will only appearas a newly connected device on USB after the code load is complete.

The USB20H04 conforms to voltage, power, and timing specifications as set forth in the SMBus 1.0Specification for Slave-Only devices. The SMBus implementation is a subset of the SMBus interfaceto the host, since it only supports two protocols. The Write Byte and Read Byte protocols are the onlyvalid SMBus protocols for the USB20H04. The USB20H04 responds to other protocols as describedin the Invalid Protocol Section. Reference the System Management Bus Specification, Rev 1.0.

The SMBus interface is used to read and write the registers in the device. The register set is shownin section 3.3 Internal Memory Register Set.

Bus Protocols

Typical Write Byte and Read Byte protocols are shown below. Register accesses are performed using7-bit slave addressing, an 8-bit register address field, and an 8-bit data field. The shading indicatesthe Hub driving data on the SDA line; otherwise, host data is on the SDA line.

The slave address is the unique SMBus Interface Address for the Hub that identifies it on SMBus. Theregister address field is the internal address of the register to be accessed. The register data field isthe data that the host is attempting to write to the register or the contents of the register that the hostis attempting to read.

Data bytes are transferred MSB first.

SMSC AN 9.29 3 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 4: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

BYTE PROTOCOLS

When using the SMBus Interface for byte transfers, a write will always consist of the SMBus InterfaceSlave Address byte, followed by the Internal Address Register byte, then the data byte:

The normal read protocol consists of a write to the USB20H04 with the SMBus Interface Address byte,followed by the Internal Address Register byte. Then restart the Serial Communication with a Readconsisting of the SMBus Interface Address byte, followed by the data byte read from the Hub. Thiscan be accomplished by using the Read Byte protocol.

For the following SMBus tables:

Write Byte

The Write Byte protocol is used to write data to the registers. The data will only be written if theprotocol shown in Table 2 is performed correctly. Only one byte is transferred at time for a Write Byteprotocol.

Read Byte

The Read Byte protocol is used to read data from the registers. The data will only be read if theprotocol shown in Table 3 is performed correctly. Only one byte is transferred at time for a Read Byteprotocol.

Invalid Protocol Response Behavior

Registers that are accessed with an invalid protocol will not be updated. A register will only be updatedfollowing a valid protocol. The only valid protocols are Write Byte and Read Byte, which are describedabove.

The USB20H04 only responds to the Slave Address as defined in the USB20H04 datasheet.

Attempting to communicate with the Hub over SMBus with an invalid slave address, or invalid protocolwill result in no response, and the SMBus Slave Interface will return to the idle state.

The only valid registers that are accessible by the SMBus slave address are the registers defined inthe Registers Section. See section below for response to undefined registers.

UNDEFINED REGISTERS

Reads to undefined registers return NACK. Writes to undefined registers have no effect and returnNACK.

Table 2 SMBus Write Byte Protocol

FIELD: STARTSLAVE ADDR WR ACK REG. ADDR ACK REG. DATA ACK STOP

BITS: 1 7 1 1 8 1 8 1 1

Table 3 SMBus Read Byte Protocol

FIELD: STARTSLAVE ADDR WR ACK

REG. ADDR ACK START

SLAVE ADDR RD ACK

REG. DATA NACK STOP

BITS: 1 7 1 1 8 1 1 7 1 1 8 1 1

Denotes Master-to-Slave

Denotes Slave-to-Master

Revision 1.4 (09-10-04) 4 SMSC AN 9.29APPLICATION NOTE

Page 5: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

General Call Address Response

The USB20H04 will not respond to a general call address of 0000_000b. The general call address isfor addressing every device connected to the I2C-bus. However, if a device doesn’t need any of thedata supplied within the general call structure, it can ignore this address by not issuing anacknowledgement.

Slave Device Time-Out

According to SMBus specification, v1.0 devices in a transfer can abort the transfer in progress andrelease the bus when any single clock low interval exceeds 25ms (TTIMEOUT, MIN). Devices thathave detected this condition must reset their communication and be able to receive a new STARTcondition no later than 35ms (TTIMEOUT, MAX).

Note: Some simple devices do not contain a clock low drive circuit; this simple kind of device typicallyresets its communications port after a start or stop condition.

Stretching the SCLK Signal

The USB20H04 supports stretching of the SCLK by other devices on the SMBus, but does not stretchthe SCLK. This is related to a provision in the I2C specification that allows a device to delay the serialtransfer by stretching the low period of the clock.

SMBus Timing

The SMBus Slave Interface complies with the SMBus AC Timing Specification. See the SMBus timingin the Timing Diagram section.

Bus Reset Sequence

The SMBus Slave Interface will reset and return to the idle state upon a START field followedimmediately by a STOP field.

SMBus Alert Response Address

SMBALERT# signal is not supported by the USB20H04.

Internal Memory Register Set

Table 4 SMBus Slave Interface Register Map

REGISTER ADDRESS

READ/WRITE REGISTER NAME

BIT 7 (MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1

BIT 0 (LSB)

00h R/W Status/Command 7 6 5 4 3 2 1 0

01h R/W VID MSB 15 14 13 12 11 10 9 8

02h R/W VID LSB 7 6 5 4 3 2 1 0

03h R/W PID MSB 15 14 13 12 11 10 9 8

04h R/W PID LSB 7 6 5 4 3 2 1 0

05h R/W DID MSB 15 14 13 12 11 10 9 8

06h R/W DID LSB 7 6 5 4 3 2 1 0

07h R/W Config Data Byte 3 7 6 5 4 3 2 1 0

08h R/W Config Data Byte 2 7 6 5 4 3 2 1 0

09h R/W Config Data Byte 1 7 6 5 4 3 2 1 0

SMSC AN 9.29 5 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 6: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Undefined Registers

The registers shown in the table above are the defined registers in the Hub. Reads to undefinedregisters return 00h. Writes to undefined registers have no effect and do not return an error.

Register 00h: Status/Command

Registers 02-01h: Vendor ID

0Ah R/W Max Power 7 6 5 4 3 2 1 0

0Bh R/W Hub Controller Max Current

7 6 5 4 3 2 1 0

0Ch R/W Power-on Time 7 6 5 4 3 2 1 0

BIT NUMBER BIT NAME DESCRIPTION

7:2 Reserved Reserved

1 WRITE_PROT Write Protect: The external SMBus host sets this bit after the Hub’s internal memory is loaded with configuration data. Note: The External SMBus Host is responsible for verification of

downloaded data.

0 = The internal memory (address range 01-0Ch) is not write protected.1 = The internal memory (address range 01-0Ch) is write-protected to prevent unintentional data corruption.}

Note: This bit is write once and is only cleared by assertion of the external RESET_N pin.

0 USB_ATTACH USB Attach & power-down the SMBus Interface.

0 = Default; SMBus slave interface is active.1 = Hub will signal a USB attach event to an upstream device, Note: SMBus Slave interface will completely power down after the ACK has completed.

Note: This bit is write once and is only cleared by assertion of the external RESET_N pin.}

BIT NUMBER BIT NAME DESCRIPTION

15:8 VID MSB Most Significant Byte of the Vendor ID

7:0 VID LSB Least Significant Byte of the Vendor ID

Table 4 SMBus Slave Interface Register Map (continued)

REGISTER ADDRESS

READ/WRITE REGISTER NAME

BIT 7 (MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1

BIT 0 (LSB)

Revision 1.4 (09-10-04) 6 SMSC AN 9.29APPLICATION NOTE

Page 7: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Registers 04-03h: Product ID

Registers 06-05h: Device ID

Register 07h: Configuration Data Byte 3

BIT NUMBER BIT NAME DESCRIPTION

15:8 PID MSB Most Significant Byte of the Product ID

7:0 PID LSB Least Significant Byte of the Product ID

BIT NUMBER BIT NAME DESCRIPTION

15:8 DID MSB Most Significant Byte of the Device ID

7:0 DID LSB Least Significant Byte of the Device ID

BIT NUMBER BIT NAME DESCRIPTION

7 Self/Bus Power Selects between self and bus powered operation

0=Self-Powered operation1=Bus-powered operation

6 Port indicators Indicates implementation of LED indicators

0= No LED indicators1= LED indicators

5 High Speed Disable Disables the capability to attach as either a High/Full-speed device, and forces attachment as Full-speed only i.e. (no High-Speed support).

0 = High-/Full-Speed. 1 = Full-Speed-Only (High-Speed disabled!)

4 Multiple TT support Enables one transaction translator per port operation.

0= Single TT for all ports1= One TT per port (multiple TT’s supported)

3 EOP Disable Disables EOP generation of EOF1 when in full-speed mode.

0= EOP generation is normal1= EOP generation is disabled

2 Current sensing Indicates whether current sensing is on a port-by-port basis, or ganged

0= Individual port-by-port.1= Ganged sensing (all ports together).

1 Downstream port power enabling

Indicates whether port power switching is on a port-by-port basis, or ganged.

0= Individual port-by-port1= Ganged sensing (all ports together)

0 Compound Device Hub part of a compound device?

0= No1= Yes, hub is part of a compound device

SMSC AN 9.29 7 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 8: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Register 08h: Configuration Data Byte 2

The ports may be individually configured to be inactive. However, the order in which ports are set toinactive is very specific. Port 4 must be the first port configured to be inactive, followed by port 3.

Register 09h: Configuration Data Byte 1

Register 0Ah: Max Power

BIT NUMBER BIT NAME DESCRIPTION

7:4 Non-removable device Indicates which port(s) include non-removable devices. A zero indicates that the port is removable.

Bit 7 =1; port 4 non removable.Bit 6 =1; port 3 non-removable.Bit 5 =1; port 2 non-removable.Bit 4 =1; port 1 non-removable.

3:0 Port Disable Disables 1 or more contiguous ports. ‘0’ = port is available, ‘1’ = port is disabled.

Bit 3 =1; port 4 is disabled. Port 4 must be configured inactive first.Bit 2 =1; port 3 is disabled.Bit 1 =1; port 2 is disabled.Bit 0 =1; port 1 is disabled.

BIT NUMBER BIT NAME DESCRIPTION

7 Dynamic Power Controls the ability for the hub to transition to Bus powered operation if the local power source is removed (can revert back to self power if local power source is restored)

0= No Dynamic auto-switching.1= Dynamic Auto-switching capable.

6 On-The-Go On-The-Go (OTG) Support Enable;0=OTG Disabled.1=OTG Enabled.

5:4 Reserved Reserved

3:0 Over Current Timer Over Current Timer delay.

0101 = 2ms1010 = 4ms1111 = 6ms

Note: all other values are reserved

BIT NUMBER BIT NAME DESCRIPTION

7:0 MAX Power Value in 2mA increments that the 4-port Hub consumes from an upstream port in this configuration.

A value of 50 (decimal) would indicate 100mA

Revision 1.4 (09-10-04) 8 SMSC AN 9.29APPLICATION NOTE

Page 9: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Register 0Bh: Hub Controller Max Current

Register 0Ch: Power-On Time

System Hardware DesignThe following simplified schematic diagrams show how the serial port pins are connected for each ofthe programming modes. The internal default configuration mode is shown here as a reference.

BIT NUMBER BIT NAME DESCRIPTION

7:0 Hub Controller Max Current

Absolute maximum current requirement of the Hub Controller electronics (in 2mA increments).

A value of 50 (decimal) would indicate 100mA, which is the default value!

BIT NUMBER BIT NAME DESCRIPTION

7:0 Power-on Time Time in 2 ms intervals from the time power the power-on sequence begins on a port until power is good on that port.

Figure 1 USB20H04 Internal Default Mode

USB20H04

SCK/SCLSD/SDA

VDD3.3

SMB_SEL_NCS/EE_SELSELF_PWR

Bus/SelfPower Select0=Bus-Power1=Self-Power

1k

SMSC AN 9.29 9 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 10: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Figure 2 USB20H04 2-wire Serial Interface

Figure 3 USB20H04 SMBus Serial Interface

USB20H04

SCK/SCLSD/SDA

24C02A

SCLSDA

VDD3.3VDD3.3

SMB_SEL_NCS/EE_SEL

1k 10k 10k

USB20H04

SCK/SCLSD/SDA

SMB_SEL_NCS/EE_SEL

VDD3.3

10k 10k

SMBusConnections

SCLSDAGND1k

Revision 1.4 (09-10-04) 10 SMSC AN 9.29APPLICATION NOTE

Page 11: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

External SMBus ConnectionThe SMBus serial data can be generated using a PC and an adapter called iPort.

This adapter connects to the Serial Port of a Windows based PC. Call (609)466-1751 for pricing andother information from Micro Computer Control Corp, the manufacturer of this adapter. The web pagefor the MIIC 201 may be available at: http://www.mcc-us.com/201.htm.

The "iPort Message Center" application that is included with the iPort makes it possible tocommunicate to the SMBus interface of the USB20H04. The data used to configure the USB20H04 isstored in a file with a .IML extension as shown in the following examples. When using the SMBus forconfiguration, the USB ATTACH bit of the Status/Command register must be set after all other registershave been programmed.

Example .IML file for Multi TT

MCC I2C Message List File V2

$58,W,Y,$0000,01,04,

$58,W,Y,$0000,02,24,

$58,W,Y,$0000,03,00,

$58,W,Y,$0000,04,8A,

$58,W,Y,$0000,05,10,

$58,W,Y,$0000,06,06,

$58,W,Y,$0000,07,58,

$58,W,Y,$0000,08,00,

$58,W,Y,$0000,09,05,

$58,W,Y,$0000,0A,00,

$58,W,Y,$0000,0B,00,

$58,W,Y,$0000,0C,80,

$58,W,Y,$0000,00,03,

AutoRepeat = OFF

SendOnInt = OFF

End of Sequence

SMSC AN 9.29 11 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 12: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Example .IML file for Single TT

MCC I2C Message List File V2

$58,W,Y,$0000,01,04,

$58,W,Y,$0000,02,24,

$58,W,Y,$0000,03,00,

$58,W,Y,$0000,04,8B,

$58,W,Y,$0000,05,10,

$58,W,Y,$0000,06,06,

$58,W,Y,$0000,07,48,

$58,W,Y,$0000,08,00,

$58,W,Y,$0000,09,05,

$58,W,Y,$0000,0A,00,

$58,W,Y,$0000,0B,00,

$58,W,Y,$0000,0C,80,

$58,W,Y,$0000,00,03,

AutoRepeat = OFF

SendOnInt = OFF

End of Sequence

Programming the HD1 demonstration board with the iPort Host Adapter1. On HD1 board, place SW1 switch 1 ON.

2. On HD1 board, place J6 in the MicroWire or SMB Slave 0101101 position.

3. On HD1 board, remove all jumpers at J4 and J5.

4. Disable the Pull-Up resistors on the iPort using the slide switch.

5. Connect the iPort to the PC serial port and apply power.

6. Connect the I2C interface of iPort to J3. (Black wire goes to GND).

7. Apply power to the HD1 board.

8. Open iPort Message Center

9. Select iPort Bus Adapter

10. Open .iml file (available from SMSC or create from the examples).

11. Open Link

12. Send

13. The status window will indicate the transfer is complete.

Revision 1.4 (09-10-04) 12 SMSC AN 9.29APPLICATION NOTE

Page 13: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

EEPROM ProgrammingTypically the EEPROM used to configure the USB20H04 will be programmed prior to assembly on thehub board. The board may be designed to accommodate in circuit programming. While the USB20H04is in a reset condition, the serial port is in a tri-state mode. This makes it possible for an external source(such as the ATE equipment) to program the EEPROM. A hub demo system available from SMSCcalled the HD1 illustrates another method that uses jumpers to make provision for in circuitprogramming.

Programming the HD1 demonstration board with SEEVAL

The HD1 board includes special headers to facilitate the attachment of an EEPROM programmer. The16 position header J4 provides access to the 24C02 I2C type EEPROM.

When connecting an external programmer to the HD1 board, remove the power cable and all USBcables to protect the circuits. The programming system provides the power to the EEPROM.

Because the jumpers allow the EEPROM to be isolated from the other hub circuitry, several types ofprogrammers should be compatible with the HD1. SMSC has successfully used the inexpensiveSEEVAL programmer from MicroChip to program either device. The SEEVAL board connects to theSerial Port of a Windows based PC. The SEEVAL application that is included with the programmerpurchase is the only software required to transfer data to the EEPROMs.

A socket on the SEEVAL board is designed for standard 8-pin DIP devices. The 16 position headerrequires an adapter cable to connect to the socket. Manufacture the cable to connect the 8 pins of theDIP socket to the header connector pins shown in the following table.

DIP SOCKETHEADER

CONNECTOR

1 2

2 4

3 6

4 8

5 10

6 12

7 14

8 16

SMSC AN 9.29 13 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 14: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Example .HEX file for 24C02 with Multi TT

:1000000024048A000610005800058000FFFFFFFFE6

:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0

:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0

:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0

:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0

:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0

:10006000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA0

:10007000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF90

:10008000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF80

:10009000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF70

:1000A000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF60

:1000B000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF50

:1000C000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF40

:1000D000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF30

:1000E000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF20

:1000F000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF10

:00FFFF0101

Programming the HD1 24C02 EEPROM with SEEVAL

Power is not required on the HD1 board during EEPROM programming.

1. On HD1 board, place SW1 switch 1 OFF.

2. On HD1 board, place J6 in the I2C or SMB Slave 0101100 position.

3. On HD1 board, remove all jumpers at J4 and J5.

4. Connect the SEEVAL board to the PC serial port and apply power.

5. Connect the DIP/Header adapter cable between the SEEVAL socket and J4.

6. Open the SEEVAL program.

7. Select 24C02

8. Open .HEX file (available from SMSC or create from the examples).

9. Write the EEPROM

10. The program will indicate that the device verifies.

11. After programming the EEPROM, place all 8 shorting jumpers on J4.

Revision 1.4 (09-10-04) 14 SMSC AN 9.29APPLICATION NOTE

Page 15: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

AppendixThere are many ways to configure the hub based on your specific application. The following are twoexamples to be used as a reference. Table 5 shows the binary and hex values for each registeraddress of the USB20H04 for a typical configuration. In this example, the hub is configured for multi-TTmode and self-power operation with all four ports active.

Table 5 USB20H04 Typical Configuration Binary and Hex Values (Multi-TT Mode)

REGISTER ADDRESS REGISTER NAME

BIT 7 (MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1

BIT 0 (LSB) HEX

00h Status/Command 0 0 0 0 0 0 1 1 03

01h VID MSB 0 0 0 0 0 1 0 0 04

02h VID LSB 0 0 1 0 0 1 0 0 24

03h PID MSB 0 0 0 0 0 0 0 0 00

04h PID LSB 1 0 0 0 1 0 1 0 8A

05h DID MSB 0 0 0 1 0 0 0 0 10

06h DID LSB 0 0 0 0 0 1 1 0 06

07h Config Data Byte 3 0 1 0 1 1 0 0 0 58

08h Config Data Byte 2 0 0 0 0 0 0 0 0 00

09h Config Data Byte 1 0 0 0 0 0 1 0 1 05

0Ah Max Power 0 0 0 0 0 0 0 0 00

0Bh Hub Controller Max Current

0 0 0 0 0 0 0 0 00

0Ch Power-on Time 1 0 0 0 0 0 0 0 80

Table 6 Configuration Data Byte 3

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 1 0 1 1 0 0 0 Example Value = Hex 58

→ 0= No, hub is not part of a compound device. Compound Device

→ 0= Individual port-by-port Downstream port power enabling

→ 0= Individual port-by-port. Current sensing

→ 1= EOP generation is disabled EOP Disable

→ 1= One TT per port (multiple TT’s supported) Multiple TT support

→ 0= High speed enabled High Speed Disable

→ 1= LED indicators Port indicators

→ 0=Self-Powered operation Self/Bus Power

SMSC AN 9.29 15 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 16: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

In this example, the hub is configured for single-TT mode and self-power operation with three portsactive and a compound device attached to port 3.

Table 7 Configuration Data Byte 2

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 0 0 0 0 0 0 0 Example Value = Hex 00

→ 0= port 1 is active. Port Disable

→ 0= port 2 is active. Port Disable

→ 0= port 3 is active. Port Disable

→ 0= port 4 is active. Port Disable

→ 0= port 1 has no non-removable device. Non-removable device

→ 0= port 2 has no non-removable device. Non-removable device

→ 0= port 3 has no non-removable device. Non-removable device

→ 0= port 4 has no non-removable device. Non-removable device

Table 8 Configuration Data Byte 1

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 0 0 0 0 1 0 1 Example Value = Hex 05

→ → → → 4 bit value = 5(h). Sets over-current timer delay to 6ms.

Over Current Timer

→ Reserved

→ Reserved

→ 0=OTG Disabled. On-The-Go

→ 0= No Dynamic auto-switching. Dynamic Power

Table 9 USB20H04 Typical Configuration Binary and Hex Values (Single-TT Mode)

REGISTER ADDRESS REGISTER NAME

BIT 7 (MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1

BIT 0 (LSB) HEX

00h Status/Command 0 0 0 0 0 0 1 1 03

01h VID MSB 0 0 0 0 0 1 0 0 04

02h VID LSB 0 0 1 0 0 1 0 0 24

03h PID MSB 0 0 0 0 0 0 0 0 00

Revision 1.4 (09-10-04) 16 SMSC AN 9.29APPLICATION NOTE

Page 17: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

04h PID LSB 1 0 0 0 1 0 1 0 8A

05h DID MSB 0 0 0 1 0 0 0 0 10

06h DID LSB 0 0 0 0 0 1 1 0 06

07h Config Data Byte 3 0 1 0 0 1 0 0 1 49

08h Config Data Byte 2 0 1 0 0 1 0 0 0 48

09h Config Data Byte 1 0 0 0 0 1 1 1 1 0F

0Ah Max Power 0 0 0 0 0 0 0 0 00

0Bh Hub Controller Max Current

0 0 0 0 0 0 0 0 00

0Ch Power-on Time 1 0 0 0 0 0 0 0 80

Table 10 Configuration Data Byte 3

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 1 0 0 1 0 0 1 Example Value = Hex 49

→ 1= Hub is part of a compound device. Compound Device

→ 0= Individual port-by-port Downstream port power enabling

→ 0= Individual port-by-port. Current sensing

→ 1= EOP generation is disabled EOP Disable

→ 0= Single TT for all ports. Multiple TT support

→ 0= High speed enabled High Speed Disable

→ 1= LED indicators Port indicators

→ 0=Self-Powered operation Self/Bus Power

Table 9 USB20H04 Typical Configuration Binary and Hex Values (Single-TT Mode) (continued)

REGISTER ADDRESS REGISTER NAME

BIT 7 (MSB) BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1

BIT 0 (LSB) HEX

SMSC AN 9.29 17 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 18: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Table 11 Configuration Data Byte 2

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 1 0 0 1 0 0 0 Example Value = Hex 48

→ 0= port 1 is active. Port Disable

→ 0= port 2 is active. Port Disable

→ 0= port 3 is active. Port Disable

→ 1= port 4 is Disabled. Port Disable

→ 0= port 1 has no non-removable device. Non-removable device

→ 0= port 2 has no non-removable device. Non-removable device

→ 1= port 3 has a non-removable device. Non-removable device

→ 0= port 4 has no non-removable device. Non-removable device

Table 12 Configuration Data Byte 1

7 6 5 4 3 2 1 0 BIT DESCRIPTION BIT NAME

0 0 0 0 1 1 1 1 Example Value = Hex 0F

→ → → → 4 bit value = F(h). Sets over-current timer delay to 6ms.

Over Current Timer

→ Reserved

→ Reserved

→ 0=OTG Disabled. On-The-Go

→ 0= No Dynamic auto-switching. Dynamic Power

Revision 1.4 (09-10-04) 18 SMSC AN 9.29APPLICATION NOTE

Page 19: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

AN 9.29 Revision History

REVISION LEVEL

AND DATE SECTION/FIGURE/ENTRY CORRECTION

Rev 1.49-10-04

Register 09H, Configuration Data Byte 1

Removed 0000 from the available list of over-current timer values. Thus, 0000 is now a reserved value!

Rev. 1.312-10-03

Cover Title changed from ìHi-Speed USB Hub Controller IC to 4-Port USB2.0 Hub Controller

Rev. 1.211-13-03

Figure 4.1 - USB20H04 Internal Default Mode, page 18

Updated figure.

Rev. 1.211-10-03

Implementation Characteristics, page 10

Section modified.

Rev. 1.211-03-03

2 Overview, page 7 Second paragraph modified.

Rev. 1.211-03-03

General Features, Hardware Features, page 8

Added under General Features: Default configuration with pin selectable optionsRemoved under Hardware Features: Detects removal of self-power and automatically changes mode to bus-power

Rev. 1.211-03-03

3 Description of Serial Interface, page 9

Removed reference to microwire EEPROM

Rev. 1.211-03-03

Table 3.1 - USB20H04 Pin Table for Configuration Select and Serial Port Interface, page 9

Replaced Table

Rev. 1.211-03-03

3.2 Two External Sources of Configuration Data, page 9

Removed reference to microwire EEPROM

Rev. 1.211-03-03

4 System Hardware Design, page 18

Updated Figure 4.1, Figure 4.2, Figure 4.3

Rev. 1.211-03-03

6.1 Programming the HD1 demonstration board with SEEVAL, page 21

First paragraph modified

Rev. 1.211-03-03

6 EEPROM Programming, page 21 Removed the following sections:6.3 Example .HEX file for 93C46 with Single TT6.4 Programming the HD1 93C46 EEPROM with SEEVAL

Rev. 1.105-13-03

Register 00h: Status/Command – pg. 14

Bits 1 and 0 modified

Rev. 1.105-13-03

Register 07h: Configuration Data Byte 3 – pg. 15

Bit 5 modified

Rev. 1.105-13-03

Register 08h: Configuration Data Byte 2 – pg. 16

Bit name and description modified for Bit 3:0

Rev. 1.105-13-03

Register 09h: Configuration Data Byte 1 – pg. 16

Bit 3:2 changed to Bit 3:0, bit name and description also modified

Rev. 1.105-13-03

5 External SMBus Connection – pg. 19

The following sentence has been added in the third paragraph:ìWhen using the SMBus for configuration, the USB ATTACH bit of the Status/Command register must be set after all other registers have been programmed.

Rev. 1.105-13-03

5.1 Example .IML file for Multi TT – pg. 19

$58,W,Y,$0000,09,06, changed to $58,W,Y,$0000,09,05

SMSC AN 9.29 19 Revision 1.4 (09-10-04)APPLICATION NOTE

Page 20: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

USB20H04 4-Port USB2.0 Hub Controller Configuration Programming

Rev. 1.105-13-03

5.2 Example .IML file for Single TT – pg. 19

$58,W,Y,$0000,09,06 changed to $58,W,Y,$0000,09,05

Rev. 1.105-13-03

6.2 Example .HEX file for 24C02 with Multi TT – pg. 22

:1000000024048A000610005800068000FFFFFFFFE6 changed to :1000000024048A000610005800058000FFFFFFFFE6

Rev. 1.105-13-03

Table 7.1 – USB20H04 Typical Configuration Binary and Hex Values (Multi-TT Mode) – pg. 23

Bit values 1, 0 and Hex value modified for Register address 09h

Rev. 1.105-13-03

Table 7.2 – Configuration Data Byte 3 – pg. 23

Bit Name ìHigh Speed Enableî changed to ìHigh Speed Disableî

Rev. 1.105-13-03

Table 7.3 – Configuration Data Byte 2 – pg. 24

Bit Name ìPort Activeî changed to ìPort Disableî

Rev. 1.105-13-03

Table 7.4 – Configuration Data Byte 1 – pg. 24

Bit Name added ìOver Current Timerî, Bit Description added.

Rev. 1.105-13-03

Table 7.5 – USB20H04 Typical Configuration Binary and Hex Values (Single-TT Mode) – pg. 25

Bit value 0 and Hex value modified for Register Address 09h

Rev. 1.105-13-03

Table 7.6 – Configuration Data Byte 3 – pg. 25

Bit Name ìHigh Speed Enableî changed to ìHigh Speed Disableî

Rev. 1.105-13-03

Table 7.7 – Configuration Data Byte 2 – pg. 25

Bit Name ìPort Activeî changed to ìPort Disableî, Bit Description also modified.

Rev. 1.105-13-03

Table 7.8 – Configuration Data Byte 1 – pg. 26

Bit Name ìIn-active Over Current Timerî changed to ìOver Current Timerî, Bit Description also modified.

Rev. 1.005-05-03

Register 08h: Configuration Data Byte 2 – pg. 16

Introduction paragraph added, table modified

Rev. 1.005-05-03

Table 7.3 – Configuration Data Byte 2 – pg. 24

Bit description modified

Rev. 1.005-05-03

Table 7.5 – USB20H04 Typical Configuration Binary and Hex Values (Single-TT Mode) – pg. 25

Bit values 6, 5, 3, 0 and Hex value modified for Register Address 08h

Rev. 1.005-05-03

Table 7.7 – Configuration Data Byte 2 – pg. 25

Table values modified

REVISION LEVEL

AND DATE SECTION/FIGURE/ENTRY CORRECTION

Revision 1.4 (09-10-04) 20 SMSC AN 9.29APPLICATION NOTE

Page 21: AN 9.29: USB20H04 4-Port USB2.0 Hub Controller ...application-notes.digchip.com/142/142-47676.pdf · USB20H04 4-Port USB2.0 Hub Controller Configuration Programming SMSC AN 9.29 3

80 Arkay Drive Hauppauge, NY 11788 (631) 435-6000 FAX (631) 273-3123 Copyright © SMSC 2004. All rights reserved. Circuit diagrams and other information relating to SMSC products are included as a means of illustrating typical applications. Consequently, complete information sufficient for construction purposes is not necessarily given. Although the information has been checked and isbelieved to be accurate, no responsibility is assumed for inaccuracies. SMSC reserves the right to make changes to specifications and product descriptions at any time without notice. Contact your local SMSC sales office to obtain the latest specifications before placing yourproduct order. The provision of this information does not convey to the purchaser of the described semiconductor devices any licenses under any patent rights or other intellectual property rights of SMSC or others. All sales are expressly conditional on your agreement to theterms and conditions of the most recently dated version of SMSC's standard Terms of Sale Agreement dated before the date of your order (the "Terms of Sale Agreement"). The product may contain design defects or errors known as anomalies which may cause the product'sfunctions to deviate from published specifications. Anomaly sheets are available upon request. SMSC products are not designed, intended, authorized or warranted for use in any life support or other application where product failure could cause or contribute to personal injury orsevere property damage. Any and all such uses without prior written approval of an Officer of SMSC and further testing and/or modificationwill be fully at the risk of the customer. Copies of this document or other SMSC literature, as well as the Terms of Sale Agreement, may beobtained by visiting SMSC’s website at http://www.smsc.com. SMSC is a registered trademark of Standard Microsystems Corporation(“SMSC”). Product names and company names are the trademarks of their respective holders.

SMSC DISCLAIMS AND EXCLUDES ANY AND ALL WARRANTIES, INCLUDING WITHOUT LIMITATION ANY AND ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND AGAINST INFRINGEMENT ANDTHE LIKE, AND ANY AND ALL WARRANTIES ARISING FROM ANY COURSE OF DEALING OR USAGE OF TRADE. IN NO EVENT SHALL SMSC BE LIABLE FOR ANY DIRECT, INCIDENTAL, INDIRECT, SPECIAL, PUNITIVE, OR CONSEQUENTIALDAMAGES; OR FOR LOST DATA, PROFITS, SAVINGS OR REVENUES OF ANY KIND; REGARDLESS OF THE FORM OF ACTION,WHETHER BASED ON CONTRACT; TORT; NEGLIGENCE OF SMSC OR OTHERS; STRICT LIABILITY; BREACH OF WARRANTY; OR OTHERWISE; WHETHER OR NOT ANY REMEDY OF BUYER IS HELD TO HAVE FAILED OF ITS ESSENTIAL PURPOSE, ANDWHETHER OR NOT SMSC HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

SMSC AN 9.29 21 Revision 1.4 (09-10-04)APPLICATION NOTE