AN2784 - USB4712 Auto-FlexConnect Implementation...

26
2018-2020 Microchip Technology Inc. DS00002784C-page 1 1.0 INTRODUCTION The internal Auto-FlexConnect feature of the USB4712/USB4712LS Re-Timer Hub allows host/device role switching to occur through a USB hub without any special handling or commands issued to the hub. Note: Operation of USB4712PF is not covered within this document, as USB4712PF only supports FlexConnect through direct pin control or I 2 C/SMBus control. USB4712PF does not include Auto-FlexConnect function- ality. When a device detach is detected, the Auto-FlexConnect feature performs a test to detect if the device is switched to Host mode, and the hub is automatically reconfigured. The USB4712/USB4712LS is designed for automotive applications that utilize automotive-smartphone modes of oper- ation, which require the smartphone to assume the role of USB host. The USB4712/USB4712LS allows these USB devices to be located anywhere in the vehicle. The default host (typically an automotive head unit) does not need to be aware of the USB4712/USB4712LS or send any special commands to the USB4712/USB4712LS to allow for automo- tive-smartphone sessions to be initiated. 1.1 Sections This document includes the following topics: Section 2.0, "Functional Overview" Section 3.0, "Manual FlexConnect Option" Section 4.0, "Configuration Registers" 1.2 Terms and Abbreviations TABLE 1-1: DESCRIPTION OF TERMS AND ABBREVIATIONS Term/Abbreviation Description Auto-FlexConnect A feature by which the USB hub automatically detects when the FlexConnect feature should be initiated and takes autonomous action to initiate BC1.2 USB Battery Charging v1.2 CDP Charging Downstream Port (with USB data) DCP Dedicated Charging Port (no USB data) Flex The process of transitioning from the Unflexed state to the Flexed state FlexConnect A feature unique to Microchip smart hubs that allows the host-connected upstream port role (typically Port 0) to be exchanged as a normal downstream port. This func- tion allows multiple hosts to take turns sharing a common set of USB devices, or allows OTG-like functionality to occur through a USB hub. Flexed state The default state of operation where Port 0 is the upstream port and connects to a USB host HFC Hub Feature Controller; an internal USB device permanently connected within the USB4712/USB4712LS that enables advance configuration and bridging features AN2784 USB4712 Auto-FlexConnect Implementation Guidelines Author: Andrew Rogers Microchip Technology Inc.

Transcript of AN2784 - USB4712 Auto-FlexConnect Implementation...

Page 1: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 1

1.0 INTRODUCTIONThe internal Auto-FlexConnect feature of the USB4712/USB4712LS Re-Timer Hub allows host/device role switching tooccur through a USB hub without any special handling or commands issued to the hub.

Note: Operation of USB4712PF is not covered within this document, as USB4712PF only supports FlexConnectthrough direct pin control or I2C/SMBus control. USB4712PF does not include Auto-FlexConnect function-ality.

When a device detach is detected, the Auto-FlexConnect feature performs a test to detect if the device is switched toHost mode, and the hub is automatically reconfigured.The USB4712/USB4712LS is designed for automotive applications that utilize automotive-smartphone modes of oper-ation, which require the smartphone to assume the role of USB host. The USB4712/USB4712LS allows these USBdevices to be located anywhere in the vehicle. The default host (typically an automotive head unit) does not need to beaware of the USB4712/USB4712LS or send any special commands to the USB4712/USB4712LS to allow for automo-tive-smartphone sessions to be initiated.

1.1 SectionsThis document includes the following topics:

Section 2.0, "Functional Overview"Section 3.0, "Manual FlexConnect Option"Section 4.0, "Configuration Registers"

1.2 Terms and Abbreviations

TABLE 1-1: DESCRIPTION OF TERMS AND ABBREVIATIONSTerm/Abbreviation Description

Auto-FlexConnect A feature by which the USB hub automatically detects when the FlexConnect feature should be initiated and takes autonomous action to initiate

BC1.2 USB Battery Charging v1.2CDP Charging Downstream Port (with USB data)DCP Dedicated Charging Port (no USB data)Flex The process of transitioning from the Unflexed state to the Flexed stateFlexConnect A feature unique to Microchip smart hubs that allows the host-connected upstream

port role (typically Port 0) to be exchanged as a normal downstream port. This func-tion allows multiple hosts to take turns sharing a common set of USB devices, or allows OTG-like functionality to occur through a USB hub.

Flexed state The default state of operation where Port 0 is the upstream port and connects to a USB host

HFC Hub Feature Controller; an internal USB device permanently connected within the USB4712/USB4712LS that enables advance configuration and bridging features

AN2784USB4712 Auto-FlexConnect Implementation

Guidelines

Author: Andrew RogersMicrochip Technology Inc.

Page 2: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 2 2018-2020 Microchip Technology Inc.

1.3 ReferencesConsult the following documents for details on the specific parts referred to in this document.• USB4712/USB4712LS Data Sheet (www.microchip.com/DS00002774)• AN2651 - Configuration of Microchip USB47xx/USB49xx

OTG On-The-Go; a USB specification that allows USB hosts and devices to exchange data roles

“SE1” Charging A data-less, charge-only, vendor-specific mode of battery charging that allows 1A, 2.1A, or 2.4A charging levels. DC voltages are placed on the D+ and D- to signal the port’s current capability.

Unflex The process of transitioning from the Unflexed state to the Flexed stateUnflexed state The state of operation where the selected normal downstream port assumes the role

of upstream port and connects to a USB host. For USB4712/USB4712LS devices, this is always Port 1.

TABLE 1-1: DESCRIPTION OF TERMS AND ABBREVIATIONS (CONTINUED)Term/Abbreviation Description

Page 3: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 3

AN27842.0 FUNCTIONAL OVERVIEWThe internal block diagram of the Microchip USB4712/USB4712LS is shown in Figure 2-1.The USB4712/USB4712LS has one HFC device, which enables advanced smart hub functionality such as internal hubregister read/write and USB to GPIO/I2C/SPI/UART bridging. The HFC is a generic vendor-defined device with ProductID 494Xh.The hub port where the HFC is connected is configured as non-removable.

