an1997 usb-to-gpio bridging with microchip usb3.1 gen1 hubs application...
TRANSCRIPT
AN1997USB-to-GPIO Bridging with Microchip USB3.1 Gen1
Hubs
INTRODUCTION
The USB-to-GPIO Bridging feature of Microchip’s USB 2.0 hubs provides system designers expanded system control and potential BOM reduction. General Purpose Input/Outputs (GPIOs) may be used for any general 3.3V-level digital control and input functions. This feature is available on the Microchip USB5734 and USB58xx/USB59xx USB3.1 Gen 1 Hubs.
Commands may be sent from the USB Host to the internal Hub Feature Controller device in the Microchip hub to per-form the following functions:
• Set the direction of the GPIO (input or output)
• Enable a pull-up resistor
• Enable a pull-down resistor
• Read the state
• Set the state
SECTIONS
Section 1.0, General Information
Section 2.0, Part Number-Specific Information
Section 3.0, Microchip Software Solutions
Section 4.0, Manual Implementation
Section 5.0, Examples
Section 6.0, GPIO Default States
Section 7.0, GPIO Control via SMbus Interface
REFERENCES
Consult the following documents for details on the specific parts referred to in this document.
• Microchip USB5734 Data Sheet
• Microchip USB5806 Data Sheet
• Microchip USB5807 Data Sheet
• Microchip USB5816 Data Sheet
• Microchip USB5826 Data Sheet
• Microchip USB5906 Data Sheet
• Microchip USB5916 Data Sheet
• Microchip USB5926 Data Sheet
• Microchip AN1903 Configuration Options for the USB5734 and USB5744
• Microchip AN2316 Configuration Options for the USB58xx and USB59xx
Author: Andrew RogersMicrochip Technology Inc.
2015-2019 Microchip Technology Inc. DS00001997C-page 1
AN1997
1.0 GENERAL INFORMATION
Microchip hub USB-to-GPIO Bridging features in Microchip hubs work via host commands sent to a Hub Feature Con-troller embedded within the hub located on an additional internal USB port. In order for the bridging features to work correctly, this internal Hub Feature Controller must be enabled by default. Table 1 provides details on default Hub Fea-ture Controller setters by device.
TABLE 1: DEFAULT SETTINGS FOR THE HUB FEATURE CONTROLLER ENABLE
Part Number Part SummaryHub Feature Controller Default
Setting
USB5734 4-Port USB3.1 Gen 1 Hub Enabled by default
USB5806 6-Port USB3.1 Gen1 Hub Enabled by default
USB5807 7-Port USB3.1 Gen1 Hub Not available (Note 1)
USB5816 6-Port USB3.1 Gen1 Hub with Type-C™ Support on 1 Downstream Port
Enabled by default
USB5826 6-Port USB3.1 Gen1 Hub with Type-C Support on 2 Downstream Ports
Enabled by default
USB5906 6-Port USB3.1 Gen1 Hub with Type-C Support on the Upstream Port
Enabled by default
USB5916 6-Port USB3.1 Gen1 Hub with Type-C Support on the Upstream Port and 1 Downstream Port
Enabled by default
USB5926 6-Port USB3.1 Gen1 Hub with Type-C Support on the Upstream Port and 2 Downstream Ports
Enabled by default
Note 1: The USB5807 does not have an internal Hub Feature Controller device. The USB-to-GPIO functionality is not available on this device, but GPIO control is still available through the SMBus slave interface.
The Hub Feature Controller is a USB2.0 generic USB class device (WinUSB drivers are used in Windows® systems) connected to an extra internal USB2.0 port in the hub. For example, in a four-port hub, the Hub Feature Controller is connected to Port 5 of the USB2.0 portion of the hub. The Product ID (PID) for the Hub Feature Controller is 0x2740 on USB5734, and 0x2840 on USB58xx/USB59xx. All bridging commands are addressed to the Hub Feature Controller, not the Hub.
FIGURE 1: MICROCHIP HUB CONTROLLER EXAMPLE
USB Host
MicrochipUSB5734 GPIO
I2CUARTSPI
prt4prt1 prt2 prt3
prt5
UpstreamPort
Hub FeatureController
DownstreamPort
DownstreamPort
DownstreamPort
DownstreamPort
U S B D e v i c e s
VID = 0x0424PID = 0x2740
See Figure 1 and Figure 2.
DS00001997C-page 2 2015-2019 Microchip Technology Inc.
AN1997
FIGURE 2: MICROCHIP HUB CONTROLLER EXAMPLE
USB Host
MicrochipUSB5806 GPIO
I2C
SPI
prt5prt2 prt3 prt4
prt7
UpstreamPort
Hub FeatureController
DownstreamPort
DownstreamPort
DownstreamPort
DownstreamPort
U S B D e v i c e s
VID = 0x0424PID = 0x2840
prt1
DownstreamPort
prt6
DownstreamPort
The following GPIO Functions are supported:
• Set the GPIO Direction (Input or Output)
• Enable GPIO Internal Pull-up Resistor
• Enable GPIO Internal Pull-down Resistor
• GPIO Read State (Input Mode)
• GPIO Set State (Output Mode)
1.1 Set the GPIO Direction (Input or Output)
Each GPIO can be configured as either a Schmitt-triggered input or output with an 8 mA sink/source.
1.2 Enable GPIO Internal Pull-up Resistor
Each GPIO can be enabled with a 50 μA (typical) internal pull-up resistor. Internal pull-up resistors prevent unconnected inputs from floating. The pull-up is only 67k, so it may not be strong enough to drive a load of less than 100k. When connected to a load that must be pulled high, an external resistor must be added.
1.3 Enable GPIO Internal Pull-down Resistor
Each GPIO can be enabled with a 50 μA (typical) internal pull-down resistor. Internal pull-down resistors prevent uncon-nected inputs from floating. The pull-down is only 67k, so it may not be strong enough to drive a load of less than 100k. When connected to a load that must be pulled low, an external resistor must be added.
1.4 GPIO Read State (Input Mode)
Read a 0: GPIO is below 0.9V
Read a 1: GPIO is above 1.9V
Note: When configured as an input, the GPIOs are digital Schmitt-triggered inputs. The range 0.8V to 2.0V is an indeterminate input state, so 3.3V-to-2.5V signaling is supported.
1.5 GPIO Set State (Output Mode)
Set to 0: GPIO Drives to 0.0V. When driven low, an 8 mA sink is enabled driving the pin to 0.4V or lower.
Set to 1: GPIO Drives to 3.3V. When driven high, an 8 mA source is enabled driving the pin to VDD33 – 0.4V or higher.
2015-2019 Microchip Technology Inc. DS00001997C-page 3
AN1997
2.0 PART NUMBER-SPECIFIC INFORMATION
2.1 Part Summary
Table 2 summarizes the total number of available GPIOs by part number. Many of the GPIOs on the hub are only avail-able after configuration. The following methods may be used to configure the hub:
• MPLAB Connect: If configuring via internal One-Time Programmable (OTP) memory, or if configuring via EEPROM with a base firmware file.
• SMBus/I2C Configuration: If using an embedded SoC/I2C EEPROM to configure the hub at each startup/reset.
• Pin Strapping: Many of the GPIOs are made available by specific pin strapping or by simply not populating an SPI EEPROM device.
TABLE 2: GPIO AVAILABILITY SUMMARY
USB5734 USB5806 USB5807 USB5816 USB5826 USB5906 USB5916 USB5926
GPIOS Available By Default
7 1 1 3 3 3 3 3
Maximum Available GPIOs
16 25 25 25 25 25 25 25
Note 1: USB5807 does not have an internal Hub Feature Controller device. GPIOs may only be configured and operated via the SMBus slave interface for this device.
DS00001997C-page 4 2015-2019 Microchip Technology Inc.
AN1997
2.2 USB5734 GPIO Pins
TABLE 3: USB5734 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
7 GPIO7 PROG_FUNC7/GPIO Set CFG_STRAP to Mode 4.
34 GPIO20 Port 4 Port Power Control
Disable Port 4 and Disable Port Power 4 Output + OCS 4 InputorSet hub into Port Power Ganged Mode and Disable Port Power 4 Output + OCS 4 Input.
36 GPIO19 Port 3 Port Power Control
Disable Port 3 and Disable Port Power 3 Output + OCS 3 InputorSet hub into Port Power Ganged Mode and Disable Port Power 3 Output + OCS 3 Input.
37 GPIO18 Port 2 Port Power Control
Disable Port 2 and Disable Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Disable Port Power 2 Output + OCS 2 Input.
38 GPIO17 Port 1 Port Power Control
Disable Port 1 and Disable Port Power 4 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Disable Port Power 1 Output + OCS 1 Input.
39 GPIO2 PROG_FUNC2/GPIO Set CFG_STRAP to Mode 1 or 4.
40 GPIO3 PROG_FUNC3/GPIO Set CFG_STRAP to Mode 1 or 4.
41 GPIO16 VBUS_DET Disable VBUS_DET function.
42 GPIO4 SPI_CLK Do not use SPI ROM (Note 1), UART, or I2C interface.
43 GPIO5 SPI_DO Do not use SPI ROM (Note 1), UART, or I2C interface.
44 GPIO9 SPI_DI Do not use SPI ROM (Note 1).
45 GPIO7 SPI_CE_N Do not use SPI ROM (Note 1).
46 GPIO6 PROG_FUNC4/GPIO Set CFG_STRAP to Mode 4.
47 GPIO8 PROG_FUNC5/GPIO Set CFG_STRAP to Mode 4 or Mode 5.
49 GPIO11 PROG_FUNC6/GPIO Set CFG_STRAP to Mode 4 or Mode 5.
50 GPIO1 PROG_FUNC1/GPIO Set CFG_STRAP to Mode 1 or Mode 4.
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2.3 USB5806 GPIO Pins
TABLE 4: USB5806 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 FLEX_CMD Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 FLEX_STATE Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 SPEED_IND5 Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL6 Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 6 Output + OCS 6 Input.
2015-2019 Microchip Technology Inc. DS00001997C-page 5
AN1997
52 GPIO21 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 5 Output + OCS 5 Input.
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 SPEED_IND3 Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL4/GANG_PWR
Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 Input.
58 GPIO19 PRT_CTL3 Disable Logical Port 3 and Disable Logical Port Power 3 Output + OCS 3 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 3 Output + OCS 3 Input.
60 GPIO3 SPEED_IND4 Custom firmware required to remove FW control of pin (Note 2)
61 GPIO71 SPEED_IND2 Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 2 Output + OCS 2 Input.
63 GPIO70 SPEED_IND1 Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_DO/C_ATTACH3 Do not use SPI ROM (Note 1), Custom firmware required to remove FW control of pin (Note 2).
66 GPIO5 SPI_DI/C_ATTACH2 Do not use SPI ROM (Note 1), Custom firmware required to remove FW control of pin (Note 2).
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Logical Port 1 and Disable Logical Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 SPEED_IND6 Custom firmware required to remove FW control of pin (Note 2)
73 GPIO1 C_ATTACH1 Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0 Custom firmware required to remove FW control of pin (Note 2)
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 4: USB5806 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 6 2015-2019 Microchip Technology Inc.
AN1997
2.4 USB5807 GPIO Pins
TABLE 5: USB5807 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 FLEX_CMD Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 FLEX_STATE Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 SPEED_IND5/BC_IND5
Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL6 Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 6 Output + OCS 6 Input.
52 GPIO21 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 5 Output + OCS 5 Input.
53 GPIO23 PRT_CTL7 Disable Logical Port 7 and Disable Logical Port Power 7 Output + OCS 7 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 7 Output + OCS 7 Input.
55 GPIO67 SPEED_IND7/BC_IND7
Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 SPEED_IND3/BC_IND3
Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL4/GANG_PWR
Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 Input.
58 GPIO19 PRT_CTL3 Disable Logical Port 3 and Disable Logical Port Power 3 Output + OCS 3 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 3 Output + OCS 3 Input.
60 GPIO3 SPEED_IND4/BC_IND4
Custom firmware required to remove FW control of pin (Note 2)
61 GPIO71 SPEED_IND2/BC_IND2
Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 2 Output + OCS 2 Input.
63 GPIO70 SPEED_IND1/BC_IND1
Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_DO/C_ATTACH3 Do not use SPI ROM (Note 1). Custom firmware required to remove FW control of pin (Note 2).
66 GPIO5 SPI_DI/C_ATTACH2 Do not use SPI ROM (Note 1). Custom firmware required to remove FW control of pin (Note 2).
69 GPIO69 GPIO69 GPIO69 by default
2015-2019 Microchip Technology Inc. DS00001997C-page 7
AN1997
70 GPIO17 PRT_CTL1 Disable Logical Port 1 and Disable Logical Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 SPEED_IND6 Custom firmware required to remove FW control of pin (Note 2)
73 GPIO1 C_ATTACH1 Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0 Custom firmware required to remove FW control of pin (Note 2)
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 5: USB5807 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 8 2015-2019 Microchip Technology Inc.
AN1997
2.5 USB5816 GPIO Pins
TABLE 6: USB5816 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 NC Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 NC Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 AB1/ATTACH_MUX1B
Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 5 Output + OCS 5 Input.
52 GPIO21 PRT_CTL4 Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 4 Output + OCS 4 Input.
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 C_ATTACH2 Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL3/GANG_PWR
Disable Logical Port 3 and Disable Logical Port Power 3 Output + OCS 3 Input.
58 GPIO19 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 2 Output + OCS 2 Input.
60 GPIO3 GPIO3 GPIO3 by default
61 GPIO71 CC_POL Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL6 Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 6 Output + OCS 6 Input.
63 GPIO70 ALT_MUX_EN Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_DO/C_ATTACH3 Do not use SPI ROM (Note 1). Custom firmware required to remove FW control of pin (Note 2).
66 GPIO5 SPI_DI/C_ATTACH2 Do not use SPI ROM (Note 1). Custom firmware required to remove FW control of pin (Note 2).
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Logical Port 1 and Disable Logical Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 GPIO66 GPIO66 by default
73 GPIO1 C_ATTACH1/ATTACHMUX1A
Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0 Custom firmware required to remove FW control of pin (Note 2)
2015-2019 Microchip Technology Inc. DS00001997C-page 9
AN1997
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 6: USB5816 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 10 2015-2019 Microchip Technology Inc.
AN1997
2.6 USB5826 GPIO Pins
TABLE 7: USB5826 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 NC Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 NC Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 AB1/ATTACH_MUX1B
Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL4 Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 4 Output + OCS 4 Input
52 GPIO21 PRT_CTL3 Disable Logical Port 3 and Disable Port Power 3 Output + OCS 3 InputorSet hub into Logical Port Power Ganged Mode and Logical Disable Port Power 3 Output + OCS 3 Input.
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 C_ATTACH2/ATTACHMUX2A
Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL6/GANG_PWR
Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 Input.
58 GPIO19 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 2 Output + OCS 2 Input.
60 GPIO3 GPIO3 GPIO3 by default
61 GPIO71 CC_POL Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 5 Output + OCS 5 Input.
63 GPIO70 ALT_MUX_EN Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_CLK Do not use SPI ROM (Note 1).
66 GPIO5 SPI_DO Do not use SPI ROM (Note 1).
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Port 1 and Disable Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Disable Port Power 1 Out-put + OCS 1 Input.
71 GPIO66 AB2/ATTACHMUX2B GPIO66 by default
73 GPIO1 C_ATTACH1/ATTACHMUX1A
Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0 Custom firmware required to remove FW control of pin (Note 2)
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
2015-2019 Microchip Technology Inc. DS00001997C-page 11
AN1997
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 7: USB5826 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 12 2015-2019 Microchip Technology Inc.
AN1997
2.7 USB5906 GPIO Pins
TABLE 8: USB5906 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 NC Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 NC Custom firmware required to remove FW control of pin(Note 2)
50 GPIO65 GPIO65 GPIO65 by default
51 GPIO22 PRT_CTL6 Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 6 Output + OCS 6 Input.
52 GPIO21 PRT_CTL5 Disable Logical Port 5 and Disable Port Power 5 Output + OCS 5 InputorSet hub into Logical Port Power Ganged Mode and Logical Disable Port Power 5 Output + OCS 5 Input.
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 C_ATTACH2 Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL4/GANG_PWR
Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 Input.
58 GPIO19 PRT_CTL3 Disable Logical Port 3 and Disable Logical Port Power 3 Output + OCS 3 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 3 Output + OCS 3 Input
60 GPIO3 AB0/ATTACHMUX0B Custom firmware required to remove FW control of pin (Note 2)
61 GPIO71 CC_POL Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 2 Output + OCS 2 Input.
63 GPIO70 ALT_MUX_EN Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_CLK Do not use SPI ROM (Note 1).
66 GPIO5 SPI_DO Do not use SPI ROM (Note 1).
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Port 1 and Disable Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 GPIO66 GPIO66 by default
73 GPIO1 C_ATTACH1 Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0/ATTACHMUX0A
Custom firmware required to remove FW control of pin (Note 2)
2015-2019 Microchip Technology Inc. DS00001997C-page 13
AN1997
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 8: USB5906 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 14 2015-2019 Microchip Technology Inc.
AN1997
2.8 USB5916 GPIO Pins
TABLE 9: USB5916 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 NC Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 NC Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 AB1/ATTACHMUX1B Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 5 Output + OCS 5 Input.
52 GPIO21 PRT_CTL4 Disable Logical Port 4 and Disable Port Power 4 Output + OCS 4 InputorSet hub into Logical Port Power Ganged Mode and Logical Disable Port Power 4 Output + OCS 4 Input.
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 C_ATTACH2 Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL3/GANG_PWR
Disable Logical Port 3 and Disable Logical Port Power 3 Output + OCS 3 Input.
58 GPIO19 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 2 Output + OCS 2 Input.
60 GPIO3 AB0/ATTACHMUX0B Custom firmware required to remove FW control of pin (Note 2)
61 GPIO71 CC_POL Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL6 Disable Logical Port 6 and Disable Logical Port Power 6 Output + OCS 6 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 6 Output + OCS 6 Input.
63 GPIO70 ALT_MUX_EN Custom firmware required to remove FW control of pin2
65 GPIO4 SPI_CLK Do not use SPI ROM (Note 1)
66 GPIO5 SPI_DO Do not use SPI ROM (Note 1)
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Port 1 and Disable Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 GPIO66 GPIO66 by default
73 GPIO1 C_ATTACH1/ATTACHMUX1A
Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0/ATTACHMUX0A
Custom firmware required to remove FW control of pin (Note 2)
2015-2019 Microchip Technology Inc. DS00001997C-page 15
AN1997
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 9: USB5916 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 16 2015-2019 Microchip Technology Inc.
AN1997
2.9 USB5926 GPIO Pins
TABLE 10: USB5926 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
20 GPIO12 CFG_STRAP Custom firmware required to remove FW control of pin (Note 2)
21 GPIO10 NC Custom firmware required to remove FW control of pin (Note 2)
22 GPIO72 NC Custom firmware required to remove FW control of pin (Note 2)
50 GPIO65 AB1/ATTACHMUX1B Custom firmware required to remove FW control of pin (Note 2)
51 GPIO22 PRT_CTL4 Disable Logical Port 4 and Disable Logical Port Power 4 Output + OCS 4 InputorSet hub into Port Power Ganged Mode and Logical Disable Port Power 4 Output + OCS 4 Input.
52 GPIO21 PRT_CTL3 Disable Logical Port 3 and Disable Port Power 3 Output + OCS 3 InputorSet hub into Logical Port Power Ganged Mode and Logical Disable Port Power 3 Output + OCS 3 Input
53 GPIO23 HOST_TYPE0 Custom firmware required to remove FW control of pin (Note 2)
55 GPIO67 HOST_TYPE1 Custom firmware required to remove FW control of pin (Note 2)
56 GPIO2 C_ATTACH2/ATTACHMUX2A
Custom firmware required to remove FW control of pin (Note 2)
57 GPIO20 PRT_CTL6/GANG_PWR
Disable Logical Port 6 and Disable Logical Port Power 36 Output + OCS 6 Input.
58 GPIO19 PRT_CTL2 Disable Logical Port 2 and Disable Logical Port Power 2 Output + OCS 2 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 2 Output + OCS 2 Input.
60 GPIO3 AB0/ATTACHMUX0B Custom firmware required to remove FW control of pin (Note 2)
61 GPIO71 CC_POL Custom firmware required to remove FW control of pin (Note 2)
62 GPIO18 PRT_CTL5 Disable Logical Port 5 and Disable Logical Port Power 5 Output + OCS 5 InputorSet hub into Port Power Ganged Mode and Disable Logical Port Power 5 Output + OCS 5 Input.
63 GPIO70 ALT_MUX_EN Custom firmware required to remove FW control of pin (Note 2)
65 GPIO4 SPI_CLK Do not use SPI ROM (Note 1).
66 GPIO5 SPI_DO Do not use SPI ROM (Note 1).
69 GPIO69 GPIO69 GPIO69 by default
70 GPIO17 PRT_CTL1 Disable Port 1 and Disable Port Power 1 Output + OCS 1 InputorSet hub into Port Power Ganged Mode and Disable Port Power 1 Output + OCS 1 Input.
71 GPIO66 AB2/ATTACHMUX2B Custom firmware required to remove FW control of pin (Note 2)
73 GPIO1 C_ATTACH1/ATTACHMUX1A
Custom firmware required to remove FW control of pin (Note 2)
74 GPIO6 SMBDATA Custom firmware required to remove FW control of pin (Note 2)
75 GPIO8 SMBCLK Custom firmware required to remove FW control of pin (Note 2)
76 GPIO64 C_ATTACH0/ATTACHMUX0A
Custom firmware required to remove FW control of pin (Note 2)
2015-2019 Microchip Technology Inc. DS00001997C-page 17
AN1997
77 GPIO68 SUSP_IND Custom firmware required to remove FW control of pin (Note 2)
Note 1: SPI Data pins will oscillate at 30/60 MHz for a short period at startup to detect the presence of an SPI Flash device with a valid firmware image signature. There is no way to disable this toggling. Only use these pins as GPIOs if toggling at power on can be tolerated by the system.
2: Customized firmware can be supported on the Microchip USB5734 and USB58xx/USB59xx devices through either an application of a patch to the default firmware loaded from internal ROM or by executing an entirely separate firmware image from an attached SP Flash device. Development of customized firm-ware is assessed on a case-by-case basis and requires support from Microchip developers. Contact your Microchip sales representative to discuss the possibility of customized firmware.
TABLE 10: USB5926 GPIO AVAILABILITY AND CONFIGURATION REQUIREMENTS
Pin # Name Primary Function Configuration Required
DS00001997C-page 18 2015-2019 Microchip Technology Inc.
AN1997
3.0 MICROCHIP SOFTWARE SOLUTIONS
Microchip currently offers two publicly available software solutions to facilitate USB-to-GPIO Bridging in USB5734 and USB58xx/USB59xx USB3.1 Gen 1 Hubs on Windows and Linux.
3.1 MPLAB Connect Configurator Package (For Windows)
The MPLAB Connect Configurator (MPLABCC) package consists of both GUI-based and CLI-based tools which support USB-to-GPIO Bridging in a standalone form. In addition to these, it contains a Dynamically Linked Library (DLL) for Win-dows which can be used for implementing USB-to-GPIO Bridging feature in custom applications using C programming language. The MPLABCC DLL consists of the following:
User's guide: A detailed description of how to use the DLL API to call each function
Release notes
Library files: A .dll and a .lib file
Example code
3.2 Application Code Examples (For Linux)
For implementing USB-to-GPIO Bridging on Linux, you can use the following USB5734 and USB58xx/USB59xx Linux® Application Code Example (ACE):
ACE009 USB-to-GPIO Bridging: This ACE demonstrates how to use the GPIO Master interface of the hub to perform read/write operations. It also allows the user to select from a range of GPIO clock frequencies.
This application example uses libusb library for Linux to build and send USB packets as described in Manual Implemen-tation. It is a full-feature code example that consists of:
Example code with minimal abstraction and in-line comments describing the various steps involved:
A Makefile
README
This ACE can be used as a standalone application and can be integrated into existing applications.
2015-2019 Microchip Technology Inc. DS00001997C-page 19
AN1997
4.0 MANUAL IMPLEMENTATION
The USB-to-GPIO Bridging features may be implemented at the lowest level if you have the ability to build USB packets. This approach is required if you are not using a Windows or Linux host system and cannot use the SDK.
All USB-to-GPIO Bridging commands are accomplished with internal register writes and reads. Further details can be found in Microchip application note AN1903 Configuration Options for the USB5734 and USB5744 or AN2316 Config-uration Options for the USB58xx and USB59xx. All USB-to-GPIO Bridging commands must be sent directly to Endpoint 0 of the Hub Feature Controller connected to the last downstream port of the Microchip hub (i.e. located on Port 5 of a four-port hub).
For details on the register read and write USB SETUP packets, refer to Section 4.1, "Register Read" and Section 4.2, "Register Write", respectively. The configuration register addresses and contents are detailed in Section 4.3, "GPIO Configuration Register Map for USB5734" and Section 4.4, "Register Definitions for USB5734".
4.1 Register Read
To read the state of a GPIO, a register read with the USB SETUP packet in Table 11 must be used.
TABLE 11: REGISTER READ USB SETUP COMMAND
SETUP Parameter Value Description
bmRequestType 0xC1 Device-to-host, vendor class, targeted to interface
bRequest 0x04 Register read command: CMD_REG_READ
wValue Register Address Valid Address Range: <0x0000> to <0xFFFF> [64KB]
wIndex 0x0000 Reserved
wLength Data Length Length of the data bytes to be retrieved
4.1.1 REGISTER READ USB TRANSACTION SEQUENCE
Command Phase: Hub Feature Controller receives the SETUP packet with the parameters specified in Table 11.
Data Phase: Hub Feature Controller sends the data bytes of length wLength from the specified address.
Status Phase: Hub Feature Controller sends ACK on successful completion of register read.
4.2 Register Write
To configure the direction of a GPIO, pull-up/pull-down resistor settings, or set the output state of a GPIO, a register write command with the USB SETUP packet in Table 12 must be used:
TABLE 12: REGISTER WRITE USB SETUP COMMAND
SETUP Parameter Value Description
bmRequestType 0x41 Host-to-device, vendor class, targeted to interface
bRequest 0x03 Register read command: CMD_REG_WRITE
wValue Register Address Valid Address Range: <0x0000> to <0xFFFF> [64KB]
wIndex 0x0000 Reserved
wLength Data Length Length of data bytes to write
4.2.1 REGISTER WRITE USB TRANSACTION SEQUENCE
Command Phase: Hub Feature Controller receives the SETUP packet with the parameters specified in Table 11.
Data Phase: Hub Feature Controller receives the data bytes of length wLength to be written to the register starting from the specified address.
Status Phase: Hub Feature Controller sends ACK on successful completion of register write.
DS00001997C-page 20 2015-2019 Microchip Technology Inc.
AN1997
4.3 GPIO Configuration Register Map for USB5734
TABLE 13: USB5734 GPIO CONFIGURATION REGISTER MEMORY MAP
Addr. R/W Name Function Default
082Ch R/W GPIO_1_7_PD USB5734 GPIO 1-7 Pull-down Register 00h
082Dh R/W GPIO_8_11_PD USB5734 GPIO 8-11 Pull-down Register 00h
082Eh R/W GPIO_16_20_PD USB5734 GPIO 16-20 Pull-down Register 00h
0830h R/W GPIO_1_7_DIR USB5734 GPIO 1-7 Direction Control Register 00h
0831h R/W GPIO_8_11_DIR USB5734 GPIO 8-11 Direction Control Register 00h
0832h R/W GPIO_16_20_DIR USB5734 GPIO 16-20 Direction Control Register 00h
0834h R/W GPIO_1_7_OUT USB5734 GPIO 1-7 Output Register 00h
0835h R/W GPIO_8_11_OUT USB5734 GPIO 8-11 Output Register 00h
0836h R/W GPIO_16_20_OUT USB5734 GPIO 16-20 Output Register 00h
0838h R/W GPIO_1_7_IN USB5734 GPIO 1-7 Input Register 00h
0839h R/W GPIO_8_11_IN USB5734 GPIO 8-11 Input Register 00h
083Ah R/W GPIO_16_20_IN USB5734 GPIO 17-20 Input Register 00h
083Ch R/W GPIO_1_7_PU USB5734 GPIO 1-7 Pull-up Register 00h
083Dh R/W GPIO_8_11_PU USB5734 GPIO 8-11 Pull-up Register 00h
083Eh R/W GPIO_16_20_PU USB5734 GPIO 16-20 Pull-up Register 00h
0880h R/W GPIO_1_7_IN_EN USB5734 GPIO 1-7 Input Enable Register 00h
0881h R/W GPIO_8_11_IN_EN USB5734 GPIO 8-11 Input Enable Register 00h
0882h R/W GPIO_16_20_IN_EN USB5734 GPIO 16-20 Input Enable Register 00h
4.4 Register Definitions for USB5734
TABLE 14: USB5734 GPIO 1-7 PULL-DOWN REGISTER
GPIO_1_7_PD(082Ch)
GPIO 1-7 Pull-down Register
BIT Name R/W Description
7 GPIO_7_PD R/W Set bit to enable GPIO7 Pull-down resistor.
6 GPIO_6_PD R/W Set bit to enable GPIO6 Pull-down resistor.
5 GPIO_5_PD R/W Set bit to enable GPIO5 Pull-down resistor.
4 GPIO_4_PD R/W Set bit to enable GPIO4 Pull-down resistor.
3 GPIO_3_PD R/W Set bit to enable GPIO3 Pull-down resistor.
2 GPIO_2_PD R/W Set bit to enable GPIO2 Pull-down resistor.
1 GPIO_1_PD R/W Set bit to enable GPIO1 Pull-down resistor.
0 Reserved R Reserved
TABLE 15: USB5734 GPIO 8-11 PULL-DOWN REGISTER
GPIO_8_11_PD(082Dh)
GPIO 8-11 Pull-down Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_PD R/W Set bit to enable GPIO11 Pull-down resistor.
2 GPIO_10_PD R/W Set bit to enable GPIO10 Pull-down resistor.
1 GPIO_9_PD R/W Set bit to enable GPIO9 Pull-down resistor.
0 GPIO_8_PD R/W Set bit to enable GPIO8 Pull-down resistor.
2015-2019 Microchip Technology Inc. DS00001997C-page 21
AN1997
TABLE 16: USB5734 GPIO 16-20 PULL-DOWN REGISTER
GPIO_16_20_PD(082Eh)
GPIO 17-20 Pull-down Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_PD R/W Set bit to enable GPIO20 Pull-down resistor.
3 GPIO_19_PD R/W Set bit to enable GPIO19 Pull-down resistor.
2 GPIO_18_PD R/W Set bit to enable GPIO18 Pull-down resistor.
1 GPIO_17_PD R/W Set bit to enable GPIO17 Pull-down resistor.
0 GPIO_16_PD R/W Set bit to enable GPIO16 Pull-down resistor.
TABLE 17: USB5734 GPIO 1-7 DIRECTION CONTROL REGISTER
GPIO_1_7_DIR(0830h)
GPIO 1-7 Direction Control Register
BIT Name R/W Description
7 GPIO_7_DIR R/W Set bit to configure GPIO7 as an output.Clear bit to configure GPIO7 as an input.
6 GPIO_6_DIR R/W Set bit to configure GPIO6 as an output.Clear bit to configure GPIO6 as an input.
5 GPIO_5_DIR R/W Set bit to configure GPIO5 as an output.Clear bit to configure GPIO5 as an input.
4 GPIO_4_DIR R/W Set bit to configure GPIO4 as an output.Clear bit to configure GPIO4 as an input.
3 GPIO_3_DIR R/W Set bit to configure GPIO3 as an output.Clear bit to configure GPIO3 as an input.
2 GPIO_2_DIR R/W Set bit to configure GPIO2 as an output.Clear bit to configure GPIO2 as an input.
1 GPIO_1_DIR R/W Set bit to configure GPIO1 as an output.Clear bit to configure GPIO1 as an input.
0 Reserved R Reserved
TABLE 18: USB5734 GPIO 8-11 DIRECTION CONTROL REGISTER
GPIO_8_11_DIR(0831h)
GPIO 8-11 Direction Control Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_DIR R/W Set bit to configure GPIO11 as an output.Clear bit to configure GPIO11 as an input.
2 GPIO_10_DIR R/W Set bit to configure GPIO10 as an output.Clear bit to configure GPIO10 as an input.
1 GPIO_9_DIR R/W Set bit to configure GPIO9 as an output.Clear bit to configure GPIO9 as an input.
0 GPIO_8_DIR R/W Set bit to configure GPIO8 as an output.Clear bit to configure GPIO8 as an input.
DS00001997C-page 22 2015-2019 Microchip Technology Inc.
AN1997
TABLE 19: USB5734 GPIO 16-20 DIRECTION CONTROL REGISTER
GPIO_16_20_DIR(0833h)
GPIO 17-20 Direction Control Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_DIR R/W Set bit to configure GPIO20 as an output.Clear bit to configure GPIO20 as an input.
3 GPIO_19_DIR R/W Set bit to configure GPIO19 as an output.Clear bit to configure GPIO19 as an input.
2 GPIO_18_DIR R/W Set bit to configure GPIO18 as an output.Clear bit to configure GPIO18 as an input.
1 GPIO_17_DIR R/W Set bit to configure GPIO17 as an output.Clear bit to configure GPIO17 as an input.
0 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output.Clear bit to configure GPIO16 as an input.
TABLE 20: USB5734 GPIO 1-7 OUTPUT REGISTER
GPIO_1_7_OUT(0834h)
GPIO 1-7 Output Register
BIT Name R/W Description
7 GPIO_7_OUT R/W Access to the GPIO7 Output Register. Sets state of output pin.
6 GPIO_6_OUT R/W Access to the GPIO6 Output Register. Sets state of output pin.
5 GPIO_5_OUT R/W Access to the GPIO5 Output Register. Sets state of output pin.
4 GPIO_4_OUT R/W Access to the GPIO4 Output Register. Sets state of output pin.
3 GPIO_3_OUT R/W Access to the GPIO3 Output Register. Sets state of output pin.
2 GPIO_2_OUT R/W Access to the GPIO2 Output Register. Sets state of output pin.
1 GPIO_1_OUT R/W Access to the GPIO1 Output Register. Sets state of output pin.
0 Reserved R Reserved
TABLE 21: USB5734 GPIO 8-11 OUTPUT REGISTER
GPIO_8_11_OUT(0835h)
GPIO 8-11 Output Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_OUT R/W Access to the GPIO11 Output Register. Sets state of output pin.
2 GPIO_10_OUT R/W Access to the GPIO10 Output Register. Sets state of output pin.
1 GPIO_9_OUT R/W Access to the GPIO9 Output Register. Sets state of output pin.
0 GPIO_8_OUT R/W Access to the GPIO8 Output Register. Sets state of output pin.
2015-2019 Microchip Technology Inc. DS00001997C-page 23
AN1997
TABLE 22: USB5734 GPIO 16-20 OUTPUT REGISTER
GPIO_16_20_OUT(0836h)
GPIO 17-20 Output Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_OUT R/W Access to the GPIO20 Output Register. Sets state of output pin.
3 GPIO_19_OUT R/W Access to the GPIO19 Output Register. Sets state of output pin.
2 GPIO_18_OUT R/W Access to the GPIO18 Output Register. Sets state of output pin.
1 GPIO_17_OUT R/W Access to the GPIO17 Output Register. Sets state of output pin.
0 GPIO_16_OUT R/W Access to the GPIO16 Output Register. Sets state of output pin.
TABLE 23: USB5734 GPIO 1-7 INPUT REGISTER
GPIO_1_7_IN(0838h)
GPIO 1-7 Input Register
BIT Name R/W Description
7 GPIO_7_IN R/W Access to the GPIO7 Input Register. Reads state of input pin.
6 GPIO_6_IN R/W Access to the GPIO6 Input Register. Reads state of input pin.
5 GPIO_5_IN R/W Access to the GPIO5 Input Register. Reads state of input pin.
4 GPIO_4_IN R/W Access to the GPIO4 Input Register. Reads state of input pin.
3 GPIO_3_IN R/W Access to the GPIO3 Input Register. Reads state of input pin.
2 GPIO_2_IN R/W Access to the GPIO2 Input Register. Reads state of input pin.
1 GPIO_1_IN R/W Access to the GPIO1 Input Register. Reads state of input pin.
0 Reserved R Reserved
TABLE 24: USB5734 GPIO 8-11 INPUT REGISTER
GPIO_8_11_INP_BUF(0839h)
GPIO 8-11 Input Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_IN R/W Access to the GPIO11 Input Register. Reads state of input pin.
2 GPIO_10_IN R/W Access to the GPIO10 Input Register. Reads state of input pin.
1 GPIO_9_IN R/W Access to the GPIO9 Input Register. Reads state of input pin.
0 GPIO_8_IN R/W Access to the GPIO8 Input Register. Reads state of input pin.
TABLE 25: USB5734 GPIO 17-20 INPUT REGISTER
GPIO_17_20_INP_BUF(083Ah)
GPIO 17-20 Input Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_IN R/W Access to the GPIO20 Input Register. Reads state of input pin.
3 GPIO_19_IN R/W Access to the GPIO19 Input Register. Reads state of input pin.
2 GPIO_18_IN R/W Access to the GPIO18 Input Register. Reads state of input pin.
1 GPIO_17_IN R/W Access to the GPIO17 Input Register. Reads state of input pin.
0 GPIO_16_IN R/W Access to the GPIO16 Input Register. Reads state of input pin.
DS00001997C-page 24 2015-2019 Microchip Technology Inc.
AN1997
TABLE 26: USB5734 GPIO 1-7 PULL-UP REGISTER
GPIO_1_7_PU(083Ch)
GPIO 1-7 Pull-up Register
BIT Name R/W Description
7 GPIO_7_PU R/W Set bit to enable GPIO7 Pull-up resistor.
6 GPIO_6_PU R/W Set bit to enable GPIO6 Pull-up resistor.
5 GPIO_5_PU R/W Set bit to enable GPIO5 Pull-up resistor.
4 GPIO_4_PU R/W Set bit to enable GPIO4 Pull-up resistor.
3 GPIO_3_PU R/W Set bit to enable GPIO3 Pull-up resistor.
2 GPIO_2_PU R/W Set bit to enable GPIO2 Pull-up resistor.
1 GPIO_1_PU R/W Set bit to enable GPIO1 Pull-up resistor.
0 Reserved R Reserved
TABLE 27: USB5734 GPIO 8-11 PULL-UP REGISTER
GPIO_8_11_PU(083Dh)
GPIO 8-11 Pull-up Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_PU R/W Set bit to enable GPIO11 Pull-up resistor.
2 GPIO_10_PU R/W Set bit to enable GPIO10 Pull-up resistor.
1 GPIO_9_PU R/W Set bit to enable GPIO9 Pull-up resistor.
0 GPIO_8_PU R/W Set bit to enable GPIO8 Pull-up resistor.
TABLE 28: USB5734 GPIO 16-20 PULL-UP REGISTER
GPIO_16_20_PU(083Eh)
GPIO 17-20 Pull-up Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_PU R/W Set bit to enable GPIO20 Pull-up resistor.
3 GPIO_19_PU R/W Set bit to enable GPIO19 Pull-up resistor.
2 GPIO_18_PU R/W Set bit to enable GPIO18 Pull-up resistor.
1 GPIO_17_PU R/W Set bit to enable GPIO17 Pull-up resistor.
0 GPIO_16_PU R/W Set bit to enable GPIO16 Pull-up resistor.
2015-2019 Microchip Technology Inc. DS00001997C-page 25
AN1997
TABLE 29: USB5734 GPIO 1-7 INPUT ENABLE REGISTER
GPIO_1_7_IN_EN(0880h)
GPIO 1-7 Input Enable Register
BIT Name R/W Description
7 GPIO7_IN_EN R/W Set bit to configure GPIO7 as an input.
6 GPIO6_IN_EN R/W Set bit to configure GPIO6 as an input.
5 GPIO5_IN_EN R/W Set bit to configure GPIO5 as an input.
4 GPIO4_IN_EN R/W Set bit to configure GPIO4 as an input.
3 GPIO3_IN_EN R/W Set bit to configure GPIO3 as an input.
2 GPIO2_IN_EN R/W Set bit to configure GPIO2 as an input.
1 GPIO1_INP_EN R/W Set bit to configure PIO1 as an input.
0 Reserved R Reserved
TABLE 30: USB5734 GPIO 8-11 INPUT ENABLE REGISTER
GPIO_8_11_IN_EN(0881h)
GPIO 8-11 Input Enable Register
BIT Name R/W Description
7:4 Reserved R Reserved
3 GPIO_11_IN_EN R/W Set bit to configure GPIO11 as an input.
2 GPIO_10_IN_EN R/W Set bit to configure GPIO10 as an input.
1 GPIO_9_IN_EN R/W Set bit to configure GPIO9 as an input.
0 GPIO_8_IN_EN R/W Set bit to configure GPIO8 as an input.
TABLE 31: USB5734 GPIO 16-20 INPUT ENABLE REGISTER
PIO_16_20_IN_EN(0882h)
GPIO 17-20 Input Enable Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_20_IN_EN R/W Set bit to configure GPIO20 as an input.
3 GPIO_19_IN_EN R/W Set bit to configure GPIO19 as an input.
2 GPIO_18_IN_EN R/W Set bit to configure GPIO18 as an input.
1 GPIO_17_IN_EN R/W Set bit to configure GPIO17 as an input.
0 GPIO_16_IN_EN R/W Set bit to configure GPIO16 as an input.
DS00001997C-page 26 2015-2019 Microchip Technology Inc.
AN1997
4.5 GPIO Configuration Register Map for USB58x/USB59xx
TABLE 32: USB58XX/USB59XX GPIO CONFIGURATION REGISTER MEMORY MAP
Addr. R/W Name Function Default
082Dh R/W GPIO_16_23_PD USB58xx/USB59xx GPIO 16-23 Pull-down Register 00h
082Eh R/W GPIO_8_12_PD USB58xx/USB59xx GPIO 8-12 Pull-down Register 00h
082Fh R/W GPIO_1_7_PD USB58xx/USB59xx GPIO 1-7 Pull-down Register 00h
0831h R/W GPIO_16_23_DIR USB58xx/USB59xx GPIO 16-23 Direction Control Register
00h
0832h R/W GPIO_8_12_DIR USB58xx/USB59xx GPIO 8-12 Direction Control Register
00h
0833h R/W GPIO_1_7_DIR USB58xx/USB59xx GPIO 1-7 Direction Control Reg-ister
00h
0835h R/W GPIO_16_23_OUT USB58xx/USB59xx GPIO 16-23 Output State Con-trol Register
00h
0836h R/W GPIO_8_12_OUT USB58xx/USB59xx GPIO 8-12 Output State Control Register
00h
0837h R/W GPIO_1_7_OUT USB58xx/USB59xx GPIO 1-7 Output State Control Register
00h
0839h R/W GPIO_16_23_IN USB58xx/USB59xx GPIO 16-23 Input State Read Register
00h
083Ah R/W GPIO_8_12_IN USB58xx/USB59xx GPIO 8-12 Input State Read Register
00h
083Bh R/W GPIO_1_7_IN USB58xx/USB59xx GPIO 1-7 Input State Read Reg-ister
00h
083Dh R/W GPIO_16_23_PU USB58xx/USB59xx GPIO 16-23 Pull-up Register 00h
083Eh R/W GPIO_8_12_PU USB58xx/USB59xx GPIO 8-12 Pull-up Register 00h
083Fh R/W GPIO_1_7_PU USB58xx/USB59xx GPIO 1-7 Pull-up Register 00h
096Eh R/W GPIO_72_PD USB58xx/USB59xx GPIO 72 Pull-down Register 00h
096Fh R/W GPIO_64_71_PD USB58xx/USB59xx GPIO 64-71 Pull-down Register 00h
0972h R/W GPIO_72_DIR USB58xx/USB59xx GPIO 72 Direction Control Reg-ister
00h
0973h R/W GPIO_64_71_DIR USB58xx/USB59xx GPIO 64-71 Direction Control Register
00h
0976h R/W GPIO_72_OUT USB58xx/USB59xx GPIO 72 Output State Control Register
00h
0977h R/W GPIO_64_71_OUT USB58xx/USB59xx GPIO 64-71 Output State Con-trol Register
00h
097Ah R/W GPIO_72_IN USB58xx/USB59xx GPIO 72 Input State Read Reg-ister
00h
097Bh R/W GPIO_64_71_IN USB58xx/USB59xx GPIO 64-71 Input State Read Register
00h
097Eh R/W GPIO_72_PU USB58xx/USB59xx GPIO 72 Pull-up Register 00h
097Fh R/W GPIO_64_71_PU USB58xx/USB59xx GPIO 64-71 Pull-up Register 00h
2015-2019 Microchip Technology Inc. DS00001997C-page 27
AN1997
4.6 Register Definitions for USB58x/USB59xx
TABLE 33: USB58XX/USB59XX GPIO 16-23 PULL-DOWN REGISTER
GPIO_16_23_PD(082Dh)
GPIO 16-23 Pull-down Register
BIT Name R/W Description
7 GPIO_23_PD R/W Set bit to enable GPIO23 Pull-down resistor.
6 GPIO_22_PD R/W Set bit to enable GPIO22 Pull-down resistor.
5 GPIO_21_PD R/W Set bit to enable GPIO21 Pull-down resistor.
4 GPIO_20_PD R/W Set bit to enable GPIO20 Pull-down resistor.
3 GPIO_19_PD R/W Set bit to enable GPIO19 Pull-down resistor.
2 GPIO_18_PD R/W Set bit to enable GPIO18 Pull-down resistor.
1 GPIO_17_PD R/W Set bit to enable GPIO17 Pull-down resistor.
0 GPIO_16_PD R/W Set bit to enable GPIO16 Pull-down resistor.
TABLE 34: USB58XX/USB59XX GPIO 8-12 PULL-DOWN REGISTER
GPIO_8_12_PD(082Eh)
GPIO 8-12 Pull-down Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_12_PD R/W —
3 Reserved R Reserved
2 GPIO_10_PD R/W Set bit to enable GPIO10 Pull-down resistor.
1 GPIO_9_PD R/W Set bit to enable GPIO9 Pull-down resistor.
0 GPIO_8_PD R/W Set bit to enable GPIO8 Pull-down resistor.
TABLE 35: USB58XX/USB59XX GPIO 1-7 PULL-DOWN REGISTER
GPIO_1_7_PD(082Fh)
GPIO 1-7 Pull-down Register
BIT Name R/W Description
7 GPIO_7_PD R/W Set bit to enable GPIO7 Pull-down resistor.
6 GPIO_6_PD R/W Set bit to enable GPIO6 Pull-down resistor.
5 GPIO_5_PD R/W Set bit to enable GPIO5 Pull-down resistor.
4 GPIO_4_PD R/W Set bit to enable GPIO4 Pull-down resistor.
3 GPIO_3_PD R/W Set bit to enable GPIO3 Pull-down resistor.
2 GPIO_2_PD R/W Set bit to enable GPIO2 Pull-down resistor.
1 GPIO_1_PD R/W Set bit to enable GPIO1 Pull-down resistor.
0 Reserved R Reserved
DS00001997C-page 28 2015-2019 Microchip Technology Inc.
AN1997
TABLE 36: USB58XX/USB59XX GPIO 16-23 DIRECTION CONTROL REGISTER
GPIO_16_23_DIR(0831h)
GPIO 16-23 Direction Control Register
BIT Name R/W Description
7 GPIO_23_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
6 GPIO_23_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
5 GPIO_23_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
4 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
3 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
2 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
1 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
0 GPIO_16_DIR R/W Set bit to configure GPIO16 as an output. Clear to set as Input.
TABLE 37: USB58XX/USB59XX GPIO 8-12 DIRECTION CONTROL REGISTER
GPIO_8_12_DIR(0832h)
GPIO 8-12 Direction Control Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_12_DIR R/W Set bit to configure GPIO12 as an output. Clear to set as Input.
3 Reserved R Reserved
2 GPIO_10_DIR R/W Set bit to configure GPIO10 as an output. Clear to set as Input.
1 GPIO_9_DIR R/W Set bit to configure GPIO9 as an output. Clear to set as Input.
0 GPIO_8_DIR R/W Set bit to configure GPIO8 as an output. Clear to set as Input.
TABLE 38: USB58XX/USB59XX GPIO 1-7 DIRECTION CONTROL REGISTER
GPIO_1_7_DIR(0833h)
GPIO 1-7 Direction Control Register
BIT Name R/W Description
7 GPIO_7_DIR R/W Set bit to configure GPIO7 as an output. Clear to set as Input.
6 GPIO_6_DIR R/W Set bit to configure GPIO6 as an output. Clear to set as Input.
5 GPIO_5_DIR R/W Set bit to configure GPIO5 as an output. Clear to set as Input.
4 GPIO_4_DIR R/W Set bit to configure GPIO4 as an output. Clear to set as Input.
3 GPIO_3_DIR R/W Set bit to configure GPIO3 as an output. Clear to set as Input.
2 GPIO_2_DIR R/W Set bit to configure GPIO2 as an output. Clear to set as Input.
1 GPIO_1_DIR R/W Set bit to configure GPIO1 as an output. Clear to set as Input.
0 Reserved R Reserved
TABLE 39: USB58XX/USB59XX GPIO 16-23 OUTPUT STATE CONTROL REGISTER
GPIO_16_23_OUT(0835h)
GPIO 16-23 Output State Control Register
BIT Name R/W Description
7 GPIO_23_OUT R/W Sets the state of GPIO23 when configured as an output
2015-2019 Microchip Technology Inc. DS00001997C-page 29
AN1997
6 GPIO_22_OUT R/W Sets the state of GPIO22 when configured as an output
5 GPIO_21_OUT R/W Sets the state of GPIO21 when configured as an output
4 GPIO_20_OUT R/W Sets the state of GPIO20 when configured as an output
3 GPIO_19_OUT R/W Sets the state of GPIO19 when configured as an output
2 GPIO_18_OUT R/W Sets the state of GPIO18 when configured as an output
1 GPIO_17_OUT R/W Sets the state of GPIO17 when configured as an output
0 GPIO_16_OUT R/W Sets the state of GPIO16 when configured as an output
TABLE 40: USB58XX/USB59XX GPIO 8-12 OUTPUT STATE CONTROL REGISTER
GPIO_8_12_OUT(0836h)
GPIO 8-12 Output State Control Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_12_OUT R/W Sets the state of GPIO12 when configured as an output
3 Reserved R Reserved
2 GPIO_10_OUT R/W Sets the state of GPIO10 when configured as an output
1 GPIO_9_OUT R/W Sets the state of GPIO9 when configured as an output
0 GPIO_8_OUT R/W Sets the state of GPIO8 when configured as an output
TABLE 41: USB58XX/USB59XX GPIO 1-7 OUTPUT STATE CONTROL REGISTER
GPIO_1_7_OUT(0837h)
GPIO 1-7 Output State Control Register
BIT Name R/W Description
7 GPIO_7_OUT R/W Sets the state of GPIO7 when configured as an output
6 GPIO_6_OUT R/W Sets the state of GPIO6 when configured as an output
5 GPIO_5_OUT R/W Sets the state of GPIO5 when configured as an output
4 GPIO_4_OUT R/W Sets the state of GPIO4 when configured as an output
3 GPIO_3_OUT R/W Sets the state of GPIO3 when configured as an output
2 GPIO_2_OUT R/W Sets the state of GPIO2 when configured as an output
1 GPIO_1_OUT R/W Sets the state of GPIO1 when configured as an output
0 Reserved R Reserved
TABLE 42: USB58XX/USB59XX GPIO 16-23 INPUT STATE READ REGISTER
GPIO_16_23_IN(0839h)
GPIO 16-23 Input State Read Register
BIT Name R/W Description
7 GPIO_23_IN R Reads back the state of GPIO23 when configured as an input
6 GPIO_22_IN R Reads back the state of GPIO22 when configured as an input
5 GPIO_21_IN R Reads back the state of GPIO21 when configured as an input
TABLE 39: USB58XX/USB59XX GPIO 16-23 OUTPUT STATE CONTROL REGISTER
GPIO_16_23_OUT(0835h)
GPIO 16-23 Output State Control Register
BIT Name R/W Description
DS00001997C-page 30 2015-2019 Microchip Technology Inc.
AN1997
4 GPIO_20_IN R Reads back the state of GPIO20 when configured as an input
3 GPIO_19_IN R Reads back the state of GPIO19 when configured as an input
2 GPIO_18_IN R Reads back the state of GPIO18 when configured as an input
1 GPIO_17_IN R Reads back the state of GPIO17 when configured as an input
0 GPIO_16_IN R Reads back the state of GPIO16 when configured as an input
TABLE 43: USB58XX/USB59XX GPIO 8-12 INPUT STATE READ REGISTER
GPIO_8_12_IN(083Ah)
GPIO 8-12 Input State Read Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_12_IN R Reads back the state of GPIO12 when configured as an input
3 Reserved R Reserved
2 GPIO_10_IN R Reads back the state of GPIO10 when configured as an input
1 GPIO_9_IN R Reads back the state of GPIO9 when configured as an input
0 GPIO_8_IN R Reads back the state of GPIO8 when configured as an input
TABLE 44: USB58XX/USB59XX GPIO 1-7 INPUT STATE READ REGISTER
GPIO_1_7_IN(083Bh)
GPIO 1-7 Input State Read Register
BIT Name R/W Description
7 GPIO_7_IN R/W Reads back the state of GPIO7 when configured as an input.
6 GPIO_6_IN R/W Reads back the state of GPIO6 when configured as an input.
5 GPIO_5_IN R/W Reads back the state of GPIO5 when configured as an input.
4 GPIO_4_IN R/W Reads back the state of GPIO4 when configured as an input.
3 GPIO_3_IN R Reads back the state of GPIO3 when configured as an input.
2 GPIO_2_IN R Reads back the state of GPIO2 when configured as an input.
1 GPIO_1_IN R Reads back the state of GPIO1 when configured as an input.
0 Reserved R Reserved
TABLE 45: USB58XX/USB59XX GPIO 8-12 PULL-UP REGISTER
GPIO_16_23_PU(083Dh)
GPIO 16-23 Pull-up Register
BIT Name R/W Description
7 GPIO_23_PU R/W Set bit to enable GPIO23 Pull-up resistor.
6 GPIO_22_PU R/W Set bit to enable GPIO22 Pull-up resistor.
5 GPIO_21_PU R/W Set bit to enable GPIO21 Pull-up resistor.
4 GPIO_20_PU R/W Set bit to enable GPIO20 Pull-up resistor.
3 GPIO_19_PU R/W Set bit to enable GPIO19 Pull-up resistor.
2 GPIO_18_PU R/W Set bit to enable GPIO18 Pull-up resistor.
1 GPIO_17_PU R/W Set bit to enable GPIO17 Pull-up resistor.
TABLE 42: USB58XX/USB59XX GPIO 16-23 INPUT STATE READ REGISTER
GPIO_16_23_IN(0839h)
GPIO 16-23 Input State Read Register
BIT Name R/W Description
2015-2019 Microchip Technology Inc. DS00001997C-page 31
AN1997
0 GPIO_16_PU R/W Set bit to enable GPIO16 Pull-up resistor.
TABLE 46: USB58XX/USB59XX GPIO 16-23 PULL-UP REGISTER
GPIO_8_12_PU(083Eh)
GPIO 8-12 Pull-up Register
BIT Name R/W Description
7:5 Reserved R Reserved
4 GPIO_12_PU R/W Set bit to enable GPIO12 Pull-up resistor.
3 Reserved R Reserved
2 GPIO_10_PU R/W Set bit to enable GPIO10 Pull-up resistor.
1 GPIO_9_PU R/W Set bit to enable GPIO9 Pull-up resistor.
0 GPIO_8_PU R/W Set bit to enable GPIO8 Pull-up resistor.
TABLE 47: USB58XX/USB59XX GPIO 1-7 PULL-UP REGISTER
GPIO_1_7_PU(083Fh)
GPIO 1-7 Pull-up Register
BIT Name R/W Description
7 GPIO_7_PU R/W Set bit to enable GPIO7 Pull-up resistor.
6 GPIO_6_PU R/W Set bit to enable GPIO6 Pull-up resistor.
5 GPIO_5_PU R/W Set bit to enable GPIO5 Pull-up resistor.
4 GPIO_4_PU R/W Set bit to enable GPIO4 Pull-up resistor.
3 GPIO_3_PU R/W Set bit to enable GPIO3 Pull-up resistor.
2 GPIO_2_PU R/W Set bit to enable GPIO2 Pull-up resistor.
1 GPIO_1_PU R/W Set bit to enable GPIO1 Pull-up resistor.
0 Reserved R Reserved
TABLE 48: USB58XX/USB59XX GPIO 72 PULL-DOWN REGISTER
GPIO_72_PD(096Eh)
GPIO 72 Pull-down Register
BIT Name R/W Description
7:1 Reserved R Reserved
0 GPIO_72_PD R/W Set bit to enable GPIO72 Pull-down resistor.
TABLE 49: USB58XX/USB59XX GPIO 64-71 PULL-DOWN REGISTER
GPIO_64_71_PD(096Fh)
GPIO 64-71 Pull-down Register
BIT Name R/W Description
7 GPIO_71_PD R/W Set bit to enable GPIO71 Pull-down resistor.
6 GPIO_70_PD R/W Set bit to enable GPIO70 Pull-down resistor.
TABLE 45: USB58XX/USB59XX GPIO 8-12 PULL-UP REGISTER
GPIO_16_23_PU(083Dh)
GPIO 16-23 Pull-up Register
BIT Name R/W Description
DS00001997C-page 32 2015-2019 Microchip Technology Inc.
AN1997
5 GPIO_69_PD R/W Set bit to enable GPIO69 Pull-down resistor.
4 GPIO_68_PD R/W Set bit to enable GPIO68 Pull-down resistor.
3 GPIO_67_PD R/W Set bit to enable GPIO67 Pull-down resistor.
2 GPIO_66_PD R/W Set bit to enable GPIO66 Pull-down resistor.
1 GPIO_65_PD R/W Set bit to enable GPIO65 Pull-down resistor.
0 GPIO_64_PD R/W Set bit to enable GPIO64 Pull-down resistor.
TABLE 50: USB58XX/USB59XX GPIO 72 DIRECTION CONTROL REGISTER
GPIO_72_DIR(0972h)
GPIO 72 Direction Control Register
BIT Name R/W Description
7:1 Reserved R Reserved
0 GPIO_72_DIR R/W Set bit to configure GPIO72 as an output. Clear to set as Input.
TABLE 51: USB58XX/USB59XX GPIO 64-71 DIRECTION CONTROL REGISTER
GPIO_64_71_DIR(0973h)
GPIO 64-71 Direction Control Register
BIT Name R/W Description
7 GPIO_71_DIR R/W Set bit to configure GPIO71 as an output. Clear to set as Input.
6 GPIO_70_DIR R/W Set bit to configure GPIO70 as an output. Clear to set as Input.
5 GPIO_69_DIR R/W Set bit to configure GPIO69 as an output. Clear to set as Input.
4 GPIO_68_DIR R/W Set bit to configure GPIO68 as an output. Clear to set as Input.
3 GPIO_67_DIR R/W Set bit to configure GPIO67 as an output. Clear to set as Input.
2 GPIO_66_DIR R/W Set bit to configure GPIO66 as an output. Clear to set as Input.
1 GPIO_65_DIR R/W Set bit to configure GPIO65 as an output. Clear to set as Input.
0 GPIO_64_DIR R/W Set bit to configure GPIO64 as an output. Clear to set as Input.
TABLE 52: USB58XX/USB59XX GPIO 72 OUTPUT STATE CONTROL REGISTER
GPIO_72_OUT(0976h)
GPIO 72 Output State Control Register
BIT Name R/W Description
7:1 Reserved R Reserved
0 GPIO_72_OUT R/W Sets the state of GPIO72 when configured as an output
TABLE 53: USB58XX/USB59XX GPIO 64-71 OUTPUT STATE CONTROL REGISTER
GPIO_64_71_OUT(0977h)
GPIO 64-71 Output State Control Register
BIT Name R/W Description
7 GPIO_71_OUT R/W Sets the state of GPIO71 when configured as an output
6 GPIO_70_OUT R/W Sets the state of GPIO70 when configured as an output
TABLE 49: USB58XX/USB59XX GPIO 64-71 PULL-DOWN REGISTER
GPIO_64_71_PD(096Fh)
GPIO 64-71 Pull-down Register
BIT Name R/W Description
2015-2019 Microchip Technology Inc. DS00001997C-page 33
AN1997
5 GPIO_69_OUT R/W Sets the state of GPIO69 when configured as an output
4 GPIO_68_OUT R/W Sets the state of GPIO68 when configured as an output
3 GPIO_67_OUT R/W Sets the state of GPIO67 when configured as an output
2 GPIO_66_OUT R/W Sets the state of GPIO66 when configured as an output
1 GPIO_65_OUT R/W Sets the state of GPIO65 when configured as an output
0 GPIO_64_OUT R/W Sets the state of GPIO64 when configured as an output
TABLE 54: USB58XX/USB59XX GPIO 72 INPUT STATE READ REGISTER
GPIO_72_IN(097Ah)
GPIO 72 Input State Read Register
BIT Name R/W Description
7:1 Reserved R Reserved
0 GPIO_72_IN R Reads back the state of GPIO72 when configured as an input
TABLE 55: USB58XX/USB59XX GPIO 64-71 INPUT STATE READ REGISTER
GPIO_64_71_IN(097Bh)
GPIO 64-71 Input State Read Register
BIT Name R/W Description
7 GPIO_71_IN R Reads back the state of GPIO71 when configured as an input
6 GPIO_70_IN R Reads back the state of GPIO70 when configured as an input
5 GPIO_69_IN R Reads back the state of GPIO69 when configured as an input
4 GPIO_68_IN R Reads back the state of GPIO68 when configured as an input
3 GPIO_67_IN R Reads back the state of GPIO67 when configured as an input
2 GPIO_66_IN R Reads back the state of GPIO66 when configured as an input
1 GPIO_65_IN R Reads back the state of GPIO65 when configured as an input
0 GPIO_64_IN R Reads back the state of GPIO64 when configured as an input
TABLE 56: USB58XX/USB59XX GPIO 72 PULL-UP REGISTER
GPIO_72_PU(097Fh)
GPIO 72 Pull-up Register
BIT Name R/W Description
7:1 Reserved R Reserved
0 GPIO_72_PU R/W Set bit to enable GPIO72 Pull-up resistor
TABLE 57: USB58XX/USB59XX GPIO 64-71 PULL-UP REGISTER
GPIO_64_71_PU(097Fh)
GPIO 64-71 Pull-up Register
BIT Name R/W Description
7 GPIO_71_PU R/W Set bit to enable GPIO71 Pull-up resistor
6 GPIO_70_PU R/W Set bit to enable GPIO70 Pull-up resistor
TABLE 53: USB58XX/USB59XX GPIO 64-71 OUTPUT STATE CONTROL REGISTER
GPIO_64_71_OUT(0977h)
GPIO 64-71 Output State Control Register
BIT Name R/W Description
DS00001997C-page 34 2015-2019 Microchip Technology Inc.
AN1997
5 GPIO_69_PU R/W Set bit to enable GPIO69 Pull-up resistor
4 GPIO_68_PU R/W Set bit to enable GPIO68 Pull-up resistor
3 GPIO_67_PU R/W Set bit to enable GPIO67 Pull-up resistor
2 GPIO_66_PU R/W Set bit to enable GPIO66 Pull-up resistor
1 GPIO_65_PU R/W Set bit to enable GPIO65 Pull-up resistor
0 GPIO_64_PU R/W Set bit to enable GPIO64 Pull-up resistor
TABLE 57: USB58XX/USB59XX GPIO 64-71 PULL-UP REGISTER
GPIO_64_71_PU(097Fh)
GPIO 64-71 Pull-up Register
BIT Name R/W Description
2015-2019 Microchip Technology Inc. DS00001997C-page 35
AN1997
5.0 EXAMPLES
5.1 Read the Direction State of all GPIOs on USB5734 via USB Command
1. Command Phase (SETUP Transaction): Send the following SETUP Register Read Command to Endpoint 0 of the USB5734 Hub Feature Controller to read the contents of registers 0x830, 0x831, 0x832, and 0x833 which contain the direction control settings for all GPIOs. (See Table 58 and Figure 3.)
TABLE 58: REGISTER READ SETUP COMMAND EXAMPLE
SETUP Parameter Value Note
bmRequestType 0xC1 —
bRequest 0x04 —
wValue 0x0830 First register in a series of consecutive registers to read from
wIndex 0x0000 —
wLength 0x0004 Four consecutive registers are to be read.
FIGURE 3: REGISTER READ SETUP TRANSACTION EXAMPLE
2. Data Phase (IN Transaction): Hub Feature Controller sends the data bytes of length wLength starting from the specified address after receiving an IN packet. (See Figure 4.)
FIGURE 4: REGISTER READ IN TRANSACTION EXAMPLE
3. Status Phase (OUT Transaction): Host sends an OUT packet to complete the USB Transfer. Hub Feature Con-troller responds with a zero length data packet. (See Figure 5.)
FIGURE 5: REGISTER READ OUT TRANSACTION EXAMPLE
DS00001997C-page 36 2015-2019 Microchip Technology Inc.
AN1997
5.2 Write Registers to Set GPIO10 as an output on the USB5734 via USB Command
1. Command Phase (SETUP Transaction): Send the following SETUP Register Write Command to Endpoint 0 of the USB5734 Hub Feature Controller to write the contents of registers 0x830, 0x831, 0x832, and 0x833 which contain the direction control settings for all GPIOs. In this example, GPIO10 will be set as an output, all other GPIOS will remain at the default input state. (See Table 59 and Figure 3.)
TABLE 59: REGISTER WRITE SETUP COMMAND EXAMPLE
Setup Parameter Value Note
bmRequestType 0x41 —
bRequest 0x03 —
wValue 0x0830 First register in a series of consecutive registers to write from.
wIndex 0x0000 —
wLength 0x0004 4 consecutive registers are to be read.
FIGURE 6: REGISTER WRITE SETUP TRANSACTION EXAMPLE
2. Data Phase (OUT Transaction): Host sends the four data bytes to set 0x830 = 0x00, 0x831 = 0x04, 0x832 = 0x00, and 0x833 = 0x00 from the specified address after sending the OUT packet. (See Figure 7.)
FIGURE 7: REGISTER WRITE OUT TRANSACTION EXAMPLE
3. Status Phase (OUT Transaction): Host sends an IN packet to complete the USB Transfer. Hub Feature Con-troller responds with a zero length data packet. (See Figure 8.)
FIGURE 8: REGISTER WRITE IN TRANSACTION EXAMPLE
2015-2019 Microchip Technology Inc. DS00001997C-page 37
AN1997
6.0 GPIO DEFAULT STATES
Many applications may require particular a default state (such as input with a pull-up or pull-down enabled, or output with drive high or drive low). If particular GPIO default states are required, these can be assigned to the pin via OTP configuration patch.
Use the following simplified guide to manually create an OTP patch.
Step 1. String together as many register WRITE_BYTE, SET_BIT, or CLEAR_BIT commands as required for the appli-cation. (See Table 60, Table 61, and Table 62.)
TABLE 60: WRITE_BYTE COMMAND
SET ADDRESS COMMAND
REGISTER ADDRESS
CMD LENGTH VALUE(S)
80h XXh XXh FEh 00h 01h XXh
The WRITE_BYTE command sets all bits within the register to the exact value selected.
TABLE 61: SET_BIT COMMAND
SET ADDRESS COMMAND
REGISTER ADDRESS
CMD LENGTH VALUE(S)
80h XXh XXh FEh 01h 01h XXh
The SET_BIT command on works as a mask which sets the bits = 1 within the register, and leaves bits = 0 untouched.
The CLEAR_BIT command on works as a mask which clears the bits = 1 within the register, and leaves bits = 0 untouched.
TABLE 62: CLEAR_BIT COMMAND
SET ADDRESS COMMAND
REGISTER ADDRESS
CMD LENGTH VALUE(S)
80h XXh XXh FEh 02h 01h XXh
Note: Refer to Microchip AN1903 Configuration Options for the USB5734 and USB5744 or Microchip AN2316 Configuration Options for the USB58xx and USB59xx for a more complete explanation of the OTP com-mand structures.
Step 2. Add one “FFh” byte at the end of all of the commands to terminate the sequence of commands.
Step 3. The patch can be saved in basic binary format with a ‘.cfg’ file extension
Step 4. Program configuration file to the hub using MPLAB Connect Configurator tools.
EXAMPLE 1: SET GPIO 1 TO OUTPUT AND DRIVE HIGH BY DEFAULT FOR USB5806
USB5806 GPIO1 Direction Register is 0833h and bit offset is 1. Use the SET_BIT command to ensure that other bits within the register are not affected.
80 08 33 FE 01 01 02
USB5806 GPIO1 Output Register is 0837h and bit offset is 1. Use the SET_BIT command to ensure that other bits within the register are not affected.
80 08 37 FE 01 01 02
Complete OTP Patch binary data:
80 08 33 FE 01 01 02 80 08 37 FE 01 01 02 FF
Note: The order of these two register commands is not critical; the end result is the same if they are reversed.
DS00001997C-page 38 2015-2019 Microchip Technology Inc.
AN1997
7.0 GPIO CONTROL VIA SMBUS INTERFACE
GPIOs may be controlled from an embedded MCU/SoC through the hub SMBus slave interface. Note that the hub must be specifically configured to enable the SMBus slave interface; not all configuration modes have an available SMBus slave interface.
The GPIOs can be controlled in either the Configuration stage (SOC_CFG) or during the hub runtime stage, after issuing the AAh 56h 00h command within the SOC_CFG stage which instructs the hub to enter the active runtime stage with the SMBus slave interface still active. The SMBus address during SOC_CFG is 2Dh, while the address during runtime is 2Ch.
Note: OTP memory is loaded after the SOC_CFG stage, while the hub is transitioning into the runtime stage. Any changes made to registers will be over-written if those same registers are manipulated in OTP configura-tion.
Refer to Microchip AN1903 Configuration Options for the USB5734 and USB5744 or Microchip AN2316 Configuration Options for the USB58xx and USB59xx for a more complete explanation of the SMBus command structures.
EXAMPLE 2: USB5806 SET GPIO 1 TO OUTPUT AND DRIVE HIGH (DURING RUNTIME STAGE)Send ‘USB Attach with SMBus’ command to exit configuration stage and enter hub runtime stage
5A AA 56 00, Slave address 2Dh
GPIO1 Direction Register is 0833h and bit offset is 1.
58 00 00 05 00 01 08 33 02 // Write 0833h = 02h, Slave address 2Ch
58 99 37 00 // Register Access Command, Slave address 2Ch
GPIO1 Output Register is 0837h and bit offset is 1.
58 00 00 05 00 01 08 37 02 // Write 0837h = 02h, Slave address 2Ch
58 99 37 00 // Register Access Command, Slave address 2Ch
EXAMPLE 3: USB5806 SET GPIO 1 TO INPUT AND READ INPUT STATE (DURING RUNTIME STAGE)
Send ‘USB Attach with SMBus’ command to exit configuration stage and enter hub runtime stage
5A AA 56 00, Slave address 2Dh
GPIO1 Direction Register is 0833h and bit offset is 1.
58 00 00 05 00 01 08 33 00 // Write 0833h = 00h, Slave address 2Ch
58 99 37 00 // Register Access Command, Slave address 2Ch
GPIO1 Input Register is 083Bh and bit offset is 1.
58 00 00 04 01 01 08 3B // Read 083Bh, Slave address 2Ch
58 99 37 00 // Register Access Command, Slave address 2Ch
58 00 04 // Return value is placed in hub memory offset 00h 04h
59 80 XX // Read return value, Slave address 2Ch, Ignore the 80h Byte, XXh is the returned value.
2015-2019 Microchip Technology Inc. DS00001997C-page 39
AN1997
APPENDIX A: APPLICATION NOTE REVISION HISTORY
TABLE A-1: REVISION HISTORY
Revision Level & Date Section/Figure/Entry Correction
DS00001997C (1-10-19) All Added information on USB5807 throughout docu-ment.
Section 1.0 Minor clarification on the Hub Feature Controller usb device class within the text.
Table 2 “Total Available GPIOs” changed to “Maximum Available GPIOs”.
Table 4 to Table 10 Significant revision to tables adding more detail, additional options, and corrections.
Section 3.0 Revised entire section. All mentions of “ProTouch2” are changed to “MPLAB Connect”.
Section 6.0 Added (new content)
Section 7.0 Added (new content)
DS00001997B (12-07-16) All Fixed references to AN2316 Configuration Options for the USB58xx and USB59xx throughout.
Trademark and Sales Listing pages updated.
Updated minor formatting and grammar issues throughout.
DS00001997A (09-10-15) All Initial release.
DS00001997C-page 40 2015-2019 Microchip Technology Inc.
AN1997
NOTES:
2015-2019 Microchip Technology Inc. DS00001997C-page 41
AN1997
DS00001997C-page 42 2015-2019 Microchip Technology Inc.
THE MICROCHIP WEBSITE
Microchip provides online support via our WWW site at www.microchip.com. This website is used as a means to make files and information easily available to customers. Accessible by using your favorite Internet browser, the website contains 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 SERVICE
Microchip’s customer notification service helps keep customers current on Microchip products. Subscribers will receive e-mail notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.
To register, access the Microchip website at www.microchip.com. Under “Support”, click on “Customer Change Notifi-cation” and follow the registration instructions.
CUSTOMER SUPPORT
Users of Microchip products can receive assistance through several channels:
• Distributor or Representative
• Local Sales Office
• Field Application Engineer (FAE)
• Technical Support
Customers should contact their distributor, representative or Field Application Engineer (FAE) for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in the back of this document.
Technical support is available through the website at: http://microchip.com/support
2015-2019 Microchip Technology Inc. DS00001997C-page 43
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 our products. Attempts to break Microchip’s code protection feature may be a violation of the Digital Millennium Copyright Act. If such acts allow unauthorized access to your software or other copyrighted work, you may have a right to sue for relief under that Act.
Microchip received ISO/TS-16949:2009 certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona; Gresham, Oregon and design centers in California and India. The Company’s quality system processes and procedures are for its PIC® MCUs and dsPIC® DSCs, KEELOQ® code hopping devices, Serial EEPROMs, microperipherals, nonvolatile memory and analog products. In addition, Microchip’s quality system for the design and manufacture of development systems is ISO 9001:2000 certified.
QUALITYMANAGEMENTSYSTEMCERTIFIEDBYDNV
== ISO/TS16949==
Information contained in this publication regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, 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 hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, AnyRate, AVR, AVR logo, AVR Freaks, BitCloud, chipKIT, chipKIT logo, CryptoMemory, CryptoRF, dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KeeLoq, Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, SAM-BA, SpyNIC, SST, SST Logo, SuperFlash, tinyAVR, UNI/O, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
ClockWorks, The Embedded Control Solutions Company, EtherSynch, Hyper Speed Control, HyperLight Load, IntelliMOS, mTouch, Precision Edge, and Quiet-Wire are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, 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, motorBench, 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 of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
Silicon Storage Technology is a registered trademark of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.
© 2019, Microchip Technology Incorporated, All Rights Reserved.
ISBN: 978-1-5224-4037-6
DS00001997C-page 44 2015-2019 Microchip Technology Inc.
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.com
AtlantaDuluth, GA Tel: 678-957-9614 Fax: 678-957-1455
Austin, TXTel: 512-257-3370
BostonWestborough, MA Tel: 774-760-0087 Fax: 774-760-0088
ChicagoItasca, IL Tel: 630-285-0071 Fax: 630-285-0075
DallasAddison, TX Tel: 972-818-7423 Fax: 972-818-2924
DetroitNovi, MI Tel: 248-848-4000
Houston, TX Tel: 281-894-5983
IndianapolisNoblesville, IN Tel: 317-773-8323Fax: 317-773-5453Tel: 317-536-2380
Los AngelesMission Viejo, CA Tel: 949-462-9523Fax: 949-462-9608Tel: 951-273-7800
Raleigh, NC Tel: 919-844-7510
New York, NY Tel: 631-435-6000
San Jose, CA Tel: 408-735-9110Tel: 408-436-4270
Canada - TorontoTel: 905-695-1980 Fax: 905-695-2078
ASIA/PACIFICAustralia - SydneyTel: 61-2-9868-6733
China - BeijingTel: 86-10-8569-7000
China - ChengduTel: 86-28-8665-5511
China - ChongqingTel: 86-23-8980-9588
China - 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-2460
China - QingdaoTel: 86-532-8502-7355
China - ShanghaiTel: 86-21-3326-8000
China - ShenyangTel: 86-24-2334-2829
China - ShenzhenTel: 86-755-8864-2200
China - SuzhouTel: 86-186-6233-1526
China - WuhanTel: 86-27-5980-5300
China - XianTel: 86-29-8833-7252
China - XiamenTel: 86-592-2388138
China - ZhuhaiTel: 86-756-3210040
ASIA/PACIFICIndia - BangaloreTel: 91-80-3090-4444
India - New DelhiTel: 91-11-4160-8631
India - PuneTel: 91-20-4121-0141
Japan - OsakaTel: 81-6-6152-7160
Japan - TokyoTel: 81-3-6880- 3770
Korea - DaeguTel: 82-53-744-4301
Korea - SeoulTel: 82-2-554-7200
Malaysia - Kuala LumpurTel: 60-3-7651-7906
Malaysia - PenangTel: 60-4-227-8870
Philippines - ManilaTel: 63-2-634-9065
SingaporeTel: 65-6334-8870
Taiwan - Hsin ChuTel: 886-3-577-8366
Taiwan - KaohsiungTel: 886-7-213-7830
Taiwan - TaipeiTel: 886-2-2508-8600
Thailand - BangkokTel: 66-2-694-1351
Vietnam - Ho Chi MinhTel: 84-28-5448-2100
EUROPEAustria - WelsTel: 43-7242-2244-39Fax: 43-7242-2244-393
Denmark - CopenhagenTel: 45-4450-2828 Fax: 45-4485-2829
Finland - EspooTel: 358-9-4520-820
France - ParisTel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Germany - GarchingTel: 49-8931-9700
Germany - HaanTel: 49-2129-3766400
Germany - HeilbronnTel: 49-7131-67-3636
Germany - KarlsruheTel: 49-721-625370
Germany - MunichTel: 49-89-627-144-0 Fax: 49-89-627-144-44
Germany - RosenheimTel: 49-8031-354-560
Israel - Ra’anana Tel: 972-9-744-7705
Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781
Italy - PadovaTel: 39-049-7625286
Netherlands - DrunenTel: 31-416-690399 Fax: 31-416-690340
Norway - TrondheimTel: 47-7288-4388
Poland - WarsawTel: 48-22-3325737
Romania - BucharestTel: 40-21-407-87-50
Spain - MadridTel: 34-91-708-08-90Fax: 34-91-708-08-91
Sweden - GothenbergTel: 46-31-704-60-40
Sweden - StockholmTel: 46-8-5090-4654
UK - WokinghamTel: 44-118-921-5800Fax: 44-118-921-5820
Worldwide Sales and Service
08/15/18