2.1 Auto-FlexConnect By default, a smartphone operates as a USB device when connected to an automotive head unit. A smartphone auto-motive session may then be initiated via a USB command from the head unit to the smartphone. The command detailsare specific to the smartphone, software, or both, and are defined within their respective specifications.For smartphone automotive sessions that do not require the smartphone to assume the role of USB host, no additionalreconfiguration of the USB hub is required.For smartphone automotive sessions that require the smartphone to assume the role of USB host, the automotive headunit must switch to Device mode, and the USB hub must be reconfigured with FlexConnect to accommodate the dataflow reversal associated with a role change.The Auto-FlexConnect feature of the USB4712/USB4712LS can automatically detect the role reversal of the smart-phone and reconfigure itself with FlexConnect without any specific commands issued from the head unit. This isachieved by performing a check on the USB data lines (D+ and D-) of the smartphone-connected port after the smart-phone is detected as detached. Weak current sources are injected onto the USB data pins to determine if the smart-phone has been physically detached or switched roles and assumed a USB host role. If the hub concludes that thesmartphone has assumed the USB host role, the hub automatically initiates FlexConnect, and the USB hub and thehead unit in device mode become available for enumeration by the smartphone.When the smartphone in the head unit is physically detached, messages sent to the USB hub stop. The hub performsanother check to determine if the smartphone has been physically detached. If the hub concludes that the smartphonehas been detached, it automatically performs Unflex process and reverts to the default state.

FIGURE 2-1: USB4712/USB4712LS INTERNAL BLOCK DIAGRAM

Microchip USB4712 Hub

Hub Controller Logic

Upstream Port

USB Host

Auto-Flex Port

prt1

USB Devices

Hub Feature Controller

Generic DeviceVID = 0424hPID = 494Xh1

GPIOI2C

SPI

UART

prt2

Page 4: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 4 2018-2020 Microchip Technology Inc.

A typical sequence of events for automotive session initialization on USB4712/USB4712LS is:1. The automotive head unit (USB Host) enumerates a smartphone on the USB4712/USB4712LS’s downstream

port and recognizes that it is capable of an automotive session.2. The automotive head unit sends any necessary commands to the smartphone to set that device into the Auto-

motive mode.3. The automotive head unit is notified when the smartphone is disconnected from the USB4712/USB4712LS

downstream port.4. The automotive head unit initiates a role switch and begins operating as a USB device.5. The smartphone switches to Host mode.6. The USB4712/USB4712LS hub detects a USB suspend bus state due to data bus inactivity for greater than 3 ms

and initiates the Auto-FlexConnect test. The USB4712/USB4712LS detects that the smartphone is operating inhost mode and reconfigures into the Flexed state.

7. The smartphone detects that a USB device is attached and then enumerates the USB4712/USB4712LS hub.8. The smartphone enumerates the automotive head unit connected to the downstream port of the USB4712/

USB4712LS hub.9. The smartphone and the automotive head unit may now exchange data and complete the transition into the

smartphone automotive mode.Note: By default, the HFC is disconnected when Auto-FlexConnect is initiated. This prevents the smartphone from

enumerating the HFC and accessing the USB4712/USB4712LS configuration registers or USB bridging fea-tures. This behavior may be modified via OTP register setting to force the HFC to remain enabled while inthe Flexed state, if desired.

Figure 2-2 shows the internal connections made both before and after an automotive session is initiated.

FIGURE 2-2: AUTO-FLEXCONNECT CONNECTIONS BEFORE AND AFTER INITIATION OF AUTOMOTIVE SESSION

Before Automotive Session Initiation

After Automotive Session Initiation

Head Unit (USB Host)

Hub Controller Logic

Downstream Port

Hub Feature Controler

Head Unit (USB Device)

Hub Feature ControlerX

Upstream Port

Downstream Port

Hub Controller Logic

Upstream Port

Device Mode

Host Mode

Page 5: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 5

AN27842.2 Auto-FlexConnect Detection Sequence - Standard Mode (USB4712)Standard behavior requires a physical detach of the host’s USB terminations to initiate. This may not work with all OTGports as OTG ports may leave terminations present on the D+ and D- pins when switching from Host to Device mode.This implementation is the best method to prevent Auto-Flex from initiating.The Standard mode Auto-FlexConnect detection sequence uses weak current sources steered onto the USB data lines(D+ and D-) to determine what is connected to the port. After the weak current sources are connected onto the datalines, the digital line state is checked; either a ‘0’ or a ‘1’ can be detected. Table 2-1 shows the resulting actions basedon the D+ and D- USB data lines. Auto-FlexConnect is initiated only if a the original USB host is confirmed disconnected,and a USB host is detected on the downstream port.

Auto-FlexConnect Standard mode is shown in Figure 2-3.

TABLE 2-1: AUTO-FLEXCONNECT DETECTION SEQUENCE RESULTS - STANDARD MODED+ Line

StateD- Line State Detection Action

1 1 Detached Remain in Default state (do not initiated FlexConnect)1 0 Device Attached (Note 1) Remain in Default state (do not initiated FlexConnect)0 1 Device Attached Remain in Default state (do not initiated FlexConnect)0 0 Host Connected Initiate FlexConnect

Note 1: This detection result suggests a device that has internal D- termination to GND present. This is technically an invalid and non-compliant device implementation, but it will not confuse the Standard mode algorithm.

FIGURE 2-3: AUTO-FLEXCONNECT STATE MACHINE - STANDARD MODE

Soft Reset

Hub Active(Unflexed)

Disable FlexSet PRTCTL1 = Port Power 1

Hub Suspend(Unflexed)

Auto-FlexConnect Detect:

Confirm Host Removal

Enable Flex: Port 1PRTCTL1 pin = Pull High

Hub Active(Flexed)

Hub Suspend(Unflexed)

Check Disconnect

Detect Method

D+/D- Disconnect

Check

(From any state)VBUS_DET = 0

VBUS_DET = 1

INIT (Power-on/Reset)

USB Suspend

USB Resume

Result != ‘11b’

Result = ‘11b’

USB Suspend

USB Resume

USB Resume

USB Suspendt > SUSPEND_TIMEOUT

DISCONNECTDETECT_

USBDATALINES = 1

D+ = 0

D- = 1

DISCONNECTDETECT_

USBDATALINES = 0

Auto-FlexConnect: Enable D+/D- current source on default upstream port. Wait for

‘CurrentSourceSettleTime’ timer to expire.

Auto-FlexConnect Detect:

Confirm FlexHost Presence

Auto-FlexConnect: Enable D+/D- current source on downstream port.

RestartCurrentSourceSettleTime’ timer

Result != ‘00b’

Result = ‘00b’

Host is Reconnected on upstream port

Restart ‘CurrentSourceSettleTime’

timer

Page 6: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 6 2018-2020 Microchip Technology Inc.

2.3 Auto-FlexConnect Detection Sequence - Simple Mode (USB4712LS)The Simple mode does not require a physical detach of the host’s USB terminations to initiate. The USB4712LS hubonly needs to detect a USB bus Suspend state to initiate the Port 1 host detection sequence. This may be a necessarystep for certain OTG ports that leave USB D+ and D- terminations present when switching from Host to Device mode.As such, it is critical that any system that uses Simple mode disables all USB2 bus suspend functionality to prevent theUSB4712LS from initiating Auto-Flex to connect to a host that is connected on the downstream port P1.The Standard mode Auto-FlexConnect detection sequence uses a weak current source steered onto the D- USB datalines to determine what is connected to the port. After the weak current source is connected onto the D- data line, thedigital line state is checked; either a ‘0’ or a ‘1’ can be detected. Table 2-2 shows the resulting actions based on the D-USB data line state. Auto-FlexConnect is initiated only if the original USB host is confirmed to be disconnected, and aUSB host is detected on the downstream port.As an added reliability measure, a configurable ENUM_TIMEOUT timer is started after Auto-FlexConnect is initiated onUSB4712LS. If the timer expires before the hub is enumerated by a host on Port 1, then Auto-FlexConnect is reset tocheck for a host on Port 0. This mechanism helps to prevent the hub from flexing to an unpowered device that is con-nected to Port 0 and has leakage characteristics on D+ and D-, which may look electrically similar to those of a poweredhost's terminations.

TABLE 2-2: AUTO-FLEXCONNECT DETECTION SEQUENCE RESULTS - SIMPLE MODED- Line State Detection Action

1 No Host Present Remain in Default state (do not initiated FlexConnect)0 Host Connected Initiate FlexConnect

Page 7: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 7

AN2784Auto-FlexConnect Simple mode is shown in Figure 2-4.

FIGURE 2-4: AUTO-FLEXCONNECT STATE MACHINE - SIMPLE MODE

Soft Reset

Hub Active(Unflexed)

Disable FlexSet PRTCTL1 = Port Power 1

Hub Suspend(Unflexed)

Enable Flex: Port 1PRTCTL1 pin = Pull High

Start ENUM_TIMEOUT Timer if value != 0

Hub Active(Flexed)

Hub Suspend(Unflexed)

D+/D- Disconnect

Check

(From any state)VBUS_DET = 0

VBUS_DET = 1

INIT (Power-on/Reset)

USB Suspend

USB Resume

USB Suspend

USB Resume

USBResume

USB Suspendt > SUSPEND_TIMEOUT

DISCONNECTDETECT_USBDATALINES = 1

D+ = 0

D- = 1

DISCONNECTDETECT_USBDATALINES = 0

Auto-FlexConnect Detect:

Confirm FlexHost Presence

Auto-FlexConnect: Enable D- current source on downstream port.

RestartCurrentSourceSettleTime’ timer

Result = ‘1b’

Result = ‘0b’

Host is Reconnected/Resumes on upstream port

Hub Enumerated

By P1Host?

ENUM_TIMEOUT EXPIRED

?No

Yes

No

Yes

Check Disconnect

Detect Method

Page 8: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 8 2018-2020 Microchip Technology Inc.

2.4 Auto-FlexConnect TimingThe Auto-Flex sequence of events is shown in more detail in Figure 2-5. The USB4712/USB4712LS has a configurableCURRENT_SOURCE_SETTLE_TIME (CSST) on the D+/D- current source used for Auto-FlexConnect tests. CSSTmay help to reduce the chance that a false or premature conclusion is made by the USB4712/USB4712LS. The timercan help to protect against two primary sources of error:• Switching transients and/or slight glitches from host/devices changing roles.• Excessive parasitic resistance/capacitance on D+/D- lines may cause relatively slow voltage rise times. The

debounce timer can ensure that the D+/D- weak current sources have enough time to achieve a steady state before the Auto-FlexConnect host check is performed.

CSST is configured via the register described in Table 4-4. The minimum allowable value for CSST is 0x05, which cor-relates to 25 ms. Values below 0x05 will not function properly. While the hub is in the Unflexed state, CSST is continu-ously running and restarting. Hence, the initial upstream port host detach test will have some timing variability dependingon when the CSST timer expires with respect to the upstream host disconnection. When performing the downstreamport host, the CSST timer is restarted. The minimum and maximum Auto-FlexConnect timing is highly dependent on theCSST setting.

FIGURE 2-5: AUTO-FLEXCONNECT TIMING

Omit for Auto-FlexConnect Simple Mode

Check line state of D+ and D- on Upstream

Port

Upstream Port

detects HS Idle state

t = 3ms

Upstream Port reverts to FS terminations,

enters SUSPEND

tmax =

24mstmin

=20ms

Upstream Port Host detach

detect test begins

Min: 0ms

Max: CURRENT_SOURCE_SETTLE_TIME

+/- 5ms

20-24ms3ms 8-12ms

CURRENT_SOURCE_SETTLE_TIME

+/- 5ms

Check line state of D+ and D- on Upstream

Port

Downstream Port Host attach

detect test begins

time

t=0tmax =

CSST+ 27mstmin

=22ms

tmax

=2*CSST+

39mstmin

= CSST+ 33ms

tmax =

CSST+ 39mstmi

n

=33ms

FLEXCONNECT

34-40ms

SETUP SETUP

Ready to enumerate to

Flex Host

tmax

=2*CSST+

79mstmin

= CSST+ 67ms

Page 9: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 9

AN27842.5 Flex Host Disconnection DetectionIf the smartphone is detached for any reason during the automotive session after FlexConnect is initiated, the USB4712/USB4712LS hub automatically reverts to the default Unflexed state. The following disconnection detection mechanismscan be selected via the DISCONNECT_DETECT_USBDATALINES bit in register 0xBFD2_3402. See Table 4-1.• SUSPEND TIMER: This is the default disconnect detection mechanism. When a smartphone in Host mode is

detached, the USB4712/USB4712LS detects a USB SUSPEND event (due to lack of SOF commands from the host). A timer is run while in the SUSPEND state. When the timer expires, the USB4712/USB4712LS concludes that it has been detached from the secondary host (smartphone), initiates the role reversal, and then returns to the default state. The SUSPEND timer is configurable via register 0xBFD2_340[C:D]. See Table 4-2.

• CURRENT INJECTION ON USB DATA LINES: When a secondary host is detached, the UDC2 detects a USB

SUSPEND event (due to lack of SOF commands from the host). While in the SUSPEND state, the USB4712/USB4712LS device connects a weak current source to the D- data line and then monitors the line state of the pin. If the pin line state is detected as low, then the USB4712/USB4712LS concludes that it is still attached to the sec-ondary host (smartphone). If the pin line state is detected as high, then the USB4712/USB4712LS concludes that it has been physically detached from the secondary host, initiates the role reversal, and then returns to the default state. This mechanism may be useful for operating with secondary hosts that may place the USB4712/USB4712LS into SUSPEND state while in the Flexed state.

2.6 Head Unit Forced UnflexThe default USB host (automotive head unit) can force the USB4712/USB4712LS hub to perform unflex at any time bytoggling the RESET_N signal of the USB4712/USB4712LS. See Figure 2-6 and Figure 2-7 for examples on systemdesigns, which allow the USB host to force the hub to perform unflex.

2.7 VBUS_DET Pin OperationWhile in the Unflexed (default) state, the VBUS_DET pin operates in the following manner:• VBUS_DET = 0: All USB ports, upstream and downstream, are disabled. The hub enters the low power state.• VBUS_DET = 1: The USB hub is enabled.While in the Flexed state, the VBUS_DET pin state is ignored. In a typical application, the Flex host does not have con-trol over VBUS.

2.8 Power and VBUS ConfigurationsThere are two primary system power implementations for systems that incorporate USB4712/USB4712LS (other imple-mentations may also be supported).

2.8.1 POWERED FROM UPSTREAM 5V VBUSA system that is powered completely from a USB cable or from a permanently wired cable harness can be poweredfrom a 5V supply. It is critical to ensure that the impedance of the 5V wire in the cabling is sufficient to ensure that thevoltage stays within the required levels even under full loading. Elevating the 5V voltage slightly to 5.25V and/or usinga 5V regulator with voltage compensation under high current load is recommended.With this implementation, only one additional 5V to 3.3V power regulator is required to power the USB4712/USB4712LSand necessary support circuitry. The 3.3V supply must reserve at minimum 100 mA (including any efficiency losses) topower the hub IC. The 5V supply must also reserve enough current capacity to reliably charge the downstream device(exact current level depends on the charging profiles implemented).

Note: The SUSPEND timer method is suitable for Auto-FlexConnect implementations as most Multi-Host ses-sions remain active during the entire session, and hence will never place the USB4712/USB4712LS deviceinto the SUSPEND state.

Page 10: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 10 2018-2020 Microchip Technology Inc.

A simplified block diagram of this implementation is shown in Figure 2-6.

2.8.2 POWERED FROM BATTERY OR SYSTEM ACCESSORY POWERA USB4712/USB4712LS system may also be powered from a permanent connection to an automotive battery or dis-tributed conditioned accessory power.With this implementation, both a battery voltage to 5V and a battery voltage or 5V to 3.3V power regulator is requiredto power the USB4712/USB4712LS and necessary support circuitry. The 3.3V supply must supply at minimum 100 mAto power the hub IC and any hub support circuitry. The 5V supply must supply enough current to reliably charge thedownstream device (exact current level depends on the charging profiles implemented).

FIGURE 2-6: USB4712/USB4712LS VBUS POWERED SYSTEM BLOCK DIAGRAM

Upstream Port

USB 4712

Downstream Port

SPI Flash

Optional for custom

applications or future

upgradabilityPort Power Controller

3.3V Regulator

USB D+/D-

5.0-5.25V~1.8A minimum

3.3V100 mA

(minimum recommendation)

VBUS_DETRESET_N

5.0-5.25V

1.5-2.4A

3.3V

PRT_CTL1

3.3V

Sm

art

phon

e

Page 11: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 11

AN2784A simplified block diagram of this implementation is shown in Figure 2-7.

2.8.3 VBUS CONNECTIONMaintaining power to the smartphone while Auto-FlexConnect takes place is critical for successfully launching automo-tive smartphone sessions. Under the standard use-case, the PRT_CTL1 pin is a slave to USB host commands. The pinboth enables power by enabling an internal 50 kΩ pull-up resistor and monitors for overcurrent events by monitoring aninput buffer.In an Auto-FlexConnect implementation, the PRT_CTL1 must transition to an output that is persistently driven high whilethe hub is in the Flexed state.While in the Flexed state, no overcurrent monitoring is performed as there is no provision within the USB Specificationfor detecting or reporting upstream port overcurrent events to a USB host that is being powered from VBUS. If an over-current event takes place, the VBUS port power switch ceases sourcing of VBUS, and the smartphone exits the Auto-motive mode because of power loss. The port power is restored after the hub reverts to the Unflexed state, and the USBhost (automotive head unit) commands the hub to enable power to port 1. If the short condition still exists on the port,the overcurrent condition is reported to the USB host.

FIGURE 2-7: USB4712/USB4712LS BATTERY/ACCESSORY POWERED SYSTEM BLOCK DIAGRAM

Upstream Port

USB 4712

Downstream Port

SPI FlashOptional for custom

applications or future upgradability Port Power

Controller

5V Regulator

3.3V Regulator

Power

USB D+/D- 5.0V (VBUS) Battery/Accessory Power

5.0-5.25V

3.3V100 mA

(minimum recommendation)

RESET_N

5.0-5.25V

1.5-2.4A

3.3V

PRT_CTL1

VBUS_DET

3.3V

Sm

art

phon

e

Page 12: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 12 2018-2020 Microchip Technology Inc.

PRT_CTL1 operation under a typical sequence of events is illustrated in Figure 2-8.

PRT_CTL1 operation while a FAULT condition appears in the Flexed state is illustrated in Figure 2-9.

FIGURE 2-8: PRT_CTL1 OPERATION DURING AUTO-FLEXCONNECT

FIGURE 2-9: PRT_CTL1 OPERATION DURING AUTO-FLEXCONNECT WITH FAULT

V

t

3.3V

PRT_CTL1

Auto-FlexConnect InitiatedHub receives SET_PORT_FEATURE:

Port Power for Port 1 command fromUSB host

Hub enumerationby head unit beginsPower-on

pull high

drive lowdrive

FLEX STATE

low

drive high

Smartphone detachorSmartphone role revert

Return

orHost take-over by VBUS_DET

V

tVBUS

5.0V

Hub enumerationby smartphone begins

V

t

3.3V

PRT_CTL1

Auto-FlexConnect Initiated

Hub receives SET_PORT_FEATURE:Port Power for Port 1 command fromUSB host

Power-on

pull high

drive lowdrive

FLEX STATE

low

drive high

V

tVBUS

5.0V

Hub enumerationby head unit begins

Hub enumerationby smartphone begins

Hub enumerationby head unit begins

Power removedby switch due toVBUS FAULT

Phone reverts to devicedue to loss of power

Power not restoredif FAULT persists

FAULT reported tohead unit

drive low

pull high

Hub receives SET_PORT_FEATURE:Port Power for Port 1 command fromUSB host

Page 13: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 13

AN27842.8.4 USB DEVICE BATTERY CHARGINGThe USB4712/USB4712LS can support the following battery charging implementations:• Charge-Only BC1.2 DCP mode

- USB host is not connected, and VBUS_DET = 0.- BC1.2 DCP is enabled through configuration strap, OTP configuration, or SMBus configuration.

• Charge-Only “SE1” 1A, 2.1A, or 2.4A mode- USB host is not connected, and VBUS_DET = 0.- “SE1” 1A, 2.1A, or 2.4A mode is enabled through OTP configuration or SMBus configuration.

• Charge-Only BC1.2 DCP and “SE1” 1A, 2.1A, or 2.4A mode- USB host is not connected, and VBUS_DET = 0.- BC1.2 DCP and “SE1” 1A, 2.1A, or 2.4A mode is enabled through OTP configuration or SMBus configuration.

• Data Port with BC1.2 CDP- USB host is connected, and VBUS_DET = 1.- BC1.2 CDP is enabled through configuration strap, OTP configuration, or SMBus configuration.

• Data Port with BC1.2 CDP and Vendor Specific Charging up to 2.4A- USB host is connected, and VBUS_DET = 1.- BC1.2 CDP is enabled through configuration strap, OTP configuration, or SMBus configuration.- Vendor-specific charging modes up to 2.4A with USB data connectivity are enabled through USB protocol

messaging from the USB host. The hub cannot autonomously enable these modes.

2.9 Daisy-Chaining Multiple USB4712/USB4712LS DevicesIt is possible to daisy-chain multiple USB4712/USB4712LS devices together to extend the maximum cable range of theUSB connection. Up to five USB hub tiers are permissible per the USB2.0 Specification.If using USB4712LS devices, multiple tiers of USB4712LS may be used in a daisy-chained system without any specialhandling using Auto-FlexConnect Simple mode.If using USB4712 devices, the Auto-FlexConnect Standard mode cannot function in a daisy chain system. Instead, themanual FlexConnect method controlled via USB commands issued to the USB4712 internal HFC device described inTable 3-1 and Table 3-2 must be employed.

When initiating FlexConnect with multiple USB4712/USB4712LS devices daisy-chained together, the FlexConnectcommand order is critical. Ensure the following guidelines are met:• Step 1. Complete the role switch command transaction with the smartphone.• Step 2. Complete the FlexConnect command transaction with the highest numbered USB4712/USB4712LS tier.

For example, in a five-tier system, issue the FlexConnect command to the fifth tier USB4712/USB4712LS or the hub device that is directly connected to the smartphone.

• Step 3 (+). Complete the FlexConnect command transaction with the next highest numbered USB4712/USB4712LS tier. Repeat the steps until the tier one USB4712/USB4712LS is reached.

Note 1: If mixing USB4712/USB4712PF/USB4712LS devices in a daisy chain system, the tier 1 hub (the hub tierconnected directly to the host) may be either a USB4712 or a USB4712PF. USB4712LS must always beused in all tiers after the tier 1 hub.

2: The VID/PID of USB4712/USB4712PF/USB4712LS devices are identical. The VID/PID may be reas-signed in OTP configuration using vendor-specific custom values, or use the bcdDevice (DID) as a meansof identifying different device options from the USB host software. Obtain the most up-to-date list of bcdDevice (DID) from Microchip Support.

Page 14: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 14 2018-2020 Microchip Technology Inc.

Figure 2-10 illustrates how a daisy-chained system may be connected and the command order required to ensure Flex-Connect operation is successful through multiple USB4712/USB4712LS tiers.

FIGURE 2-10: USB4712 DAISY CHAINING EXAMPLE

Upstream Port

USB4712

Downstream Port

USB D+/D- 5.0V (VBUS)

USB D+/D- 5.0V (VBUS)

Upstream Port

USB4712

Downstream Port

USB D+/D- 5.0V (VBUS)

USBHost

Downstream Port

SYSTEMPOWER

Step 1. Issue role switch

command to smartphone

Step 2. Issue FlexConnect command

to highest numbered USB4712 tier (hub

connected directly to smartphone)

Step 3(+). Issue FlexConnect

command to next tier USB4712

Sm

art

phon

e

Page 15: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 15

AN2784

FIGURE 2-11: USB4712LS AND USB4712 MIXED DAISY CHAINING EXAMPLE

Upstream Port

USB4712LS

USB D+/D- 5.0V (VBUS)

USB D+/D- 5.0V (VBUS)

Upstream Port

USB4712LS

Downstream Port

USB D+/D- 5.0V (VBUS)

USBHost

Downstream Port

SYSTEMPOWER

Step 1. Issue role switch command

to smartphone

Sm

art

pho

ne

Downstream Port

Page 16: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 16 2018-2020 Microchip Technology Inc.

FIGURE 2-12: USB4712PF AND USB4712 MIXED DAISY CHAINING EXAMPLE

Upstream Port

USB4712LS

Downstream Port

USB D+/D- 5.0V (VBUS)

USB D+/D- 5.0V (VBUS)

Upstream Port

USB 4712PFor other

FlexConnect/Multi-Host/DUST Hub

Downstream Port

USB D+/D- 5.0V (VBUS)

USBHost

Downstream Port

SYSTEMPOWER

Step 1. Issue role switch command to smartphone

Step 2. Issue FlexConnect or

other Role Switch command to the

tier 1 hub

FlexConnect pin control (optional)

Sm

art

pho

ne

Page 17: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 17

AN27843.0 MANUAL FLEXCONNECT OPTIONThe USB hub requires a specific USB command to be issued from the USB host to manually force the FlexConnectfunctionality.The USB command is a NO DATA Control transfer that must be issued to Endpoint 0 of the internal HFC device (thegeneric USB device). On USB4712/USB4712LS, the HFC is the internal device located on Port 2. The SETUP com-mand format is shown in Table 3-1 and Table 3-2. TABLE 3-1: FLEXCONNECT SETUP PACKET

Setup Parameter Value DescriptionbmRequestType 0x41 Device-to-host, vendor class, targeted to interface

bRequest 0x90 SET_ROLE_SWITCHwValue 0xYYYY Bits detailed belowwIndex 0x0000 Reserved

wLength 00 No data

TABLE 3-2: WVALUE DETAIL OF FLEXCONNECT COMMAND SETUP PACKETBit Name Description

15:11 Reserved Reserved (must always be ‘0’)10:8 ENUM_TIMEOUT These bits control a timer, which is started when the FlexConnect command is

sent.If the smartphone does not complete enumeration of the USB4712/USB4712LS in the Flexed state before the timer expires, the USB4712/USB4712LS reverts to the default Unflexed state.If the smartphone completes enumeration of the USB4712/USB4712LS in the Flexed state before the timer expires, the automotive session remains active.

000 = No timeout defined (The hub will not automatically revert back to the Unflexed state.)001 = 10 ms (for test only, not recommended for actual applications)010 = 100 ms (for test only, not recommended for actual applications)011 = 500 ms100 = 1 second (recommended setting)101 = 5 seconds110 = 10 seconds111 = 20 seconds

7 Reserved Reserved (must always be ‘0’)6:5 ROLE_SWITCH_TYPE Must always be ‘01’ for FlexConnect4 ROLE_SWITCH_STATE 1 = Transition into the Flexed state (Port 1 is upstream port)

0 = Transition into the Unflexed state (Port 0 is the upstream port)3:0 PORT Port Selection

0001 = Flex to Port 1All others = Invalid

Page 18: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 18 2018-2020 Microchip Technology Inc.

An example of the FlexConnect session initialization command for Port 1 is shown in Table 3-3. This command is sentto EP0 of the HFC.

TABLE 3-3: MANUAL FLEXCONNECT COMMAND SETUP EXAMPLESetup Parameter Value Note

bmRequestType 0x41 Device-to-host, vendor class, targeted to interface bRequest 0x90 SET_ROLE_SWITCHwValue 0x0431 Bits 15:11 = 0000b

Bits 10:8 = 100b (1 second enumeration timer)Bit 7 = 0bBits 6:5 = 01bBit 4 = 1b (enter Flexed state)Bits 3:0 = 0001b (Port 1)

wIndex 0x0000 ReservedwLength 00 No data

FIGURE 3-1: FLEXCONNECT COMMAND SETUP TRANSACTION EXAMPLE

Page 19: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 19

AN27844.0 CONFIGURATION REGISTERSBy default, no additional configuration is required for Auto-FlexConnect to operate. However, some additional optionsare available which may be useful for system integration.

4.1 Disable Auto-Role RevertingUnder certain conditions, while the hub is in the Flexed state, the hub automatically performs Unflex process and thenreturns to its default state (automatic role reversal). This may happen for one of two reasons:• An overcurrent event for the respective port is detected.• The host attached to USB4712/USB4712LS Flexed state upstream port is detected as disconnected (see Section

4.2, "Disconnect Detection Method," on page 19).This functionality can be disabled by clearing bit 1 of register 0xBFD2_3402, Runtime Flags 2 registers. See Table 4-1.

4.2 Disconnect Detection MethodTwo disconnection detection mechanisms can be selected via the DISCONNECT_DETECT_USBDATALINES bit in reg-ister 0xBFD2_3402, Runtime Flags 2 registers. See Table 4-1. See also Section 4.2, "Disconnect Detection Method,"on page 19 for more details.

4.3 Role Switch DelayA configurable amount of delay may be added during the Flex process to add delay between when the hub is com-manded to enter the FlexConnect state and when actual Flex procedure is executed.This feature can be configured by modifying register 0xBFD2_3450, ROLE_SWITCH_DELAY register. See Table 4-3.

TABLE 4-1: RUNTIME FLAGS 2 REGISTERRUNTIME_FLAGS2

(BFD2_3402h)Default 0x43

Firmware Runtime Flags 2

Bit Name R/W Description7:2 Not Related R Settings not related to FlexConnect (do not change)1 ENABLE_AUTO_ROLE_REVERT R/W 0 - While the ports are in Role-Switched mode, only explicit

commands issued from the USB host can revert the roles back to the default state.

1 - [Default Setting for USB4712] While the ports are in Role-Switched mode, a disconnection detected on the sec-ondary 1-Port hub’s upstream port forces an automatic role revert to the default state.

0 DISCONNECT_DETECT_USBDATALINES

R/W This bit is ignored if ENABLE_AUTO_ROLE_REVERT = 0.

0 - The hub will run a timer when the hub is placed into USB SUSPEND and will automatically perform Unflex process and revert to the default state when the timer expires. This timer duration is configured in the SUSPEND TIMEOUT register.

1 - [Default Setting for USB4712] The hub will check the USB data lines to determine if the smartphone has been phys-ically detached. This is performed by injecting a weak current source on the D- pin and checking the line state. If the line state is detected as low during the check, USB4712/USB4712LS will remain attached. If the line state is detected as high during the check (indicating Hi-Z on the line), the hub will perform Unflex process and revert to the default state.

Page 20: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 20 2018-2020 Microchip Technology Inc.

TABLE 4-2: SUSPEND TIMEOUT REGISTERSUSPEND TIMEOUT

(BFD2_340Ch-BFD2_340Dh)Default 0xC8

Suspend Timeout

Bit Name R/W Description15:0 SUSPEND_TIMEOUT R/W This field can only take values that are integral multiples of 5.

By default, the setting is 200 ms.

This field refers to the minimum duration of USB SUSPEND in which the hub (in milliseconds) will stay within the SUS-PENDED state before the hub automatically unflexes and reverts to the default state.

Refer to ENABLE_AUTO_ROLE_REVERT and DISCONECT_DETECT_USBDATALINES bits in RuntimeFlags for more details.

This field is ignored if DISCONNECT_DETECT_USBDATALINES = 1.

TABLE 4-3: ROLE SWITCH DELAY REGISTERROLE_SWITCH_DELAY

(BFD2_3450h)Default 0x00

Role Switch Delay

Bit Name R/W Description7:0 ROLE_SWITCH_DELAY R/W This field refers to the amount (in 10 millisecond intervals) by

which the role switch will be delayed once the FlexConnect Command is received.

For example, a register value of 2 provides 20 ms of delay before the role switch is initiated.

TABLE 4-4: AUTO-FLEXCONNECT CURRENT SOURCE SETTLE TIMECURRENT_SOURCE_SETTLE_TIME

(BFD2_45B8h)Default 0x32

Auto-FlexConnect Current Source Settle Time Register

Bit Name R/W Description7 UPSTREAM_HOST_

DETECTION_EN_MSKR/W USB4712LS Only - not present (always 0) for USB4712.

0 - Upstream Host Detection is disabled (USB4712LS default), and Auto-FlexConnect Simple mode is implemented.

1 - Upstream Host Detection is enabled, and Auto-FlexCon-nect Standard mode is implemented. This bit, along with set-ting DP_DM_HOST_DETECTION_EN_MASK, can make a USB4712LS work in an equivalent manner to USB4712.

Page 21: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 21

AN2784

6 DP_DM_HOST_DETECTION_EN_MASK

R/W USB4712LS Only - not present (always 0) for USB4712.

0 - Use only D- pin for host detection function (USB4712LS default).

1 - Use both D+ and D- pin for host detection function. This bit, along with setting UPSTREAM_HOST_DETECTION_EN_MSK, can make a USB4712LS work in an equivalent manner to USB4712.

5:0 CSST R/W Amount of time delay before enabling D+ and D- current source during Auto-FlexConnect host check tests, and when D+ and D- are line states are read to complete the test.

Configured in 5 ms steps.

By default, this is set to 0x32, that is, 250 ms (50 * 5 ms).

The minimum allowable setting is 0x05, that is, 25 ms (5 * 5 ms).

TABLE 4-5: HFC ENABLE/DISABLE WHILE FLEXED REGISTERHFC_EN_FLEX(BFD2_45BCh)Default 0x02

Hub Feature Controller Disable While Flexed Register

Bit Name R/W Description7:2 Reserved R Reserved. Always ‘0’1:0 HFC_EN_FLEX R/W 00 = Use the default ROM behavior.

01 = Always enable the HFC device enumeration while flexed.10 = [Default Setting for USB4712] Always disable the HFC device enumeration while flexed.

TABLE 4-6: CDC ENABLE/DISABLE WHILE FLEXED REGISTERHFC_EN_FLEX(BFD2_45C0h)Default 0x02

Internal CDC Device Disable While Flexed Register

Bit Name R/W Description7:2 Reserved R Reserved. Always ‘0’1:0 CDC_EN_FLEX R/W 00 = Use the default ROM behavior.

01 = Always enable the CDC device enumeration while flexed.10 = [Default Setting for USB4712] Always disable the CDC device enumeration while flexed.

Note: This register has no meaning for USB4712, do notchange.

TABLE 4-4: AUTO-FLEXCONNECT CURRENT SOURCE SETTLE TIME (CONTINUED)CURRENT_SOURCE_SETTLE_TIME

(BFD2_45B8h)Default 0x32

Auto-FlexConnect Current Source Settle Time Register

Bit Name R/W Description

Page 22: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 22 2018-2020 Microchip Technology Inc.

TABLE 4-7: FLEXCONNECT WVALUE CONFIGURATION REGISTERFLEXCONNECT_WVALUE_CONFIG

(BFCF_82D0h)Default = 0x0631

FlexConnect wValue Configuration Register(USB4712LS Only)

Bit Name R/W Description15:11 Reserved R Reserved (must always be ‘0’)10:8 ENUM_TIMEOUT R/W These bits control a timer, which is started when the FlexCon-

nect command is sent or Auto-FlexConnect is initiated.

If the Port 1 Flex host does not complete enumeration of the USB4712LS in the Flexed state before the timer expires, the USB4712LS reverts to the default Unflexed state.

If the Port 1 Flex host completes enumeration of the USB4712LS in the Flexed state before the timer expires, the automotive session remains active.

000 = No timeout defined (The hub will not automatically revert to the Unflexed state.)001 = 10 ms (for test only, not recommended for actual appli-cations)010 = 100 ms (for test only, not recommended for actual appli-cations)011 = 500 ms100 = 1 second (recommended setting)101 = 5 seconds110 = 10 seconds111 = 20 seconds

7 Reserved R Reserved (must always be ‘0’)6:5 ROLE_SWITCH_TYPE R Must always be ‘01’ for FlexConnect4 ROLE_SWITCH_STATE R Must always be ‘1’ to initiate FlexConnect

3:0 PORT R Must always be ‘0001’ to select Port 1 FlexConnect

Page 23: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 23

AN2784APPENDIX A: APPLICATION NOTE REVISION HISTORY

TABLE A-1: REVISION HISTORYRevision Level & Date Section/Figure/Entry Correction

DS00002784C(04-30-20)

Section 1.0, "Introduction" Added USB4712LS and USB4712PF devices in the section.Changed the Section 1.2, "Terms and Abbreviations" into table format.

Section 2.2, "Auto-FlexCon-nect Detection Sequence - Standard Mode (USB4712)"

Changed the section title and added additional details describing the differences between USB4712 and USB4712LS.

Section 2.3, "Auto-FlexCon-nect Detection Sequence - Simple Mode (USB4712LS)"

Added the section describing the USB4712LS opera-tion.

Figure 2-3, Figure 2-4, and Figure 2-5

Updated the figures.

Section 2.9, "Daisy-Chaining Multiple USB4712/USB4712LS Devices"

Updated the second and third paragraphs and added a note.

Figure 2-11 and Figure 2-12 Added new figures illustrating examples of USB4712LS and USB4712 mixed daisy chain, and USB4712PF and USB4712 mixed daisy chain.

Table 4-4 Added to the register more register options exclusive to USB4712LS.

Table 4-7 Added this new register table.All Modified most mentions of USB4712 to USB4712/

USB4712LS. Added section numbers.DS00002784B

(06-27-19)Auto-FlexConnect Modified the note at the end of the section for clarity.Figure 2-2 Updated the figure to improve clarity on the Hub Fea-

ture Controller connection status.Figure 2-4 Updated the figure to add more detail to the Auto-

FlexConnect sequence.Auto-FlexConnect Timing, VBUS_DET Pin Operation and Daisy-Chaining Multiple USB4712/USB4712LS Devices

Added the sections.

Head Unit Forced Unflex Updated the section.Figure 2-6 and Figure 2-7 Modified the VBUS_DET signal connection and

added the RESET_N signal in the figures.VBUS Connection Updated the third paragraph.Table 4-4 and Table 4-5 Added the tables.All Remove mentions of “Multi-Host Endpoint Reflector”

and replaced with “FlexConnect”.DS00002784A

(08-31-18)Initial release

Page 24: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

AN2784

DS00002784C-page 24 2018-2020 Microchip Technology Inc.

THE MICROCHIP WEB SITEMicrochip provides online support via our WWW site at www.microchip.com. This web site is used as a means to makefiles and information easily available to customers. Accessible by using your favorite Internet browser, the web sitecontains the following information:• Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s

guides and hardware support documents, latest software releases and archived software• General Technical Support – Frequently Asked Questions (FAQ), technical support requests, online discussion

groups, Microchip consultant program member listing• Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of

seminars and events, listings of Microchip sales offices, distributors and factory representatives

CUSTOMER CHANGE NOTIFICATION SERVICEMicrochip’s customer notification service helps keep customers current on Microchip products. Subscribers will receivee-mail notification whenever there are changes, updates, revisions or errata related to a specified product family ordevelopment tool of interest.To register, access the Microchip web site at www.microchip.com. Under “Support”, click on “Customer Change Notifi-cation” and follow the registration instructions.

CUSTOMER SUPPORTUsers of Microchip products can receive assistance through several channels:• Distributor or Representative• Local Sales Office• Field Application Engineer (FAE)• Technical SupportCustomers should contact their distributor, representative or Field Application Engineer (FAE) for support. Local salesoffices are also available to help customers. A listing of sales offices and locations is included in the back of thisdocument.Technical support is available through the web site at: http://microchip.com/support

Page 25: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

2018-2020 Microchip Technology Inc. DS00002784C-page 25

Information contained in this publication regarding device applications and the like is provided only for your convenience and may besuperseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NOREPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OROTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE,MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Micro-chip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and holdharmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly orotherwise, under any Microchip intellectual property rights unless otherwise stated.

TrademarksThe Microchip name and logo, the Microchip logo, Adaptec, AnyRate, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, chipKIT, chipKIT logo,CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch,MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PackeTime, PIC, picoPower, PICSTART, PIC32 logo,PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon,TempTrackr, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. andother countries.

APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, FlashTec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero,motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, Temux,TimeCesium, TimeHub, TimePictra, TimeProvider, Vite, WinPath, and ZL are registered trademarks of Microchip Technology Incorporated in theU.S.A.

Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, BlueSky, BodyCom, CodeGuard,CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM,ECAN, EtherGREEN, In-Circuit Serial Programming, ICSP, INICnet, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, memBrain,Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net,PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, SAM-ICE, Serial Quad I/O, SMART-I.S., SQI, SuperSwitcher,SuperSwitcher II, Total Endurance, TSHARC, USBCheck, VariSense, ViewSpan, WiperLock, Wireless DNA, and ZENA are trademarks ofMicrochip Technology Incorporated in the U.S.A. and other countries.

SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. inother countries.GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in othercountries.

All other trademarks mentioned herein are property of their respective companies.

© 2018-2020, Microchip Technology Incorporated, All Rights Reserved.

ISBN: 978-1-5224-6040-4

Note the following details of the code protection feature on Microchip devices:• Microchip products meet the specification contained in their particular Microchip Data Sheet.

• Microchip believes that its family of products is one of the most secure families of its kind on the market today, when used in the intended manner and under normal conditions.

• There are dishonest and possibly illegal methods used to breach the code protection feature. All of these methods, to our knowledge, require using the Microchip products in a manner outside the operating specifications contained in Microchip’s Data Sheets. Most likely, the person doing so is engaged in theft of intellectual property.

• Microchip is willing to work with the customer who is concerned about the integrity of their code.

• Neither Microchip nor any other semiconductor manufacturer can guarantee the security of their code. Code protection does not mean that we are guaranteeing the product as “unbreakable.”

Code protection is constantly evolving. We at Microchip are committed to continuously improving the code protection features of ourproducts. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such actsallow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.

For information regarding Microchip’s Quality Management Systems, please visit www.microchip.com/quality.

Page 26: AN2784 - USB4712 Auto-FlexConnect Implementation Guidelinesww1.microchip.com/downloads/en/AppNotes/AN2784-USB... · AN2784 DS00002784C-page 6 2018-2020 Microchip Technology Inc. 2.3

DS00002784C-page 26

AMERICASCorporate Office2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel: 480-792-7200 Fax: 480-792-7277Technical Support: http://www.microchip.com/supportWeb Address: www.microchip.comAtlantaDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455Austin, TXTel: 512-257-3370 BostonWestborough, MA Tel: 774-760-0087 Fax: 774-760-0088ChicagoItasca, IL Tel: 630-285-0071 Fax: 630-285-0075DallasAddison, TX Tel: 972-818-7423 Fax: 972-818-2924DetroitNovi, MI Tel: 248-848-4000Houston, TX Tel: 281-894-5983IndianapolisNoblesville, IN Tel: 317-773-8323Fax: 317-773-5453Tel: 317-536-2380Los AngelesMission Viejo, CA Tel: 949-462-9523Fax: 949-462-9608Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510New York, NY Tel: 631-435-6000San Jose, CA Tel: 408-735-9110Tel: 408-436-4270Canada - TorontoTel: 905-695-1980 Fax: 905-695-2078

ASIA/PACIFICAustralia - SydneyTel: 61-2-9868-6733China - BeijingTel: 86-10-8569-7000 China - ChengduTel: 86-28-8665-5511China - ChongqingTel: 86-23-8980-9588China - DongguanTel: 86-769-8702-9880 China - GuangzhouTel: 86-20-8755-8029 China - HangzhouTel: 86-571-8792-8115 China - Hong Kong SARTel: 852-2943-5100 China - NanjingTel: 86-25-8473-2460China - QingdaoTel: 86-532-8502-7355China - ShanghaiTel: 86-21-3326-8000 China - ShenyangTel: 86-24-2334-2829China - ShenzhenTel: 86-755-8864-2200 China - SuzhouTel: 86-186-6233-1526 China - WuhanTel: 86-27-5980-5300China - XianTel: 86-29-8833-7252China - XiamenTel: 86-592-2388138 China - ZhuhaiTel: 86-756-3210040

ASIA/PACIFICIndia - BangaloreTel: 91-80-3090-4444 India - New DelhiTel: 91-11-4160-8631India - PuneTel: 91-20-4121-0141Japan - OsakaTel: 81-6-6152-7160 Japan - TokyoTel: 81-3-6880- 3770 Korea - DaeguTel: 82-53-744-4301Korea - SeoulTel: 82-2-554-7200Malaysia - Kuala LumpurTel: 60-3-7651-7906Malaysia - PenangTel: 60-4-227-8870Philippines - ManilaTel: 63-2-634-9065SingaporeTel: 65-6334-8870Taiwan - Hsin ChuTel: 886-3-577-8366Taiwan - KaohsiungTel: 886-7-213-7830Taiwan - TaipeiTel: 886-2-2508-8600 Thailand - BangkokTel: 66-2-694-1351Vietnam - Ho Chi MinhTel: 84-28-5448-2100

EUROPEAustria - WelsTel: 43-7242-2244-39Fax: 43-7242-2244-393Denmark - CopenhagenTel: 45-4485-5910 Fax: 45-4485-2829Finland - EspooTel: 358-9-4520-820France - ParisTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany - GarchingTel: 49-8931-9700Germany - HaanTel: 49-2129-3766400Germany - HeilbronnTel: 49-7131-72400Germany - KarlsruheTel: 49-721-625370Germany - MunichTel: 49-89-627-144-0 Fax: 49-89-627-144-44Germany - RosenheimTel: 49-8031-354-560Israel - Ra’anana Tel: 972-9-744-7705Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781Italy - PadovaTel: 39-049-7625286 Netherlands - DrunenTel: 31-416-690399 Fax: 31-416-690340Norway - TrondheimTel: 47-7288-4388Poland - WarsawTel: 48-22-3325737 Romania - BucharestTel: 40-21-407-87-50Spain - MadridTel: 34-91-708-08-90Fax: 34-91-708-08-91Sweden - GothenbergTel: 46-31-704-60-40Sweden - StockholmTel: 46-8-5090-4654UK - WokinghamTel: 44-118-921-5800Fax: 44-118-921-5820

Worldwide Sales and Service

2018-2020 Microchip Technology Inc. 02/28/20