UPD360-B6HX [MICROCHIP]

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller;
UPD360-B6HX
型号: UPD360-B6HX
厂家: MICROCHIP    MICROCHIP
描述:

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller

文件: 总221页 (文件大小:1949K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
UPD360  
Highly Integrated Small Form Factor  
USB Type-C™ Power Delivery 2.0 Port Controller  
• USB Power Delivery MAC  
Highlights  
- Compliant with USB Power Delivery  
Specification Revision 2.0  
• Small Form Factor 4 x 4 mm 44-WFBGA Package  
• Integrated Analog Discrete Components Reduce  
Bill of Materials and Design Footprint  
- Power Delivery Packet Framing  
- CRC Checking/Generation  
• USB Power Delivery 2.0 Compliant MAC  
• USB Type-CTM (1) Connector Support with  
Connection Detection and Control  
- 4B/5B Encoding/Decoding  
- BMC Encoding/Decoding  
- EOP/SOP Generation for PD Frames  
- SOP Detection and SOP Header Processing  
- Separate RX/TX FIFOs  
• I2C/SPI (2) Interface for CPU/SoC Communication  
• USB Type-C™ Alternate Mode Support  
• Dual Role Power (DRP) and Role Swap Support  
- Automatic GoodCRC Message Generation  
- Automatic Retry Generation  
Target Applications  
- Error Handling  
• Notebook Computers  
• All-in-One/Desktop PCs  
• Smartphones  
Tablets  
- Low Standby Power Support via Sleep State  
• USB Type-C Cable Detect Logic  
- Auto Cable Attach & Orientation Detection  
- Routes Baseband Communication to  
Respective CC Pin per Detected Orientation  
• Monitors  
• Docking Stations  
• HDTVs  
- VCONN Supply Control for Active Cable  
- Configurable Downstream Facing Port (DFP)  
and Upstream Facing Port (UFP) Modes  
• Printers  
- Charging Current Capability Detection  
Key Benefits  
- Detection of Debug Accessory Mode,  
Audio Adapter Accessory Mode  
• +1.8V I2C (1 MHz) Interface Supports Communi-  
cation/Configuration via Companion CPU/SoC  
• Integrated Analog Discrete Components  
- VCONN FETs with Rp/Rd Switching  
- Dead Battery Rd termination  
• Alternate Mode Support  
- Programmable Current Sense for  
Overcurrent Conditions  
- DisplayPortTM, ThunderboltTM  
and other Major Protocols  
,
- Voltage Sense for Overvoltage Conditions  
• Integrated 5V/3A Port Power Controller (PPC)  
- Supports up to 5V/3A on VBUS  
CFG_SEL0 Pin for Selection of Device Mode  
CFG_SEL1 Pin for Selection of I2C addresses (2)  
• Power and I/Os  
- Supplies 500mA, 900mA, 1.5A, and 3.0A per  
USB Type-C™ Specification  
- Integrated 1.8V Voltage Regulator  
- 16 Configurable General Purpose I/O Pins  
• Software  
• Integrated 3.3V Power Switch  
- Provides Dead Battery Support  
- C Libraries  
- Automatically Switch between VBUS and  
Main +3.3V  
• Package  
- 44-ball WFBGA (4 x 4 x 0.7 mm)  
• Environmental  
- Commercial Temperature Range  
(0°C to +70°C)  
1. USB Type-C™ and USB-C™ are trademarks of  
USB Implementers Forum.  
2. Available only in select UPD360 configurations.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 1  
UPD360  
TO OUR VALUED CUSTOMERS  
It is our intention to provide our valued customers with the best documentation possible to ensure successful use of your Microchip  
products. To this end, we will continue to improve our publications to better suit your needs. Our publications will be refined and  
enhanced as new volumes and updates are introduced.  
If you have any questions or comments regarding this publication, please contact the Marketing Communications Department via  
E-mail at docerrors@microchip.com. We welcome your feedback.  
Most Current Documentation  
To obtain the most up-to-date version of this documentation, please register at our Worldwide Web site at:  
http://www.microchip.com  
You can determine the version of a data sheet by examining its literature number found on the bottom outside corner of any page.  
The last character of the literature number is the version number, (e.g., DS30000000A is version A of document DS30000000).  
Errata  
An errata sheet, describing minor operational differences from the data sheet and recommended workarounds, may exist for cur-  
rent devices. As device/documentation issues become known to us, we will publish an errata sheet. The errata will specify the  
revision of silicon and revision of document to which it applies.  
To determine if an errata sheet exists for a particular device, please check with one of the following:  
Microchip’s Worldwide Web site; http://www.microchip.com  
Your local Microchip sales office (see last page)  
When contacting a sales office, please specify which device, revision of silicon and data sheet (include -literature number) you are  
using.  
Customer Notification System  
Register on our web site at www.microchip.com to receive the most current information on all of our products.  
DS00002084C-page 2  
2016-2017 Microchip Technology Inc.  
UPD360  
Table of Contents  
1.0 Preface ............................................................................................................................................................................................ 4  
2.0 Introduction ..................................................................................................................................................................................... 7  
3.0 Ball Descriptions and Configuration ................................................................................................................................................ 9  
4.0 Register Map ................................................................................................................................................................................. 19  
5.0 I2C Slave Controller (UPD360-A/UPD360-B Only) ....................................................................................................................... 20  
6.0 SPI Slave Controller (UPD360-C Only) ........................................................................................................................................ 26  
7.0 Clocks, Resets, and Power Management ..................................................................................................................................... 31  
8.0 System Control ............................................................................................................................................................................. 35  
9.0 Cable Plug Orientation and Detection ........................................................................................................................................... 68  
10.0 Baseband CC Interface (BCI) ................................................................................................................................................... 107  
11.0 Power Delivery MAC ................................................................................................................................................................. 111  
12.0 USB Port Power Controller (PPC) ............................................................................................................................................ 171  
13.0 Power Switch ............................................................................................................................................................................ 182  
14.0 DisplayPort Hot Plug Detect (HPD) .......................................................................................................................................... 195  
15.0 Watchdog Timer (WDT) ............................................................................................................................................................ 202  
16.0 Operational Characteristics ....................................................................................................................................................... 206  
17.0 Package Information ................................................................................................................................................................. 214  
Appendix A: Data Sheet Revision History ......................................................................................................................................... 217  
The Microchip Web Site .................................................................................................................................................................... 218  
Customer Change Notification Service ............................................................................................................................................. 218  
Customer Support ............................................................................................................................................................................. 218  
Product Identification System ........................................................................................................................................................... 219  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 3  
UPD360  
1.0  
1.1  
PREFACE  
Glossary of Terms  
TABLE 1-1:  
Term  
GLOSSARY OF TERMS  
Definition  
ADC  
Analog to Digital Converter  
Analog Front End  
AFE  
BCI  
Baseband CC Interface  
Billboard  
USB Billboard Device. A required USB device class for UFPs which support Alternate Modes  
in order to provide product information to the USB Host.  
BIST  
BMC  
Byte  
CC  
Built-In Self Test  
Bi-phase Mark Coding  
8-bits  
Generic reference to USB Type-CCable / Connector CC1/CC2 pins  
CSR  
DB  
Control and Status Register  
Dead Battery  
DFP  
DP  
Downstream Facing Port (USB Type-C™ Specification definition)  
DisplayPort (a VESA standard interface)  
DPM  
DRP  
DWORD  
EC  
Device Policy Manager (PD Specification definition)  
Dual Role Power (USB Type-C™ Specification definition)  
32-bits  
Embedded Controller  
EP  
USB Endpoint  
FIFO  
FW  
First In First Out buffer  
Firmware  
FS  
Full-Speed  
Host  
HPD  
External system (Includes processor, application software, etc.)  
Hot-Plug Detect functionality as defined by DisplayPort and DisplayPort Alternate Mode speci-  
fications  
HS  
High-Speed  
HW  
Hardware (Refers to function implemented by the device)  
Integrated Circuit  
IC  
IFC  
InterFrame Gap  
LDO  
Linear Drop-Out regulator  
Media Access Controller  
Microchip Technology Incorporated  
Not Applicable  
MAC  
Microchip  
N/A  
OCS  
PCS  
Over-Current Sense  
Physical Coding Sublayer  
USB Power Delivery  
PD / UPD  
PIO  
General Purpose I/O  
PMIC  
POR  
PRBS  
QWORD  
SA  
Power Management Integrated Circuit  
Power-On Reset  
Pseudo Random Binary Sequence  
64-bits  
Source Address  
DS00002084C-page 4  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 1-1:  
Term  
GLOSSARY OF TERMS (CONTINUED)  
Definition  
SBU  
SideBand Use  
SCSR  
SPM  
System Control and Status Register  
System Policy Manager (PD Specification definition)  
SuperSpeed  
SS  
SVDM  
SVID  
Standard/Vendor Defined Message (PD Specification definition)  
Standard/Vendor IDentity (PD Specification definition)  
USB Type-C™ Port Controller  
TCPC  
UFP  
Upstream Facing Port (USB Type-C™ Specification definition)  
Universal Serial Bus  
USB  
USB Type-C™  
VDO  
USB Type-C™ Cable / Connector  
Vendor-defined Object (PD Specification definition)  
Vendor Specific Messaging  
VSM  
WORD  
ZLP  
16-bits  
Zero Length USB Packet  
1.2  
Buffer Types  
TABLE 1-2:  
BUFFER TYPES  
Description  
Buffer Type  
IS  
I2C  
O8  
Schmitt-triggered input  
I2C interface  
Output with 8 mA sink and 8 mA source  
Open-drain output with 8 mA sink  
OD8  
PU  
70k (typical) internal pull-up. Unless otherwise noted in the pin description, internal pull-ups  
are always enabled.  
Note:  
Internal pull-up resistors prevent unconnected inputs from floating. Do not rely on  
internal resistors to drive signals external to the device. When connected to a load  
that must be pulled high, an external resistor must be added.  
PD  
70k (typical) internal pull-down. Unless otherwise noted in the pin description, internal pull-  
downs are always enabled.  
Note:  
Internal pull-down resistors prevent unconnected inputs from floating. Do not rely  
on internal resistors to drive signals external to the device. When connected to a  
load that must be pulled low, an external resistor must be added.  
AIO  
P
Analog bidirectional  
Power pin  
Note:  
Note:  
Digital signals are not 5V tolerant unless specified.  
Refer to Section 16.5, "DC Characteristics," on page 208 for the electrical characteristics of the various buf-  
fers.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 5  
UPD360  
1.3  
Register Nomenclature  
TABLE 1-3:  
REGISTER NOMENCLATURE  
Register Bit Type Notation  
Register Bit Description  
R
W
Read: A register or bit with this attribute can be read.  
Write: A register or bit with this attribute can be written.  
Read only: Read only. Writes have no effect.  
RO  
RS  
Read to Set: This bit is set on read.  
WO  
W1S  
W1C  
WC  
LL  
Write only: If a register or bit is write-only, reads will return unspecified data.  
Write One to Set: Writing a one sets the value. Writing a zero has no effect.  
Write One to Clear: Writing a one clears the value. Writing a zero has no effect.  
Write Anything to Clear: Writing anything clears the value.  
Latch Low: Clear on read of register.  
LH  
Latch High: Clear on read of register.  
SC  
Self-Clearing: Contents are self-cleared after the being set. Writes of zero have no  
effect. Contents can be read.  
RO/LH  
Read Only, Latch High: Bits with this attribute will stay high until the bit is read. After it  
is read, the bit will remain high, but will change to low if the condition that caused the  
bit to go high is removed. If the bit has not been read, the bit will remain high regard-  
less of a change to the high condition.  
NASR  
Not Affected by Software Reset. The state of NASR bits do not change on assertion  
of a software reset.  
RESERVED  
Reserved Field: Reserved fields must be written with zeros, unless otherwise indi-  
cated, to ensure future compatibility. The value of reserved bits is not guaranteed on a  
read.  
1.4  
References  
• NXP I2C-Bus Specification (UM10204, April 4, 2014): www.nxp.com/documents/user_manual/UM10204.pdf  
• USB Power Delivery and USB Type-C™ Specifications: http://www.usb.org/developers/docs/usb_31_102015.zip  
• VESA DisplayPort Alternate Mode Specification 1.0: http://www.vesa.org  
DS00002084C-page 6  
2016-2017 Microchip Technology Inc.  
UPD360  
2.0  
2.1  
INTRODUCTION  
General Description  
The UPD360 is a highly integrated, small form factor USB Type-C Power Delivery (PD) Port Controller designed to  
adhere to the USB Type-C™ Cable and Connector Specification and USB Power Delivery 2.0 Specification. The  
UPD360 provides cable plug orientation and detection for a USB Type-C receptacle and implements baseband commu-  
nication with a partner USB Type-C device via the integrated USB Power Delivery 2.0 MAC. The device can function in  
Standalone UFP/DFP modes, or utilize the integrated I2C/SPI interface to connect to a companion CPU/SoC (depen-  
dent on device version, see Section 2.2, "UPD360 Family Differences Summary").  
Additionally, the UPD360 integrates many of the analog discrete components required for USB Type-C PD applications,  
including two VCONN FETs with Rp/Rd switching, a port power controller that supports up to 5V/3A on VBUS, and cur-  
rent and voltage sense circuitry for over-voltage/current detection. By integrating many of the analog discrete compo-  
nents required for USB Type-C PD applications, the UPD360 provides a low cost, low power, small footprint (4 x 4 mm)  
solution for consumer (notebooks, desktop PCs, smartphones, tablets, monitors, docking stations) applications.  
To enable the UPD360 to efficiently support dead battery use cases, an integrated power switch is provided to select  
between two external 3.3V supplies (VBUS and main). This effectively allows connection detection and system wakeup  
without external processor intervention (external processor in sleep mode).  
The UPD360 is also capable of negotiating alternate modes over USB Type-C connectors using the Power Delivery 2.0  
protocol. Both DisplayPort and Thunderbolt operation over USB Type-C connectors are supported in addition to other  
major protocols.  
A system diagram utilizing the UPD360 is shown in Figure 2-1. An internal block diagram of the UPD360 is shown in  
Figure 2-2.  
FIGURE 2-1:  
SYSTEM BLOCK DIAGRAM  
VBUS  
Microchip  
UPD360  
I2C/SPI  
SoC  
CC1  
CC2  
USB Crossbar /  
Alternate Mode Switches  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 7  
UPD360  
FIGURE 2-2:  
INTERNAL BLOCK DIAGRAM  
RpHigh  
RpLow  
Rd  
CC1  
VCONN(5V)  
RpHigh  
RpLow  
Rd  
CC2  
VCONN(5V)  
3V3_ALW  
Power  
Delivery  
2.0  
5V/3A  
Auto  
Power  
Switch  
Baseband  
CC  
Interface  
VBUS  
Port  
3V3_VBUS  
Power  
Controller  
MAC  
VSW  
1.8V LDO  
Regulator  
I2C  
OCS_COMP1  
OCS_COMP2  
SPI  
Over  
Current  
Detection  
GPIOs  
(16x)  
Controller  
Controller  
(UPD360A: +1.8V)  
(UPD360B: +3.3V)  
(UPD360C Only)  
UPD360  
I2C  
SPI  
GPIO[0:15]  
in UPD360C)  
(GPIO0 not available  
(UPD360A/B Only)  
(UPD360C Only)  
2.2  
UPD360 Family Differences Summary  
The UPD360 is available in three versions:  
• UPD360-A  
• UPD360-B  
• UPD360-C  
A summary of the differences between these versions is provided in Table 2-1. Device specific features that do no per-  
tain to the entire UPD360 family are called out independently throughout this document. For ordering information, refer  
to the Product Identification System on page 219.  
TABLE 2-1:  
Device  
UPD360 FAMILY DIFFERENCES  
+1.8V I2C Interface +3.3V I2C Interface  
SPI Interface  
Standalone UFP/DFP Mode  
UPD360-A  
UPD360-B  
UPD360-C  
X
X
X
X
X
DS00002084C-page 8  
2016-2017 Microchip Technology Inc.  
UPD360  
3.0  
3.1  
BALL DESCRIPTIONS AND CONFIGURATION  
Ball Assignments  
The ball assignments for the UPD360-A/UPD360-B are detailed in Section 3.1.1, "UPD360-A/UPD360-B Ball Assign-  
ments," on page 9. The ball assignments for the UPD360-C are detailed in Section 3.1.1, "UPD360-A/UPD360-B Ball  
Assignments," on page 9. For information on the differences between the UPD360 family of devices, refer to Section  
2.2, "UPD360 Family Differences Summary," on page 8.  
3.1.1  
UPD360-A/UPD360-B BALL ASSIGNMENTS  
The device ball diagram for the UPD360-A/UPD360-B can be seen in Figure 3-1. Table 3-1 provides a UPD360-A/  
UPD360-B ball assignment table. Ball descriptions are provided in Section 3.2, "Ball Descriptions".  
FIGURE 3-1:  
UPD360-A/UPD360-B BALL ASSIGNMENTS (TOP VIEW)  
1
2
3
4
5
6
7
VBUS  
VS  
VS  
NC  
GPIO13*  
GPIO 14*  
GPIO15*  
A
B
C
D
GPIO11*/  
DISCHARGE  
VBUS  
CC2  
CC1  
VBUS_DET  
CC2_DB_EN  
CC1_DB_EN  
OCS_COMP1  
PWR_DN  
GPIO9*  
GPO10*  
VDD33IO  
GPIO5  
GPIO7  
GPIO4  
GPO1  
GPIO12*  
VSS  
GPIO 8  
VSS  
VSS  
RESET_N  
CFG_SEL 0  
3V3_ALW  
VSW  
VSS  
GPIO 6  
E
F
VDD33IO  
IRQ_N  
CFG_SEL 1  
GPIO3/HPD  
GPIO 2/  
OCS_COMP2  
3V3_VBUS  
VDD18_CAP  
I2C_DAT  
I2C_CLK  
GPIO0  
G
Top of UPD360-A/UPD360-B 44-WFBGA Package  
*The GPIO[9:15] balls provide alternate functions when in Standalone DFP or Standalone UFP mo.des  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 9  
UPD360  
TABLE 3-1:  
Ball  
UPD360-A/UPD360-B BALL ASSIGNMENTS  
Pin Name  
Ball  
Pin Name  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
C1  
C2  
C4  
C6  
C7  
D1  
D2  
D3  
VBUS  
D5  
D6  
D7  
E1  
E2  
E4  
E6  
E7  
F1  
F2  
F3  
F4  
F5  
F6  
F7  
G1  
G2  
G3  
G4  
G5  
G6  
G7  
VSS  
GPIO7  
VS  
VS  
RESET_N  
CFG_SEL0  
OCS_COMP1  
VSS  
NC  
GPIO13 (Note 3-1)  
GPIO14 (Note 3-1)  
GPIO15 (Note 3-1)  
VBUS  
GPIO4  
GPIO6  
VBUS_DET  
GPIO9 (Note 3-1)  
GPO10 (Note 3-1) (Note 3-2)  
GPIO11/DISCHARGE (Note 3-1)  
VDD33IO  
3V3_ALW  
PWR_DN  
VDD33IO  
IRQ_N  
CFG_SEL1  
GPO1 (Note 3-2)  
GPIO3/HPD  
VSW  
GPIO12 (Note 3-1)  
CC2  
CC2_DB_EN  
VSS  
3V3_VBUS  
VDD18_CAP  
I2C_DAT  
I2C_CLK  
GPIO0  
GPIO5  
GPIO8  
CC1  
CC1_DB_EN  
VSS  
GPIO2/OCS_COMP2  
Note 3-1  
This ball provides alternate functions when in Standalone DFP and Standalone UFP Modes. Refer to  
Section 3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP Modes" for  
additional information.  
Note 3-2  
This general purpose signal can only function as an output and must not be pulled-up  
externally during RESET_N assertion.  
DS00002084C-page 10  
2016-2017 Microchip Technology Inc.  
UPD360  
3.1.1.1  
UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP Modes  
When the UPD360-A/UPD360-B is configured in Standalone DFP or Standalone UFP modes, the following GPIO balls  
are assigned specific alternate functions, as detailed in Table 3-2.  
TABLE 3-2:  
Ball  
ALTERNATE GPIO[9:15] FUNCTIONS IN STANDALONE DFP/UFP MODES  
I2C Companion Mode  
Standalone DFP Mode  
Standalone UFP Mode  
B3  
B4  
B5  
B7  
A5  
A6  
A7  
GPIO9  
GPO10  
GPIO11  
GPIO12  
GPIO13  
GPIO14  
GPIO15  
ORIENTATION  
ATTACH  
ORIENTATION  
ATTACH  
OCS_N  
GPIO11  
PWR_EN  
SINK_5V_LEGACY_N  
SINK_5V_1A5_N  
SINK_5V_3A0_N  
GPIO15  
PWR_CAP0  
PWR_CAP1  
ERR_RECOVER  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 11  
UPD360  
3.1.2  
UPD360-C BALL ASSIGNMENTS  
The device ball diagram for the UPD360-C can be seen in Figure 3-2. Table 3-3 provides a UPD360-C ball assignment  
table. Ball descriptions are provided in Section 3.2, "Ball Descriptions".  
FIGURE 3-2:  
UPD360-C BALL ASSIGNMENTS (TOP VIEW)  
1
2
3
4
5
6
7
VBUS  
VS  
VS  
NC  
GPIO 13  
GPIO14  
GPIO 15  
A
B
C
D
GPIO11/  
DISCHARGE  
VBUS  
CC2  
CC1  
VBUS_DET  
CC2_DB_EN  
CC1_DB_EN  
OCS_COMP1  
PWR_DN  
GPIO 9  
GPO10  
VDD33IO  
GPIO5  
GPIO7  
GPIO4  
GPO1  
GPIO 12  
VSS  
GPIO8  
VSS  
VSS  
RESET _N  
CFG_SEL0  
3V3_ALW  
VSW  
VSS  
GPIO6  
E
F
VDD 33IO  
IRQ_N  
SPI_CLK  
GPIO3/HPD  
GPIO 2/  
OCS_COMP2  
3V3_VBUS  
VDD18_CAP  
SPI _DO  
SPI_DI  
SPI_CS  
G
Top of UPD360-C 44-WFBGA Package  
DS00002084C-page 12  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 3-3:  
Ball  
UPD360-C BALL ASSIGNMENTS  
Pin Name  
Ball  
Pin Name  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
B1  
B2  
B3  
B4  
B5  
B6  
B7  
C1  
C2  
C4  
C6  
C7  
D1  
D2  
D3  
VBUS  
VS  
D5  
D6  
D7  
E1  
E2  
E4  
E6  
E7  
F1  
F2  
F3  
F4  
F5  
F6  
F7  
G1  
G2  
G3  
G4  
G5  
G6  
G7  
VSS  
GPIO7  
VS  
RESET_N  
CFG_SEL0  
OCS_COMP1  
VSS  
NC  
GPIO13  
GPIO14  
GPIO15  
VBUS  
GPIO4  
GPIO6  
VBUS_DET  
GPIO9  
3V3_ALW  
PWR_DN  
VDD33IO  
IRQ_N  
GPO10 (Note 3-3)  
GPIO11/DISCHARGE  
VDD33IO  
GPIO12  
CC2  
SPI_CLK  
GPO1 (Note 3-3)  
GPIO3/HPD  
VSW  
CC2_DB_EN  
VSS  
3V3_VBUS  
VDD18_CAP  
SPI_DO  
GPIO5  
GPIO8  
CC1  
SPI_DI  
CC1_DB_EN  
VSS  
SPI_CS  
GPIO2/OCS_COMP2  
Note 3-3  
This general purpose signal can only function as an output and must not be pulled-up  
externally during RESET_N assertion.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 13  
UPD360  
3.2  
Ball Descriptions  
This sections details the functions of the various device signals.  
TABLE 3-4:  
NAME  
BALL DESCRIPTIONS  
SYMBOL  
BUFFER  
TYPE  
DESCRIPTION  
USB Type-C™  
Configuration  
Channel 1  
CC1  
CC2  
AIO  
AIO  
AIO  
Configuration Channel (CC) used in the discovery, configu-  
ration and management of connections across a USB  
Type-C cable. Refer to Section 9.1, "CC Comparator," on  
page 68 for additional information.  
Configuration  
Channel 2  
Configuration Channel (CC) used in the discovery, configu-  
ration and management of connections across a USB  
Type-C cable. Refer to Section 9.1, "CC Comparator," on  
page 68 for additional information.  
CC1  
Dead Battery  
Enable  
CC1_DB_EN  
Determines whether CC1 broadcasts Rd pull-down  
or Hi-Z. Refer to Section 9.6, "Dead Battery," on page 77 for  
additional information.  
Note:  
Tie to CC1 if dead battery is supported. Other-  
wise, tie to ground.  
CC2  
Dead Battery  
Enable  
CC2_DB_EN  
AIO  
Determines whether CC2 broadcasts Rd pull-down  
or Hi-Z. Refer to Section 9.6, "Dead Battery," on page 77 for  
additional information.  
Note:  
Tie to CC2 if dead battery is supported. Other-  
wise, tie to ground.  
I2C Interface (UPD360-A/UPD360-B Only)  
I2C Clock  
I2C Data  
I2C_CLK  
I2C_DAT  
I2C  
I2C clock signal  
(+1.8V for UPD360-A, +3.3V for UPD360-B)  
I2C data signal  
I2C  
(+1.8V for UPD360-A, +3.3V for UPD360-B)  
SPI Interface Pins (UPD360-C Only)  
SPI Clock  
SPI_CLK  
IS  
SPI clock.  
The maximum supported SPI clock frequency is 25 MHz.  
SPI Data Out  
SPI Data In  
SPI_DO  
SPI_DI  
SPI_CS  
O8  
IS  
SPI output data.  
SPI input data.  
SPI Chip  
Enable  
IS  
Active low SPI chip enable input.  
Power Delivery Control  
Hot Plug Detect  
Discharge  
HPD  
IS/O8  
DisplayPort Hot Plug Detection. Refer to Section 14.0, "Dis-  
playPort Hot Plug Detect (HPD)," on page 195 for addi-  
tional information.  
DISCHARGE  
O8  
VBUS Discharge. Enables external VBUS discharge circuit  
when commanded by USB PD software.  
DS00002084C-page 14  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 3-4:  
NAME  
BALL DESCRIPTIONS (CONTINUED)  
BUFFER  
SYMBOL  
TYPE  
DESCRIPTION  
Type-C  
Attach  
ATTACH  
O8  
In the Standalone UFP and Standalone DFP modes  
(UPD360-A/UPD360-B only), this signal indicates that the  
USB Type-C receptacles at the near and far end of the  
cable both have a plug-in. This pin is autonomously driven  
by the device in DFP standalone mode.  
0b: Nothing attached  
1b: USB Type-C port has an end-end attached  
Refer to Section 9.10, "Standalone DFP (UPD360-A/  
UPD360-B Only)" and Section 9.11, "Standalone UFP  
(UPD360-A/UPD360-B Only)"for additional information.  
Note:  
Note:  
Float this signal when unused.  
This signal is not available in the UPD360-C.  
Type-C  
Orientation  
ORIENTATION  
O8  
In the Standalone UFP and Standalone DFP modes  
(UPD360-A/UPD360-B only), this signal is used to indicate  
which CC pin is terminated by the attached DFP/UFP and  
is autonomously driven by the device in DFP standalone  
mode.  
DFP:  
0b: CC1 pin is terminated by Rd.  
1b: CC2 pin is terminated by Rd.  
UFP:  
0b: CC1 pin is pulled to a higher voltage than CC2.  
1b: CC2 pin is pulled to a higher voltage than CC1.  
Refer to Section 9.10, "Standalone DFP (UPD360-A/  
UPD360-B Only)" and Section 9.11, "Standalone UFP  
(UPD360-A/UPD360-B Only)"for additional information.  
Note:  
Note:  
Float this signal when unused.  
This signal is not available in the UPD360-C.  
Over-current  
sense  
OCS_N  
OD8  
In the Standalone DFP mode (UPD360-A/UPD360-B only),  
this active-low signal indicates over-current sense. This sig-  
nal maps to the PPC_INT interrupt.  
Note:  
This signal is active-low. Float this signal when  
unused.  
Note:  
This signal is not available in the UPD360-C.  
VBUS Power  
Enable  
PWR_EN  
IS  
In the Standalone DFP mode (UPD360-A/UPD360-B only),  
this signal is used as a port power switch enable for USB  
hubs.  
Note:  
This signal should be tied to the Power Good  
signal from the VS supply.  
Note:  
Note:  
Tie this signal to ground when unused.  
This signal is not available in the UPD360-C.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 15  
UPD360  
TABLE 3-4:  
BALL DESCRIPTIONS (CONTINUED)  
BUFFER  
TYPE  
NAME  
SYMBOL  
DESCRIPTION  
Power  
Capability 0  
PWR_CAP0  
IS  
In the Standalone DFP mode, these signals define the  
charging current supported by the device.  
Power  
Capability 1  
PWR_CAP1  
IS  
00b: USB 2.0 Default Current  
01b: USB 3.0 Default Current  
10b: 1.5 A  
11b: 3.0 A  
Note:  
Note:  
It is not valid to change the state of PWR_CAP0  
and PWR_CAP1 pins after reset is de-asserted.  
These signals are not available in the UPD360-  
C.  
Error  
Recovery  
ERR_RECOVER  
IS  
In Standalone DFP mode (UPD360-A/UPD360-B only), this  
pin determines whether or not the USB Type-C logic shall  
attempt to auto-recover from an OCS or other error.  
Sources from either the Port Power Switch or VCONN FET.  
Note:  
This signal is not available in the UPD360-C.  
Sink Legacy  
Current  
SINK_5V_LEGACY_N  
OD8  
In the Standalone UFP mode (UPD360-A/UPD360-B only),  
this pin asserts autonomously when a source has been  
detected that provides legacy USB current.  
Note:  
Note:  
Float this signal when unused.  
This signal is not available in the UPD360-C.  
Sink 1.5A  
Current  
SINK_5V_1A5_N  
SINK_5V_3A0_N  
OD8  
OD8  
In the Standalone UFP mode (UPD360-A/UPD360-B only),  
this pin asserts autonomously when a source has been  
detected that provides 1.5A USB current.  
Note:  
Note:  
Float this signal when unused.  
This signal is not available in the UPD360-C.  
Sink 3A  
Current  
In the Standalone UFP mode (UPD360-A/UPD360-B only),  
this pin asserts autonomously when a source has been  
detected that provides 3.0A USB current.  
Note:  
Note:  
Float this signal when unused.  
This signal is not available in the UPD360-C.  
Miscellaneous  
OD8 Active low interrupt signal.  
Note: Float this signal when unused.  
Interrupt  
IRQ_N  
VBUS  
Detection  
VBUS_DET  
CFG_SEL0  
AIO  
Scaled down version of VBUS. Tie this signal to VBUS via a  
resistor divider.  
Configuration  
Select 0  
AIO  
This multi-level configuration signal is sampled after a sys-  
tem reset to select the device’s default mode of operation  
based on the connected 1% precision resistor value.  
Refer to Section 9.8.1, "Configuration Selection," on  
page 81 for additional information.  
DS00002084C-page 16  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 3-4:  
NAME  
BALL DESCRIPTIONS (CONTINUED)  
BUFFER  
SYMBOL  
TYPE  
DESCRIPTION  
Configuration  
Select 1  
CFG_SEL1  
AIO  
This multi-level configuration signal is sampled after a sys-  
tem reset to select the device’s default I2C slave address  
based on the connected 1% precision resistor value  
(UPD360-A/UPD360-B only).  
Refer to Section 9.8.1, "Configuration Selection," on  
page 81 for additional information.  
Note:  
This signal is not available in the UPD360-C.  
General  
Purpose I/O  
0-15  
GPIO0,  
GPO1,  
IS/O8/  
OD8  
(PU)  
The general purpose I/O signals are fully programmable as  
either a push-pull output, an open-drain output, or a  
Schmitt-triggered input (except GPO1 and GPO10). A pro-  
grammable pull-up may optionally be enabled.  
GPIO2,  
GPIO3,  
GPIO4,  
GPIO5,  
GPIO6,  
GPIO7,  
GPIO8,  
GPIO9,  
GPO10  
Note:  
The GPO1 and GPO10 general purpose sig-  
nals can only function as outputs and must  
be kept in a low state coincident with de-  
asserting RESET_N.  
Note:  
Note:  
Tie these signals to ground when unused.  
External pull-ups and pull-downs shall be placed  
on GPIO pins to ensure that when in the reset  
state the inputs to external devices are driven to  
a valid state.  
Note:  
Note:  
GPIO0 is not available in the UPD360-C.  
In Standalone DFP/UFP modes (UPD360-A/  
UPD360-B only), GPIOs 9-15 have alternate  
dedicated functions, as defined in Section  
3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15]  
Functions in Standalone DFP/UFP Modes," on  
page 11.  
Refer to Section 8.2, "General Purpose I/O," on page 37 for  
additional information.  
System Reset  
Power Down  
RESET_N  
PWR_DN  
IS  
AI  
AI  
Active low system reset.  
Note:  
If this signal is unused, it must be pulled up to  
VDD33IO.  
Refer to Section 7.7, "Reset Operation," on page 34 for  
additional information.  
When asserted, this signal places the device into the  
SLEEP state.  
Note:  
Tie this signal to ground when unused.  
Refer to Section 7.2.1, "SLEEP," on page 31 for additional  
information.  
Over-Current  
Sense  
OCS_COMP1  
This pin is used by the integrated OCS comparator to  
detect for error conditions.  
Comparator 1  
Note:  
Tie this signal to ground when unused.  
Refer to Section 8.3, "External Over-current Detection," on  
page 39 for additional information.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 17  
UPD360  
TABLE 3-4:  
BALL DESCRIPTIONS (CONTINUED)  
BUFFER  
TYPE  
NAME  
SYMBOL  
DESCRIPTION  
Over-Current  
Sense  
OCS_COMP2  
AI  
This pin is used by the integrated OCS comparator to  
detect for error conditions.  
Comparator 2  
Note:  
Tie this signal to ground when unused.  
Refer to Section 8.3, "External Over-current Detection," on  
page 39 for additional information.  
No Connect  
NC  
-
For proper operation, this pin must be left unconnected.  
Power/Ground  
+3.3V  
Voltage  
Switch  
Supply  
VSW  
P
+3.3V power supply output from the integrated power  
switch.  
Note:  
This pin also provides capacitance for integrated  
power switch and must be connected to a 1 uF  
(<100 Mohm ESR) capacitor to ground.  
+3.3V  
VBUS Supply  
3V3_VBUS  
3V3_ALW  
P
P
+3.3V power supply input derived from VBUS to the inte-  
grated power switch.  
Note:  
This pin must be connect to a 2.2 uF capacitor  
to ground.  
+3.3V  
Always Supply  
+3.3V main power supply input to the integrated power  
switch.  
Note:  
This pin must be connect to a 2.2 uF capacitor  
to ground.  
+3.3V I/O  
Power Supply  
Input  
VDD33IO  
P
P
+3.3V I/O power supply input.  
+1.8V Digital  
Core Power  
Supply Capaci-  
tor  
VDD18_CAP  
+1.8V digital core power supply capacitor. This signal must  
be connected to a 1uF capacitor to ground for proper oper-  
ation.  
VBUS  
Port Power  
Switch Output  
VBUS  
VS  
P
Port power switch output.  
Note:  
Both VBUS signals must be tied together.  
+5V  
+5V input to port power switch.  
Port Power  
Switch Input  
Note:  
Note:  
Both VS signals must be tied together.  
A 1uF capacitor to ground is required on this sig-  
nal for a single port configuration. If more than  
one port is used, an additional 1uF of capaci-  
tance must be added for each additional port.  
P
P
Ground  
VSS  
Ground pins.  
DS00002084C-page 18  
2016-2017 Microchip Technology Inc.  
UPD360  
4.0  
REGISTER MAP  
This chapter provides the device register map, summarizing the various directly addressable System Control and Status  
Registers (CSRs). All CSRs are directly accessible via the device’s internal I2C Slave Controller (UPD360-A/UPD360-  
B Only) or SPI Slave Controller (UPD360-C Only). Detailed descriptions of the System CSRs are provided in the chap-  
ters corresponding to their function. Table 4-1 provides a summary of all directly addressable CSRs and their corre-  
sponding addresses.  
Note:  
Register bit type definitions are provided in Section 1.3, "Register Nomenclature," on page 6.  
TABLE 4-1:  
Address  
DEVICE REGISTER MAP  
Registers  
3400h-FFFFh  
3000h-33FFh  
2C00h-2FFFh  
2800h-2BFFh  
2000h-27FFh  
1C00h-1FFFh  
1800h-1BFFh  
1400h-17FFh  
1000h-13FFh  
0C00h-0FFFh  
0800h-0BFFh  
0400h-07FFh  
0000h-03FFh  
RESERVED  
Watchdog Timer Registers  
RESERVED  
Baseband CC Interface Registers  
RESERVED  
Power Switch Registers  
Power Delivery MAC Registers  
RESERVED  
Clocks and Power Management Registers  
DisplayPort HPD Registers  
Cable Orientation and Detection Registers  
Port Power Controller Registers  
System Control Registers  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 19  
UPD360  
2
5.0  
I C SLAVE CONTROLLER (UPD360-A/UPD360-B ONLY)  
This chapter details the integrated I2C slave controller (I2C_DAT and I2C_CLK) available in the UPD360-A (+1.8V sig-  
naling) and UPD360-B (+3.3V signaling). The I2C slave controller can be used for Host CPU serial management and  
data transfer, and allows host access to all device Configuration and Status Registers (Section 4.0, "Register Map," on  
page 19).  
5.1  
I2C Overview  
I2C is a bi-directional 2-wire data protocol. A device that is currently sending data is defined as the “transmitter” and a  
device that is currently receiving data is defined as the “receiver”. The bus is controlled by a master which generates  
the SCL clock, controls bus access, and generates the start and stop conditions. The master and slave will operate as  
transmitter or receiver, bit-by-bit, as determined by the master. Since the device I2C controller is a slave only, the terms  
“host” and “master” are synonymous, both referring to the external side of the interface.  
Both the clock (SCL) and data (SDA) signals have analog input filters that reject pulses that are less than 50 ns. The  
data pin is driven low when either interface sends a low, emulating the wired-AND function of the I2C bus. Since the  
slave interface never drives the clock pin, the wired-AND is not necessary.  
The following bus states exist:  
Idle: Both I2C_DAT and I2C_CLK are high when the bus is idle.  
Start & Stop Conditions: A start condition (S) is defined as a high to low transition on the SDA line while SCL is  
high. A stop condition (P) is defined as a low to high transition on the SDA line while SCL is high. The bus is con-  
sidered to be busy following a start condition and is considered free 4.7 µs / 1.3 µs / 0.5µs (for 100 kHz / 400 kHz  
/ 1MHz operation, respectively) following a stop condition. The bus stays busy following a repeated start condition  
(Sr) in the absence of a stop condition. Stop/start sequences and repeated starts are otherwise functionally equiv-  
alent.  
Data Valid: Data is valid, following the start condition, when SDA is stable while SCL is high. Data can only be  
changed while the clock is low. There is one valid bit per clock pulse. Every byte must be 8 bits long and is trans-  
mitted MSB first.  
Acknowledge: Each byte of data is followed by an acknowledge bit. The master generates a ninth clock pulse for  
this bit, and the transmitter releases SDA (high). To provide a positive “acknowledge” (ACK), the receiver drives  
SDA low so that it remains valid during the high period of the clock, taking into account the setup and hold times.  
To provide a negative “no-acknowledge” (NACK or ACK), the receiver will allow the line to remain high during this  
bit time. The receiver may be the master or the slave depending on the direction of the data. Typically the receiver  
acknowledges each byte. If the master is the receiver, it does not generate an acknowledge on the last byte of a  
transfer. This informs the slave to not drive the next byte of data, freeing SDA so that the master may generate a  
stop or repeated start condition.  
Figure 5-1 displays the various bus states of a typical I2C cycle.  
2
FIGURE 5-1:  
I C CYCLES  
data  
can  
data  
can  
data  
can  
data  
can  
data  
data  
stable  
stable  
change  
change  
change  
change  
I2C_DAT  
S
Sr  
P
I2C_CLK  
Data Valid  
or Ack  
Data Valid  
or Ack  
Stop Condition  
Re-Start  
Condition  
Start Condition  
DS00002084C-page 20  
2016-2017 Microchip Technology Inc.  
UPD360  
5.2  
I2C Slave Operation  
The I2C slave serial interface consists of a data wire (I2C_DAT) and a serial clock (I2C_CLK). The serial clock is driven  
by the master, while the data wire is bi-directional. Both signals are open-drain and require external pull-up resistors.  
The I2C slave controller implements the low level I2C slave serial interface (start and stop condition detection, data bit  
transmission/reception and acknowledge generation/reception), handles the slave command protocol and performs  
system register reads and writes. It tolerates and also provides clock stretching, in particular for supporting a transparent  
Wake on Host Access (see Section 7.3, "Asynchronous I2C Wakeup (UPD360-A/UPD360-B Only)," on page 32).  
The I2C slave controller conforms to the NXP I2C-Bus Specification (UM10204, April 4, 2014), and supports traffic as  
defined therein for the following modes:  
• Standard-mode (Sm, 100 kbit/s)  
• Fast-mode (Fm, 400 kbit/s)  
• Fast-mode Plus (Fm+, 1 Mbit/s)  
Refer to Section 16.6.2, "I2C Slave Interface (UPD360-A/UPD360-B only)," on page 210 for timing information.  
2
5.2.1  
I C SLAVE COMMAND FORMAT  
The I2C slave serial interface supports single register and multiple register Read and Write commands. A Read or Write  
command is started by the master first sending a Start condition, followed by a Control byte. The Control byte consists  
of a 7-bit slave address and a 1-bit Read/Write indication (R/~W). The default slave address used by the device is  
selected via the CFG_SEL1 configuration strap. Assuming the slave address in the Control byte matches this address,  
the Control byte is acknowledged by the device. Otherwise, the entire sequence is ignored until the next Start condition.  
The I2C slave controller also supports the General Call Address. The I2C command formats can be seen in Figure 5-2,  
Figure 5-4, and Figure 5-5.  
If the read/write indication (R/~W) in the Control byte is a 0 (Write), the next two bytes sent by the master are a register  
address, and these two bytes are mandatory. The upper (first) two bits of the address field are a Direction control (DIR),  
which indicates whether multi-byte accesses will increment, decrement, or fix (as static) the issued address  
(Section 5.2.2). After the address bytes are acknowledged by the device, the master may send data bytes, which will  
be written to successive registers starting at this address. It may instead send another Start condition (to start the read-  
ing of data) or a Stop condition (only setting the address). The latter two will terminate the current Write before writing  
any data, but will have the effect of setting the internal register address which will be used for subsequent Reads.  
If the read/write indication (R/~W) in the Control byte is a 1 (Read), the device will start sending data following the Con-  
trol byte acknowledge bit. Read commands cannot designate an address by themselves, but may optionally be prefixed  
with a Write command to set it (see Figure 5-4, prefixes in gray). If however the Read immediately follows a Multiple  
Register Write or Read, the address may have been incremented or decremented internally according to its DIR field,  
so this Read will start its access at the next successive byte address. Also, regardless of the previous access, a multiple-  
byte Read will continue the Increment/Decrement internally, as determined by the previously-issued DIR field  
(Section 5.2.2).  
The length of the register address field is always two full bytes. Some high-order bits are don’t-care. Don’t-care register  
address bits should be sent as ‘0’ always, for upward compatibility.  
2
FIGURE 5-2:  
I C SLAVE ADDRESSING  
Control Byte  
Address Byte 1  
Address Byte 0  
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
A
A
A
A
A
9
A
8
S
0
*
DIR  
15 14  
13 12 11 10  
Inc /  
Dec /  
Static  
Start or  
Stop or  
Data [7]  
R/~W  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 21  
UPD360  
Note:  
Within bytes (address and data), the bits are transferred most-significant bit first. Addresses are transferred  
Most-Significant Byte first. All registers are accessed in units of bytes, and register data is transferred in  
increasing byte address order. Refer to the device register layout to determine the effect of this on the sig-  
nificance order of any multi-byte value.  
5.2.2  
MULTIPLE-BYTE REGISTER ADDRESS SEQUENCING  
The DIR subfield in Address field bits [15:14] determines how multiple-byte sequences will be interpreted. This field is  
held internally whenever issued with an address, but is not applied in I2C except in multiple-byte transfers, Read or  
Write. The DIR field definitions are as follows:  
DIR = 00b: Selects auto-incrementing of the internally-held register address for subsequent byte accesses in a  
multiple-byte packet.  
DIR = 10b: Selects auto-decrementing of the internally-held register address for subsequent byte accesses in a  
multiple-byte packet.  
DIR = 11b: Select a fixed address. No modification of the internal register address will occur, meaning that all sub-  
sequent accesses, single- or multiple-byte, are made to the same register.  
DIR = 01b: Reserved for future use.  
Note that the DIR field is altered only by issuing an address. It remains, affecting any subsequent multiple-byte Read  
packets, until altered.  
5.2.3  
GENERAL CALL ADDRESS  
The device supports the I2C General Call Address. The intent of this feature is to enable global I2C writes to topologies  
that have multiple UPD360 slaves. This minimizes the I2C transactions for device reset, via the Hardware Control Reg-  
ister (HW_CTL), as well as for various common configuration registers. This mode of operation is intended for topologies  
that consist solely of UPD360 slaves. This mode of operation may not be compatible with non-UPD360 slaves coexisting  
on the I2C bus.  
Only the case where the least significant bit, “B”, of the General Call address is set to one is supported. The device will  
ignore the case when the least significant bit, “B”, of the General Call address is set to zero. For the latter case, the  
device will ACK the first byte, General call address. The device will ignore and silently discard all subsequent bytes and  
not acknowledge them. The second byte of the General Call address is also ignored and not acknowledged by the  
device.  
Figure 5-3 illustrates the supported General Call Address format.  
2
FIGURE 5-3:  
I C GENERAL CALL ADDRESS  
General Call  
Address  
Second Byte  
Address Byte 1  
Address Byte 0  
A
C
K
A
C
K
A
C
K
A
C
K
A
A
A
A
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
S
0
0
0
0
0
0
0
1
*
0
Master Address  
DIR  
13 12 11 10  
15 14  
(B)  
Inc /  
Dec /  
Static  
Start or  
Stop or  
Data  
5.2.4  
DEVICE INITIALIZATION  
Until the device has initialized itself to the point where the various configuration inputs are valid, the I2C slave interface  
will not respond to or be affected by any external pin activity. The device should not be accessed by the master in this  
state. If, however, it is necessary to do so, this state will appear externally as a NACK (high) in the ACK bit time of the  
Control Byte, and of any further bytes transmitted by the master. The device will continue to act in this manner until the  
first Start condition is received after it is initialized internally. A Read transaction should not be attempted until an  
Address Write has been completed successfully (Figure 5-2), since the value(s) read may be unpredictable otherwise.  
Alternatively, an IRQ_N pin assertion can be used to indicate the device is ready.  
DS00002084C-page 22  
2016-2017 Microchip Technology Inc.  
UPD360  
5.2.5  
ACCESS DURING AND FOLLOWING POWER MANAGEMENT  
During low-power modes, a Start condition will trigger the device to wake, and the device will also stretch the I2C clock  
low until its internal clocks are running and locked. It will then release the I2C clock, and process the incoming packet.  
It performs these steps before receiving the Slave Address bits, meaning that if there are multiple devices of this type  
asleep on the same I2C bus segment then they will all stretch the clock, and they will all wake, regardless of whether  
they were actually addressed. In the event that the slave address of the I2C transaction does not match the value spec-  
ified in the I2C Slave Address Register (I2C_ADDR) (UPD360-A/UPD360-B Only), the device will power-down automat-  
ically.  
2
5.2.6  
I C SLAVE READ SEQUENCE  
Following the device addressing, as detailed in Section 5.2.1, a register is read from the device when the master sends  
a Start condition and Control byte with the R/~W bit set to ‘1’. Assuming the slave address in the Control byte matches  
the device address, the Control byte is acknowledged by the device. Otherwise, the entire sequence is ignored until the  
next Start condition. Following the acknowledge, the device sends 1 or more bytes of data, from successive register  
addresses according to the last-issued DIR address subfield (Section 5.2.2), until the master sends a no-acknowledge  
followed by the Stop condition. The no-acknowledge informs the device not to send any further bytes.  
The internal register address is unchanged if only a single register byte is read, otherwise (a Multiple Register Read)  
the internal register address may be incremented or decremented (Section 5.2.2) after each byte including the final one.  
If the internal address reaches its maximum, it rolls over to 0.  
If the master sends an unexpected start or stop condition, the device will stop sending immediately and will respond to  
the next sequence as needed.  
Figure 5-4 illustrates a typical single and multiple register read. An optional Write of an address is allowed to occur first,  
shown in gray. Note that this example shows an abbreviated case, where the Write does not have a Stop condition  
before the Read transfer’s Starts. in this case, the Stop is still allowed, but not required.  
2
FIGURE 5-4:  
I C SLAVE READS  
Control Byte  
Data Byte  
Control Byte  
Address Byte 1  
Address Byte 0  
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
A
A
A
A
A
9
A
8
S
0
DIR  
15 14  
S
1
P
13 12 11 10  
Inc /  
Dec /  
Static  
R/~W  
Single Register Read  
Data Bytes  
2 — (n-1)  
Data Byte n  
Control Byte  
Data Byte 1  
Control Byte  
Address Byte 1  
Address Byte 0  
A
C
K
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
D
1
D
0
D
1
D
0
D
7
D
6
A
A
A
A
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
...  
...  
...  
P
S
0
S
1
DIR  
15 14  
13 12 11 10  
Inc /  
Dec /  
Static  
R/~W  
Multiple Register Reads  
2
5.2.7  
I C SLAVE WRITE SEQUENCE  
Following the device addressing, as detailed in Section 5.2.1, a register value is written to the device when the master  
continues to send data bytes. Each byte is acknowledged by the device. Following any data byte, after the acknowledge,  
the master may either send another start condition or halt the sequence with a stop condition. The internal register  
address is unchanged following a single-byte write.  
Multiple writes are performed when the master sends additional data bytes following the first. The internal address is  
automatically incremented and the next register is written. Once the internal address reaches its maximum value, it rolls  
over to 0. The multiple write is concluded when the master sends another start or stop condition. In performing a multiple  
write, the internal register address may be incremented or decremented (Section 5.2.2) for each write including the final.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 23  
UPD360  
This is not relevant for subsequent writes after a new Start condition, since a new register address (with its DIR subfield)  
must then be included. However, this would affect the address used by any subsequent read without first resetting the  
register address.  
For both single and multiple writes, if the master sends an unexpected start or stop condition, the device will stop imme-  
diately and will respond to the next sequence as needed.  
The data write to a multi-byte register may be delayed until after all bits are input. In the event that the full register is not  
written (master sends a start or a stop condition occurs unexpectedly), the write may be considered invalid and the reg-  
ister not affected. Multiple registers may be written in a multiple write cycle, each one being written in sequence. I2C  
writes must not be performed to unused register addresses.  
Figure 5-5 illustrates a typical single and multiple register write.  
2
FIGURE 5-5:  
I C SLAVE WRITES  
Data Byte  
Address Byte 0  
Control Byte  
Address Byte 1  
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
A
C
K
A
A
A
A
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
P
S
0
DIR  
15 14  
13 12 11 10  
Inc /  
Dec /  
Static  
R/~W  
Single Register Write  
Data Bytes  
2 — (n-1)  
Data Byte 1  
Data Byte n  
Control Byte  
Address Byte 1  
Address Byte 0  
A
C
K
A
C
K
A
C
K
S
A
6
S
A
5
S
A
4
S
A
3
S
A
2
S
A
1
S
A
0
A
C
K
A
C
K
A
C
K
D
1
D
0
D
7
D
6
D
1
D
0
A
A
A
A
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
...  
...  
...  
P
S
0
DIR  
15 14  
13 12 11 10  
Inc /  
Dec /  
Static  
R/~W  
Multiple Register Writes  
5.2.8  
SPECIAL CSR HANDLING  
Live Bits  
5.2.8.1  
Register values are latched (registered) at the beginning of each register read to prevent the host from reading a chang-  
ing value. The latching occurs individually per register in a multiple register read sequence.  
5.2.8.2  
Change-on-Read Registers and FIFOs  
Any single-byte register that triggers a side-effect from a read operation (for example, containing “clear on read” bits, or  
advancing a FIFO structure) triggers only after the host has begun accessing the value. The value seen by the master  
will always be the original value and never the updated result of the side-effect.  
For a multiple-byte register that is considered a single unit, the change may be delayed until all bytes of the register  
have been read. In the event that the host sends a no-acknowledge on one of the first bytes of a multi-byte register, or  
a start or stop condition occurs unexpectedly before the acknowledge of the full register, the read may be considered  
invalid and the side-effect not triggered.  
Registers read in multiple-register read access will trigger multiple side-effects, occurring as they are read. The following  
registers have read side-effects:  
Watchdog Count Register (WDT_COUNT)  
DS00002084C-page 24  
2016-2017 Microchip Technology Inc.  
UPD360  
5.2.8.3  
Live Bits that are also Change-on-Read  
As described above, the current value from a register with live bits (as is the case of any register) is captured and latched  
as output data, and Change on Read bits are then changed in the original register. To prevent loss of a hardware event  
that occurs following the data capture but before the Change on Read, these hardware events are held pending until  
after the read action and after any change due to the read. This sequence also ensures an edge in the bit due to the  
hardware event.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 25  
UPD360  
6.0  
SPI SLAVE CONTROLLER (UPD360-C ONLY)  
This chapter details the integrated SPI slave controller (SPI_DI, SPI_DO, SPI_CLK, and SPI_CS) available in the  
UPD360-C. The SPI slave controller can be used for Host CPU serial management and data transfer, and allows host  
access to all device Configuration and Status Registers (Section 4.0, "Register Map," on page 19).  
6.1  
SPI Overview  
The SPI Slave module provides a low pin count synchronous slave interface that facilitates communication between the  
device and a host system. The SPI slave allows access to the System CSRs and internal FIFOs and memories. It sup-  
ports single and multiple register read and write commands with incrementing, decrementing and static addressing.  
Only a Single bit lane is supported in SPI mode at up to 25 MHz.  
The following is an overview of the functions provided by the SPI Slave:  
Fast Read: 4-wire (clock, select, data in and data out) reads. Serial command, address and data. This is called  
“Fast” Read for historical reasons, and is the only Read command supported. There is a single Dummy byte  
required for first access. Single and multiple register reads with incrementing, decrementing or static addressing.  
Write: 4-wire (clock, select, data in and data out) writes at up to 25 MHz. Serial command, address and data. Sin-  
gle and multiple register writes with incrementing, decrementing or static addressing.  
6.2  
SPI Slave Operation  
A SPI frame starts on the falling edge of SPI_CS, and ends with SPI_CS rising. At the edges of SPI_CS, the SPI_CLK  
clock may be at its reset state of either low (Mode 0) or high (Mode 3), at the option of the Master.  
Input data on the SPI_DI pin (often called “MOSI”) is sampled on the rising edge of the SPI_CLK input clock. Output  
data is launched on the SPI_DO pin (often called “MISO”) with the falling edge of the clock. While the SPI_CS chip select  
input is high, the SPI_DI and SPI_CLK inputs are ignored and the SPI_DO output is floating.  
Each frame starts with an 8-bit instruction byte, transmitted by the Master, and it is accepted on SPI_DI starting at the  
first rising edge of the input clock after SPI_CS goes active.  
For both Write and (Fast) Read instructions, two address bytes follow the instruction byte. The address field expresses  
a byte address. Fourteen address bits specify the address. The remaining two bits [15:14] constitute the DIR subfield  
of the address field, which specifies whether the address is Auto-Incremented (00b) or Auto-Decremented (10b) for con-  
secutive data bytes in the frame. A special Static address coding (11b) keeps the address static throughout the frame  
of data, causing a single byte address to be accessed repeatedly if multiple bytes are transferred in the frame. DIR sub-  
field encoding 01b is reserved and should be decoded in implementation to be the same as 00b, for the sake of mini-  
mizing the effect of a software error that increments beyond the address space.  
For the Fast Read instruction, one dummy byte follows the address bytes. The dummy byte occupies 8 bits, one per  
clock.  
The device will normally not drive SPI_DO during the Instruction, Address or Dummy byte cycles, but see Section 6.2.2,  
"Access During and Following Power Management," on page 27 for a special case.  
For Fast Read instructions, one or more 8-bit data fields follow the dummy byte. For Write instructions, they immediately  
follow the address bytes.  
Individual bytes in instruction, address and data fields are transferred with the most-significant bit (msb) first. The two-  
byte Address field is transferred with the most-significant byte (MSB) first. Multi-byte data values are transferred in the  
order specified by the DIR subfield of the Address field (bits [15:14]), and so their order can be effectively selected by  
using Increment mode (starting from the lowest byte address) or Decrement mode (starting from the highest byte  
address).  
The SPI interface supports a minimum time of 50ns between successive commands (a minimum SPI_CS inactive time  
of 50ns).  
DS00002084C-page 26  
2016-2017 Microchip Technology Inc.  
UPD360  
The instructions supported by the SPI slave controller are listed in Table 6-1. Unsupported instructions are reserved and  
must not be used.  
TABLE 6-1:  
Instruction  
SPI INSTRUCTIONS  
Description  
Bus Bit  
Width  
Address  
Bytes  
Dummy  
Bytes  
Inst. Code  
Data bytes Max Freq.  
Read  
FASTREAD  
Read, higher  
speed format  
1
1
0Bh  
2
2
1
0
1 to  
1 to   
25 MHz  
25 MHz  
Write  
WRITE  
Write  
02h  
6.2.1  
DEVICE INITIALIZATION  
Until the device has been initialized to the point where the various configuration inputs are valid, the SPI interface will  
not respond to or be affected by any external pin activity.  
Once device initialization completes, the SPI interface will ignore the pins until a rising edge of SPI_CS is detected.  
If the device initialization completes during an active cycle (SPI_CS low), the trailing end of the frame must be seen  
(SPI_CS returning high) before any internal registers are affected or the state of the SPI interface changes.  
The first SPI access after device initialization must always be a dummy read to the SPI Test Register (SPI_TEST)  
(UPD360-C Only).  
6.2.1.1  
SPI Slave Read Polling for Initialization Complete  
With an external weak pull-up resistor present on SPI_DO, a value of FFh will appear to have been read from any inter-  
nal register while the device is uninitialized. By verifying the SPI Test Register (SPI_TEST) (UPD360-C Only) has at  
least one “0” bit in it, it is possible to tell when the device is initialized.  
6.2.2  
ACCESS DURING AND FOLLOWING POWER MANAGEMENT  
The Wake event on SPI traffic is local to the specific device, and does not affect the states of other devices even on the  
same SPI bus. Until waking is complete, the SPI interface holds the SPI_DO pin low for the duration of the SPI_CS low  
time.  
Until the device is awake, then, any Read access performed by the Master will appear to have returned all “1” bits. To  
determine when the device is awake and the SPI interface functional, the SPI Test Register (SPI_TEST) (UPD360-C  
Only) should be repeatedly polled by the Master in separate frames (SPI_CS low then high). Once a correct, non-zero  
value is read, the interface can be considered functional. As an alternative to polling, an IRQ_N pin assertion can be  
used to indicate the device is ready.  
Once the power management mode changes back to ACTIVE, the SPI interface will still ignore the SPI_CLK and  
SPI_DI pins, following SPI_CS low with SPI_DO low, until SPI_CS is seen high. At the next SPI_CS falling edge, SPI  
communication will continue normally.  
At any time after performing SPI traffic, the device will not go back to a non-communicating power state until explicitly  
allowed to do so by a command from the SPI Master.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 27  
UPD360  
Figure 6-1 illustrates the sequence of waking from SPI traffic.  
FIGURE 6-1:  
POWER MANAGEMENT WAKE ON SPI TRAFFIC  
Wake  
Trigger  
...  
...  
SPI_CS  
Osc. Lock  
(Internal)  
awake  
asleep  
...  
...  
Z
Z
Z
Z
Z
X Z  
Read  
SPI_DO  
0
0
Data  
Master sees Read data as all 0’ bits.  
Instruction / Address  
X
(Ignored by Device)  
X
X
SPI_DI  
Recognized by Device  
X
(Ignored by Device)  
X
X
SPI_CLK  
6.2.3  
SPI READ COMMAND (FAST READ)  
The Fast Read command is supported by the SPI slave. A single byte, or multiple bytes, may be read in a single frame  
(SPI_CS low).  
Fast Read is the only form of Read access supported by the device. The instruction inputs the instruction code, the  
address and a dummy byte on SPI_DI, and outputs the data one bit per clock on SPI_DO.  
The SPI slave interface is selected by first bringing SPI_CS active. The 8-bit FASTREAD instruction, 0Bh, is input into  
the SPI_DI pin, followed by the two address bytes and 1 dummy byte. The address bytes specify a Byte register address  
within the device, and also specify how addresses are sequenced for successive bytes in a Multiple Byte Read (below).  
The contents of the dummy byte are don’t-care.  
On the falling clock edge following the rising edge of the last dummy bit, the SPI_DO pin is driven starting with the most  
significant bit of the selected register byte. The remaining register bits are shifted out on subsequent falling clock edges.  
The SPI_CS input is brought inactive to conclude the cycle. The SPI_DO pin is floated by the device in response.  
6.2.3.1  
Multiple Byte Reads  
Additional byte reads beyond the first are performed by the Master by continuing the clock pulses while SPI_CS is active.  
The upper two bits [15:14] (DIR subfield) of the address specify Auto-Incrementing (DIR=00b) or Auto-Decrementing  
(DIR=10b) or Static (fixed) (DIR=11b) for successive bytes read. Maintaining a Static internal address is provided for  
FIFO Read/Write or low-level register polling within a single frame, if the Master supports it.  
Towards the end of the current one-byte output shift the address is incremented or decremented, if appropriate, and  
another synchronized capture sequence is done.  
DS00002084C-page 28  
2016-2017 Microchip Technology Inc.  
UPD360  
6.2.3.2  
Fast Read  
Figure 6-2 illustrates a typical single and multiple register fast read for SPI mode.  
FIGURE 6-2:  
SPI FAST READ  
SPI_CS  
SPI_CLK (Mode 3)  
SPI_CLK (Mode 0)  
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
X
X
1
2
3
4
5
6
7
8
9
X
X
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
3
7
3
8
3
9
4
0
1
2
3
4
5
6
7
8
9
Instruction  
Address  
Dummy  
A
1
3
A
1
2
A
1
1
A
1
0
A
A
8
A
7
A
A
5
A
4
A
3
A
2
A
1
A
0
x
x
x
x
x
x
x
x
X
0
0
0
0
1
0
1
1
DIR  
X
SPI_DI  
9
6
Inc / Dec /  
Static (Irrelevant to1-byte Reads)  
Data  
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
Z
X
Z
SPI_DO  
SPI Fast Read Single Register  
SPI_CS  
SPI_CLK (Mode 3)  
SPI_CLK (Mode 0)  
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
...  
...  
...  
...  
X
X
1
2
3
4
5
6
7
8
9
X
X
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
...  
1
2
3
4
5
6
7
8
9
Instruction  
Address  
Dummy  
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
...  
x
x
x
x
x
x
x
x
X
0
0
0
0
1
0
1
1
DIR  
X
X
X
SPI_DI  
Inc / Dec /  
Static  
Data 1......Data m Data m.+.1....Data n  
D
7
D
6
D
5
D
2
D
1
D
0
D
7
D
6
D
D
2
D
1
D
Z
X
0
Z
SPI_DO  
5
SPI Fast Read Multiple Registers  
6.2.4  
SPI WRITE COMMANDS  
The following write commands are supported by the SPI slave controller:  
Write  
Multiple Writes  
6.2.4.1  
Write  
The Write instruction provides the instruction code and address and data bytes on the SPI_DI pin, one bit per clock.  
The SPI transfer is started by the Master first driving SPI_CS active. The 8-bit WRITE instruction, 02h, is given on the  
SPI_DI pin, followed by the two address bytes. The address bytes specify a byte address within the device, and a Direc-  
tion control subfield (DIR).  
The data immediately follows the address bytes on the SPI_DI pin, starting with the most significant bit of the first byte.  
The data is input from the SPI_DI pin by the device, shifted in on each subsequent rising clock edge.  
6.2.4.2  
Multiple Writes  
Multiple writes are performed by the Master by continuing the clock pulses and SPI_DI data while SPI_CS remains  
active. The upper two bits [15:14] of the address constitute the DIR subfield, and specify auto-incrementing (DIR=00b)  
or auto-decrementing (DIR=10b) or Static addressing. The internal Byte address is incremented, decremented, or kept  
fixed (Static) based on these bits. Maintaining a fixed internal address may be useful for FIFO access, register “bit-bang-  
ing” or other repeated activity.  
The data write to the register occurs after the full register contents are input: this depends on the defined size of the  
register. In the event that the full register is not written when SPI_CS is returned high, the write is considered invalid and  
the register is not affected.  
The SPI_CS input is then brought inactive to conclude the cycle.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 29  
UPD360  
Figure 6-3 illustrates a typical SPI single and multiple register write.  
FIGURE 6-3:  
SPI WRITE  
SPI_CS  
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
X
X
1
2
3
4
5
6
7
8
9
X
X
SPI_CLK (Mode 3)  
SPI_CLK (Mode 0)  
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
1
2
3
4
5
6
7
8
9
Instruction  
Address  
Data  
A
1
3
A
1
2
A
1
1
A
1
0
A
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0
X
0
0
0
0
0
0
1
0
DIR  
X
SPI_DI  
9
Inc / Dec /  
Static (Irrelevant to 1-byte Writes)  
Z
SPI_DO  
SPI Write Single Register  
SPI_CS  
SPI_CLK (Mode 3)  
SPI_CLK (Mode 0)  
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
...  
...  
...  
X
X
1
2
3
4
5
6
7
8
9
X
X
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
...  
1
2
3
4
5
6
7
8
9
7
Instruction  
Address  
Data 1......Data m Data m.+.1.... Data n  
A
1
3
A
1
2
A
1
1
A
1
0
A
9
A
8
A
7
A
6
A
5
A
4
A
3
A
2
A
1
A
0
D
7
D
6
D
5
D
2
D
1
D
0
D
7
D
6
D
5
D
2
D
1
D
0
X
0
0
0
0
0
0
1
0
DIR  
X
SPI_DI  
Inc / Dec /  
Static  
Z
SPI_DO  
SPI Write Multiple Registers  
6.2.5  
SPECIAL CSR HANDLING  
Live Bits  
6.2.5.1  
Register values are latched (registered) at the beginning of each register read to prevent the host from reading a chang-  
ing value. The latching occurs individually per register in a multiple register read sequence.  
6.2.5.2  
Change-on-Read Registers and FIFOs  
Any single-byte register that triggers a side-effect from a read operation (for example, containing “clear on read” bits, or  
advancing a FIFO structure) triggers only after the host has begun accessing the value. The value seen by the master  
will always be the original value and never the updated result of the side-effect.  
For a multiple-byte register that is considered a single unit, the change may be delayed until all bytes of the register  
have been read. In the event that the host sends a no-acknowledge on one of the first bytes of a multi-byte register, or  
a start or stop condition occurs unexpectedly before the acknowledge of the full register, the read may be considered  
invalid and the side-effect not triggered.  
Registers read in multiple-register read access will trigger multiple side-effects, occurring as they are read. The following  
registers have read side-effects:  
Watchdog Count Register (WDT_COUNT)  
6.2.5.3  
Live Bits that are also Change-on-Read  
As described above, the current value from a register with live bits (as is the case of any register) is captured and latched  
as output data, and Change on Read bits are then changed in the original register. To prevent loss of a hardware event  
that occurs following the data capture but before the Change on Read, these hardware events are held pending until  
after the read action and after any change due to the read. This sequence also ensures an edge in the bit due to the  
hardware event.  
DS00002084C-page 30  
2016-2017 Microchip Technology Inc.  
UPD360  
7.0  
CLOCKS, RESETS, AND POWER MANAGEMENT  
This section details the various clocks, resets, and power managements states of the device:  
7.1  
Clocks  
The following internal clocks are generated by the device:  
48 MHz Relaxation Oscillator  
20 KHz Keep Alive Oscillator  
Ring Oscillator  
These oscillators can be manually enabled/disabled via the Clock Control Register (CLK_CTL).  
7.2  
Power States  
The device supports four power states, as defined in the following sub-sections:  
SLEEP  
STANDBY  
ACTIVE_PPC_OFF  
ACTIVE_PPC_ON  
7.2.1  
SLEEP  
This is the lowest power state of the device. The SLEEP state is entered via assertion of the PWR_DN pin. Virtually all  
of the device is powered off in this mode with minimal circuity in the 3.3V domain to detect deassertion of PWR_DN.  
This mode is intended to minimize power consumption when the device is not being used in battery powered applica-  
tions. In these applications, a wake up event such as a button press, can cause the host CPU to deassert PWR_DN.  
7.2.2  
STANDBY  
STANDBY is the lowest power functional state of the device. The majority of the device is powered off in this state. The  
internal CC comparator and 20 KHz oscillator are enabled in this state as well as requisite analog components (1.8V  
LDO, PORs, Biases, etc).  
The CC lines are constantly monitored for an attach condition which shall result in an interrupt assertion to the host. If  
an attachment has been made, this state can detect a change in the partner’s advertisement as well as a detach.  
STANDBY is the power state that the UPD360 device will be in when in USB Type-CTM Unattached.SRC/SNK.  
The following asynchronous wake-ups are supported from this state:  
Asynchronous I2C Wakeup (UPD360-A/UPD360-B Only)  
Asynchronous SPI Wakeup (UPD360-C Only)  
Power Delivery MAC Wakeup  
7.2.3  
ACTIVE_PPC_OFF  
This state defines the condition where the internal 48 MHz oscillator is enabled, but the Port Power Controller is dis-  
abled. A use case for this state would be when it is desired to debounce a GPIO for a micro-second period. In that case,  
the internal 48 MHz oscillator is required to time the debounce.  
The device also momentarily enters this state when being addressed via software I2C/SPI accesses or to implement  
Power Delivery communications.  
The UPD360 will be in ACTIVE_PPC_OFF primarily when in USB Type-CTM Attached.SNK state, or Attached.SRC  
state with VBUS being driven by an external power source.  
7.2.4  
ACTIVE_PPC_ON  
This state defines the condition where the Port Power Controller is operational, which necessitates the internal 48 MHz  
oscillator be enabled for the Port Power Controller.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 31  
UPD360  
The UPD360 will be in ACTIVE_PPC_ON state when in USB Type-CTM Attached.SRC state with VBUS being driven  
by the internal 5V port power controller.  
7.3  
Asynchronous I2C Wakeup (UPD360-A/UPD360-B Only)  
The device supports asynchronous wakes on the I2C slave interface. Via clock stretching, the I2C transaction that  
caused the wakeup will not be lost and does not have to be repeated by the host. The device will not clock stretch for  
more than 3 us.  
The following steps illustrate the I2C wake function. Initially the Ring Oscillator and 48 MHz Oscillator are disabled.  
1. The Host initiates an I2C transaction to the device.  
2. The device asynchronously detects reception of the Start Bit and enables clock stretching by pulling-down I2C_-  
CLK after the host drives SCL low. The Ring Oscillator is asynchronously enabled and used as a clock source  
for the power management logic.  
3. After a delay of approximately 5 us the oscillator stabilizes and clocks the I2C controller.  
4. Clock stretching is disabled and the I2C controller is enabled and begins processing the pending transaction.  
5. The I2C transaction completes.  
6. The Host checks the device status to see if there are any pending transactions. The I2C transaction may have  
initiated a PD transmission or conversely a coincident PD transaction may be in the process of being received.  
7. After host confirms the device has no pending transactions, it power downs the device by disabling the Ring  
Oscillator and 48 MHz Relaxation Oscillator via Clock Control Register (CLK_CTL).  
8. The device is ready to accept future asynchronous I2C wake event.  
7.4  
Asynchronous SPI Wakeup (UPD360-C Only)  
UPD360 supports asynchronous wakes on the SPI interface. The SPI protocol for this device is defined such that there  
is no requirement that the SPI transaction must be repeated.  
The following steps illustrate the SPI wake function. Initially the Ring Oscillator and 48 MHz Oscillator are disabled.  
1. The device is powered down.  
2. The Host initiates an SPI transaction to the SPI Test Register (SPI_TEST) (UPD360-C Only) which, when the  
device is operational, returns a non-zero value. The device drives SPI_DO to 0b while in power-down.  
3. The device detects reception of an SPI message. The Ring Oscillator is asynchronously enabled and used as a  
clock source for the power management logic.  
4. After a delay of approximately 5 us the oscillator stabilizes and clocks the SPI controller.  
5. The device processes the next received SPI transaction.  
6. The SPI transaction(s) complete(s).  
7. The Host checks the device status to see if there are any pending transactions. The SPI transaction may have  
initiated a PD transmission or conversely a coincident PD transaction may be in the process of being received.  
8. After the Host confirms the device has no pending transactions, it powers down the device by disabling the Ring  
Oscillator, and 48 MHz Relaxation Oscillator via Clock Control Register (CLK_CTL).  
9. The device drives SPI_DO to 0b and awaits an asynchronous SPI wake.  
DS00002084C-page 32  
2016-2017 Microchip Technology Inc.  
UPD360  
7.5  
Power Delivery MAC Wakeup  
The PD MAC is capable of asynchronous wakeup upon reception of a PD packet. This enables the device to be placed  
in STANDBY mode and minimize power consumption.  
The following steps illustrate the RX PD MAC wake function. Initially the Ring Oscillator and the 48 MHz Relaxation  
Oscillator are disabled. The 20 KHz Keep Alive Oscillator is enabled, but not used in the wake process.  
1. In order to receive a PD message, the RX AFE is enabled via software and the trip point is set via the CC RX  
DAC Control Register (CC_RX_DAC_CTL) and CC RX DAC Filter Register (CC_RX_DAC_FILT).  
2. The PD MAC is configured and enabled via software.  
3. The device is powered down. Software disables the 48 MHz Relaxation Oscillator, and Ring Oscillator if enabled,  
via the Clock Control Register (CLK_CTL).  
4. After some time elapses, the device receives a PD message from the attached partner.  
5. The PD MAC asynchronously detects preamble activity on the CC line and enables the 48 MHz Relaxation Oscil-  
lator.  
6. The oscillator is operational in approximately 5 us, at which point the PD MAC is operational.  
7. The PD MAC receives the remainder of the preamble and stores the message into the RX FIFO, and in accor-  
dance with the PD protocol, responds with GoodCRC as required.  
8. An interrupt is issued via assertion of the IRQ_N pin.  
9. Software services the interrupt via I2C, reads the PD message, and responds as required.  
10. The device is then powered down. Software disables the 48 MHz Relaxation Oscillator and Ring Oscillator via  
the Clock Control Register (CLK_CTL).  
11. The device remains powered down until the next PD message is received.  
7.6  
Interrupt Assertion from STANDBY  
When the device is in STANDBY it is able to detect a number of events that may be configured to assert the IRQ_N pin  
upon being appropriately programmed via software. The logic detecting such events operates off of the 20 KHz Keep  
Alive Oscillator.  
Upon the occurrence of an event, which is programmed to assert IRQ_N, the 48 MHz Relaxation Oscillator and Ring  
Oscillator are enabled. Upon synchronization, the IRQ_N pin shall assert.  
After software services the source interrupt(s), it should disable the 48 MHz Relaxation Oscillator and Ring Oscillator  
via the Clock Control Register (CLK_CTL) to place the part back in STANDBY.  
The following example sequence illustrates the steps for configuring the device to detect an OCS event on the OCS_-  
COMP1 pin while in STANDBY.  
1. Software enables the OCS_CMP_INT bit in the Interrupt Enable Register (INT_EN).  
2. Software enables OCS detection, as defined in Section 8.3, "External Over-current Detection", to sample the  
OCS_COMP1 pin.  
3. Software disables the 48 MHz Relaxation Oscillator and Ring Oscillator via the Clock Control Register  
(CLK_CTL).  
4. An OCS event occurs and is detected on OCS_COMP1.  
5. The Ring Oscillator is enabled and is used to as the device’s operational clock.  
6. The device enables the 48 MHz oscillator and waits about 5 us for the oscillator to stabilize.  
7. The 48 MHz oscillator is stable.  
8. After synchronization is complete, the IRQ_N pin is asserted.  
9. Software detects IRQ_N assertion and services the interrupt.  
10. Software disables the 48 MHz Relaxation Oscillator and Ring Oscillator via the Clock Control Register  
(CLK_CTL) to place the part back in STANDBY.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 33  
UPD360  
7.7  
Reset Operation  
The following chip-level resets are supported by the device:  
• Power-On-Reset (POR)  
• Pin Reset (RESET_N)  
• Software Reset (SRESET in Hardware Control Register (HW_CTL))  
• Watchdog Timer (WDT_STS)  
Chip-level resets trigger the sampling of the CFG_SEL0 and CFG_SEL1 configuration straps (see Section 9.8.1, "Con-  
figuration Selection," on page 81 for additional information). Chip-level reset completion can be determined by assertion  
of the RDY_INT bit in the Interrupt Enable Register (INT_EN) and assertion of the IRQ_N pin.  
The following is s summary of steps that occur after a chip-level reset.  
1. System level reset event (POR, RESET_N, SRESET, WDT_STS) occurs.  
2. The device enables the 20 KHz Keep Alive Oscillator, 48 MHz Relaxation Oscillator, and 1MHz Ring Oscillator.  
3. The device samples the CFG_SELx pins.  
4. The device configures itself in accordance with the CFG_SELx pin and settings.  
5. The device is enabled, the RDY_INT bit in the Interrupt Enable Register (INT_EN) asserts, the IRQ_N pin  
asserts.  
6. The device disables the 48 MHz Relaxation Oscillator and the Ring Oscillator.  
7.8  
Clocks and Power Management Registers  
This section details the clocks and power management registers. For an overview of the entire device register map, refer  
to Section 4.0, "Register Map," on page 19.  
TABLE 7-1:  
Address  
1000h  
CLOCKS AND POWER MANAGEMENT REGISTERS MAP  
Register Name (Symbol)  
Clock Control Register (CLK_CTL)  
1001h – 13FFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
7.8.1  
CLOCK CONTROL REGISTER (CLK_CTL)  
Address:  
1000h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:3  
RESERVED  
RO  
-
2
1
0
Ring Oscillator Enable  
0: Oscillator is disabled.  
1: Oscillator is enabled.  
R/W  
R/W  
R/W  
0b  
Note 7-1  
1b  
48 MHz Relaxation Oscillator Enable  
0: Oscillator is disabled.  
1: Oscillator is enabled.  
20 KHz Keep Alive Oscillator Enable  
0: Oscillator is disabled.  
1: Oscillator is enabled.  
Note 7-1  
This bit will always appear asserted when read by software, as the 48 MHz Relaxation Oscillator must  
be enabled to facilitate I2C/SPI transactions.  
DS00002084C-page 34  
2016-2017 Microchip Technology Inc.  
UPD360  
8.0  
SYSTEM CONTROL  
This section details the following system controls:  
System Interrupts  
General Purpose I/O  
External Over-current Detection  
System Control Registers  
8.1  
System Interrupts  
The device provides an open drain interrupt pin, IRQ_N, which is asserted as a function of the System Control’s Interrupt  
Status Register (INT_STS) and Interrupt Enable Register (INT_EN). The following interrupts are supported:  
• HPD Interrupt  
• Power Switch Module Interrupt  
• Watchdog Timer Assertion Interrupt  
• Port Power Controller Interrupt  
• Power Delivery MAC Interrupt  
• OCS Comparator Interrupt  
• PIO Override Interrupt  
• PIO Interrupt  
• CC Interrupt  
• VBUS Interrupt  
• Power Control Interrupt  
• Device Ready Interrupt  
In order to clear an interrupt status bit, the source of the asserted bit in Interrupt Status Register (INT_STS) must be  
cleared. This process typically involves dealing with the module (e.g. PD MAC, CC, Port Power Controller, Watchdog  
Timer, Power Switch, etc.) that triggered the interrupt or configuring the respective module’s interrupt enable register to  
disable assertion.  
The PIO interrupts are cleared by writing “1” to the asserted bit(s) in PIO Interrupt Status Register (PIO_INT_STS). The  
PIO Override interrupts are cleared by writing “1” to the asserted bit(s) in PIO Override Interrupt Status Register  
(PIO_OVR_INT_STS). The OCS interrupts are cleared by is cleared by writing “1” to the asserted bit(s) in OCS Com-  
parator Change Status Register (OCS_CMP_CHG_STS).  
Figure 8-1 illustrates the device’s interrupt hierarchy. Figure 8-2 illustrates the generation of the CC_INT bit in the Inter-  
rupt Status Register (INT_STS).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 35  
UPD360  
FIGURE 8-1:  
SYSTEM INTERRUPT HIERARCHY  
System Control.INT_STS[0]  
CC_INT Interrupt  
System Control.INT_EN[0]  
PIO_INT[0]  
PIO_EN[0]  
System Control.INT_STS[1]  
System Control.INT_EN[1]  
PIO_INT[15]  
PIO_EN[15]  
PIO_OVR_INT[0]  
PIO_OVR_EN[0]  
System Control.INT_STS[2]  
System Control.INT_EN[2]  
PIO_OVR_INT[3]  
PIO_EN[3]  
System Control.INT_STS[3]  
IRQ_N Pin  
OCS Comparator Match  
System Control.INT_EN[3]  
System Control.INT_STS[4]  
PDMAC Interrupt  
System Control.INT_EN[4]  
System Control.INT_STS[5]  
PPC Interrupt  
System Control.INT_EN[5]  
System Control.INT_STS[6]  
WDT Event  
System Control.INT_EN[6]  
System Control.INT_STS[7]  
PSW Interrupt  
System Control.INT_EN[7]  
System Control.INT_STS[8]  
HPD Interrupt  
System Control.INT_EN[8]  
VBUS_CHG_STS[0]  
VBUS_MATCH_EN[0]  
System Control.INT_STS[9]  
VBUS Change Interrupt  
System Control.INT_EN[9]  
VBUS_CHG_STS[7]  
VBUS_MATCH_EN[7]  
System Control.INT_STS[10]  
Power Event Interrupt  
System Control.INT_EN[10]  
System Control.INT_STS[11]  
RESERVED  
System Control.INT_EN[11]  
System Control.INT_STS[12]  
Device Ready  
System Control.INT_EN[12]  
DS00002084C-page 36  
2016-2017 Microchip Technology Inc.  
UPD360  
FIGURE 8-2:  
CC_INT INTERRUPT HIERARCHY  
CC1_CHG_STS[0]  
CC1_MATCH_EN[0]  
CC_INT_STS[0]  
CC_INT_EN[0]  
CC1_CHG_STS[7]  
CC2_MATCH_EN[7]  
CC2_CHG_STS[0]  
CC2_MATCH_EN[0]  
CC_INT_STS[1]  
CC_INT_EN[1]  
CC2_CHG_STS[7]  
CC2_MATCH_EN[7]  
CC_INT_STS[2]  
CC_INT_EN[2]  
Connect Detected  
CC_INT_STS[3]  
CC_INT_EN[3]  
Disconnect Detected  
CC_INT  
(to INT_STS[0])  
CC_INT_STS[4]  
CC_INT_EN[4]  
CC_INT_STS[5]  
CC_INT_EN[5]  
Attach Detected  
Detach Detected  
CC_INT_STS[6]  
CC_INT_EN[6]  
0b  
0b  
CC_INT_STS[7]  
CC_INT_EN[7]  
8.2  
General Purpose I/O  
A key function of the UPD360 is to manage external devices via up to sixteen PIOs. Usually this is accomplished via  
host software programming of the PIOs.  
In some cases the UPD360 must automatically override the PIO state in response to an error condition. Features have  
been incorporated into the design to enable such operation. This is required in cases where the latency introduced by  
reliance on software to affect PIO state is either or too long or not deterministic.  
A PIO is configured via the respective Configure PIOx Registers (CFG_PIOx). A PIO may also be configured to assert  
PIO_INT in Interrupt Status Register (INT_STS). The state of a PIO is known by reading the PIO Status Register  
(PIO_STS).  
A mechanism exists for multiple PIO outputs to be updated via a single register write. This is accomplished via the Con-  
figure PIO Output Register (CFG_PIO_OUT). Writes to this register that change the output value of a PIO are reflected  
in the DataOutput bit of the respective Configure PIOx Registers (CFG_PIOx). Likewise, writes to DataOutput in the  
Configure PIOx Registers (CFG_PIOx) will update the respective bit in the Configure PIO Output Register (CFG_PI-  
O_OUT).  
Note:  
The GPO1 and GPO10 general purpose signals can only function as outputs and must be kept in a  
low state coincident with de-asserting RESET_N.  
Note:  
Note:  
GPIO0 is not available in the UPD360-C.  
In Standalone DFP/UFP modes (UPD360-A/UPD360-B only), GPIOs 9-15 have alternate dedicated func-  
tions, as defined in Section 3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP  
Modes," on page 11  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 37  
UPD360  
8.2.1  
PIO SIMULTANEOUS UPDATE  
A mechanism has been incorporated to enable multiple PIOs to be updated simultaneously. This is desirable to simplify  
software and prevent devices controlled by the UPD360 from entering an intermediary unknown state. Of particular con-  
cern would be devices responsible for managing power.  
The Configure PIOx Registers (CFG_PIOx) CSR is updated by this function. When the simultaneous update request is  
accepted by hardware, the contents of the PIO registers are simultaneously updated.  
The example below illustrates simultaneous PIO update operation:  
1. Software changes Configure PIOx Update Registers (CFG_PIOx_UPD) as required.  
2. Software changes Configure PIO Output Update Register (CFG_PIO_OUT_UPD) as required.  
Note:  
The Configure PIO Output Update Register (CFG_PIO_OUT_UPD) and Configure PIOx Update Registers  
(CFG_PIOx_UPD) must be programmed consistently by software. If the output value bits are different  
between the two registers, then the value in Configure PIOx Update Registers (CFG_PIOx_UPD) will be  
used for updating the Configure PIOx Registers (CFG_PIOx) and the respective bit in Configure PIO Out-  
put Register (CFG_PIO_OUT).  
3. Software sets the Configure PIOx Update Registers (CFG_PIOx_UPD) to initiate the update.  
4. A pending PIO override blocks acceptance of the update request. Only after the pending PIO override function  
is cleared will the device clear PIO_UPD_REQ. The pending PIO override is cleared via the PIO Override Enable  
Register (PIO_OVR_EN).  
5. After the update is accepted, PIO_UPD_REQ clears automatically.  
APPLICATION NOTE: If a PIO override is pending, the PIO simultaneous update is blocked.  
8.2.2  
PIO OVERRIDE  
Overview  
8.2.2.1  
A mechanism is defined in this section to enable the state of a PIO to be changed without software intervention. This  
provides a mechanism to instantaneously disable a power circuit, controlled by a UPD360 PIO, based upon a change  
in the state of a selected PIO input, OCS detection or other event.  
8.2.2.2  
Description  
Four override functions are included in device. For each function, a PIO or other source must be selected for monitoring  
via the corresponding PIO Override x Source Select Registers (PIO_OVRx_SRC_SEL). The value to be monitored is  
set in the PIO Override Monitor Value Register (PIO_OVR_MON_VAL) and is compared with the state of the respective  
PIO. When these values match for an override, the enabled PIO outputs change their state accordingly.  
PIO outputs controlled by an override are enabled by the PIO Override x Output Enable Registers (PIO_OVRx-  
_OUT_EN). Each override has an instance in this register. A PIO may be used across multiple overrides.  
Firmware can be notified that an override was executed via assertion of PIO_OVERRIDE_INT in the Interrupt Status  
Register (INT_STS), if Interrupt Enable Register (INT_EN) is appropriately configured.  
DS00002084C-page 38  
2016-2017 Microchip Technology Inc.  
UPD360  
8.3  
External Over-current Detection  
The device incorporates an analog comparator DAC circuit to detect an over-current condition. This feature is supported  
via the OCS_COMP1 and/or OCS_COMP2 pin.  
This feature is enabled as follows:  
1. Software clears the OCS Comparator Control bit in the OCS Comparator Control Register (OCS_CMP_CTL) to  
determine the OCS debouncer.  
2. Software polls OCS_DB_ACTIVE until it clears, which indicates the OCS debouncer is disabled.  
3. If OCS_COMP2 is desired, the shared PIO must be disabled via the Configure PIOx Registers (CFG_PIOx).  
4. Software programs one or both of the OCS Comparator x Threshold Registers (OCS_CMPx_THR), as required.  
5. Software programs the OCS Comparator Debounce Register (OCS_CMP_DEBOUNCE).  
6. Software enables the OCS_COMPx pin(s) via the OCS Comparator Match Enable Register (OCS_CMP_-  
MATCH_EN).  
7. Software enables the respective interrupt in the Interrupt Enable Register (INT_EN).  
8. Software sets the OCS Comparator Control bit in the OCS Comparator Control Register (OCS_CMP_CTL) to  
enable comparison on OCS_COMP1 and/or OCS_COMP2, as desired.  
9. Detection of an over current event by the comparator results in the respective bit of the OCS Comparator Change  
Status Register (OCS_CMP_CHG_STS) and OCS_CMP_INT asserts. The IRQ_N pin will assert, if configured.  
10. Software writes to the OCS Comparator Change Status Register (OCS_CMP_CHG_STS) to clear OCS_C-  
MP_INT. For a Lo-to-Hi transition, the respective bit in the OCS Comparator Match Register (OCS_CMP_-  
MATCH) is set, while for a Hi-to-Lo transition the bit is cleared.  
This feature is disabled when software clears the OCS Comparator Control bit in the OCS Comparator Control Register  
(OCS_CMP_CTL). Either OCS_COMPx pin may be used to trigger a PIO override.  
8.4  
General Purpose Timer  
The device incorporates a low power general purpose timer that operates off a 20 kHz oscillator and implements a 16-  
bit one-shot down counter. When the timer underflows, it asserts the GP_UFLOW bit in General Purpose Timer Interrupt  
Source Register (GP_TIMER_INT_SRC) and stops counting. This in turn causes the GP_TIMER_INT to assert in Inter-  
rupt Status Register (INT_STS). The interrupt persists until the GP_UFLOW bit is cleared. If the respective bit is set in  
Interrupt Enable Register (INT_EN), the IRQ_N pin will assert.  
The timer’s upper threshold is loaded via the General Purpose Timer Load Register (GP_TIMER_LOAD). Setting  
RESET in the General Purpose Timer Control Register (GP_TIMER_CTL) causes the timer’s internal counter to be  
loaded to this value.  
The timer is enabled by setting ENABLE in the General Purpose Timer Control Register (GP_TIMER_CTL). This causes  
the timer to decrement every 1 ms. The timer continues to decrement until it underflows or it is disabled.  
Note:  
The underflow condition is defined as when the down counter transitions from 0x0000 to 0xFFFF.  
Clearing the ENABLE bit in the General Purpose Timer Control Register (GP_TIMER_CTL) disables the timer and it  
stops counting.  
The timer’s current count can be read from General Purpose Timer Count Register (GP_TIMER_COUNT) The timer  
should be halted by clearing ENABLE before reading it. After the count is read, the ENABLE may be set again and the  
counter will resume.  
The DIS_ON_UFLOW bit in the General Purpose Timer Control Register (GP_TIMER_CTL) causes the timer to auto-  
matically disable upon underflow detection and assert GP_UFLOW. In this case the assertion of GP_UFLOW is delayed  
until the timer is fully disabled.  
APPLICATION NOTE: This timer enables clocking sources to be disabled in the host CPU which is useful for timing  
events such as DRP. This helps provide for a lower total power system solution.  
The following steps illustrate the usage model for DRP implementation:  
1. Software configures the device as a DFP or UFP. See Section 9.4, "DRP Operation" for further details.  
2. Software enables the GP_TIMER_INT in the Interrupt Enable Register (INT_EN).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 39  
UPD360  
3. Software programs the General Purpose Timer Load Register (GP_TIMER_LOAD) to a random value that com-  
plies with the range for tDRP period as defined in the USB Type-C Specification.  
4. Software sets the ENABLE, RESET and DIS_ON_UFLOW bits in the General Purpose Timer Control Register  
(GP_TIMER_CTL). This causes the value in the General Purpose Timer Load Register (GP_TIMER_LOAD) to  
be loaded into the timer and it begins decrementing. This also configures the timer to delay assertion of GP_U-  
FLOW in the General Purpose Timer Interrupt Source Register (GP_TIMER_INT_SRC) until the timer is fully dis-  
abled .  
APPLICATION NOTE: Writes to General Purpose Timer Load Register (GP_TIMER_LOAD) and General Purpose  
Timer Control Register (GP_TIMER_CTL) defined in the prior steps may be done in the  
same I2C write burst.  
5. Upon timer expiration, the GP_UFLOW bit will be set and the GP_TIMER_INT asserts in Interrupt Status Register  
(INT_STS).  
6. The IRQ_N pin asserts.  
7. Software services the IRQ and determines whether or not a connection has been established with a UFP, or DFP.  
If no connection has been established, software changes the device’s role. See Section 9.4, "DRP Operation" for  
further details.  
8. Software programs the General Purpose Timer Load Register (GP_TIMER_LOAD) to a random value that com-  
plies with the range of the tDRP period as defined in the USB Type-C Specification.  
9. Software shall clear the GP_UFLOW bit in the General Purpose Timer Interrupt Source Register (GP_TIM-  
ER_INT_SRC).  
10. Software sets the ENABLE, RESET and DIS_ON_UFLOW bits in General Purpose Timer Control Register (GP_-  
TIMER_CTL). This causes the value in General Purpose Timer Load Register (GP_TIMER_LOAD) to be loaded  
into the timer and the timer begins decrementing.  
APPLICATION NOTE: Writes to the General Purpose Timer Load Register (GP_TIMER_LOAD), General Purpose  
Timer Interrupt Source Register (GP_TIMER_INT_SRC) and General Purpose Timer Control  
Register (GP_TIMER_CTL) defined in the prior steps may be done in the same I2C write  
burst.  
11. Upon timer expiration, and timer disablement, the GP_UFLOW bit will be set and the GP_TIMER_INT asserts in  
Interrupt Status Register (INT_STS).  
12. The IRQ_N pin asserts.  
13. Software services the IRQ and determines if a connection has been established with a UFP, or DFP. If no con-  
nection has been established SW changes the device’s role. See Section 9.4, "DRP Operation" for further details.  
14. Goto step 8.  
DS00002084C-page 40  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5  
System Control Registers  
This section details the system control registers. For an overview of the entire device register map, refer to Section 4.0,  
"Register Map," on page 19.  
TABLE 8-1:  
Address  
SYSTEM CONTROL REGISTER MAP  
Register Name (Symbol)  
0000h  
0004h  
0006h  
0008h  
000Ah  
Device ID Register (ID_REV)  
USB Vendor ID Register (VID)  
USB Product ID Register (PID)  
USB PD Revision Register (PD_REV)  
USB Type-C™ Revision Register (C_REV)  
000Bh - 000Dh Reserved for future expansion  
000Eh  
0010h  
SPI Test Register (SPI_TEST) (UPD360-C Only)  
Interrupt Status Register (INT_STS)  
0014h  
Interrupt Enable Register (INT_EN)  
0018h  
Hardware Control Register (HW_CTL)  
001Ah  
001Bh  
001Ch - 001Fh  
0020h  
I2C Slave Address Register (I2C_ADDR) (UPD360-A/UPD360-B Only)  
PPC Status Register (PPC_BUSY)  
Reserved for future expansion  
PIO Status Register (PIO_STS)  
0022h  
PIO Interrupt Status Register (PIO_INT_STS)  
PIO Interrupt Enable Register (PIO_INT_EN)  
Reserved for future expansion  
0024h  
0026h - 002Fh  
0030h  
Configure PIOx Registers (CFG_PIOx) x=0  
Configure PIOx Registers (CFG_PIOx) x=1  
Configure PIOx Registers (CFG_PIOx) x=2  
Configure PIOx Registers (CFG_PIOx) x=3  
Configure PIOx Registers (CFG_PIOx) x=4  
Configure PIOx Registers (CFG_PIOx) x=5  
Configure PIOx Registers (CFG_PIOx) x=6  
Configure PIOx Registers (CFG_PIOx) x=7  
Configure PIOx Registers (CFG_PIOx) x=8  
Configure PIOx Registers (CFG_PIOx) x=9  
Configure PIOx Registers (CFG_PIOx) x=10  
Configure PIOx Registers (CFG_PIOx) x=11  
Configure PIOx Registers (CFG_PIOx) x=12  
Configure PIOx Registers (CFG_PIOx) x=13  
Configure PIOx Registers (CFG_PIOx) x=14  
Configure PIOx Registers (CFG_PIOx) x=15  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=0  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=1  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=2  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=3  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=4  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=5  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=6  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=7  
0031h  
0032h  
0033h  
0034h  
0035h  
0036h  
0037h  
0038h  
0039h  
003Ah  
003Bh  
003Ch  
003Dh  
003Eh  
003Fh  
0040h  
0041h  
0042h  
0043h  
0044h  
0045h  
0046h  
0047h  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 41  
UPD360  
TABLE 8-1:  
Address  
SYSTEM CONTROL REGISTER MAP (CONTINUED)  
Register Name (Symbol)  
0048h  
0049h  
004Ah  
004Bh  
004Ch  
004Dh  
004Eh  
004Fh  
0050h  
0051h  
0052h  
0053h  
0054h  
0055h  
0056h  
0057h  
0058h  
0059h  
005Bh  
005Dh - 005Fh  
0060h  
0062h  
0064h  
0066h  
0068h  
006Ah  
006Ch  
006Dh  
006Eh  
006Fh  
0070h  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=8  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=9  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=10  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=11  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=12  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=13  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=14  
Configure PIOx Update Registers (CFG_PIOx_UPD) x=15  
PIO Override x Source Select Registers (PIO_OVRx_SRC_SEL) x=0  
PIO Override x Source Select Registers (PIO_OVRx_SRC_SEL) x=1  
PIO Override x Source Select Registers (PIO_OVRx_SRC_SEL) x=2  
PIO Override x Source Select Registers (PIO_OVRx_SRC_SEL) x=3  
PIO Override Monitor Value Register (PIO_OVR_MON_VAL)  
PIO Override Enable Register (PIO_OVR_EN)  
PIO Override Status Register (PIO_OVR_STS)  
PIO Override Interrupt Status Register (PIO_OVR_INT_STS)  
PIO Override Interrupt Enable Register (PIO_OVR_INT_EN)  
Configure PIO Output Register (CFG_PIO_OUT)  
Configure PIO Output Update Register (CFG_PIO_OUT_UPD)  
Reserved for future expansion  
PIO Override x Output Enable Registers (PIO_OVRx_OUT_EN) x=0  
PIO Override x Output Enable Registers (PIO_OVRx_OUT_EN) x=1  
PIO Override x Output Enable Registers (PIO_OVRx_OUT_EN) x=2  
PIO Override x Output Enable Registers (PIO_OVRx_OUT_EN) x=3  
PIO Override Output Register (PIO_OVR_OUT)  
PIO Override Direction Register (PIO_OVR_DIR)  
PIO Debounce Count Ten Millisecond Register (PIO_DEBOUNCE_10MS_COUNT)  
PIO Debounce Count One Millisecond Register (PIO_DEBOUNCE_1MS_COUNT)  
PIO Debounce Count One Microsecond Register (PIO_DEBOUNCE_1US_COUNT)  
PIO Debounce Status Register (PIO_DEBOUNCE_STS)  
PIO Debounce Enable Register (PIO_DEBOUNCE_EN)  
0074h – 007Fh Reserved for future expansion  
0080h  
0081h  
0082h  
0083h  
0084h  
0086h  
0088h  
OCS Comparator Control Register (OCS_CMP_CTL)  
OCS Comparator Match Register (OCS_CMP_MATCH)  
OCS Comparator Change Status Register (OCS_CMP_CHG_STS)  
OCS Comparator Match Enable Register (OCS_CMP_MATCH_EN)  
OCS Comparator x Threshold Registers (OCS_CMPx_THR) x=1  
OCS Comparator x Threshold Registers (OCS_CMPx_THR) x=2  
OCS Comparator Debounce Register (OCS_CMP_DEBOUNCE)  
0089h – 009Ah Reserved for future expansion  
009Bh  
009Ch  
IRQ_N PU/PD Control Register (IRQ_PUPD)  
Voltage Regulator Control Register (VREG_CTL)  
I2C Trim Register (I2C_TRIM)  
009Dh  
009E – 009Fh  
Reserved for future expansion  
DS00002084C-page 42  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 8-1:  
Address  
SYSTEM CONTROL REGISTER MAP (CONTINUED)  
Register Name (Symbol)  
00A0h  
00A2h  
00A3h  
00A4h  
General Purpose Timer Load Register (GP_TIMER_LOAD)  
General Purpose Timer Interrupt Source Register (GP_TIMER_INT_SRC)  
General Purpose Timer Control Register (GP_TIMER_CTL)  
General Purpose Timer Count Register (GP_TIMER_COUNT)  
00A6h – 03FFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
8.5.1  
DEVICE ID REGISTER (ID_REV)  
Address:  
0000h  
Size:  
32 bits  
Bits  
31:16 Device ID (ID)  
Description  
Type  
Default  
RO  
0360h  
15:0  
Device Revision (REV)  
RO  
Note 8-1  
Note 8-1  
The default value of this field is dependent on the silicon revision of the device.  
ID_REV[7:0] = 00h  
ID_REV[15:8] = 01h  
ID_REV[23:16] = 02h  
ID_REV[31:24] = 03h  
8.5.2  
USB VENDOR ID REGISTER (VID)  
Address:  
0004h  
Size:  
16 bits  
Bits  
15:0  
Description  
Type  
Default  
USB Vendor Identification (VID)  
R/W  
0424h  
VID[7:0] = 04h  
VID[15:8] = 05h  
8.5.3  
USB PRODUCT ID REGISTER (PID)  
Address:  
0006h  
Size:  
16 bits  
Bits  
15:0  
Description  
Type  
Default  
USB Product Identification (PID)  
R/W  
0360h  
PID[7:0] = 06h  
PID[15:8] = 07h  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 43  
UPD360  
8.5.4  
USB PD REVISION REGISTER (PD_REV)  
Address:  
0008h  
Size:  
16 bits  
16 bits  
8 bits  
Bits  
15:0  
Description  
Type  
Default  
USB Power Delivery Specification Revision (PD_REV)  
R/W  
2013h  
PD_REV[7:0] = 08h  
PD_REV[15:8] = 09h  
8.5.5  
USB TYPE-C™ REVISION REGISTER (C_REV)  
Address:  
000Ah  
Size:  
Bits  
15:0  
Description  
Type  
Default  
USB Type-C™ Specification Revision (C_REV)  
R/W  
0011h  
C_REV[7:0] = 0Ah  
C_REV[15:8] = 0Bh  
8.5.6  
SPI TEST REGISTER (SPI_TEST) (UPD360-C ONLY)  
Address:  
000Eh  
Size:  
.
Bits  
Description  
Type  
Default  
7:0  
SPI Test (SPI_TEST)  
This register is used by the host to determine when the chip has come out of  
powerdown when waking it via the SPI interface.  
RO  
FDh  
DS00002084C-page 44  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.7  
INTERRUPT STATUS REGISTER (INT_STS)  
Address:  
0010h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15  
14  
RESERVED  
RO  
RO  
0h  
GP_TIMER_INT  
Interrupt generated when the general purpose timer underflows.  
0b  
This interrupt reflect that value of the GP_UFLOW bit of the General Purpose  
Timer Interrupt Source Register (GP_TIMER_INT_SRC).  
13  
12  
RESERVED  
RO  
RO  
0b  
0b  
RDY_INT  
Interrupt generated when the device is configured and ready for access by  
host CPU after a system level reset event.  
This interrupt reflect that value of the DEV_READY bit of the Hardware Con-  
trol Register (HW_CTL).  
11  
10  
RESERVED  
RO  
RO  
-
PWR_INT  
Interrupt generated power event.  
0b  
This interrupt is cleared via the Power Interrupt Status Register  
(PWR_INT_STS).  
9
8
VBUS_INT  
RO  
RO  
0b  
0b  
Indicates that a change occurred in the state of VBUS Change Status Register  
(VBUS_CHG_STS).  
HPD_INT  
Interrupt generated by the HPD detection logic.  
This interrupt is cleared via the HPD Interrupt Status Register  
(HPD_INT_STS).  
7
6
PSW_INT  
RO  
RO  
0b  
0b  
Interrupt generated by the power switch.  
This interrupt is cleared via the Power Switch Interrupt Status Register  
(PWR_INT_STS).  
WDT_INT  
Interrupt generated by watchdog timer expiration.  
This interrupt is cleared via WDT_STS bit in the Watchdog Control Register  
(WDT_CTL).  
Note:  
When a Watchdog interrupt is pending, all write operations are  
blocked until the WDT_STS bit in the Watchdog Control Register  
(WDT_CTL) is cleared.  
5
PPC_INT  
Interrupt generated by PPC.  
RO  
0b  
This interrupt is cleared via the PPC Interrupt Status Register 1  
(PPC_INT_STS1).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 45  
UPD360  
Bits  
Description  
Type  
Default  
4
MAC_INT  
Interrupt generated by the PD MAC.  
RO  
0b  
This interrupt is cleared via the corresponding PD MAC interrupt register, as  
detailed in Section 11.4.3, "PD MAC Interrupt Status and Enable Registers,"  
on page 153.  
3
2
OCS_CMP_INT  
RO  
RO  
0b  
0b  
Interrupt generated from the detection of an over-current condition.  
This interrupt is cleared via OCS Comparator Change Status Register  
(OCS_CMP_CHG_STS).  
PIO_OVERRIDE_INT  
Interrupt generated from a PIO override.  
This interrupt is cleared via the PIO Override Interrupt Status Register  
(PIO_OVR_INT_STS).  
1
0
PIO_INT  
RO  
RO  
0b  
0b  
Interrupt generated from configured PIO status change.  
This interrupt is cleared via the PIO Interrupt Status Register (PIO_INT_STS).  
CC_INT  
Interrupt generated by Cable Plug Orientation and Detection module.  
This interrupt is cleared via the CC Interrupt Status Register (CC_INT_STS).  
INT_STS[7:0] = 10h  
INT_STS[15:8] = 11h  
DS00002084C-page 46  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.8  
INTERRUPT ENABLE REGISTER (INT_EN)  
Address:  
0014h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15  
14  
13  
12  
11  
10  
9
RESERVED  
Interrupt Enable 13  
RO  
R/W  
RO  
0h  
0b  
-
When “0”, prevents generation of the respective interrupt.  
RESERVED  
Interrupt Enable 12  
When “0”, prevents generation of the respective interrupt.  
R/W  
RO  
1b  
-
RESERVED  
Interrupt Enable 10  
When “0”, prevents generation of the respective interrupt.  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
1b  
0b  
0b  
0b  
0b  
0b  
0b  
Interrupt Enable 9  
When “0”, prevents generation of the respective interrupt.  
8
Interrupt Enable 8  
When “0”, prevents generation of the respective interrupt.  
7
Interrupt Enable 7  
When “0”, prevents generation of the respective interrupt.  
6
Interrupt Enable 6  
When “0”, prevents generation of the respective interrupt.  
5
Interrupt Enable 5  
When “0”, prevents generation of the respective interrupt.  
4
Interrupt Enable 4  
When “0”, prevents generation of the respective interrupt.  
3
Interrupt Enable 3  
When “0”, prevents generation of the respective interrupt.  
2
Interrupt Enable 2  
When “0”, prevents generation of the respective interrupt.  
1
Interrupt Enable 1  
When “0”, prevents generation of the respective interrupt.  
0
Interrupt Enable 0  
When “0”, prevents generation of the respective interrupt.  
INT_EN[7:0] = 12h  
INT_EN[15:8] = 13h  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 47  
UPD360  
8.5.9  
HARDWARE CONTROL REGISTER (HW_CTL)  
Address:  
0018h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:6  
5
RESERVED  
I2C_GEN_CALL_EN  
RO  
-
R/W  
0b  
0: I2C General Call address not supported.  
1: I2C General Call address supported.  
4
3
RESERVED  
RO  
-
I2C FMPLUS  
R/W  
1b  
When set, this bit configures the I2C interface to operate in fast-mode plus  
mode.  
Note:  
UPD360-A/UPD360-B only.  
2
1
DEV_READY  
R/SC  
R/SC  
0b  
0b  
When set, this bit indicates that the device has been fully configured after a  
system level reset event.  
PIO_UPD_REQ  
When this bit is set, the PIO registers are updated from the respective  
simultaneous update registers.  
After the operation completes, this bit is automatically cleared.  
The request will not be accepted if an override function is pending. After the  
override condition is cleared by software, the update request will be  
accepted. The override is cleared via respective bit of PIO Override Enable  
Register (PIO_OVR_EN).  
0
SRESET  
SC  
0b  
Software reset. When set this bit initiates a chip level reset.  
2
8.5.10  
I C SLAVE ADDRESS REGISTER (I2C_ADDR) (UPD360-A/UPD360-B ONLY)  
Address:  
001Ah  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
I2C Slave Address  
RO  
-
6:0  
R/W  
Note 8-2  
Defines the slave address used by the I2C controller.  
The default value for this register is defined by the CFG_SEL1 pin.  
Note 8-2  
DS00002084C-page 48  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.11  
.
PPC STATUS REGISTER (PPC_BUSY)  
Address:  
001Bh  
Size:  
8 bits  
BITS  
7:1  
0
DESCRIPTION  
TYPE  
DEFAULT  
RESERVED  
PPC_BUSY  
RO  
RO  
-
0b  
This bit is used to indicate when the PPC is processing a register write  
request.  
0b: PPC is not busy processing a register write access. A new register write  
may be initiated.  
1b: PPC is processing a register write access. A new register write may not  
be initiated until this bit clears.  
8.5.12  
PIO STATUS REGISTER (PIO_STS)  
Address:  
0020h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15  
PIO15  
0b: PIO is low  
1b: PIO is high  
RO  
0b  
14  
13  
12  
11  
10  
9
PIO14  
RO  
RO  
RO  
RO  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
0b  
0b  
0b  
0b  
0b: PIO is low  
1b: PIO is high  
PIO13  
0b: PIO is low  
1b: PIO is high  
PIO12  
0b: PIO is low  
1b: PIO is high  
PIO11  
0b: PIO is low  
1b: PIO is high  
PIO10  
0b: PIO is low  
1b: PIO is high  
PIO9  
0b: PIO is low  
1b: PIO is high  
8
PIO8  
0b: PIO is low  
1b: PIO is high  
7
PIO7  
0b: PIO is low  
1b: PIO is high  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 49  
UPD360  
Bits  
Description  
Type  
Default  
6
5
4
3
2
1
0
PIO6  
RO  
0b  
0b: PIO is low  
1b: PIO is high  
PIO5  
0b: PIO is low  
1b: PIO is high  
RO  
RO  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
0b  
0b  
PIO4  
0b: PIO is low  
1b: PIO is high  
PIO3  
0b: PIO is low  
1b: PIO is high  
PIO2  
0b: PIO is low  
1b: PIO is high  
PIO1  
0b: PIO is low  
1b: PIO is high  
PIO0  
0b: PIO is low  
1b: PIO is high  
PIO_STS[0] = 20h  
PIO_STS[1] = 21h  
Note:  
The GPO1 and GPO10 general purpose signals can only function as outputs and must be kept in a  
low state coincident with de-asserting RESET_N.  
Note:  
Note:  
GPIO0 is not available in the UPD360-C.  
In Standalone DFP/UFP modes (UPD360-A/UPD360-B only), GPIOs 9-15 have alternate dedicated func-  
tions, as defined in Section 3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP  
Modes," on page 11  
8.5.13  
PIO INTERRUPT STATUS REGISTER (PIO_INT_STS)  
Address:  
0022h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
PIO_INT[15:0]  
When set, a level change has occurred on PIO[15:0].  
R/WC  
0000h  
Interrupts are cleared by writing a ‘1’ to the bit.  
Note:  
Writing a “1” (one) to a bit clears the bit and enables the detection of the next level transition. If not disabled  
by the corresponding bit in the PIO_EN register, “1” in any bit in this register will force assertion of PIO_INT  
interrupt.  
DS00002084C-page 50  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.14  
PIO INTERRUPT ENABLE REGISTER (PIO_INT_EN)  
Address:  
0024h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
PIO_EN[15:0]  
R/W  
0h  
When set, an interrupt can be generated on a state change from the corre-  
sponding PIO line.  
8.5.15  
CONFIGURE PIOX REGISTERS (CFG_PIOX)  
Address:  
x=0: 0030h  
x=1: 0031h  
x=2: 0032h  
x=3: 0033h  
x=4: 0034h  
x=5: 0035h  
x=6: 0036h  
x=7: 0037h  
x=8: 0038h  
x=9: 0039h  
x=10: 003Ah  
x=11: 003Bh  
x=12: 003Ch  
x=13: 003Dh  
x=14: 003Eh  
x=15: 003Fh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
PullUpEnable  
0b: No pull-up  
R/W  
0b  
1b: Pull-up enabled.  
6
5
4
3
PullDownEnable  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
0b: No pull-down  
1b: Pull-down enabled.  
FallingAlert  
0b: No alert on falling edge  
1b: Assert PIO_INT on falling edge  
RisingAlert  
0b: No alert on rising edge  
1b: Assert PIO_INT on rising edge  
DataOutput  
0b: Inactive (low for push-pull or open-drain)  
1b: Active (high for push-pull, high-z for open-drain)  
Note:  
The input buffer status can be determined from the respective bit  
in PIO Status Register (PIO_STS).  
Note:  
The associated PIO output bit in the Configure PIO Output Regis-  
ter (CFG_PIO_OUT) will be updated to match the value written to  
this bit.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 51  
UPD360  
Bits  
Description  
Type  
Default  
2
Buffer Type  
R/W  
0b  
When set, the output buffer for the corresponding GPIO signal is configured  
as a push/pull driver.  
When cleared, the corresponding GPIO signal is configured as an open-drain  
driver.  
1
0
Direction  
R/W  
R/W  
0b  
1b  
0b: Input  
1b: Output  
Enable  
0b: GPIO Disabled  
1b: GPIO Enabled  
Note:  
When a GPIO is disabled, the default function, if any, will be func-  
tional. All GPIOs default to being enabled and configured as inputs.  
Note:  
The GPO1 and GPO10 general purpose signals can only function as outputs and must be kept in a  
low state coincident with de-asserting RESET_N.  
Note:  
Note:  
GPIO0 is not available in the UPD360-C.  
In Standalone DFP/UFP modes (UPD360-A/UPD360-B only), GPIOs 9-15 have alternate dedicated func-  
tions, as defined in Section 3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP  
Modes," on page 11  
DS00002084C-page 52  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.16  
CONFIGURE PIOX UPDATE REGISTERS (CFG_PIOX_UPD)  
Address:  
x=0: 0040h  
x=1: 0041h  
x=2: 0042h  
x=3: 0043h  
x=4: 0044h  
x=5: 0045h  
x=6: 0046h  
x=7: 0047h  
x=8: 0048h  
x=9: 0049h  
x=10: 004Ah  
x=11: 004Bh  
x=12: 004Ch  
x=13: 004Dh  
x=14: 004Eh  
x=15: 004Fh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
PullUpEnabled  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
0b  
6
5
4
3
2
1
0
PullDownEnabled  
FallingAlert  
RisingAlert  
OutputValue  
BufferType  
Direction  
0b  
0b  
0b  
0b  
0b  
0b  
0b  
Enable  
Note:  
The GPO1 and GPO10 general purpose signals can only function as outputs and must be kept in a  
low state coincident with de-asserting RESET_N.  
Note:  
Note:  
GPIO0 is not available in the UPD360-C.  
In Standalone DFP/UFP modes (UPD360-A/UPD360-B only), GPIOs 9-15 have alternate dedicated func-  
tions, as defined in Section 3.1.1.1, "UPD360-A/UPD360-B GPIO[9:15] Functions in Standalone DFP/UFP  
Modes," on page 11  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 53  
UPD360  
8.5.17  
PIO OVERRIDE X SOURCE SELECT REGISTERS (PIO_OVRX_SRC_SEL)  
Address:  
x=0: 0050h  
x=1: 0051h  
x=2: 0052h  
x=3: 0053h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:5  
VBUS Threshold Select  
This field selects which VBUS threshold shall be matched when selecting  
VBUS_DET for override.  
R/W  
0h  
000b: VSAFE0V_THR_MATCH  
001b: VBUS0_THR_MATCH  
010b: VBUS1_THR_MATCH  
011b: VBUS2_THR_MATCH  
1xxb: VBUS3_THR_MATCH  
4:0  
Override Select  
This field selects the source for the respective PIO override.  
R/W  
0h  
0h: PIO0  
1h: PIO1  
2h: PIO2/OCS_COMP2  
3h: PIO3  
4h: PIO4  
5h: PIO5  
6h: PIO6  
7h: PIO7  
8h: PIO8  
9h: PIO9  
Ah: PIO10  
Bh: PIO11  
Ch: PIO12  
Dh: PIO13  
Eh: PIO14  
Fh: PIO15  
10h: OCS_COMP1  
11h: VBUS_DET  
12h-1Fh: Reserved  
DS00002084C-page 54  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.18  
PIO OVERRIDE MONITOR VALUE REGISTER (PIO_OVR_MON_VAL)  
Address:  
0054h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
PIO_MON_VAL3  
RO  
-
3
2
1
0
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
Override function 3 monitors for this value on the selected PIO.  
PIO_MON_VAL2  
Override function 2 monitors for this value on the selected PIO.  
PIO_MON_VAL1  
Override function 1 monitors for this value on the selected PIO.  
PIO_MON_VAL0  
Override function 0 monitors for this value on the selected PIO.  
Note:  
When the PIO is mapped to an OCS comparator or VBUS comparator, the monitored case is rising above/  
falling below the associated threshold. Setting the override monitor value indicates that the source exceed-  
ing the threshold is monitored. If the value is cleared then being below the threshold is monitored.  
8.5.19  
PIO OVERRIDE ENABLE REGISTER (PIO_OVR_EN)  
Address:  
0055h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
PIO_OVR_EN3  
RO  
-
3
2
1
0
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
When set PIO Override 3 is enabled.  
PIO_OVR_EN2  
When set PIO Override 2 is enabled.  
PIO_OVR_EN1  
When set PIO Override 1 is enabled.  
PIO_OVR_EN0  
When set PIO Override 0 is enabled.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 55  
UPD360  
8.5.20  
PIO OVERRIDE STATUS REGISTER (PIO_OVR_STS)  
Address:  
0056h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
RO  
-
3
2
1
0
PIO_OVR_STS3  
Override function is active on the selected PIO.  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
Set on a match to PIO_MON_VAL3 and clears on override feature disable  
PIO_OVR_EN3 =0.  
PIO_OVR_STS2  
Override function is active on the selected PIO.  
Set on a match to PIO_MON_VAL2 and clears on override feature disable  
PIO_OVR_EN2 =0.  
PIO_OVR_STS1  
Override function is active on the selected PIO.  
Set on a match to PIO_MON_VAL1 and clears on override feature disable  
PIO_OVR_EN1 =0.  
PIO_OVR_STS0  
Override function is active on the selected PIO.  
Set on a match to PIO_MON_VAL0 and clears on override feature disable  
PIO_OVR_EN0 =0.  
DS00002084C-page 56  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.21  
PIO OVERRIDE INTERRUPT STATUS REGISTER (PIO_OVR_INT_STS)  
Address:  
0057h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
PIO_OVR_INTR3  
RO  
-
3
2
1
0
R/WC  
0b  
0b  
0b  
0b  
This interrupt is set when override function 3 detects the programmed moni-  
tored value on the selected PIO.  
The interrupt persists until cleared.  
PIO_OVR_INTR2  
R/WC  
R/WC  
R/WC  
This interrupt is set when override function 2 detects the programmed moni-  
tored value on the selected PIO.  
The interrupt persists until cleared.  
PIO_OVR_INTR1  
This interrupt is set when override function 1 detects the programmed moni-  
tored value on the selected PIO.  
The interrupt persists until cleared.  
PIO_OVR_INTR0  
This interrupt is set when override function 0 detects the programmed moni-  
tored value on the selected PIO.  
The interrupt persists until cleared.  
8.5.22  
PIO OVERRIDE INTERRUPT ENABLE REGISTER (PIO_OVR_INT_EN)  
Address:  
0058h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
PIO_OVR_INTR3  
RO  
0h  
3
2
1
0
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
When ‘1’, enables the generation of this interrupt.  
PIO_OVR_INTR2  
When ‘1’, enables the generation of this interrupt.  
PIO_OVR_INTR1  
When ‘1’, enables the generation of this interrupt.  
PIO_OVR_INTR0  
When ‘1’, enables the generation of this interrupt.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 57  
UPD360  
8.5.23  
CONFIGURE PIO OUTPUT REGISTER (CFG_PIO_OUT)  
Address:  
0059h  
Size:  
16 bits  
This register enables multiple PIO output values to be updated in a single CSR write.  
Bits  
Description  
Type  
Default  
15:0  
CFG_PIO_OUT  
R/W  
0000h  
When this register is written, the output values for the respective PIOs are  
updated. Specifically, the DataOutput in the respective CFG_PIOx registers  
are updated.  
This register is not updated until the byte located at 005Ah is written by soft-  
ware. This is to prevent placing externally driven components in an invalid  
state while updating.  
8.5.24  
CONFIGURE PIO OUTPUT UPDATE REGISTER (CFG_PIO_OUT_UPD)  
Address:  
005Bh  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
CFG_PIO_OUTx_UPD  
R/W  
0000h  
8.5.25  
PIO OVERRIDE X OUTPUT ENABLE REGISTERS (PIO_OVRX_OUT_EN)  
Address:  
x=0: 0060h  
x=1: 0062h  
x=2: 0064h  
x=3: 0066h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
PIO_OVR_OUT_EN_X  
R/W  
0h  
Each of the overrides has an instance of this CSR to indicate which PIO out-  
puts are controlled by it. When asserted associated PIO output’s state is con-  
trolled by the respective override function.  
Note:  
The same PIO output can be enabled by multiple overrides.  
DS00002084C-page 58  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.26  
PIO OVERRIDE OUTPUT REGISTER (PIO_OVR_OUT)  
Address:  
0068h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
PIO Override Output  
This field defines the PIO output value to be used when the respective PIO is  
enabled for override and the associated override is triggered.  
R/W  
0h  
8.5.27  
PIO OVERRIDE DIRECTION REGISTER (PIO_OVR_DIR)  
Address:  
006Ah  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
PIO Override Direction  
This field defines the PIO direction value to be used when the respective PIO  
is enabled for override and the associated override is triggered.  
R/W  
0h  
8.5.28  
PIO DEBOUNCE COUNT TEN MILLISECOND REGISTER (PIO_DEBOUNCE_10MS_COUNT)  
Address:  
006Ch  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
PIO_DEBOUNCE_10MS_COUNT  
This register holds the 10 ms debounce counter.  
R/W  
0Ah  
Any transition within the debounce period is suppressed. Each count corre-  
sponds to 10 ms, with the default value being 100 ms.  
This register is used when the debounce granularity is 10 ms.  
Note:  
The actual count may be either count or count-1.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 59  
UPD360  
8.5.29  
PIO DEBOUNCE COUNT ONE MILLISECOND REGISTER (PIO_DEBOUNCE_1MS_COUNT)  
Address:  
006Dh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
PIO_DEBOUNCE_1MS_COUNT  
This register holds the 1 ms debounce counter.  
R/W  
0Ah  
Any transition within the debounce period is suppressed. Each count corre-  
sponds to 1 ms, with the default value being 10 ms.  
This register is used when the debounce granularity is 1 ms.  
Note:  
The actual count may be either count or count-1.  
8.5.30  
PIO DEBOUNCE COUNT ONE MICROSECOND REGISTER  
(PIO_DEBOUNCE_1US_COUNT)  
Address:  
006Eh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
PIO_DEBOUNCE_1US_COUNT  
This register holds the 1 us debounce counter.  
R/W  
0Ah  
Any transition within the debounce period is suppressed. Each count corre-  
sponds to 1 us, with the default value being 10 us.  
This register is used when the debounce granularity is 1 us.  
Note:  
The actual count may be either count or count-1.  
DS00002084C-page 60  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.31  
PIO DEBOUNCE STATUS REGISTER (PIO_DEBOUNCE_STS)  
Address:  
006Fh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:1  
RESERVED  
RO  
RO  
0h  
0
PIO_DB_ACT  
PIO Debounce Active  
0b  
This bit is used to indicate that a PIO debounce is in process.  
1b: PIO debounce pending  
0b: PIO not pending  
8.5.32  
PIO DEBOUNCE ENABLE REGISTER (PIO_DEBOUNCE_EN)  
Address:  
0070h  
Size:  
32 bits  
This register enables a PIO for debouncing and selects the debouncer to be used as defined below:  
• 00b: Debounce disabled  
• 01b: Debounce Enabled (PIO Debounce Count One Microsecond Register (PIO_DEBOUNCE_1US_COUNT))  
• 10b: Debounce Enabled (PIO Debounce Count One Millisecond Register (PIO_DEBOUNCE_1MS_COUNT))  
• 11b: Debounce Enabled (PIO Debounce Count Ten Millisecond Register (PIO_DEBOUNCE_10MS_COUNT))  
Bits  
Description  
Type  
Default  
31:30 PIO_DB_EN15  
R/W  
00b  
29:28 PIO_DB_EN14  
27:26 PIO_DB_EN13  
25:24 PIO_DB_EN12  
23:22 PIO_DB_EN11  
21:20 PIO_DB_EN10  
19:18 PIO_DB_EN9  
17:16 PIO_DB_EN8  
15:14 PIO_DB_EN7  
13:12 PIO_DB_EN6  
11:10 PIO_DB_EN5  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
00b  
9:8  
7:6  
PIO_DB_EN4  
PIO_DB_EN3  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 61  
UPD360  
Bits  
Description  
Type  
Default  
5:4  
3:2  
1:0  
PIO_DB_EN2  
PIO_DB_EN1  
PIO_DB_EN0  
R/W  
00b  
R/W  
R/W  
00b  
00b  
Note:  
GPIO0 is not available in the UPD360-C.  
8.5.33  
OCS COMPARATOR CONTROL REGISTER (OCS_CMP_CTL)  
Address:  
0080h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
OCS_DB_ACTIVE  
RO  
0b  
When this bit reads back 0b, the debouncer is disabled. The OCS debouncer  
is enabled when it reads back 1b.  
6:2  
1:0  
RESERVED  
RO  
0h  
OCS Comparator Control  
00b: OCS Comparator and DAC are powered down  
R/W  
00b  
01b: OCS Comparator samples OCS_COMP1  
10b: OCS Comparator samples OCS_COMP2  
11b: OCS Comparator samples OCS_COMP1 and OCS_COMP2  
When set to 01b or 10b, a sample is taken every 100 us. When set to 11b,  
each OCS_COMPx pin is effectively sampled every 200 us.  
8.5.34  
OCS COMPARATOR MATCH REGISTER (OCS_CMP_MATCH)  
Address:  
0081h  
Size:  
8 bits  
This bit is always cleared when OCS Comparator Control is not enabled for the respective OCS_COMP pin.  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
0h  
1
OCS Comparator Match 2  
When set, this bit indicates that a match has occurred and an OCS condition  
RO  
0b  
has been detected on OCS_COMP2 pin.  
0
OCS Comparator Match 1  
When set, this bit indicates that a match has occurred and an OCS condition  
RO  
0b  
has been detected on OCS_COMP1 pin.  
DS00002084C-page 62  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.35  
OCS COMPARATOR CHANGE STATUS REGISTER (OCS_CMP_CHG_STS)  
Address:  
0082h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
OCSx Match Valid (OCSx_MATCH_VLD)  
R/WC  
0b  
Asserts after the OCS debouncer is first enabled, via OCS Comparator Con-  
trol, and the first match becomes valid in OCS Comparator Match Register  
(OCS_CMP_MATCH).  
Bit 7 = OCS2_MATCH_VLD  
Bit 6 = OCS1_MATCH_VLD  
5:2  
1:0  
RESERVED  
RO  
0h  
OCSx Change Status (OCSx_CHG_STS)  
When set, each bit indicates that the respective bit in OCS Comparator Match  
R/WC  
00b  
Register (OCS_CMP_MATCH) has changed.  
Bit 1 = OCS2_CHG_STS  
Bit 0 = OCS1_CHG_STS  
A write of 1b clears the respective status bit.  
8.5.36  
OCS COMPARATOR MATCH ENABLE REGISTER (OCS_CMP_MATCH_EN)  
Address:  
0083h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
OCSx Match Valid Enable (OCSx_MATCH_VLD_EN)  
R/W  
0b  
When set, the corresponding bit in OCS Comparator Change Status Register  
(OCS_CMP_CHG_STS) can cause the assertion of the OCS_CMP_INT inter-  
rupt.  
Bit 7 = OCS2_MATCH_VLD_EN  
Bit 6 = OCS1_MATCH_VLD_EN  
5:2  
1:0  
RESERVED  
RO  
0h  
OCSx Comparator Match Enable (OCSx_CMP_MATCH_EN)  
When set the corresponding bit in OCS Comparator Change Status Register  
R/W  
00b  
(OCS_CMP_CHG_STS) can cause the assertion of the OCS_CMP_INT inter-  
rupt.  
Bit 1 = OCS2_CMP_MATCH_EN  
Bit 0 = OCS1_CMP_MATCH_EN  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 63  
UPD360  
8.5.37  
OCS COMPARATOR X THRESHOLD REGISTERS (OCS_CMPX_THR)  
Address:  
x=1: 0084h  
x=2: 0086h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:10 RESERVED  
RO  
0h  
9:0  
OCS Comparator Threshold  
The lower byte of the threshold must be written before the upper byte. The  
entire 10-bit threshold is updated when the second write occurs.  
R/W  
0h  
This has units of ~2.5V/1024.  
Note:  
This register shall not be modified while the OCS debouncer is  
enabled.  
8.5.38  
OCS COMPARATOR DEBOUNCE REGISTER (OCS_CMP_DEBOUNCE)  
Address:  
0088h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
OCS_CMP_DEBOUNCE  
Indicates the period of time for which the OCS_COMP1 and OCS_COMP2  
R/W  
0Fh  
inputs are debounced.  
This field has units of 100 us.  
Note:  
This register shall not be modified while the OCS debouncer is  
enabled.  
8.5.39  
IRQ_N PU/PD CONTROL REGISTER (IRQ_PUPD)  
Address:  
009Bh  
Size:  
8 bits  
This register controls the PU and PU for the IRQ_N pin.  
Bits  
Description  
Type  
Default  
7
PullUpEnable  
0: No pull-up  
R/W  
0b  
1: Pull-up enabled.  
6
PullDownEnable  
R/W  
RO  
0b  
-
0: No pull-down  
1: Pull-down enabled.  
5:0  
RESERVED  
DS00002084C-page 64  
2016-2017 Microchip Technology Inc.  
UPD360  
8.5.40  
VOLTAGE REGULATOR CONTROL REGISTER (VREG_CTL)  
Address:  
009Ch  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:1  
RESERVED  
VREG_LOW_OVR  
RO  
-
1
R/W  
0b  
When set, the 1.8V voltage regulator is placed in low power mode whenever  
both the Ring Oscillator and 48MHz Relaxation Oscillator are disabled.  
Note:  
Note:  
It is expected tor this bit to be set in CPU companion mode.  
In standalone modes, the respective OTP bit shall be set to enable  
this feature and to ensure maximum power savings.  
0
VREG Low Power Enable (VREG_LOW_EN)  
When set, the 1.8V voltage regulator is placed in low power mode.  
R/W  
0b  
Note:  
This bit has no meaning when the VREG_LOW_OVR bit is set.  
2
2
8.5.41  
I C TRIM REGISTER (I C_TRIM)  
Address:  
009Dh  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:0  
I2C_TRIM  
R/W  
9h  
This register specifies the delay added by the I2C controller in order to meet  
the tHD_DAT parameter.  
This register has units of 20.8 ns.  
8.5.42  
GENERAL PURPOSE TIMER LOAD REGISTER (GP_TIMER_LOAD)  
Address:  
00A0h  
Size:  
16 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
15:0  
GP Timer Load  
R/W  
FFFFh  
This register defines the value to be loaded into the general purpose timer  
from which it will count down.  
The valid range for this register is 0001h - FFFFh.  
This field has units of 1 ms.  
Note:  
Note:  
Programming 0h into this register is not valid.  
Software shall not change the contents of this register while the  
RESET bit is set and shall wait until this bit is cleared.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 65  
UPD360  
8.5.43  
GENERAL PURPOSE TIMER INTERRUPT SOURCE REGISTER (GP_TIMER_INT_SRC)  
Address:  
00A2h  
Size:  
8 bits  
BITS  
7:1  
0
DESCRIPTION  
TYPE  
RO  
DEFAULT  
RESERVED  
GP_UFLOW  
-
R/WC  
0b  
This bit will be set when the general purpose timer underflows. The  
GP_TIMER_INT interrupt in Interrupt Status Register (INT_STS) persists  
until this bit is cleared.  
When DIS_ON_UFLOW bit of the General Purpose Timer Control Register  
(GP_TIMER_CTL) is set, the assertion of this bit is delayed until the timer is  
fully disabled (100s us).  
8.5.44  
GENERAL PURPOSE TIMER CONTROL REGISTER (GP_TIMER_CTL)  
Address:  
00A3h  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7
STATUS  
RO  
0b  
This bit indicates the operational state of the GP timer.  
0: Timer is disabled and not counting  
1: Timer is enabled and counting  
When this bit is cleared the timer has halted operation.  
6:3  
2
RESERVED  
RO  
-
DIS_ON_UFLOW  
R/W  
0b  
When this bit is set, the GP timer is automatically disabled upon detection  
of the underflow condition. Additionally, the ENABLE bit is cleared upon  
underflow detection and the assertion of GP_UFLOW will be delayed until  
the GP Timer has halted operation and the STATUS bit is cleared.  
1
RESET  
R/SC  
0b  
Timer Reset. When set this bit stops the timer and resets the internal counter  
to the value in the General Purpose Timer Load Register  
(GP_TIMER_LOAD).  
0: Timer is not in reset  
1: Timer is in reset  
Note:  
This bit does not clear until propagation of the reset completes.  
This may take 100s us.  
DS00002084C-page 66  
2016-2017 Microchip Technology Inc.  
UPD360  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
0
ENABLE  
R/W  
0b  
Timer Enable. This bit is used to start and stop the General Purpose Timer  
Load Register (GP_TIMER_LOAD). This bit does not reset the timer count.  
This is automatically cleared when the DIS_ON_UFLOW bit is set.  
0: Timer is disabled  
1: Timer is enabled  
8.5.45  
GENERAL PURPOSE TIMER COUNT REGISTER (GP_TIMER_COUNT)  
Address:  
00A4h  
Size:  
16 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
15:0  
GP Timer Counter  
This register returns the current value of the general purpose timer.  
RO  
0h  
The GP timer must be disabled before reading this register by clearing the  
ENABLE bit.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 67  
UPD360  
9.0  
CABLE PLUG ORIENTATION AND DETECTION  
This section details the functions that control and monitor the CC pins, monitor the VBUS_DET pin, control the VCONN  
FETs, and sample the CFG_SEL0 and CFG_SEL1 pins.  
9.1  
CC Comparator  
The device integrates a comparator and DAC circuit to implement Type-C attach and detach functions. It supports up  
to eight programmable thresholds for attach detection between UFP and DFP. When operating as a UFP, the device  
supports detecting changes in the DFP’s advertised thresholds to determine current sourcing capability. The default  
nominal values for the thresholds detected by the CC comparators are:  
• 0.20 V  
• 0.40 V  
• 0.66 V  
• 0.80 V  
• 1.23 V  
• 1.60 V  
• 2.60 V  
• 3.0 V Proprietary Mode  
TABLE 9-1:  
Parameter  
CABLE DETECT SUMMARY  
Threshold CSR  
Description  
Min  
Typ  
Max  
DFP_ACT_DEF  
CC_THR0  
Detecting an active cable when configured  
as DFP and advertising default USB current.  
0.20 V  
UFP_DFP_DEF  
CC_THR0  
Detecting DFP attach when configured as  
UFP and DFP is advertising default USB  
current.  
0.20 V  
DFP_ACT_1A5  
UFP_DFP_1A5  
DFP_ACT_3A0  
UFP_DFP_3A0  
DFP_UFP_DEF  
DFP_UFP_1A5  
DFP_UFP_3A0  
CC_THR1  
CC_THR2  
CC_THR3  
CC_THR4  
CC_THR5  
CC_THR5  
CC_THR6  
Detecting an active cable when configured  
as DFP and advertising 1.5A.  
0.40 V  
0.66 V  
0.80 V  
1.23 V  
1.60 V  
1.60 V  
2.60 V  
Detecting DFP attach when configured as  
UFP and DFP is advertising 1.5A.  
Detecting an active cable when configured  
as DFP and advertising 3.0A.  
Detecting DFP attach when configured as  
UFP and DFP is advertising 3.0A.  
Detecting UFP attach when configured as  
DFP advertising default USB current.  
Detecting UFP attach when configured as  
DFP advertising 1.5A.  
Detecting UFP attach when configured as  
DFP advertising 3.0A.  
DS00002084C-page 68  
2016-2017 Microchip Technology Inc.  
UPD360  
The following tables summarize the expected thresholds to be matched in the CCx Match Registers (CCx_MATCH) for  
various configurations. Refer to the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) for the debouncer mask  
used in these configurations.  
TABLE 9-2:  
DFP CC MATCH SUMMARY  
CC  
CC  
CC  
CC  
CC  
CC  
CC  
CC  
CC State  
THR0  
THR1  
THR2  
THR3  
THR4  
THR5  
THR6  
THR7  
Advertise Default USB Current and  
connected to powered cable  
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
Advertise 1.5 A and connected to  
powered cable  
0
0
1
0
0
1
0
0
0
Advertise 3.0 A and connected to  
powered cable  
Advertise Default USB Current and  
connected to UFP  
Advertise 1.5 A and connected to  
UFP  
Advertise 3.0 A and connected to  
UFP  
Advertise Default USB Current and  
no connect (vOpen)  
Advertise 1.5 A and no connect  
(vOpen)  
Advertise 3.0 A and no connect  
(vOpen)  
Proprietary Mode and no connect  
(vOpen)  
TABLE 9-3:  
UFP CC MATCH SUMMARY  
CC  
CC_  
CC  
CC  
CC  
CC  
CC  
CC  
CC State  
THR0  
THR1  
THR2  
THR3  
THR4  
THR5  
THR6  
THR7  
Powered cable detected.  
No Connect (SNK.Open)  
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
DFP Connected and advertising  
default USB current  
DFP Connected and advertising 1.5  
A
1
1
1
0
0
0
1
1
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
DFP Connected and advertising 3.0  
A
DFP Connected and advertising pro-  
prietary current  
The following examples illustrate the rationale behind the expected matches in the previous tables.  
DFP: Advertise 1.5 A and connected to powered cable, UFP not attached  
In this scenario the DFP is advertising 1.5 A and connected to a powered cable. The UFP is not attached. The vRd value  
measured will be less than 0.35V per specification.  
In this configuration the following thresholds are enabled for matching:  
• CC_THR1 (DFP_ACT_1A5)  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 69  
UPD360  
• CC_THR5 (DFP_UFP_1A5)  
The value programmed into CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) and CCx Match Enable Regis-  
ters (CCx_MATCH_EN) would therefore be 0x22.  
Since the vRd is less than 0.35V no threshold matches would be detected on CCx Match Registers (CCx_MATCH) or  
CCx Change Status Registers (CCx_CHG_STS).  
DFP: Advertise 3.0 A and connected to UFP  
In this scenario the DFP is advertising 3.0 A and connected to a UFP. The vRd value measured will be > 0.85V and <  
2.45V.  
In this configuration the following thresholds are enabled for matching:  
• CC_THR3 (DFP_ACT_3A0)  
• CC_THR6 (DFP_UFP_3A0)  
The value programmed into CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) and CCx Match Enable Regis-  
ters (CCx_MATCH_EN) would therefore be 0x44.  
In this case only CC_THR3 would be matched. Bit 3 would be set in both CCx Match Registers (CCx_MATCH) or CCx  
Change Status Registers (CCx_CHG_STS) after the debounce interval.  
UFP: Connected to DFP advertising 3.0 A  
In this case the UFP is connected to a DFP advertising 3.0A. The vRd value measured will be > 1.3V and < 2.04 V.  
In this configuration the following thresholds are enabled for matching:  
• UFP_DFP_DEF (CC_THR0)  
• UFP_DFP_1A5 (CC_THR2)  
• UFP_DFP_3A0 (CC_THR4)  
The value programmed into CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) and CCx Match Enable Regis-  
ters (CCx_MATCH_EN) would therefore be 0x15.  
In this case all three thresholds would be matched since the value of vRd must exceed CC_THR4 which is 1.23V. Bits  
0, 2 and 4 would be set in both CCx Match Registers (CCx_MATCH) or CCx Change Status Registers (CCx_CH-  
G_STS).  
9.2  
DFP Operation  
The device implements current sources to advertise current charging capabilities on both CC pins when operating as a  
DFP.  
When a UFP connection is established, the current driven across the CC pins creates a voltage across the UFP’s Rd  
pull-down that can be detected by the integrated CC comparator. The voltages monitored are summarized in Table 9-  
4. When connected to an active cable, an alternative pull-down (Ra) appears on the CC pin.  
The DFP may provide the advertised VBUS power via the integrated Port Power Controller (PPC).  
The DFP also integrates two 5V FETs for implementing the VCONN function. This is further discussed in Section 9.7,  
"VCONN Operation".  
TABLE 9-4:  
CC1 CC2  
SOURCE DETECTION  
Connection State  
CC Comparator State  
VBUS VCONN  
Open Open Nothing Attached  
Rd Open UFP Attached  
Open Rd UFP Attached  
Ra Open Powered Cable, No UFP attached  
Monitor both CC pins for attach  
Monitor CC1 for detach  
Off  
On  
On  
Off  
Off  
Off  
Off  
Off  
Monitor CC2 for detach  
Monitor CC2 for UFP attach.  
Monitor CC1 for cable detach.  
Open Ra  
Powered Cable, No UFP attached  
Monitor CC1 for UFP attach.  
Monitor CC2 for cable detach.  
Off  
Off  
DS00002084C-page 70  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 9-4:  
CC1 CC2  
Ra  
SOURCE DETECTION (CONTINUED)  
Connection State  
CC Comparator State  
VBUS VCONN  
Rd  
Ra  
Powered Cable, UFP attached  
Monitor CC2 for UFP detach.  
CC1 is not monitored for detach.  
On  
On  
Rd  
Powered Cable, UFP attached  
Monitor CC1 for UFP detach.  
On  
On  
CC2 is not monitored for detach.  
Rd  
Ra  
Rd  
Ra  
Debug accessory mode attached  
Audio accessory mode attached.  
Monitor both CC pins for detach  
Monitor both CC pins for detach  
Off  
Off  
Off  
Off  
9.2.1  
RP CURRENT SOURCES  
In order to advertise the current charging capabilities of the device via the integrated port power controller or external  
power circuit, Rp current sources are used. The current source can be selected by software using CC1 RP Value and  
CC2 RP Value in the CC Control Register (CC_CTL). Table 9-5 summarizes the values supported by the current  
sources in regards to the programmed value.  
TABLE 9-5:  
RP CURRENT SOURCES  
Current source  
(1.7V to 5.5V)  
DFP Advertisement  
RPx Value  
Disabled  
00b  
01b  
10b  
11b  
Default USB Power  
80 uA +/-20%  
180 uA +/-8%  
330 uA +/-8%  
1.5A @ 5V  
3.0A @ 5V  
The current source coupled with the CC pins for RP advertisement is also used for sampling the CFG_SEL0 and CFG_-  
SEL1 pins. When either of the CFG_SEL0/CFG_SEL1 pins are sampled, current is steered away from the CC pins and  
no RP value is advertised. See the VBUS Comparator Control field in VBUS Control Register (VBUS_CTL) for further  
details.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 71  
UPD360  
9.2.2  
SOURCE ATTACH DETECTION  
When configured as a Source, the following sections describe the steps that are taken to determine if an attach has  
occurred:  
1. Software accesses the device via I2C/SPI which wakes the device up and enables the 48 MHz oscillator.  
2. Software programs the CC Comparator Control to 00b and disables the CC debouncer.  
3. Software polls CC_DB_ACTIVE until it reads back to indicate the CC debouncer is inactive.  
4. Software programs the Match Debounce Register (MATCH_DEB) as required for the tPDDebounce period.  
5. Software programs the VBUS Debounce Register (VBUS_DEB) as required.  
6. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) and CCx Match Enable Reg-  
isters (CCx_MATCH_EN) as required to match the thresholds of interest.  
7. Software programs the CCx Sample Enable Registers (CCx_SAMP_EN) and VBUS Match Enable Register  
(VBUS_MATCH_EN) to detect VBUS VSafe0v Match (VSAFE0V_THR_MATCH).  
8. Software enables the CC_MATCH_VLD, CC1_MATCH_CHG and CC2_MATCH_CHG interrupt via CC Interrupt  
Enable Register (CC_INT_EN).  
9. Software enables the VBUS_MATCH_VLD interrupt via the Power Interrupt Enable Register (PWR_INT_EN).  
Note:  
Assertion of CC_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed and  
a valid value is available in the CCx Match Registers (CCx_MATCH). VBUS_MATCH_VLD indicates a valid  
value is available in the VBUS Match Register (VBUS_MATCH).  
10. Software enables IRQ_N assertion by enabling the CC_INT, VBUS_INT and PWR_INT in the Interrupt Enable  
Register (INT_EN).  
11. Software programs the RP current sources via CC1 RP Value and CC2 RP Value in the CC Control Register  
(CC_CTL).  
12. Software programs the CC Threshold x Registers (CC_THRx), if required.  
13. Software programs the CC Comparator Control to sample both CC pins and enables the CC debouncer. The  
CC_DB_ACTIVE bit will assert soon after.  
14. Software sets the Clock Control Register (CLK_CTL) to disable all clock sources accept for the keep alive clock.  
15. When a UFP is attached an Rd pull-down, or Ra pull-down from active cable, is connected to one of the CC pins.  
The CC comparator detects this.  
16. Changes in state of the CC pin are recorded in the CCx Match Registers (CCx_MATCH) and CCx Change Status  
Registers (CCx_CHG_STS) after the programmed debounce period.  
17. CC_MATCH_VLD and CC1_MATCH_CHG or CC2_MATCH_CHG interrupt assert and CC_INT asserts which in  
turn asserts IRQ_N pin. Likewise assertion of VBUS_MATCH_VLD causes PWR_INT to assert and also in turn  
asserts IRQ_N.  
18. Software implements a further debounce of the CC match for tCCDebounce in order to detect the attachment.  
19. Software must verify, after VBUS_MATCH_VLD assertion, that the VBUS Match Register (VBUS_MATCH) indi-  
cates vSafe0v is on VBUS.  
20. After an attachment, software programs the device to power VBUS via the integrated PPC, if required. If the  
power source is external to the device, software configures that source as required.  
21. In the event that an active cable is attached, per the CCx Match Registers (CCx_MATCH), VCONN power may  
be supplied by appropriately setting VCONN1 Control or VCONN2 Control in the VBUS Control Register  
(VBUS_CTL).  
22. CC Communication Select in the CC Control Register (CC_CTL) is set by software to appropriately connect the  
baseband interface to the CC pin with the Rd pull-down.  
23. The DFP may attempt to communicate with attached device utilizing the PD MAC if desired.  
DS00002084C-page 72  
2016-2017 Microchip Technology Inc.  
UPD360  
9.2.3  
SOURCE DETACH DETECTION  
When configured as a source, the detachment of the partner UFP is determined by monitoring the appropriate CC pin  
(with the Rd pull-down) for a voltage exceeding DFP_UFP_DEF, DFP_UFP_1A5 or DFP_UFP_3A0, depending on the  
charging current advertised by the device.  
The following describes the steps that are taken to determine if a detach has occurred when operating in companion  
mode:  
APPLICATION NOTE: Software must not look at the CC detect status while a PD contract is in place, even though  
the Type-C spec permits doing so, in order to avoid false-disconnects in the Attached.SNK  
state during heavy PD message traffic.  
APPLICATION NOTE: Software should set a 3A advertisement while it's a source and a PD contract is in place in  
order to avoid false-disconnects in the Attached.SRC state during heavy PD message traffic;  
a 1.5A advertisement (even though permitted by the Type-C spec) is not sufficient to avoid  
this issue due to the lower vOPEN threshold. An exception to this recommendation is when  
“Collision Avoidance” is implemented.  
The following steps assume the CC debouncer has previously been used to detect attachment per the prior section.  
1. Software accesses the device via I2C/SPI which wakes the device up and enables the 48 MHz oscillator.  
2. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) as required to enable per  
threshold debouncing. Typically this only involves disabling the thresholds not corresponding to vOPEN.  
3. Software enables CC1_MATCH_CHG or CC2_MATCH_CHG interrupt via CC Interrupt Enable Register  
(CC_INT_EN).  
4. Software enables IRQ_N via asserting the respective CC_INT bit in the Interrupt Enable Register (INT_EN).  
5. Software programs the CC Comparator Control to sample appropriate CC pin.  
6. The device samples the respective CC pin while operating off of 20 kHz clock.  
7. Changes in state of the CC are reflected in the respective CCx Match Registers (CCx_MATCH) and CCx Change  
Status Registers (CCx_CHG_STS).  
8. CC1_MATCH_CHG, or CC2_MATCH_CHG, interrupt asserts, CC_INT asserts which in turn asserts the IRQ_N  
pin.  
9. Software implements a further debounce of the CC match for tCCDebounce in order to detect the detachment.  
10. If VCONN is being supplied, than the VCONN FET shall be disabled in software by appropriately setting the  
VCONN1 Control or VCONN2 Control in the VBUS Control Register (VBUS_CTL). In this case, software must  
also discharge VCONN as defined in Section 9.7.1, "VCONN Discharge Programming Model".  
11. Software disables the PPC which causes the internal 5V power switch to open if required. Power may have alter-  
natively been provided by external power source.  
12. Internal 100 Ohm VBUS discharge switch is closed if required.  
13. Discharge switch remains closed until vSafe0V threshold is crossed.  
14. If vSafe0V threshold is not crossed within VBUS Off Register (VBUS_OFF) which asserts VBUS Discharge Error  
interrupt and asserts IRQ_N pin.  
Note:  
Occurrence of VBUS Discharge Error interrupt indicates a potentially catastrophic system power issue.  
15. Internal discharge switch is opened.  
16. The part is configured by software to detect a UFP attach. The 48 MHz oscillator is disabled. Only the keep-alive  
clock remains enabled.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 73  
UPD360  
9.3  
UFP Operation  
When operating as a UFP, the device applies an Rd pull-down on both CC lines and waits for a DFP connection from  
the assertion of VBUS. The CC comparator is used to determine the advertised current charger capabilities supported  
by the DFP.  
9.3.1  
SINK ATTACH DETECTION  
The following steps illustrate how the device may be programmed to detect an attachment when operating as a Sink.  
The following discussion does not cover dead-battery cases, which are described in Section 9.6, "Dead Battery".  
1. Software accesses the device via I2C/SPI which wakes the device up and enables the 48 MHz oscillator.  
2. Software programs the CC Comparator Control to 00b and disables the CC debouncer.  
3. Software programs the VBUS Comparator Control to 00b and disables the VBUS debouncer.  
4. Software polls CC_DB_ACTIVE and VBUS_DB_ACTIVE until they read back 0b to indicate that the CC  
debouncer and VBUS debouncer are inactive. Software programs the Match Debounce Register (MATCH_DEB)  
as required for the tPDDebounce interval.  
5. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) as required to match the  
thresholds of interest.  
6. Software programs the CC1 Pull-Down Value and CC2 Pull-Down Value in the CC Control Register (CC_CTL)  
to advertise trimmed Rd.  
7. Software enables CC_MATCH_VLD, CC1_MATCH_CHG or CC2_MATCH_CHG interrupt via the CC Interrupt  
Enable Register (CC_INT_EN).  
8. Assertion of CC_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed and a valid  
value is available in the CCx Match Registers (CCx_MATCH).  
9. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) as required to enable the  
respective threshold(s) debouncing.  
10. Software enables VBUS_INT to detect VBUS by configuring the VBUS Match Register (VBUS_MATCH).  
11. Software enables VBUS_MATCH_VLD by configuring the Power Interrupt Enable Register (PWR_INT_EN).  
12. Software enables IRQ_N via configured respective bits, for CC_INT, PWR_INT and VBUS_INT, in the Interrupt  
Enable Register (INT_EN).  
13. Software programs the CC Comparator Control to sample both CC pins.  
14. Software programs VBUS Comparator/DAC to detect vSafe5V via the VBUS Comparator Control in the VBUS  
Control Register (VBUS_CTL) and setting VBUS_THR0 and VBUS_THR1 via the VBUS Threshold x Registers  
(VBUS_THRx).  
15. Software turns off all clock sources with the exception of 20 KHz keep-alive clock via Clock Control Register  
(CLK_CTL) to save power.  
16. Upon connection to a partner DFP VBUS is powered to 5V.  
17. After the programmed debounce interval, the respective CCx Change Status Registers (CCx_CHG_STS) is  
updated and the respective CC1_MATCH_CHG or CC2_MATCH_CHG interrupt asserts which in turn asserts  
CC_INT which in turn asserts IRQ_N.  
Note:  
Assertion of CC_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed and  
a valid value is available in the CCx Match Registers (CCx_MATCH).  
18. VBUS is detected by the VBUS_DET comparator and debounced for the period defined by the VBUS Debounce  
Register (VBUS_DEB). The VBUS_INT interrupt asserts which in turn asserts IRQ_N.  
Note:  
Assertion of VBUS_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed  
and a valid value is available in the VBUS Match Register (VBUS_MATCH).  
19. Software must debounce the CC match for tCCDebounce and VBUS for the PD Debounce Register (PD_DEB)  
in order to detect the attach condition.  
20. After attachment, software configures CC Communication Select in the CC Control Register (CC_CTL) to appro-  
priately connect the baseband interface to the CC with the Rp pull-up if PD communication is desired.  
21. DFP may communicate with the device.  
DS00002084C-page 74  
2016-2017 Microchip Technology Inc.  
UPD360  
9.3.2  
SINK DETACH DETECTION  
The DFP detach is detected by the removal of VBUS. The VBUS comparator must always be enabled for the UFP to  
detect this condition.  
1. Software programs the VBUS Comparator Control to 00b and disables the VBUS debouncer.  
2. Software polls VBUS_DB_ACTIVE until it reads back 0b to indicate that the VBUS debouncer is inactive.  
3. Software programs the VBUS Debounce Register (VBUS_DEB) as required.  
4. Software programs the CCx Sample Enable Registers (CCx_SAMP_EN) as required to enable the respective  
threshold(s) debouncing.  
5. Software enables VBUS_INT, which is then used to detect VBUS, via the VBUS Match Enable Register (VBUS_-  
MATCH_EN).  
6. Software enables IRQ_N by configuring the respective bit for VBUS_INT in the Interrupt Enable Register  
(INT_EN).  
Note:  
VBUS_THR0 and VBUS_THR1 are adjusted via the VBUS Threshold x Registers (VBUS_THRx) to  
vSafe5V, if required.  
7. Software enables the VBUS Comparator/DAC via the VBUS Comparator Control bit in the VBUS Control Regis-  
ter (VBUS_CTL).  
8. Software turns off all clock sources with the exception of 20 KHz keep-alive clock via the Clock Control Register  
(CLK_CTL) to save power.  
9. DFP removes VBUS.  
10. After the VBUS debounce period, the VBUS Match Register (VBUS_MATCH) and VBUS Change Status Register  
(VBUS_CHG_STS) are updated. The VBUS_INT interrupt asserts which in turn asserts IRQ_N.  
11. Software continues to monitor VBUS to determine if it stays below vSafe5V for a duration of tPdDebounce.  
9.4  
DRP Operation  
This section describes a usage of the device for implementing a DRP attach. In this configuration, software utilizes the  
device to alternate between a Source and Sink advertisement with an interval of tDRP per the USB Type-C Specifica-  
tion.  
The steps for initially configuring the device to advertise Source capabilities follows the steps defined in Section 9.2.2,  
"Source Attach Detection". Software must also implement the tDRP timer. If a Sink is not detected within this time, soft-  
ware shall change the device’s role to Sink and again attempt an attach detection.  
1. Software accesses the device via I2C/SPI which wakes the device up and enables the 48 MHz oscillator.  
2. Software programs the CC Comparator Control to 00b and disables the CC debouncer.  
3. Software polls CC_DB_ACTIVE until it reads back to indicate the CC debouncer is inactive.  
4. Software programs the Match Debounce Register (MATCH_DEB) as required for the tPDDebounce period.  
5. Software programs the CC Threshold x Registers (CC_THRx) if required.  
6. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) and CCx Match Enable Reg-  
isters (CCx_MATCH_EN) as required to match the thresholds of interest.  
7. Software enables the CC_MATCH_VLD, CC1_MATCH_CHG and CC2_MATCH_CHG interrupts via the CC  
Interrupt Enable Register (CC_INT_EN).  
8. Software enables IRQ_N assertion by enabling the CC_INT in the Interrupt Enable Register (INT_EN).  
9. Software programs the RP current sources via the CC1 RP Value and CC2 RP Value in the CC Control Register  
(CC_CTL).  
10. Software programs the CC Comparator Control to sample both CC pins and enable the CC debouncer. The  
CC_DB_ACTIVE bit will assert soon after.  
11. Software sets the Clock Control Register (CLK_CTL) to disable all clock sources accept for the keep alive clock.  
Note:  
Assertion of CC_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed and  
a valid value is available in the CCx Match Registers (CCx_MATCH).  
If after time tDRP an attachment is not detected, software shall configure the device to be a Sink and attempt to detect  
the presence of a Source. This is similar to the steps defined in Section 9.3.1, "Sink Attach Detection".  
1. Software accesses the device via I2C/SPI which wakes the device up and enables the 48 MHz oscillator  
2. Software programs the CC Comparator Control to 00b and disables the CC debouncer.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 75  
UPD360  
3. Software polls CC_DB_ACTIVE until it reads back 0b to indicate that the CC debouncer is inactive.  
4. Software programs the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) as required to match the  
thresholds of interest.  
5. Software programs detection for vSafe5V by setting VBUS_THR0 and VBUS_THR1 in the VBUS Threshold x  
Registers (VBUS_THRx). The CCx Sample Enable Registers (CCx_SAMP_EN) is programmed debounce these  
thresholds.  
6. Software programs CC1 Pull-Down Value and CC2 Pull-Down Value in the CC Control Register (CC_CTL) to  
advertise trimmed Rd.  
7. Software enables the CC_MATCH_VLD, CC1_MATCH_CHG or CC2_MATCH_CHG interrupts via the CC Inter-  
rupt Enable Register (CC_INT_EN).  
8. Software enables VBUS_MATCH_VLD by configuring the Power Interrupt Enable Register (PWR_INT_EN).  
9. Software enables IRQ_N via the configured respective bits, for CC_INT, PWR_INT and VBUS_INT, in the Inter-  
rupt Enable Register (INT_EN).  
10. Software programs the CC Comparator Control to sample both CC pins.  
11. Software turns off all clock sources with the exception of 20 KHz keep-alive clock via the Clock Control Register  
(CLK_CTL) to save power.  
If after time tDRP an attachment is not detected, software shall configure the device to be a Source and attempt to detect  
the presence of a Sink.  
Note:  
Assertion of CC_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed and  
a valid value is available in CCx Match Registers (CCx_MATCH).  
Note:  
Assertion of VBUS_MATCH_VLD indicates that the initial CC debounce of both CC pins has completed  
and a valid value is available in VBUS Match Register (VBUS_MATCH).  
9.5  
Collision Avoidance  
An alternative mode of operation is required to enable the CC detection circuit to facilitate software implementation of  
collision detection which was incorporated into version 3.0 of the USB PD Specification.  
In order to avoid message collisions due to asynchronous Messaging (AMS) sent from the Sink, the Source sets Rp to  
SinkTxOk (3A@5V) to indicate to the Sink that it is OK to initiate an AMS. When the Source wishes to initiate an AMS  
it sets Rp to SinkTxNG (1.5A@5V). When the Sink detects that Rp is set to SinkTxOk it may initiate an AMS. When the  
Sink detects that Rp is set to SinkTxNG it shall not initiate an AMS and shall only send Messages that are part of an  
AMS the Source has initiated.  
When operating as a Sink, a mechanism is required for quickly determining whether the Source is advertising SinkTxNG  
or SinkTxOK on Rp.  
A collision avoidance mechanism exists to enable software to instruct the device to sample only a single threshold on  
a single CC pin. This results in a cycle through both thresholds taking only 100 us, making it easier for software to meet  
the timing constraints mandated by SinkTxOk in the specification. Two CCx Sample Enable Registers (CCx_SAMP_EN)  
are provided to enable software to specify which subsets of the CC thresholds shall be sampled via setting the respec-  
tive bit. In the case of collision avoidance, only the threshold corresponding to SinkTxOK shall be set on the connected  
CC pin. This corresponds to UFP_DFP_3A0 (CC_THR4). The CC Comparator Control field in CC Control Register  
(CC_CTL) shall be set to the CC pin utilized for PD communication.  
In order to prevent false positive detection of SinkTXOK when a PD packet is being transmitted or received, a debounce  
value in the order to 7 ms would need to be programmed into Match Debounce Register (MATCH_DEB). Such a large  
value would impair the ability of software, when operating as Sink, to detect SinkTXOK and transmit a PD message  
within the time defined in the PD specification by SinkTxTime. The BLK_PD_MSG bit in CC Hardware Control Register  
(CC_HW_CTL) has been incorporated to handle the above scenario and enable software to program a sub millisecond  
debounce value. A minimum value of 100 us shall be used for the Match Debounce Register (MATCH_DEB) when using  
this mode of operation.  
The below sequence illustrates the steps to enable Collision Avoidance for a Sink. This sequence is used after a con-  
nection and PD contract has been established.  
DS00002084C-page 76  
2016-2017 Microchip Technology Inc.  
UPD360  
Note:  
The units of the Match Debounce Register (MATCH_DEB) is determined by MATCH_DB_UNITS bit in CC  
Hardware Control Register (CC_HW_CTL). When this bit is clear, the units are 1.6 ms. When this bit is set  
the units are 100 us.  
1. Sink establishes connection with Source and a PD contract is negotiated. Sink wants to transmit AMS to Source.  
2. Via the CC Hardware Control Register (CC_HW_CTL), the MATCH_DB_UNITS is set to 1b to utilize 100 us units  
for the CC match debouncer. The BLK_PD_MSG bit is set to filter PD traffic from the debouncer.  
3. Software sets the Match Debounce Register (MATCH_DEB) to 400 us by writing four into the register.  
4. Software configures CC_THR4 to enable interrupt assertion via the CCx Match Enable Registers (CCx_-  
MATCH_EN).  
5. Software configures CC_THR4 for sampling via the CCx Sample Enable Registers (CCx_SAMP_EN).  
6. Via the CC Control Register (CC_CTL), the CC Comparator Control selects the CC pin connected to the Source’s  
Rp.  
7. Software waits for indication that Source’s Rp is SinkTxOK via a match detected on CC_THR4.  
8. Software initiates transmission of PD message to Source.  
APPLICATION NOTE: Software must guarantee that a sufficient gap exists in between consecutively transmitted  
PD messages to enable the source RP value to settle on the CC line. Studies by USB-IF  
members have showed the settling time may take in excess of 40 us.  
9.6  
Dead Battery  
Two variations of the Rd resistor are implemented: Rd (Dead Battery) and Rd (Trimmed). The CC1_DB_EN and CC2_D-  
B_EN pins exist to determine the operation of the CC pins in dead battery conditions and are to be connected externally  
via the PCB to the respective CC pin. The CC pins are configured to present either Hi-Z or an untrimmed Rd pull-down  
resistance when connected to a DFP advertising a pull-up resistance.  
Figure 9-1 illustrates the configuration for supporting dead battery cases via hair pining CCx_DB_EN and CCx together  
on the PCB. The UFP pull-up activates the FET in series with RD_DB and enables the untrimmed dead battery pull-  
down.  
FIGURE 9-1:  
CC RD (DEAD BATTERY)  
UFP  
DFP  
Rp  
CC_DB_ENx  
CCx  
RD_TRIM  
5.1 KW  
50 MW  
RD_DB  
5.1 KW  
Hi-Z  
EN_RD_TRIM  
Hi-Z  
EN_RD_DB_N  
Figure 9-2 illustrates operation after the UFP has been powered over VBUS by the DFP. After the device is powered,  
EN_RD_DB asserts by default to keep the RD_DB pull-down activated.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 77  
UPD360  
Upon powering the host CPU, software simultaneously deasserts EN_RD_DB and asserts EN_RD_TRIM. Going for-  
ward the device presents RD_TRIM.  
FIGURE 9-2:  
CC RD (TRIM)  
UFP  
DFP  
Rp  
CC_DB_ENx  
CCx  
RD_TRIM  
5.1 KW  
50 MW  
RD_DB  
5.1 KW  
EN_RD_TRIM  
EN_RD_DB_N  
The Rd resistor presented, trimmed or untrimmed, is controlled by the CC1 Pull-Down Value and CC2 Pull-Down Value  
in the CC Control Register (CC_CTL). These register fields serve the basis for the EN_RD_TRIM and EN_RD_DB_N  
control signals depicted.  
9.7  
VCONN Operation  
VCONN is a 5V supply that is used to power circuitry in the USB Type-C plug, which is required to implement Electron-  
ically Marked Cables. By default, the DFP always sources VCONN when connected to an active cable. However, this  
may be changed by software by using PD VCONN_SWAP.  
The VCONN FETs are enabled/disabled by software via the VCONN1 Control and VCONN2 Control control bits in the  
CC Control Register (CC_CTL).  
In standalone DFP mode, the device independently enables/disables the VCONN FETs. This mode is intended for con-  
figurations where no host CPU is available or the CPU is not capable of managing VCONN. The Standalone Operation  
bit in the CC Hardware Control Register (CC_HW_CTL) enables this mode of operation.  
APPLICATION NOTE: It is not envisioned to ever enable both FETs simultaneously.  
VCONN is monitored for an over current condition via an internal monitoring circuit. A VCONN over current condition is  
recognized when the event persists for a time longer than specified in the VCONN OCS and Back-Drive Debounce Reg-  
ister (VCONN_DEB). VCONN OCS monitoring is enabled via the VCONN OCS Enable bit in the VBUS Control Register  
(VBUS_CTL).  
When an over-current VCONN event is detected, the VCONN Discharge Error (VCONN_DISCH_ERR) interrupt in the  
Power Interrupt Status Register (PWR_INT_STS) asserts. The device may be configured to automatically disable the  
VCONN FET upon detection of a CC1 Back-Drive Error/CC2 Back-Drive Error or VCONN Discharge Error (VCONN_-  
DISCH_ERR). In the event of the detection of a debounced over-current VCONN event, the enabled VCONN FET will  
be disabled. The OCS event also results in an automatic disablement of the respective VCONN1 Control and VCONN2  
Control control bits in the CC Control Register (CC_CTL).  
9.7.1  
VCONN DISCHARGE PROGRAMMING MODEL  
Software may use the following programming model for implementing VCONN discharge when the device is operating  
as a DFP and a UFP disconnect has been detected.  
This section does not apply to standalone DFP operation.  
1. Software determines the attached UFP has disconnected and disconnects the VCONN FET.  
2. Software disables monitoring the CC thresholds corresponding to the attached CC pin.  
DS00002084C-page 78  
2016-2017 Microchip Technology Inc.  
UPD360  
3. The Rp current sources are disabled on both CC pins via CC1 RP Value or CC2 RP Value.  
4. The Ra pull-down on the CC pin previously sourcing VCONN is selected via CC1 Pull-Down Value or CC2 Pull-  
Down Value. This initiates the VCONN discharge.  
5. Software sets the CC threshold 0 to 150 mv (41d), via the CC Threshold x Registers (CC_THRx), which is the  
VCONN discharge threshold.  
6. Software programs 01h into the CCx Debounce Clear Enable Registers (CCx_DBCLR_EN).  
7. Software programs 01h into the CCx Match Enable Registers (CCx_MATCH_EN).  
8. Software enables CC1_MATCH_CHG or CC2_MATCH_CHG interrupt via the CC Interrupt Enable Register  
(CC_INT_EN).  
9. Via the CC Control Register (CC_CTL), the CC Comparator Control selects the CC pin that was sourcing  
VCONN.  
10. Changes in state of the CC pin are recorded in CCx Match Registers (CCx_MATCH) and CCx Change Status  
Registers (CCx_CHG_STS) after the programmed debounce period.  
11. After VCONN discharges below 150mv, IRQ_N asserts which indicates VCONN has been discharged. IRQ_N  
assertion of CC_MATCH_VLD with no threshold matches is also indicative of a complete discharge.  
12. After the discharge has been completed, the device is in the Unattached.SRC state.  
Note:  
Software should implement a timer to indicate a VCONN discharge error. This may be implemented using  
the General Purpose Timer. While there is no specific requirement in the Type-C specification for a maxi-  
mum discharge time  
Note:  
After the UFP disconnect is detected, firmware must disconnect the VCONN supply within tVconnOff (35  
ms) per release 1.1 of the Type-C specification.  
9.8  
VBUS Detection  
The device implements a comparator for determining when VBUS is within a programmed range, vSafe5V, or vSafe0v.  
VBUS is divided down externally via a 1:9 resistor divider to generate VBUS_DET. VBUS_DET is compared with an 8-  
bit threshold generated by an integrated DAC. The comparator is also shared by the CFG_SEL0 and CFG_SEL1 pins  
which are sampled automatically after a system reset  
Figure 9-3 illustrates the VBUS_DET circuit. In a typical use case, VBUS_DET thresholds are programmed to track the  
following voltage ranges as defined in Table 9-6.  
Note:  
Table 9-6 illustrates the values of VBUS_DET utilizing +/-1% accurate resistors where R1 is 10K Ohms and  
R2 is 90 kOhms.  
FIGURE 9-3:  
VBUS_DET COMPARATOR  
VBUS  
15 uA  
ZTC  
CFG_SEL1  
R2  
CFG_SEL0  
VBUS_DET  
VBUS_MATCH/  
CFG_MATCH  
10-bits  
DAC  
R3  
R4  
R1  
VBUS and  
CFG_SEL  
Threshold  
Generation  
Bandgap  
Reference  
20 KHz Clock  
For a DFP, the VBUS comparator is useful to detect when VBUS is within the desired range per PD negotiations. This  
is the case when VBUS is generated by a source external to the device.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 79  
UPD360  
For a UFP, the VBUS comparator is required to determine when a DFP is attached or detached. It may also use the  
comparator to determine when VBUS is within a new voltage range negotiated via PD.  
TABLE 9-6:  
VBUS  
VBUS DETECTION THRESHOLDS  
Range  
VBUS_DET  
Comments  
21.5  
18.5  
13.1  
10.9  
8.9  
2.11  
1.82  
1.29  
1.07  
0.88  
0.69  
0.51  
0.33  
0.08  
20  
12  
8
7.1  
5.5  
5
vSafe5V  
vSafe0V  
3.67  
0.8  
0.8  
If supported, the ranges 8V, 12V and 20V may be programmed in VBUS Threshold 2 and VBUS Threshold 3 registers  
(see VBUS Threshold x Registers (VBUS_THRx)). Likewise 5V range, vSafe5v, can be programmed in VBUS Thresh-  
old 0 and VBUS Threshold 1 registers.  
The threshold for vSafe0V is programmable via the VBUS VSafe0V Threshold Register (VSAFE0V_THR).  
VBUS_DET monitoring logic operates off of the 20 KHz oscillator which cycles through each threshold. Including  
vSafe0v, a total of five values are compared.  
Results of the comparison adjust the respective bits of the VBUS Match Register (VBUS_MATCH) and VBUS Change  
Status Register (VBUS_CHG_STS) after a debounce period defined in VBUS Debounce Register (VBUS_DEB).  
The VBUS Match Register (VBUS_MATCH) indicates when the value on VBUS_DET is higher than the corresponding  
programmed threshold and can therefore be used to determine is VBUS is in the desired range.  
A change in the state of the VBUS Match Register (VBUS_MATCH) may trigger assertion of the IRQ_N pin if appropri-  
ately configured in the Power Interrupt Status Register (PWR_INT_STS).  
The VBUS Debounce Clear Enable Register (VBUS_DBCLR_EN) is functionality equivalent to the CCx Debounce  
Clear Enable Registers (CCx_DBCLR_EN), but it applies to the VBUS debouncer. Software programs the VBUS  
Debounce Clear Enable Register (VBUS_DBCLR_EN) as required to enable debouncing the thresholds of interest.  
The following example illustrates the programming model when it is desired to move VBUS from 5V to 20V after PD  
contract negotiation. Initially the VBUS de-bouncer is enabled and VSafe5v, VBUS_THR0 and VBUS_THR1, is sam-  
pled. VBUS_THR2 and VBUS_THR3 have an initial value in excess of 5V such as 25V. See Section 9.12.24 for details  
on the VBUS_THRx registers.  
1. Software programs the VBUS Match Enable Register (VBUS_MATCH_EN) to include new thresholds  
(VBUS_THR2 and VBUS_THR3).  
2. Software programs the VBUS Debounce Clear Enable Register (VBUS_DBCLR_EN) as required to enable per  
threshold debouncing.  
3. Software programs new thresholds for 20V in VBUS_THR2 and VBUS_THR3 (e.g. 18.5V and 21.5V). This oper-  
ation restarts the VBUS debouncer.  
4. Software waits until IRQ_N asserts.  
5. Software confirms the VBUS_MATCH_VLD bit is set.  
6. Software reads the VBUS Match Register (VBUS_MATCH) and VBUS Change Status Register (VBUS_CH-  
G_STS).  
7. If VBUS Change Status Register (VBUS_CHG_STS) is non-zero, software clears the status bits.  
Note:  
If no bits are set in the VBUS Match Register (VBUS_MATCH), after VBUS_MATCH_VLD asserts, then  
the voltage observed on VBUS is less than VSafe0V.  
8. Future changes in VBUS results in IRQ_N asserting with VBUS Match Register (VBUS_MATCH) and VBUS  
Change Status Register (VBUS_CHG_STS) being appropriately updated.  
DS00002084C-page 80  
2016-2017 Microchip Technology Inc.  
UPD360  
9.8.1  
CONFIGURATION SELECTION  
The CFG_SEL0 and CFG_SEL1(UPD360-A/UPD360-B only) pins share the comparator with VBUS as shown in  
Figure 9-3. Each CFG_SELx pin is connected to a resistor divider, typically pulled up to VDDIO. After a system level  
reset (POR, RESET_N, Software Reset), both CFG_SELx pins are automatically sampled to configure the device. The  
CFG_SELx Match Registers (CFG_SELx_MATCH) are updated automatically and the device configures itself accord-  
ingly if standalone mode is detected.  
The various resistor settings for the CFG_SEL0 and CFG_SEL1 pins are detailed in Table 9-7 and Table 9-8, respec-  
tively.  
Note:  
For additional information on device resets, refer to Section 7.7, "Reset Operation," on page 34.  
TABLE 9-7:  
CONFIGURATION SELECT 0 (CFG_SEL0) SETTINGS  
Description  
Resistor  
(+/-1%)  
CFG_SEL0_MATCH  
Register  
GND  
Standalone DFP / USB58xx/USB59xx Companion DFP  
0000h  
Device operates in standalone DFP mode (UPD360-A/UPD360-B only) for  
applications where an I2C connection to the host is not be present.  
The PWR_CAPx pins are used to select the USB Type-C™ current provided.  
0.475 K  
Standalone UFP / USB58xx/USB59xx Companion UFP  
0001h  
Device operates in standalone UFP mode (UPD360-A/UPD360-B only) for  
applications where an I2C connection to the host is not be present.  
0.953 K  
1.43 K  
1.87 K  
2.37 K  
2.87 K  
3.32 K  
3.83 K  
4.22 K  
4.75 K  
5.23 K  
5.62 K  
6.19 K  
6.65 K  
7.15 K  
>7.15 K  
I2C/SPI Companion Mode A (TBD)  
I2C/SPI Companion Mode B (TBD)  
I2C/SPI Companion Mode C (TBD)  
I2C/SPI Companion Mode D (TBD)  
I2C/SPI Companion Mode E (TBD)  
I2C/SPI Companion Mode F (TBD)  
I2C/SPI Companion Mode G (TBD)  
I2C/SPI Companion Mode H (TBD)  
I2C/SPI Companion Mode I (TBD)  
I2C/SPI Companion Mode J (TBD)  
I2C/SPI Companion Mode K (TBD)  
I2C/SPI Companion Mode L (TBD)  
I2C/SPI Companion Mode M (TBD)  
I2C/SPI Companion Mode N (TBD)  
I2C/SPI Companion Mode O (TBD)  
0003h  
0007h  
000Fh  
001Fh  
003Fh  
007Fh  
00FFh  
01FFh  
03FFh  
07FFh  
0FFFh  
1FFFh  
3FFFh  
7FFFh  
FFFFh  
Note:  
Any CFG_SEL0 value other than GND or 10.5K will select the I2C/SPI Companion mode.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 81  
UPD360  
2
TABLE 9-8:  
CONFIGURATION SELECT 1 (CFG_SEL1) I C ADDRESS SETTINGS  
(UPD360-A/UPD360-B ONLY)  
Resistor  
(+/-1%)  
CFG_SEL1_MATCH  
Register  
Description  
GND  
I2C Slave Address = 1011_111  
I2C Slave Address = 1011_110  
I2C Slave Address = 1011_101  
I2C Slave Address = 1011_100  
I2C Slave Address = 1101_011  
I2C Slave Address = 1101_010  
I2C Slave Address = 1101_001  
I2C Slave Address = 1101_000  
I2C Slave Address = 1110_111  
I2C Slave Address = 1110_110  
I2C Slave Address = 1110_101  
I2C Slave Address = 1110_100  
I2C Slave Address = 1110_001  
I2C Slave Address = 1110_011  
I2C Slave Address = 1110_000  
I2C Slave Address = 1110_010  
I2C Slave Address = 1001_000  
0000h  
0001h  
0003h  
0007h  
000Fh  
001Fh  
003Fh  
007Fh  
00FFh  
01FFh  
03FFh  
07FFh  
0FFFh  
1FFFh  
3FFFh  
7FFFh  
FFFFh  
0.475 K  
0.953 K  
1.43 K  
1.87 K  
2.37 K  
2.87 K  
3.32 K  
3.83 K  
4.22 K  
4.75 K  
5.23 K  
5.62 K  
6.19 K  
6.65 K  
7.15 K  
>7.15 K  
9.9  
Back-Drive Detection  
Back-drive detection is implemented on both CC pins, which prevents backwards current flow. The back-drive protection  
circuit is always operational and triggers when VCCx > VS.  
Detection of the back-drive condition causes the CC1 Back-Drive Error or CC2 Back-Drive Error bits in the Power Inter-  
rupt Status Register (PWR_INT_STS) to assert.  
Hardware supports automatically disabling a VCONN FET on a CC pin in which back-drive was detected after the  
debounce period specified in the VCONN OCS and Back-Drive Debounce Register (VCONN_DEB). This function is  
enabled by setting CC Back-Drive Enable in VBUS Control Register (VBUS_CTL).  
9.10 Standalone DFP (UPD360-A/UPD360-B Only)  
9.10.1  
OVERVIEW  
The device supports standalone DFP operation in which no CPU is available to configure the device. A key application  
for this mode is a USB Type-C DFP companion for the Microchip USB58xx/USB59xx family of USB Hubs.  
9.10.2  
CONFIGURATION  
This mode is entered by the appropriate setting of the CFG_SEL0 and CFG_SEL1 pins. The current charge advertised  
and supplied is defined by the PWR_CAP0 and PWR_CAP1 pins. The device auto configures itself after a system level  
reset event.  
APPLICATION NOTE: The Standalone Operation field in CC Hardware Control Register (CC_HW_CTL) may be  
used to disable standalone operation.  
DS00002084C-page 82  
2016-2017 Microchip Technology Inc.  
UPD360  
9.11 Standalone UFP (UPD360-A/UPD360-B Only)  
9.11.1  
OVERVIEW  
The device supports standalone UFP operation in which no CPU is available to configure the device. A key application  
for this mode is a USB Type-C UFP companion for the Microchip USB58xx/USB59xx family of USB Hubs.  
9.11.2  
CONFIGURATION  
This mode is entered by the appropriate setting of the CFG_SEL0 and CFG_SEL1 pins. The device auto-configures itself  
after a system level reset event.  
APPLICATION NOTE: The Standalone Operation field in the CC Hardware Control Register (CC_HW_CTL) may be  
used to disable standalone operation.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 83  
UPD360  
9.12 Cable Orientation and Detection Registers  
This section details the cable plug orientation and detection registers. For an overview of the entire device register map,  
refer to Section 4.0, "Register Map," on page 19.  
TABLE 9-9:  
Address  
SYSTEM CONTROL AND STATUS REGISTERS MAP  
Register Name (Symbol)  
0800h  
0803h  
0804h  
0805h  
0806h  
0807h  
0808h  
0809h  
080Ah  
080Bh  
CC Hardware Control Register (CC_HW_CTL)  
CC Interrupt Status Register (CC_INT_STS)  
CCx Change Status Registers (CCx_CHG_STS) x=1  
CCx Change Status Registers (CCx_CHG_STS) x=2  
CCx Match Registers (CCx_MATCH) x=1  
CCx Match Registers (CCx_MATCH) x=2  
VBUS Match Register (VBUS_MATCH)  
VBUS Change Status Register (VBUS_CHG_STS)  
Power Interrupt Status Register (PWR_INT_STS)  
Debug Interrupt Status Register (DBG_INT_STS)  
080Ch – 0810h Reserved for future expansion  
CC Interrupt Enable Register (CC_INT_EN)  
0811h  
0812h  
0813h  
0814h  
0815h  
0816h  
0817h  
0818h  
0819h  
081Ah  
081Bh  
081Ch  
081Dh  
081Eh  
081Fh  
0820h  
0822h  
0824h  
0826h  
0828h  
082Ah  
082Ch  
082Eh  
0830h  
0832h  
CCx Match Enable Registers (CCx_MATCH_EN) x=1  
CCx Match Enable Registers (CCx_MATCH_EN) x=2  
VBUS Match Enable Register (VBUS_MATCH_EN)  
Power Interrupt Enable Register (PWR_INT_EN)  
Debug Interrupt Enable Register (DBG_ENT_EN)  
Match Debounce Register (MATCH_DEB)  
PD Debounce Register (PD_DEB)  
VCONN OCS and Back-Drive Debounce Register (VCONN_DEB)  
CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) x=1  
CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) x=2  
VBUS Debounce Clear Enable Register (VBUS_DBCLR_EN)  
CCx Sample Enable Registers (CCx_SAMP_EN) x=1  
CCx Sample Enable Registers (CCx_SAMP_EN) x=2  
Reserved for future expansion  
CC Control Register (CC_CTL)  
CC Threshold x Registers (CC_THRx) x=0  
CC Threshold x Registers (CC_THRx) x=1  
CC Threshold x Registers (CC_THRx) x=2  
CC Threshold x Registers (CC_THRx) x=3  
CC Threshold x Registers (CC_THRx) x=4  
CC Threshold x Registers (CC_THRx) x=5  
CC Threshold x Registers (CC_THRx) x=6  
CC Threshold x Registers (CC_THRx) x=7  
CC Debounce Register (CC_DEB)  
0834h – 083Fh Reserved for future expansion  
0840h  
0842h  
0844h  
0846h  
VBUS Control Register (VBUS_CTL)  
VBUS Threshold x Registers (VBUS_THRx) x=0  
VBUS Threshold x Registers (VBUS_THRx) x=1  
VBUS Threshold x Registers (VBUS_THRx) x=2  
DS00002084C-page 84  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 9-9:  
Address  
SYSTEM CONTROL AND STATUS REGISTERS MAP (CONTINUED)  
Register Name (Symbol)  
VBUS Threshold x Registers (VBUS_THRx) x=3  
0848h  
084Ah  
084Bh  
084Ch  
084Dh  
084Eh  
0850h  
0852h  
0854h  
0856h  
0858h  
085Ah  
085Ch  
085Eh  
0860h  
0862h  
0864h  
0866h  
0868h  
086Ah  
086Ch  
086Eh  
0870h  
0872h  
0874h  
0875h – 0885h  
0886h  
0888h  
VBUS Debounce Register (VBUS_DEB)  
VBUS Off Register (VBUS_OFF)  
VBUS Error Register (VBUS_ERR)  
Reserved for future expansion  
VBUS VSafe0V Threshold Register (VSAFE0V_THR)  
CFG_SELx Match Registers (CFG_SELx_MATCH) x=0  
CFG_SELx Match Registers (CFG_SELx_MATCH) x=1  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=0  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=1  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=2  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=3  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=4  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=5  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=6  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=7  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=8  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=9  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=10  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=11  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=12  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=13  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=14  
CFG_SEL Threshold x Registers (CFG_SEL_THRx) x=15  
CFG_SEL Debug Register (CFG_SEL_DBG)  
Reserved for future expansion  
VCONN Discharge Threshold Register (VCONN_DIS_THR)  
VCONN Discharge Time Register (VCONN_DIS_TIME)  
088Ah – 0BFFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 85  
UPD360  
9.12.1  
CC HARDWARE CONTROL REGISTER (CC_HW_CTL)  
Address:  
0800h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:14 SHORT_DET  
R/W  
00b  
Defines behavior in standalone DFP mode for handling the short circuit  
condition.  
0xb: A0 functionality maintained where VBUS short is not checked before  
initiating VBUS discharge.  
10b: Device initiates VBUS discharge only after short circuit condition has  
been removed.  
11b: Device initiates VBUS discharge after short circuit condition has been  
removed or a time equal to TCYCLE.  
Note:  
This field only has meaning for standalone DFP operation.  
13  
12  
RESERVED  
RO  
-
BLK_PD_MSG  
R/W  
0b  
This bit causes the CC debouncer to pause whenever a PD message is  
detected by the MAC. This applies for both transmit and receive messages.  
After the message is processed  
0b: Disable PD message filtering.  
1b: Enable PD message filtering.  
Note:  
This must be enabled for collision detection.  
11  
MATCH_DB_UNITS  
R/W  
0b  
This bit defines the units of the Match Debounce Register (MATCH_DEB).  
0b: Match debounce has units of 1.6 ms.  
1b: Match debounce has units of 100 us.  
Note:  
1.6 ms is derived from the time to cycle through all thresholds on  
both CC pins.  
10  
9
DEVICE_MODE  
RO  
RO  
0b  
0b  
Indicates the current mode of the device.  
0b: Device is in Companion Mode  
1b: Device is in Standalone Mode (UPD360-A/UPD360-B only)  
CC_DB_ACTIVE  
When this bit reads back 0b, the debouncer is disabled. The CC debouncer is  
enabled when it reads back 1b.  
Note:  
Software may poll this bit to determine when the CC debouncer is  
disabled, which can be used as a condition for programming a new  
configuration.  
8
DEVICE_STATE  
Indicates the current state of the device attachment.  
RO  
0b  
0b: Device is not attached  
1b: Device is attached  
DS00002084C-page 86  
2016-2017 Microchip Technology Inc.  
UPD360  
Bits  
Description  
Type  
Default  
7:6  
Power Capability  
RO  
Note 9-2  
Indicates the charging current capacity of the device as defined by the PWR_-  
CAPx pins. (UPD360-A/UPD360-B only)  
This field only has meaning for configurations where the PWR_CAPx pins are  
available (UPD360-A/UPD360-B only).  
5:3  
2
Detach Threshold Select  
R/W  
R/W  
Note 9-2  
Note 9-3  
Defines which CC threshold shall be used for determining a detach when  
operating as a standalone DFP (UPD360-A/UPD360-B only).  
Device Role  
0b: Device configured as UFP.  
1b: Device configured as DFP.  
Note:  
This bit must not be modified while the CC debouncer is enabled.  
1
0
RESERVED  
RO  
-
Standalone Operation  
0b: Companion Mode  
R/W  
Note 9-1  
1b: Standalone mode (UPD360-A/UPD360-B only)  
Standalone mode:  
This is the mode of operation supported for standalone operation. During  
standalone operation, the I2C interface may not be available and the host  
CPU is not capable of managing the UPD360.  
The following functions can be handled by the internal logic when this bit is  
set:  
• VCONN Enabled/Disable  
• Attach detection and assertion of ATTACH  
• Detach detection and de-assertion of ATTACH  
• Orientation detection and assertion/de-assertion of ORIENTATION pin  
• Enables CC de-bouncer.  
Note 9-1  
Note 9-2  
Default is 1b when a standalone configuration is selected otherwise the default is 0b.  
Default is a function of the PWR_CAP0 and PWR_CAP1 pins, when the configuration supports these  
pins. Otherwise the default is 0h.  
Note 9-3  
Default is a function of the CFG_SEL0 and CFG_SEL1 pins. When the configuration indicates UFP  
configuration this bit defaults to 0b. For DFP operation this bit defaults to 1b. When neither UFP or  
DFP is specified the default shall be 0b.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 87  
UPD360  
9.12.2  
CC INTERRUPT STATUS REGISTER (CC_INT_STS)  
Address:  
0803h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
7
CC_MATCH_VLD  
R/WC  
0b  
Asserts after the CC debouncer is first enabled, via CC Comparator Control,  
and the first match becomes valid in CCx Match Registers (CCx_MATCH).  
6
RP_CHG  
R/WC  
0b  
When operating as a standalone UFP, this interrupt indicates a change in the  
state of the RP value advertised by the DFP has been detected (UPD360-A/  
UPD360-B only).  
Note:  
This bit is RO when the device is not configured as a standalone  
UFP and will always read back 0b.  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
Note:  
The updated current advertisement is available via the DFP Cur-  
rent Advertisement field in the CC Control Register (CC_CTL).  
5
DETACH  
R/WC  
0b  
Indicates a detach event has occurred when the device has been configured  
to support standalone mode per the Standalone Operation field in the CC  
Control Register (CC_CTL) (UPD360-A/UPD360-B only).  
DFP Operation: CC pins are monitored for detecting a detach.  
UFP Operation: VBUS is monitored for detecting a detach.  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
4
ATTACH  
R/WC  
0b  
Indicates an attach event has occurred when the device has been configured  
to support standalone mode per the Standalone Operation field in the CC  
Control Register (CC_CTL) (UPD360-A/UPD360-B only).  
DFP Operation: CC pins are monitored for an attach.  
UFP Operation: CC pins and VBUS are monitored for an attach.  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
3:2  
1
RESERVED  
RO  
RO  
-
CC2_MATCH_CHG  
Indicates the a change occurred in the state of the respective CCx Change  
0b  
Status Registers (CCx_CHG_STS).  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
0
CC1_MATCH_CHG  
Indicates the a change occurred in the state of the respective CCx Change  
RO  
0b  
Status Registers (CCx_CHG_STS).  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
DS00002084C-page 88  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.3  
CCX CHANGE STATUS REGISTERS (CCX_CHG_STS)  
Address:  
x=1: 0804h  
x=2: 0805h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
CCx Change Status  
When set, each bit indicates that the respective bit in the CCx Match Regis-  
ters (CCx_MATCH) has changed.  
R/WC  
0h  
A write of 1b clears the respective status bit.  
9.12.4  
CCX MATCH REGISTERS (CCX_MATCH)  
Address:  
x=1: 0806h  
x=2: 0807h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
CCx Threshold Match (CCx_MATCH)  
RO  
Note 9-4  
When set, each bit indicates that the respective threshold programmed in the  
CC Threshold x Registers (CC_THRx) was matched. A match is determined  
when the measured voltage exceeds the programmed threshold.  
These registers are updated after the Match Debounce Register  
(MATCH_DEB) while in the Unattached state. While in AttachWait state,  
these registers are updated after the PD Debounce Register (PD_DEB) if  
vOpen is seen for a time greater than in the PD Debounce Register  
(PD_DEB). While in Attached Source / Attached Sink states (e.g. detecting  
detach) the match registers are updated after the PD Debounce Register  
(PD_DEB).  
Note:  
This register will always read the default value until the CC com-  
parator is enabled when not operating in standalone mode.  
Note:  
The contents of this register are debounced per the settings in the  
CCx Debounce Clear Enable Registers (CCx_DBCLR_EN), other-  
wise the raw value shall be shown.  
Note 9-4  
Defaults to FFh when the device is configured as a DFP and 00h when configured as a UFP, per the  
Device Role field in the CC Control Register (CC_CTL).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 89  
UPD360  
9.12.5  
VBUS MATCH REGISTER (VBUS_MATCH)  
Address:  
0808h  
Size:  
8 bits  
Indicates which VBUS thresholds are matched on VBUS_DET pin. A match is determined when the measured voltage  
exceeds the programmed threshold.  
Note:  
Note:  
When not operating in standalone mode, this register will always read 0h until the VBUS comparator is  
enabled.  
The contents of this register shall be debounced per the settings in VBUS Debounce Clear Enable Register  
(VBUS_DBCLR_EN).  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5
4
3
2
1
0
VBUS Threshold 3 Match (VBUS3_THR_MATCH)  
VBUS Threshold 2 Match (VBUS2_THR_MATCH)  
VBUS Threshold 1 Match (VBUS1_THR_MATCH)  
VBUS Threshold 0 Match (VBUS0_THR_MATCH)  
RESERVED  
RO  
RO  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
-
VBUS VSafe0v Match (VSAFE0V_THR_MATCH)  
0b  
9.12.6  
VBUS CHANGE STATUS REGISTER (VBUS_CHG_STS)  
Address:  
0809h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
VBUS Change Status (VBUS_CHG_STS)  
When set, each bit indicates that the respective bit in VBUS Match Register  
(VBUS_MATCH) has changed.  
R/WC  
0h  
A write of 1b clears the respective status bit.  
DS00002084C-page 90  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.7  
POWER INTERRUPT STATUS REGISTER (PWR_INT_STS)  
Address:  
080Ah  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
VBUS_MATCH_VLD  
R/WC  
0b  
Asserts after the VBUS debouncer is first enabled, via VBUS Comparator  
Control, and the first match becomes valid in VBUS Match Register (VBUS_-  
MATCH).  
6
VCONN Discharge Error (VCONN_DISCH_ERR)  
When set this bit indicates that a VCONN discharge error has been detected.  
This bit is only available in standalone DFP mode and is otherwise reserved.  
R/WC  
0b  
A discharge error is tracked when VCONN Discharge Control is set to 00b  
or 01b. A discharge error is asserted when VCONN fails to fall below VCONN  
Discharge Threshold (VCONN_DIS_THR) after a time greater than VCONN  
Discharge Time (VCONN_DIS_TIME) elapses.  
5
4
CC2 Back-Drive Error  
R/WC  
R/WC  
0b  
0b  
When set, indicates that back-drive has been detected on the CC2 pin.  
Note:  
The source of this input is a level and persists until the error condi-  
tion stops.  
VBUS Discharge Error  
When set, indicates that the an interval greater than defined in the VBUS Off  
Register (VBUS_OFF) has elapsed while attempting to discharge VBUS.  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
3
2
VCONN2 FET Power  
R/WC  
R/WC  
0b  
0b  
The integrated VCONN2 FET is enabled and providing power.  
This bit only has usefulness for standalone operation or where VCONN is  
explicitly enabled by the host.  
Note:  
The source of this input is a level and persists until the VCONN is  
no longer present.  
VCONN1 FET Power  
The integrated VCONN1 FET is enabled and providing power.  
This bit only has usefulness for standalone operation or where VCONN is  
explicitly enabled by the host.  
Note:  
The source of this input is a level and persists until the VCONN is  
no longer present.  
1
0
CC1 Back-Drive Error  
R/WC  
R/WC  
0b  
0b  
When set indicates that back-drive has been detected on the CC1 pin.  
Note:  
The source of this input is a level and persists until the error condi-  
tion stops.  
VCONN Over-Current Error  
Indicates an over-current has been detected on the integrated VCONN FET.  
Note:  
The source of this input is a level and persists until the error condi-  
tion stops.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 91  
UPD360  
9.12.8  
DEBUG INTERRUPT STATUS REGISTER (DBG_INT_STS)  
Address:  
080Bh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
VCONN_DISCH_STS  
When set, indicates that the CC pin previously sourcing VCONN is being  
discharged.  
RO  
0h  
3
R/WC  
0b  
This bit only exists in standalone DFP mode and is otherwise reserved.  
2
1
VBUS_DISCH  
R/WC  
R/WC  
0b  
0b  
When set indicates this indicates that VBUS is being discharged.  
Note:  
The source of this input is a level and it persists until the discharge  
has completed.  
CFG_SEL1 Done  
When set, indicates that all CFG_SEL Threshold x Registers  
(CFG_SEL_THRx) have been measured in response to the request enabled  
by VBUS Comparator Control to sample the CFG_SEL1 pin and the results  
are readable in the respective CFG_SELx Match Registers (CFG_SELx_-  
MATCH) (UPD360-A/UPD360-B only).  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
0
CFG_SEL0 Done  
When set, indicates that all CFG_SEL Threshold x Registers  
R/WC  
0b  
(CFG_SEL_THRx) have been measured in response to the request enabled  
by VBUS Comparator Control to sample the CFG_SEL0 pin and the results  
are readable in the respective CFG_SELx Match Registers (CFG_SELx_-  
MATCH).  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
9.12.9  
CC INTERRUPT ENABLE REGISTER (CC_INT_EN)  
Address:  
0811h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
CC Interrupt Enable  
When “0”, prevents generation of the respective interrupt.  
R/W  
0000b  
3:2  
1:0  
RESERVED  
-
00b  
00b  
CC Interrupt Enable  
When “0”, prevents generation of the respective interrupt.  
R/W  
DS00002084C-page 92  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.10 CCX MATCH ENABLE REGISTERS (CCX_MATCH_EN)  
Address:  
x=1: 0812h  
x=2: 0813h  
Size:  
8 bits  
Bits  
Description  
Type  
R/W  
Default  
7:0  
CCx Match Enable  
00h  
When set, the corresponding bit in the CCx Change Status Registers (CCx-  
_CHG_STS) can cause the assertion of the respective CCx Match Change  
interrupt (CC1_MATCH_CHG/CC2_MATCH_CHG).  
9.12.11 VBUS MATCH ENABLE REGISTER (VBUS_MATCH_EN)  
Address:  
0814h  
Size:  
8 bits  
When set, the corresponding bit in the VBUS Change Status Register (VBUS_CHG_STS) can cause the assertion of  
the VBUS_INT interrupt.  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5
4
3
2
1
0
VBUS Match Enable[5]  
VBUS Match Enable[4]  
VBUS Match Enable[3]  
VBUS Match Enable[2]  
VBUS Match Enable[1]  
VBUS Match Enable[0]  
R/W  
R/W  
R/W  
R/W  
RO  
0b  
0b  
0b  
0b  
0b  
0b  
R/W  
9.12.12 POWER INTERRUPT ENABLE REGISTER (PWR_INT_EN)  
Address:  
0815h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
Power Interrupt Enable [7:0]  
When “0”, prevents generation of the respective interrupt.  
R/W  
0h  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 93  
UPD360  
9.12.13 DEBUG INTERRUPT ENABLE REGISTER (DBG_ENT_EN)  
Address:  
0816h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
RO  
0h  
3
Debug Interrupt Enable 3  
When “0”, prevents generation of the respective interrupt.  
R/W  
R/W  
0b  
0h  
This bit only exists in standalone DFP mode and is otherwise reserved.  
2:0  
Debug Interrupt Enable [2:0]  
When “0”, prevents generation of the respective interrupt.  
9.12.14 MATCH DEBOUNCE REGISTER (MATCH_DEB)  
Address:  
0817h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
Match Debounce  
R/W  
2h  
Defines the debounce period utilized before updating the CCx Match Regis-  
ters (CCx_MATCH) when not operating in standalone mode.  
The units of this register is determined by MATCH_DB_UNITS bit in CC  
Hardware Control Register (CC_HW_CTL). When this bit is clear, the units  
are 1.6 ms. When this bit is set, the units are 100 us.  
Note:  
Note:  
Note:  
This register must not be modified while the CC debouncer is  
enabled.  
The actual debounce time may be +/-1 from the cycle time pro-  
grammed.  
The value programmed in this CSR should be at least equal to the  
number of thresholds enabled in CCx Sample Enable Registers  
(CCx_SAMP_EN). This is only an issue when MATCH_DB_UNITS  
is set to 1b.  
9.12.15 PD DEBOUNCE REGISTER (PD_DEB)  
Address:  
0818h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
PD Debounce (PD_DEB)  
Period used for implementing tPdDebounce  
R/W  
Ah  
.
Note:  
Note:  
This register must not be modified while the CC debouncer is  
enabled.  
This register has units of 1 ms.  
DS00002084C-page 94  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.16 VCONN OCS AND BACK-DRIVE DEBOUNCE REGISTER (VCONN_DEB)  
Address:  
0819h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
VCONN and Back-Drive Debounce (VCONN_DEB)  
Period used for implementing debounce of over-current detected on VCONN  
FET as well as back-drive detected on the CC pins.  
R/W  
2h  
Note:  
Note:  
This register has units of 1 ms.  
This register should not be changed when VCONN OCS Enable is  
set.  
9.12.17 CCX DEBOUNCE CLEAR ENABLE REGISTERS (CCX_DBCLR_EN)  
Address:  
x=1: 081Ah  
x=2: 081Bh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
CC Debounce Clear Enable (CC_DBCLR_DEB)  
R/W  
Note 9-5  
When a bit is set, the respective threshold shall be included in the CC  
debouncer. Alternatively, when cleared the respective threshold shall no lon-  
ger be considered by the debouncer.  
When CCx_DBCLR_EN bits are set on-the-fly, if a mismatch between the cur-  
rent raw match vector (for the new CCx_DBCLR_EN) and the previous raw  
match vector (for the old CCx_DBCLR_EN) exists, the DB will be reset.  
Note:  
Clearing bits in this register at run time does not reset the  
debouncer.  
Note:  
The CC debouncer encompasses both CC1/CC2 pins. A detected  
change for a threshold on either pin results in the debouncer reset-  
ting.  
Note:  
Even though this register may change on-the-fly, the internal logic  
will enable the change only at the end of the scan cycle, which is a  
function of whether the CC1/CC2 pins are actively sampled and the  
CCx Sample Enable Registers (CCx_SAMP_EN).  
Note 9-5  
The default depends on the device’s configuration, as shown in table Table 9-10 which depends upon  
CFG_SEL0, PWR_CAP0, and PWR_CAP1 pins.  
APPLICATION NOTE: Clearing a bit in CCx Debounce Clear Enable Registers (CCx_DBCLR_EN) shall cause the  
respective bit in CCx Match Registers (CCx_MATCH) to be immediately updated upon a  
change in state of the associated threshold. This causes a state change in CCx Change  
Status Registers (CCx_CHG_STS) and assertion of CC_INT, if enabled. To prevent this CCx  
Match Enable Registers (CCx_MATCH_EN) should be updated before the CCx Debounce  
Clear Enable Registers (CCx_DBCLR_EN) by having the associated threshold cleared.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 95  
UPD360  
TABLE 9-10: CCX_DBLCLR_DEB DEFAULTS  
Configuration  
Bit 0  
Bit 1  
Bit 2  
Bit 3  
Bit 4  
Bit 5  
Bit 6  
Bit 7  
Standalone UFP  
1
0
1
0
1
0
0
0
(UPD360-A/UPD360-B only)  
Standalone DFP (Default Current)  
(UPD360-A/UPD360-B only)  
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
0
Standalone DFP (1.5 A)  
(UPD360-A/UPD360-B only)  
Standalone DFP (3.0 A)  
(UPD360-A/UPD360-B only)  
Other  
9.12.18 VBUS DEBOUNCE CLEAR ENABLE REGISTER (VBUS_DBCLR_EN)  
Address:  
081Ch  
Size:  
8 bits  
When a bit is set, the respective threshold shall be included in the VBUS debouncer. Alternatively, when cleared, the  
respective threshold shall no longer be considered by the debouncer.  
When VBUS_DBCLR_EN bits are set on-the-fly, if a mismatch between the current raw match vector (for the new  
VBUS_DBCLR_EN) and the previous raw match vector (for the old VBUS_DBCLR_EN) exists, the DB will be reset.  
Note:  
Clearing bits in this register at run time does not reset the debouncer.  
APPLICATION NOTE: Clearing a bit in VBUS Debounce Clear Enable Register (VBUS_DBCLR_EN) shall cause  
the respective bit in VBUS Match Register (VBUS_MATCH) to be immediately updated upon  
a change in state of the associated threshold. This causes a state change in VBUS Change  
Status Register (VBUS_CHG_STS) and assertion of VBUS_INT, if enabled. To prevent this,  
the VBUS Match Register (VBUS_MATCH) should be updated before the VBUS Debounce  
Clear Enable Register (VBUS_DBCLR_EN) by having the associated threshold cleared.  
BITS  
DESCRIPTION  
TYPE  
RO  
DEFAULT  
-
7:6  
5
RESERVED  
VBUS Debounce Clear Enable (VBUS3_DBCLR_DEB)  
VBUS Debounce Clear Enable (VBUS2_DBCLR_DEB)  
VBUS Debounce Clear Enable (VBUS1_DBCLR_DEB)  
VBUS Debounce Clear Enable (VBUS0_DBCLR_DEB)  
RESERVED  
R/W  
R/W  
R/W  
R/W  
RO  
Note 9-6  
Note 9-6  
Note 9-6  
Note 9-6  
-
4
3
2
1
0
VSAFE0V Debounce Clear Enable 9 (VSAFE0V_DBCLR_DEB)  
R/W  
Note 9-6  
Note 9-6  
The default depends on the device’s configuration, as shown in table Table 9-11 which depends upon  
CFG_SEL0 pin.  
DS00002084C-page 96  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 9-11: VBUS_DBCLR_EN DEFAULTS  
Configuration  
Bit 0  
Bit 1  
Bit 2  
Bit 3  
Bit 4  
Bit 5  
Bit 6  
Bit 7  
Standalone UFP  
1
0
1
1
0
0
0
0
(UPD360-A/UPD360-B only)  
Standalone DFP  
(UPD360-A/UPD360-B only)  
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
Other  
9.12.19 CCX SAMPLE ENABLE REGISTERS (CCX_SAMP_EN)  
Address:  
x=1: 081Dh  
x=2: 081Eh  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:0  
CC Sample Enable (CC_SAMP_EN)  
R/W  
FFh  
When a bit is set, the respective CC threshold will be sampled by the CC  
debouncer. When a bit cleared to 0b, the corresponding bit(s) in the CCx  
Match Registers (CCx_MATCH) and CCx Change Status Registers  
(CCx_CHG_STS) will always read 0b.  
This register enables a reduction in latency for taking threshold  
measurements by only having thresholds of interest being sampled.  
Note:  
For standalone DFP/UFP operation this register may remain set to  
FFh, as latency for sampling CC thresholds in this case is not a  
limitation.  
Note:  
This register must be used to implement Collision Avoidance.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 97  
UPD360  
9.12.20 CC CONTROL REGISTER (CC_CTL)  
Address:  
0820h  
Size:  
16 bits  
The register controls the pull-down resistors and current sources on the respective CC1/CC2 pin.  
Bits  
Description  
Type  
Default  
15  
RA Detect  
R/WC  
0b  
When set, indicates that an RA resistor has been detected.  
This bit is set by the device when Standalone Operation is configured for  
standalone mode. The device updates this field after an attach has been  
detected.  
14:13 CC Comparator Control  
00b: CC Comparator and DAC powered-down  
Note 9-7  
00b  
01b: CC Comparator samples CC1  
10b: CC Comparator samples CC2  
11b: CC Comparator samples CC1 and CC2  
Note:  
Note:  
Note:  
A sample is taken every 100 us. The current source reference shall  
also be powered down when a value of 00b is set.  
This field is RO and the contents are 11b when standalone mode  
is enabled.  
This field is used in conjunction with the CCx Sample Enable Reg-  
isters (CCx_SAMP_EN) which constrains the number of thresh-  
olds monitored on the enabled CC pin(s).  
12  
CC Communication Select  
0b: CC1 is used for baseband communication.  
Note 9-7  
0b  
1b: CC2 is used for baseband communication.  
This bit is set by the device when Standalone Operation is configured for  
standalone mode. The device updates this field after an attach has been  
detected.  
This bit is RO and reflects the state determined by the internal logic. In stand-  
alone mode, this bit matches the state of the ORIENTATION pin (UPD360-A/  
UPD360-B only).  
11:10 CC2 RP Value  
00b: RP current source disabled  
R/W  
R/W  
00b  
Note 9-8  
01b: RP current source enabled, default USB power  
10b: RP current source enabled, 1.5A  
11b: RP current source enabled, 3.0A  
Controls RP value on CC2 pin.  
9:8  
CC1 RP Value  
00b: RP current source disabled  
00b  
Note 9-8  
01b: RP current source enabled, default USB power  
10b: RP current source enabled, 1.5A  
11b: RP current source enabled, 3.0A  
Controls RP value on CC1 pin.  
DS00002084C-page 98  
2016-2017 Microchip Technology Inc.  
UPD360  
Bits  
Description  
Type  
Default  
7:6  
DFP Current Advertisement  
RO  
00b  
When Standalone Operation is configured for standalone mode and the  
device is configured as UFP, Device Role, this field indicates the DFP’s adver-  
tised current. Otherwise this field shall be read back 00b.  
The device updates this field after an attach has been detected.  
0xb: RP current advertises default USB current  
10b: RP current advertises 1.5A  
11b: RP current advertises 3.0A  
5
RESERVED  
RO  
-
4:3  
CC2 Pull-Down Value  
00b: Dead battery RD resistor selected  
R/W  
Note 9-9  
01b: Trimmed RD resistor selected  
10b: Trimmed RA resistor selected.  
11b: Open Disconnect.  
2
RESERVED  
RO  
-
1:0  
CC1 Pull-Down Value  
00b: Dead battery RD resistor selected  
R/W  
Note 9-9  
01b: Trimmed RD resistor selected  
10b: Trimmed RA resistor selected.  
11b: Open Disconnect.  
Note 9-7  
Note 9-8  
This bit is RO when operating in standalone mode. Otherwise it is R/W.  
This field’s default is a function of the PWR_CAP0 and PWR_CAP1 pins when in standalone DFP  
mode (see Section 9.8.1, "Configuration Selection") (UPD360-A/UPD360-B only). Otherwise the  
default is 00b.  
Note 9-9  
For standalone DFP and standalone UFP, the value is 00b until the system reset completes.  
Afterwards, the default for standalone DFP is 11b and for standalone UFP is 01b.  
9.12.21 CC THRESHOLD X REGISTERS (CC_THRX)  
Address:  
x=0: 0822h  
x=1: 0824h  
x=2: 0826h  
x=3: 0828h  
x=4: 082Ah  
x=5: 082Ch  
x=6: 082Eh  
x=7: 0830h  
Size:  
16 bits  
Bits  
15:10 RESERVED  
Description  
Type  
Default  
RO  
-
9:0  
CC Threshold X (CC_THRX)  
CC Threshold X register.  
R/W  
Note 9-10  
Note:  
Note:  
The units of this register are ~2.44 mV from a 2.5V/1024.  
This register must not be modified while the CC debouncer is  
enabled.  
Note 9-10  
The default varies as shown in Table 9-12.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 99  
UPD360  
TABLE 9-12: CC_THR DEFAULTS  
CC_THR  
Type-C Threshold  
R/2R Divider  
VALUE  
0
1
2
3
4
5
6
7
0.2  
0.4  
0.66  
0.8  
1.23  
1.6  
2.6  
3
0.13  
0.27  
0.44  
0.53  
0.82  
1.07  
1.73  
2
55  
109  
180  
219  
336  
437  
710  
820  
APPLICATION NOTE: The CC Comparator must be powered down before updating these registers.  
9.12.22 CC DEBOUNCE REGISTER (CC_DEB)  
Address:  
0832h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
CC Debounce (CC_DEB)  
Period used for implementing tCCDebounce  
R/W  
Fh  
.
Note:  
Note:  
This register must not be modified while the CC debouncer is  
enabled.  
This register has units of 10 ms.  
9.12.23 VBUS CONTROL REGISTER (VBUS_CTL)  
Address:  
0840h  
Size:  
16 bits  
Bits  
15:12 RESERVED  
Description  
Type  
Default  
RO  
-
11  
CC Back-Drive Enable  
Enables the monitoring of the back-drive condition on both CC pins.  
R/W  
Note 9-11  
When back-drive is detected, if the VCONN FET is enabled on the erred CC  
pin, it shall be automatically disabled.  
0b: CC Back-Drive disabled  
1b: CC Back-Drive enabled  
10  
IBUS_LOW  
R/W  
0b  
Determines whether IBUS Low is asserted during standalone mode when  
PPC’s DISCH_SEL is cleared and a VBUS discharge is occurring.  
0b: Do not assert IBUS Low  
1b: Assert IBUS Low  
DS00002084C-page 100  
2016-2017 Microchip Technology Inc.  
UPD360  
Bits  
Description  
Type  
R/W  
Default  
9:8  
OCS_MIN  
00b  
Defines the minimum guaranteed assertion time for OCS_N when operating in  
standalone DFP mode (UPD360-A/UPD360-B only).  
00b: 5 ms  
01b: 10 ms  
10b: 20 ms  
11b: 30 ms  
7
VBUS_DB_ACTIVE  
When this bit reads back 0b, the debouncer is disabled. The VBUS debouncer  
RO  
0b  
is enabled when it reads back 1b.  
Note:  
Firmware polls this bit to determine when debouncer is disabled  
and a new configuration may be programmed.  
6
VCONN OCS Enable  
R/W  
R/W  
Note 9-11  
00b  
Enables the monitoring of over current condition on the internal VCONN FETs.  
0b: VCONN OCS monitor is disabled  
1b: VCONN OCS monitor is enabled  
5:4  
VCONN Discharge Control  
This field determines the VCONN discharge behavior. It only has meaning in  
DFP standalone mode and should not be used by firmware when operating  
in companion mode.  
The discharge occurs on the CC pin that was supplying VCONN.  
00b: Discharge VCONN until either the threshold defined by the VCONN  
Discharge Threshold Register (VCONN_DIS_THR) is reached or the time  
specified by the VCONN Discharge Time Register (VCONN_DIS_TIME) has  
expired.  
01b: VCONN discharge is not supported.  
10b: Discharge VCONN until threshold defined by VCONN Discharge  
Threshold Register (VCONN_DIS_THR) is reached.  
11b: Discharge VCONN for the time specified by VCONN Discharge Time  
Register (VCONN_DIS_TIME).  
Note:  
For options 0xb a VCONN discharge error is detected if the timer  
expires and VCONN has not discharged below VCONN Discharge  
Time Register (VCONN_DIS_TIME).  
3
VCONN2 Control  
Enables the VCONN2 FET.  
R/W  
0b  
0b: VCONN2 FET is disabled  
1b: VCONN2 FET is enabled  
This bit has no meaning when in standalone mode (see Standalone Opera-  
tion).  
This bit automatically clears when a debounce VCONN OCS event occurs per  
the assertion of VCONN Discharge Error (VCONN_DISCH_ERR).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 101  
UPD360  
Bits  
Description  
Type  
Default  
2
VCONN1 Control  
Enables the VCONN1 FET.  
R/W  
0b  
0b: VCONN1 FET is disabled  
1b: VCONN1 FET is enabled  
This bit has no meaning when in standalone mode (see Standalone Opera-  
tion).  
This bit automatically clears when a debounce VCONN OCS event occurs per  
the assertion of VCONN Discharge Error (VCONN_DISCH_ERR)  
1:0  
VBUS Comparator Control  
00b: Comparator and DAC disabled  
Note 9-12  
00b  
01b: Sample VBUS  
10b: Sample CFG_SEL0  
11b: Sample CFG_SEL1 (UPD360-A/UPD360-B only)  
After the sample of CFG_SEL0 or CFG_SEL1 has completed, this register  
resets itself to 00b and disables the VBUS comparator.  
Note:  
This field is forced to 01b by hardware when operating as a stand-  
alone UFP.  
Note 9-11  
Note 9-12  
This default value is 1 when operating in standalone DFP mode. Otherwise, the default value is 0.  
This field is RO and reads back 01b when operating in UFP standalone mode. In standalone mode  
this value does not indicate that VBUS is being actively measured. Whether or not VBUS is being  
actively measured can be determined by reading VBUS_DB_ACTIVE.  
9.12.24 VBUS THRESHOLD X REGISTERS (VBUS_THRX)  
Address:  
x=0: 0842h  
x=1: 0844h  
x=2: 0846h  
x=3: 0848h  
Size:  
16 bits  
Bits  
15:10 RESERVED  
Description  
Type  
Default  
RO  
-
9:0  
VBUS Threshold X (VBUS_THRX)  
VBUS Threshold X register.  
R/W  
Note 9-13  
The lower byte of the threshold must be written before the upper byte. The  
entire 10-bit threshold is updated when the second write occurs.  
Note:  
The units of this register are ~2.44 mV from a 2.5V FS.  
Note 9-13  
The defaults are defined in Table 9-13.  
TABLE 9-13: VBUS_THR DEFAULTS  
VBUS_THR VBUS Threshold  
1R/9R Divider  
VALUE  
0
1
2
3
3.67  
5.5  
0.36  
0.54  
0.54  
0.54  
148  
222  
222  
222  
5.5  
5.5  
DS00002084C-page 102  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.25 VBUS DEBOUNCE REGISTER (VBUS_DEB)  
Address:  
084Ah  
Size:  
8 bits  
This register has units of 1 ms.  
Bits  
Description  
Type  
Default  
7:0  
VBUS Debounce (VBUS_DEB)  
Indicates debounce interval for the VBUS threshold comparators.  
R/W  
1h  
Note:  
This register must not be modified while the VBUS debouncer is  
enabled.  
9.12.26 VBUS OFF REGISTER (VBUS_OFF)  
Address:  
084Bh  
Size:  
8 bits  
This register has units of 10 ms.  
Bits  
Description  
Type  
Default  
7:0  
VBUS Off  
Defines timing after VBUS_DET discharges below VSafe0V.  
R/W  
10h  
9.12.27 VBUS ERROR REGISTER (VBUS_ERR)  
Address:  
084Ch  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:3  
RESERVED  
VCONN Discharge  
RO  
-
3
2
R/W  
R/W  
0b  
0b  
When set the VBUS Discharge error shall be enabled to place the device in  
the error state.  
VBUS Discharge  
When set, the VBUS Discharge error shall be enabled to place the device in  
the error state.  
Note:  
This bit is not applicable when the PPC is selected for VBUS  
discharge.  
1
0
VCONN OCS  
R/W  
R/W  
0b  
0b  
When set, the CC OCS error shall be enabled to place the device in the error  
state.  
CC Back-drive  
When set, the CC back-drive error shall be enabled to place the device in the  
error state.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 103  
UPD360  
9.12.28 VBUS VSAFE0V THRESHOLD REGISTER (VSAFE0V_THR)  
Address:  
084Eh  
Size:  
16 bits  
BITS  
15:10  
9:0  
DESCRIPTION  
TYPE  
RO  
DEFAULT  
-
RESERVED  
VSAFE0V Threshold (VSAFE0V_THR)  
R/W  
Note 9-14  
VSAFE0V Threshold register.  
The lower byte of the threshold must be written before the upper byte. The  
entire 10-bit threshold is updated when the second write occurs.  
Note:  
The units of this register are ~2.44 mV from a 2.5V FS.  
The defaults are defined in Table 9-14.  
Note 9-14  
TABLE 9-14: VSAFE0V_THR DEFAULTS  
VSAFE0V_THR VBUS Threshold  
VSAFE0V_THR 0.8  
1R/9R Divider  
VALUE  
32  
0.08  
APPLICATION NOTE: This register may be dynamically written to by software while the VBUS comparator is  
enabled, provided the rules for updating defined in the register description are followed.  
9.12.29 CFG_SELX MATCH REGISTERS (CFG_SELX_MATCH)  
Address:  
x=0: 0850h  
x=1: 0852h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:0  
Configuration Select X Match (CFG_SELX_MATCH)  
Indicates which configuration select thresholds are matched on the  
RO  
0h  
CFG_SELx pin. A match is determined when the measured voltage exceeds  
the programmed threshold. See Section 9.8.1, "Configuration Selection," on  
page 81.  
DS00002084C-page 104  
2016-2017 Microchip Technology Inc.  
UPD360  
9.12.30 CFG_SEL THRESHOLD X REGISTERS (CFG_SEL_THRX)  
Address:  
x=0: 0854h  
x=1: 0856h  
x=2: 0858h  
x=3: 085Ah  
x=4: 085Ch  
x=5: 085Eh  
x=6: 0860h  
x=7: 0862h  
x=8: 0864h  
x=9: 0866h  
x=10: 0868h  
x=11: 086Ah  
x=12: 086Ch  
x=13: 086Eh  
x=14: 0870h  
x=15: 0872h  
Size:  
16 bits  
A total of 16 thresholds are supported for decoding the resistor value on the CFG_SELx pins.  
Bits  
Description  
Type  
Default  
15:10 RESERVED  
RO  
-
9:0  
CFG_SEL Threshold (CFG_SEL_THR)  
R/W  
Note 9-15  
Note:  
The units of this register are ~2.44 mV from a 2.5V FS.  
Note 9-15  
The defaults are defined in Table 9-15.  
TABLE 9-15: CFG_SEL_THR DEFAULTS  
CFG_SEL_THR  
Default  
0
32  
1
96  
2
160  
224  
288  
352  
416  
480  
544  
608  
672  
736  
800  
864  
928  
992  
3
4
5
6
7
8
9
10  
11  
12  
13  
14  
15  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 105  
UPD360  
9.12.31 CFG_SEL DEBUG REGISTER (CFG_SEL_DBG)  
Address:  
0874h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:4  
CFG_SEL1_VAL  
RO  
0h  
This register stores a snapshot of the highest threshold matched when the  
device samples the CFG_SEL1 pin after a system level reset event (UPD360-  
A/UPD360-B only).  
3:0  
CFG_SEL0_VAL  
RO  
0h  
This register stores a snapshot of the highest threshold matched when the  
device samples the CFG_SEL0 pin after a system level reset event.  
9.12.32 VCONN DISCHARGE THRESHOLD REGISTER (VCONN_DIS_THR)  
Address:  
0886h  
Size:  
16 bits  
Bits  
15:10 RESERVED  
Description  
Type  
Default  
RO  
-
9:0  
VCONN Discharge Threshold (VCONN_DIS_THR)  
R/W  
41h  
Note 9-16  
This register defines the threshold used in standalone DFP mode for  
discharging VCONN.  
Note:  
The units of this register are ~2.44 mV from a 2.5V/1024.  
41 equates to 150mV after accounting for the R/2R divider.  
Note 9-16  
9.12.33 VCONN DISCHARGE TIME REGISTER (VCONN_DIS_TIME)  
Address:  
0888h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
7:0  
VCONN Discharge Time (VCONN_DIS_TIME)  
Defines the amount of time the CC pin supplying VCONN is discharged.  
Note: The units of this register are 10 ms.  
R/W  
04h  
DS00002084C-page 106  
2016-2017 Microchip Technology Inc.  
UPD360  
10.0 BASEBAND CC INTERFACE (BCI)  
The device integrates a Baseband CC Interface (BCI) to facilitate USB Power Delivery communication. This module  
bridges between the PD MAC/BMC and the analog front end. Baseband communication is initiated by the PD MAC,  
which interfaces to the BCI. The BCI implements the digital functions required to control TX baseband components.  
10.1 Baseband TX Data-flow  
The key responsibility of the BCI is to generate the wave form required for baseband communication. To this end, the  
BMC has a group of eight registers that define the Lo-Hi and Hi-Lo transitions for the generated BMC signal.  
When instructed to transition from Lo-Hi, the BCI steps through all BB TX Risex Registers (BB_RX_RISEx). Likewise  
when instructed to transition from Hi-Lo, the BCI steps through all BB TX Fallx Registers (BB_TX_FALLx). The BCI  
always presents the value at BB_TX_RISE0 or BB_RX_FALL0 first.  
APPLICATION NOTE: The user may replicate values if it is desired to use less than twelve unique values for this  
purpose.  
The following steps should be followed to program the BCI for data transmission:  
1. Software programs the BB TX Risex Registers (BB_RX_RISEx) and BB TX Fallx Registers (BB_TX_FALLx) to  
define the slew rate for rising and falling transitions.  
2. Software enables the PD MAC.  
3. The PD MAC initiates, either via firmware, or autonomously via a data transmission (GoodCRC). The PD MAC  
instructs the BCI to take the BB TX analog components out of power-down.  
4. After a sufficient time elapses for the analog to power up, the PD MAC begins transmission to the BMC encoder  
which drives the analog components.  
5. If the MAC requests a rising transition, the BCI steps through the BB TX Risex Registers (BB_RX_RISEx). Alter-  
natively, if the MAC requests a falling transition, the BCI steps through the BB TX Fallx Registers (BB_TX_-  
FALLx).  
6. When the PD MAC indicates the transmission has completed, the BCI powers down the TX analog components.  
10.2 Baseband RX Data-flow  
Baseband RX data is received by the BCI from the RX analog front end where it is compared to a threshold programmed  
by software. The CC RX DAC Value defines the trip point used for reception of baseband data. The field shall be pro-  
grammed to be 175 mV below the RX Eye center, as defined in the PD Specification for the mode in which the device  
is operating (Sourcing Power, Sinking Power, Power Neutral).  
In order to program the required trip point, the RX DAC Enable bit must be set and the CC RX DAC Value field in the  
CC RX DAC Control Register (CC_RX_DAC_CTL) must be programmed.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 107  
UPD360  
10.3 Baseband CC Interface Registers  
This section details the baseband CC interface registers. For an overview of the entire device register map, refer to Sec-  
tion 4.0, "Register Map," on page 19.  
TABLE 10-1: BASEBAND CC INTERFACE REGISTER MAP  
Address  
Register Name (Symbol)  
CC RX DAC Control Register (CC_RX_DAC_CTL)  
2800h  
2802h  
2803h  
2804h  
CC RX DAC Filter Register (CC_RX_DAC_FILT)  
Reserved for future expansion  
CC TX DAC Filter Register (CC_TX_DAC_FILT)  
2805h – 280Fh Reserved for future expansion  
2810h  
2812h  
2814h  
2816h  
2818h  
281Ah  
281Ch  
281Eh  
2820h  
2822h  
2824h  
2826h  
BB TX Risex Registers (BB_RX_RISEx) x=0  
BB TX Risex Registers (BB_RX_RISEx) x=1  
BB TX Risex Registers (BB_RX_RISEx) x=2  
BB TX Risex Registers (BB_RX_RISEx) x=3  
BB TX Risex Registers (BB_RX_RISEx) x=4  
BB TX Risex Registers (BB_RX_RISEx) x=5  
BB TX Risex Registers (BB_RX_RISEx) x=6  
BB TX Risex Registers (BB_RX_RISEx) x=7  
BB TX Risex Registers (BB_RX_RISEx) x=8  
BB TX Risex Registers (BB_RX_RISEx) x=9  
BB TX Risex Registers (BB_RX_RISEx) x=10  
BB TX Risex Registers (BB_RX_RISEx) x=11  
2828h – 282Fh Reserved for future expansion  
2830h  
2832h  
2834h  
2836h  
2838h  
283Ah  
283Ch  
283Eh  
2840h  
2842h  
2844h  
2846h  
BB TX Fallx Registers (BB_TX_FALLx) x=0  
BB TX Fallx Registers (BB_TX_FALLx) x=1  
BB TX Fallx Registers (BB_TX_FALLx) x=2  
BB TX Fallx Registers (BB_TX_FALLx) x=3  
BB TX Fallx Registers (BB_TX_FALLx) x=4  
BB TX Fallx Registers (BB_TX_FALLx) x=5  
BB TX Fallx Registers (BB_TX_FALLx) x=6  
BB TX Fallx Registers (BB_TX_FALLx) x=7  
BB TX Fallx Registers (BB_TX_FALLx) x=8  
BB TX Fallx Registers (BB_TX_FALLx) x=9  
BB TX Fallx Registers (BB_TX_FALLx) x=10  
BB TX Fallx Registers (BB_TX_FALLx) x=11  
2848h – 2BFFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
DS00002084C-page 108  
2016-2017 Microchip Technology Inc.  
UPD360  
10.3.1  
CC RX DAC CONTROL REGISTER (CC_RX_DAC_CTL)  
Address:  
2800h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15  
RX DAC Enable  
0: Disable the CC RX DAC  
R/W  
0b  
1: Enable the CC RX DAC  
14:10  
9:0  
RESERVED  
RO  
-
CC RX DAC Value  
This register defines the trip point used for reception of baseband data.  
R/W  
0h  
Note:  
Note:  
The full scale range of this DAC is 1.8V.  
The DAC must be programmed to be 175mV below the desired RX  
Eye center.  
10.3.2  
CC RX DAC FILTER REGISTER (CC_RX_DAC_FILT)  
Address:  
2802h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
R/W  
R/W  
-
1
0
Select CC Rx Filter Configuration  
CC RX DAC Filter Enable  
0b  
0b  
10.3.3  
CC TX DAC FILTER REGISTER (CC_TX_DAC_FILT)  
Address:  
2804h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RO  
-
4
CC TX Filter Enable  
R/W  
R/W  
0
Enables CC TX filter and driver.  
3:0  
CC TX Filter  
Selects CC TX filter bandwidth.  
8h  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 109  
UPD360  
10.3.4  
BB TX RISEX REGISTERS (BB_RX_RISEX)  
Address:  
x=0: 2810h  
x=1: 2812h  
x=2: 2814h  
x=3: 2816h  
x=4: 2818h  
x=5: 281Ah  
x=6: 281Ch  
x=7: 281Eh  
x=8: 2820h  
x=9: 2822h  
x=10: 2824h  
x=11: 2826h  
Size:  
16 bits  
The BB TX Rise registers define the characteristics of the baseband waveform on rising transitions.  
Bits  
Description  
Type  
Default  
15:10 RESERVED  
RO  
-
9:0  
BB TX Rise Value  
Code presented to the CC TX DAC when implementing the rising transition for  
a baseband transmission.  
R/W  
0h  
10.3.5  
BB TX FALLX REGISTERS (BB_TX_FALLX)  
Address:  
x=0: 2830h  
x=1: 2832h  
x=2: 2834h  
x=3: 2836h  
x=4: 2838h  
x=5: 283Ah  
x=6: 283Ch  
x=7: 283Eh  
x=8: 2840h  
x=9: 2842h  
x=10: 2844h  
x=11: 2846h  
Size:  
16 bits  
The BB TX Fall registers define the characteristics of the baseband waveform on rising transitions.  
Bits  
Description  
Type  
Default  
15:10 RESERVED  
RO  
-
9:0  
BB TX Fall Value  
R/W  
0h  
Code presented to the CC TX DAC when implementing the falling transition  
for a baseband transmission.  
DS00002084C-page 110  
2016-2017 Microchip Technology Inc.  
UPD360  
11.0 POWER DELIVERY MAC  
The PD MAC implements certain features of the protocol layer and physical layer of the Universal Serial Bus Power  
Delivery Specification. On one end the PD MAC interfaces to the software implementing the bulk of protocol and higher  
level layers and on the other end it interfaces to a BMC encoder / decoder module.  
In addition to the normal TX and RX functions, the PD MAC implements the test mode logic defined in the USB PD  
specification (BIST).  
The PD MAC supports the following features:  
• Automatic TX Mode for packet framing and CRC32 insertion.  
• Raw TX Mode for bit level packet control.  
• Automatic GoodCRC response to received messages.  
• Automatic BIST Error Count Message in BIST RX Mode.  
• GoodCRCTimer implementation.  
• Automatic retries with programmable retry count.  
• Redundant receive packets automatically dropped in auto response mode.  
• 74 byte TX queue.  
• 128 byte RX queue.  
• Programmable TX Bit-time. Allows for changing operating frequency.  
• Programmable preamble length.  
• BIST TX and RX logic.  
• Programmable TX and RX queue modes - buffer mode and FIFO mode.  
• CRC32 generator for TX.  
• CRC32 calculator and comparator for RX.  
11.1 PD MAC Transmitter  
The PD MAC transmitter is comprised of three major blocks:  
TX Queue  
TX Control  
TX Comm  
The TX Queue is where software loads the message to be transmitted.  
The TX Control implements the necessary control logic. It is responsible for reading the data from the TX queue and  
based on the data processing mode (automatic or raw), processing the data to make it suitable (nibbles with control  
information) for use by the TX Comm. It is also responsible for generating packet framing and terminating the packet in  
automatic mode, and generating messages for automatic response (GoodCRC and BIST Error Count). TX Control also  
handles the selection of the SOP type that is to be transmitted.  
The TX Comm is comprised of a TX CRC generator, a 4b5b encoder, serializer, preamble generator, and TX bit timer.  
It takes the nibble data, computes and inserts the CRC, 5b encodes, and generates the baseband serial data. Preamble  
insertion is also performed by this logic.  
The following sub-sections describe the various blocks and sub-blocks in more detail. Some of the supported TX fea-  
tures are also described.  
11.1.1  
TX QUEUE  
The TX Queue is where software loads the message to be transmitted. The following sub-sections describe the TX  
Queue in more detail.  
11.1.1.1  
The TX Queue's write interface (MCU side) has two modes of operation: FIFO Mode and Buffer Mode.  
11.1.1.1.1 FIFO Mode  
TX Queue Modes of Operation  
This mode is enabled by setting the EN_FMQ bit in the TX Control Register A(TX_CTL_A). In this mode, software writes  
data into the TX Queue like a FIFO. Software can use any offset address in the range of 1800h-1849h (although 1800h  
would be logical to use). The FIFO is 74 entries deep. Data written to the FIFO cannot be read back by software.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 111  
UPD360  
11.1.1.1.2  
Buffer Mode  
This mode is selected when the EN_FMQ bit in the TX Control Register A (TX_CTL_A) is cleared (default after POR).  
In this mode, software writes data into the TX Queue as if it were writing to registers at different addresses. The offset  
address range is 1800h-1849h and the buffer has 74 locations.  
Only byte access should be used while accessing the TX Queue in this mode. Note that buffer offset address 1800h  
contains the least-significant-byte (LSB) (byte that goes out first). Buffer offset address 0x049 has the most-significant-  
byte (MSB) (byte that goes out last).  
Software can arbitrarily write or read any location in the buffer. Only one packet can be queued into the TX Queue at  
one time. Queuing of multiple packets is not supported.  
11.1.1.2  
TX Queue Data and Processing Modes  
The data placed in the TX Queue depends on the selected processing mode. Two modes are supported: “Auto Mode  
Data Processing” (AMDP) and “Raw Mode Data Processing” (RMDP).  
11.1.1.2.1  
Auto Mode Data Processing (AMDP)  
This mode is selected by clearing the EN_RMDP bit in the TX Control Register A (TX_CTL_A). In this mode, only the  
message data (header and data objects) to be transmitted is queued in the TX Queue. Further, the data is queued as  
bytes. Since there is no framing information with the data, the TX Packet Length Register (TX_PKT_LEN) is used to  
provide information about the length of message data. Hardware uses this information to determine when and where to  
append the CRC. Packet framing (preamble, SOP, and EOP) is automatically inserted by the hardware.  
11.1.1.2.2  
Raw Mode Data Processing (RMDP)  
This mode is selected by setting the EN_RMDP bit in the TX Control Register A (TX_CTL_A). In this mode, software is  
responsible for constructing the entire packet including framing, except the preamble and CRC. Since framing involves  
K-codes, the data placed in the queue is coded with control information. The data in each byte of the queue is treated  
as a “nibble” of packet data that either needs to be 5b encoded by hardware or a K-codes that should be transmitted  
without any 5b encoding. There are also some special control bytes to control insertion of CRC and termination of  
packet.  
When tx_queue_data[5] is “0” then tx_queue_data[3:0] is treated as 4b regular data. This 4b data goes through the  
CRC32 generator for CRC calculation and is encoded to 5b per Table 5-1 of USB PD Specification R1.0 (Table 11-1  
shows the 4b5b encoding).  
When tx_queue_data[5] is “1” then tx_queue_data[4:0] is treated as 5b K-code (see Table 11-1). This data is eliminated  
from the CRC calculation and does not go through any further encoding prior to transmission.  
The tx_queue_data[7:0] values of 8'hFF and 8'hFE have special meaning. 8'hFF implies that the packet data is done  
and hardware should now insert the calculated CRC32 (TX_INS_CRC). 8'hFE implies that the transmission should be  
stopped immediately (TX_STOP).  
Note that in RMDP, software can compute its own CRC and place it in the Queue as encoded data. In this case, the  
TX_INS_CRC code would not be added to the Queue and instead software would proceed with adding the EOP and  
terminating the transfer with TX_STOP.  
Table 11-1 shows how the byte wide queued data is interpreted or encoded by the transmission logic in raw mode.  
DS00002084C-page 112  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 11-1: RAW MODE DATA ENCODING  
tx_queue_data[5:0]  
Encoded Symbol  
tx_queue_data[5:0]  
Encoded Symbol  
6’h00  
6’h01  
6’h02  
6’h03  
6’h04  
6’h05  
6’h06  
6’h07  
5’b11110  
5’b01001  
5’b10100  
5’b10101  
5’b01010  
5’b01011  
5’b01110  
5’b01111  
6’h08  
6’h09  
6’h0A  
6’h0B  
6’h0C  
6’h0D  
6’h0E  
6’h0F  
5’b10010  
5’b10011  
5’b10110  
5’b10111  
5’b11010  
5’b11011  
5’b11100  
5’b11101  
tx_queue_data[5:0]  
K-Code  
Transmitted Data  
6’b1_11000  
6’b1_10001  
6’b1_01101  
6’b1_00111  
6’b1_11001  
Sync-1  
Sync-2  
EOP  
5’b11000  
5’b10001  
5’b01101  
5’b00111  
5’b11001  
RST1  
RST2  
tx_queue_data[5:0]  
Special Meaning  
8’hFE  
8’hFF  
TX_STOP  
TX_INS_CRC  
Note that the tx_queue_data[4:0] is passed as-is when tx_queue_data[5] is set to 1. Thus, software can send reserved  
symbols for error testing. The only caveat is that hardware cannot be used to generate and insert CRC. In this case,  
software should compute the necessary CRC32 and add it the data packet and skip the 0xFF code in the queue for CRC  
insertion.  
11.1.1.2.3  
TX Queue Programming Sequence - AMDP  
The following sequence should be used when programming a sequence in AMDP. This example assumes hardware  
performs packet framing and CRC insertion.  
1. Make sure the GO bit in the TX Control Register B (TX_CTL_B) is cleared, i.e., hardware is done with previous  
TX request.  
2. If using FIFO mode, clear the TX Queue WRI pointer by writing a “1” to the RST_TXQ_FIFO_WRI_PTR bit of the  
TX Control Register B (TX_CTL_B).  
3. Write the two header bytes.  
4. Write the payload data, if any.  
5. Write the number of bytes to the TX Packet Length Register (TX_PKT_LEN).  
6. Check to see if it is OK to transmit via the OK_TO_TX bit in the TX Control Register B (TX_CTL_B)).  
7. If OK_TO_TX: set the GO bit in the TX Control Register B (TX_CTL_B) to start transmission.  
Else: repeat step 6. Note: If an RX is in progress, the current TX may need to be abandoned.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 113  
UPD360  
11.1.1.2.4  
TX Queue Programming Sequence - RMDP  
The following sequence should be used when programming a sequence in RMDP. This example assumes hardware  
performs CRC insertion.  
1. Make sure the GO bit in the TX Control Register B (TX_CTL_B) is cleared, i.e., hardware is done with previous  
TX request.  
2. If using FIFO mode, clear the TX Queue WRI pointer by writing a “1” to the RST_TXQ_FIFO_WRI_PTR bit of the  
TX Control Register B (TX_CTL_B).  
3. Write the SOP K-Codes to the FIFO *Sync-1, Sync-1, Sync-1, Sync-2).  
4. Write two header bytes, splitting each byte into nibbles.  
5. Write the payload data, if any, splitting each byte into nibbles.  
6. Write the value “0xFF” to insert the CRC.  
7. Write the EOP K-Code (EOP).  
8. Write the value “0xFE” to terminate the transmission. Failure to write this value will cause transmission to con-  
tinue indefinitely looping on the TX buffer.  
9. Check to see if it is OK to transmit via the OK_TO_TX bit in the TX Control Register B (TX_CTL_B)).  
10. If OK_TO_TX: set the GO bit in the TX Control Register B (TX_CTL_B) to start transmission.  
Else: repeat step 9. Note: If an RX is in progress, the current TX may need to be abandoned.  
Note:  
The value of the TX Packet Length Register (TX_PKT_LEN) is ignored for this mode since hardware knows  
when to terminate the packet based on detection of TX_STOP control code.  
11.1.2  
TX CONTROL  
The TX Control implements the necessary control logic. It is responsible for reading the data from the TX queue and  
based on the data processing mode (automatic or raw), processing the data to make it suitable (nibbles with control  
information) for use by the TX Comm. It is also responsible for generating packet framing and terminating the packet in  
automatic mode, and generating messages for automatic response (GoodCRC and BIST Error Count). TX Control also  
handles the selection of the SOP type that is to be transmitted.  
11.1.2.1  
Transmit Requests  
There are four sources of transmit requests:  
• GoodCRC Ack from the receiver for a soft-reset  
• GoodCRC Ack from the receiver for a normal packet  
• BIST error count message from the BIST receiver  
• Transmit go from the software  
11.1.2.2  
Transmit Aborts  
Once packet transmission is initiated, the device will power up the analog and then wait for the bus turn-around timers  
and power-up timers to expire. During this wait, the transmission can be aborted by software and will be aborted by the  
device, when a good packet (including soft-reset), a hard reset, or a cable reset (if enabled and the SOP type of the  
pending TX is SOP', SOP'', SOP'_Debug or SOP''_Debug) is received.  
Once the bus turn-around time has expired (or if it was already expired) and the power up time is expired, the bus is  
checked for idle. If the bus is idle, the transmission is started. If the bus is not idle, the transmission is discarded and,  
typically, an abort status set. This discard can be disabled with the WAIT4LINE_IDLE bit in the TX Control Register A  
(TX_CTL_A) for all packets and is also disabled for auto response triggered GoodCRC Acks for received soft-resets  
(unless the feature is disabled via the DIS_SPCL_SR_GCRC_ACK bit).  
If the transmission is not discarded due to the bus being non-idle, the device waits for the bus to become idle and then,  
once again, waits the turn-around time. During the wait for bus idle, the transmission can be aborted by software and  
will be aborted by the hardware if a good packet, a hard reset or a cable reset (if enabled and the SOP type of the pend-  
ing TX is SOP', SOP'', SOP'_Debug or SOP''_Debug) is received.  
Software issued hard and cable resets are not aborted due to received good packets, hard resets or cable resets.  
DS00002084C-page 114  
2016-2017 Microchip Technology Inc.  
UPD360  
Note that for a received good packet to abort a pending transmission, the SOP type of the received packet must match  
the SOP type of the pending transmission, or the SOP type of the received packet must be SOP with the SOP type of  
the pending transmission being non-SOP (the latter can be disabled via the DIS_SOP_ABRTS_NON_SOP bit in the TX  
Control Register A (TX_CTL_A)) and, for messages other than Soft-Reset, the received message ID must indicate a  
non-duplicated packet (Soft-Resets are never considered duplicates). Ping and GoodCRC messages do not cause a  
transmission to abort.  
Separate TX interrupt abort bits and separate abort status registers are provided for software issued and auto-response  
packets.  
11.1.2.3  
Transmit Retries  
Transmitted packets are retried under two scenarios: bus idle violations, and GoodCRC response timeout.  
If the transmission is discarded due to the bus being non-idle, the option exists to retry instead of treating it as an abort.  
In order for this to occur, the packet must have been initiated by software, not be a hard or cable reset, auto response  
mode must be enabled, the retry count must be non-zero, and the RETRY_ON_LINE_BUSY bit in the TX Control Reg-  
ister A (TX_CTL_A) must be set. If after the specified number of retries, the transmission failed due to bus busy, the  
TX_FAILED status is set (not TX_ABORTED). Hard and Cable resets are not retried.  
Following the transmission of a software initiated frame (other than Hard and Cable resets), the device will start a timer  
and wait for a GoodCRC response to be indicated by the receiver. This assumes retries and / or the wait for GoodCRC  
are enabled.  
If a GoodCRC is received with the correct SOP type and message ID, then the wait is finished and the transmission is  
done. If a GoodCRC is received with the wrong SOP type or message ID, it is ignored by the transmitter (the transmitter  
is not even notified) and silently dropped by the receiver.  
If the wait for CRC timer expires and the remaining retry count is non-zero, the original packet is re-transmitted. If the  
remaining retry count is zero, then the packet is not retried and a failed status is indicated.  
The wait for GoodCRC will be aborted if any of the following are received:  
• A hard reset  
• A cable reset (if cable reset reception is enabled and the SOP type of the pending TX is SOP', SOP'', SOP'_De-  
bug or SOP''_Debug)  
• A soft-reset (if the SOP type of the RX is the same as that of the pending TX or the SOP type of the RX is SOP  
with the SOP type of the pending transmission being non-SOP)  
• A good packet other than a GoodCRC or Ping (if the SOP type of the RX is the same as that of the pending TX or  
the SOP type of the RX is SOP with the SOP type of the pending transmission being non-SOP (the latter can be  
disabled via the DIS_SOP_ABRTS_NON_SOP bit in the TX Control Register A (TX_CTL_A)) and the package is  
not a duplicate message)  
The latter two causes are considered to be protocol errors.  
The wait for GoodCRC can also be aborted by software. An aborted wait for GoodCRC is not retried.  
11.1.2.4  
Transmitter Disable  
In order to avoid a race condition where the software is currently issuing a transmit and the hardware is receiving a  
packet, the EN_FWTX bit in the TX Parameters Register A (TX_PARAM_A) is automatically cleared if a hard reset to a  
cable reset (if enabled - no SOP type checking is done since a transmission may not be pending) has been received  
(based on the RX_CABLE_RST and RX_HARD_RST bits in the RX Interrupt Status Register (RX_IRQ_STAT)) or if  
there is any data in the RX FIFO. Using the interrupt and FIFO status (level sensitive) instead of the even occurrence  
(edge) avoids another race condition where the software has set the EN_FWTX bit just following the event.  
11.1.3  
TX COMM  
The TX Comm is responsible for taking the coded nibbles from TX Control, encoding it if necessary, and serializing to  
make it ready for transmission. It is responsible for preamble insertion, CRC calculation, and CRC insertion. It also pro-  
vides the TX clock signal for the BMC encoder.  
11.1.3.1  
Preamble Insertion  
The device automatically adds the alternating “0” and “1” preamble to the transmitted packet. When the transmission of  
the preamble is completed, data from TX Queue is processed under direction of the TX Control.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 115  
UPD360  
The number of preamble bits sent is programmable by the value of the PREAMBLE_LEN bit in the TX Parameters Reg-  
ister B (TX_PARAM_B).  
Note:  
Setting the PREAMBLE_LEN field to an odd value will cause violation of the USB PD Specification which  
states “The preamble shall start with a “0” and shall end with a “1”.” An odd value will cause preamble to  
start with a value of “0” but it will also end in a value of “0.” Setting this field to an odd value may or may  
not lead to functional issues. Therefore, this field should be set to an even value to remain USB PD Spec-  
ification compliant.  
11.1.3.2  
TX CRC32  
The transmit CRC is reset at the start of transmission (setting of the GO bit in the TX Control Register B (TX_CTL_B)  
or by triggering of automatic response by hardware).  
The coded nibble data is streamed into the TX CRC32 one nibble at a time for CRC calculation. Only valid D-Code data  
is used in CRC calculation. All framing data (invalid D-Code) is excluded from CRC calculation.  
Note:  
The CRC32 algorithm is described in the USB PD Specification.  
11.1.3.3  
TX Bit Timing  
The baseband transmit signal bit time is controlled by the value in the TX Bit-Time Count Register (TX_BITTIME_CNT).  
This value determines the transmit data rate.  
The count value is based on clock frequency and is given by:  
((Clock Freq KHz / Bit Rate Kbps) - 1)  
For example:  
Clock Frequency = 48000KHz (48MHz)  
Nominal Bit Rate = 300 Kbps  
bit_time_cnt = (48000 / 300) - 1 = 159  
11.1.4  
AUTOMATIC RESPONSE MODE  
The device supports an Automatic Response Mode (not to be confused with automatic-data processing mode). In this  
mode, the device will automatically send a GoodCRC message upon successful packet reception, or a BIST Error Count  
message upon reception of a BIST PRBS frame. This mode can be enabled by setting the EN_AUTO_RSP_MODE bit  
in the TX Control Register A (TX_CTL_A).  
During normal auto-response, if the bus if found to be busy when the device attempts to send the auto-response (should  
not happen, except if there is noise) it will abort the transmission and the AUTO_RSP_ABORTED bit in the TX Interrupt  
Status Register (TX_IRQ_STAT) will be set. This behavior can be altered by setting the WAIT4LINE_IDLE bit in the TX  
Control Register A (TX_CTL_A). Setting this bit will force the device to wait until the bus becomes idle (refer to the  
WAIT4LINE_IDLE bit description for additional information). GoodCRCs and BIST Error Count messages are not retried  
even if RETRY_ON_LINE_BUSY in TX_CTL_A is set.  
In USB Power Delivery Revision 1.0, Soft Reset had a one-strike rule and failure of Soft Reset led to Hard Reset, leading  
to the link being brought down, therefore the transmission of GoodCRC ACK in response to reception of Soft Reset is  
handled a little differently. If hardware finds that the line is busy when it attempts to send the GoodCRC ACK it will wait  
until the line becomes idle and then re-try the transmission. This process will happen indefinitely. This behavior is same  
as what happens to normal GoodCRC ACK when WAIT4LINE_IDLE bit is set. GoodCRCs are not retried even if the  
RETRY_ON_LINE_BUSY bit in the TX Control Register A (TX_CTL_A) is set. For USB Power Delivery Revision 3.0,  
Soft Resets are normally retried, therefore this function should be disabled via the DIS_SPCL_SR_GCRC_ACK bit.  
The SOP type that is used for the automatically sent GoodCRC packet is the SOP type of the received packet (parsed  
by the receiver). The SOP type that is used for the BIST Error Count message, is selected via the TX_SOP_SELECT  
bit in the TX Parameters Register A (TX_PARAM_A).  
For both GoodCRC and BIST Error Count messages, bit 8 in the packet header is taken from either the PORT_POW-  
ER_ROLE (for SOPs) or the CABLE_PLUG (for SOP', SOP'' and _debugs) bits within the TX Parameters Register C  
(TX_PARAM_C), depending on the SOP type that was received. Bit 5 in the packet header is taken from either the  
PORT_DATA_ROLE bit (for SOPs) or set to zero (for SOP', SOP'' and _debugs), depending on the SOP type that was  
received.  
In order to avoid missing an auto response GoodCRC request, a flag is used. The flag is set with a request pulse from  
the receiver and is cleared when the response is sent or aborted. Along with the request flag being set, the SOP type  
and message ID of the request as well as the Soft Reset response indication are saved. In the event that there was a  
DS00002084C-page 116  
2016-2017 Microchip Technology Inc.  
UPD360  
pending auto response GoodCRC request and another packet was received resulting in another auto response Good-  
CRC request, the second request will replace the first request, unless the first request had a SOP type of SOP and the  
second request had a SOP type of SOP'_Debug or SOP'’_Debug. This replacement occurs regardless of the setting of  
the DIS_SOP_ABRTS_NON_SOP bit in the TX Control Register A (TX_CTL_A). Even if a received packet does not  
abort a pending auto response, the pending auto response may get replaced by a new auto response.  
11.1.5  
AUTOMATIC RETRY MODE  
The device also supports an Automatic Retry Mode. In this mode, when a GoodCRC message is not received in the  
appropriate time (i.e., before CRCReceiveTimer expires) the current message is retried.  
Hardware will retry the message until the retry value specified in the N_RETRY_CNT field in the TX Parameters Reg-  
ister C (TX_PARAM_C) is satisfied. If the N_RETRY_CNT is set to zero, Automatic Retry Mode is disabled.  
The number of retries used by the device to complete the transaction are tracked and made available to software via  
the N_HW_RETRIES field in the TX Status Register (TX_STAT).  
An N_RETRY_CNT value of zero implies the message is attempted only once, i.e., hardware will not retry it. N_RE-  
TRY_CNT specifies the number of retries so the number of attempts is (N_RETRY_CNT + 1). Stated another way, if  
you want hardware to make “N” attempts to send a message then the N_RETRY_CNT field must be set to “N-1.”  
Reception of Hard Reset or Cable reset (when enabled and the SOP type of the pending TX is SOP', SOP'', SOP'_De-  
bug or SOP''_Debug) from port partner, messages other than GoodCRC or Ping message (if the SOP types of the RX  
and TX match or if the SOP type of the RX is SOP with the SOP type of TX being non-SOP (the latter can be disabled  
via the DIS_SOP_ABRTS_NON_SOP bit in the TX Control Register A (TX_CTL_A)) and the packet was not a dupli-  
cate), or issuance of abort by software will terminate any pending auto retries.  
Detection of bus collision will cause the device to abort the current transfer including any pending auto retries unless  
the RETRY_ON_LINE_BUSY bit in the TX Control Register A (TX_CTL_A) is set.  
Note that disabling of automatic-retry by setting N_RETRY_CNT to zero will also disable the device’s ability to wait for  
a GoodCRC message before a successful message transmission is indicated. This applies, for example, to the case  
when Soft Reset is transmitted. To circumvent this limitation, a EXPECT_GOODCRC bit in the TX Parameters Register  
A (TX_PARAM_A) is available. Setting this bit will cause the device to wait for a GoodCRC in response to a TX mes-  
sage, even when the N_RETRY_CNT field is set to zero.  
Note:  
Setting N_RETRY_CNT to zero after the GO bit has been set will have no effect for the current transfer.  
The expected message ID within the GoodCRC message is set by software via the MSG_ID field in the TX Parameters  
Register A (TX_PARAM_A). This is compared to the message ID within the received GoodCRC message.  
The expected SOP type within the GoodCRC message is set by software via the TX_SOP_SELECT field in the TX  
Parameters Register A (TX_PARAM_A). This is compared to the SOP type received in the GoodCRC message. In order  
for the GoodCRC message to be received, it is assumed that the SOP type has been enabled via the RX_SOP_EN-  
ABLE field in the RX Control Register B (RX_CTL_B).  
11.1.6  
IFG TIMER  
The TX turn-around timer is used to insure that a minimum bus idle time is guaranteed between packet reception and  
packet transmission, i.e., sending of GoodCRC message upon successful packet reception.  
The value of this timer is programmable via the TX Turnaround Time Register (TX_TA_TIME). The value is specified in  
uSec. This timer uses the free-running 1us pulse so the value of this register should be 1 more than desired to ensure  
the minimum time.  
11.1.7  
CRC RECEIVE TIMER  
This timer is enabled when the device is expected to wait for a GoodCRC ACK (i.e., automatic-retry mode is enabled  
by non-zero value in the N_RETRY_CNT field of the TX Parameters Register C (TX_PARAM_C) or if zero, EXPECT_-  
GOODCRC bit in the TX Parameters Register A (TX_PARAM_A) is set) at the time transmission is requested. This timer  
can also be enabled for software usage via the EN_CRC_RCV_TMR bit in the RX Control Register A (RX_CTL_A).  
If enabled, the timer starts whenever a TX packet transmission stops.  
If software aborts a TX packet in between transmission with auto-retry mode enabled, this timer will not be triggered and  
will be disabled. If software aborts a TX packet with auto-retry disabled, then it should also disable the timer by clearing  
the EN_CRC_RCV_TMR bit in the RX Control Register A (RX_CTL_A).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 117  
UPD360  
The timeout value for CRCReceiveTimer is programmable via the TRECEIVE field in the RX tReceive Time Register  
(RX_TRECEIVE_TIME) in multiples of 10 uSec.  
This timer can be used by software as the BISTReceiveErrorTimer in the BIST TX mode (the device does not automat-  
ically time BISTReceiveError) and as the CRCReceiveTimer when not using automatic retry or wait for GoodCRC  
modes.  
11.1.8  
ABORTING A TX IN PROCESS  
Software can abort a transmission that has already started by issuing an abort via the ABORT bit in the TX Control Reg-  
ister B (TX_CTL_B). The packet will be aborted as follows based on current phase of transmission:  
• If packet transmission had not yet started because the device was waiting for the turn-around timer to expire or  
line to become idle, transmission will be aborted immediately.  
• If the current phase is Preamble, the device will complete transfer of the current bit, append EOP, and turn the  
transmitter off.  
• If the current phase is SOP, Data, or CRC, the device will complete transfer of the current nibble, append EOP,  
and turn the transmitter off.  
A Hard Reset should follow this operation, which is the software's responsibility.  
11.2 PD MAC Receiver  
The PD MAC receiver is comprised of three major blocks:  
RX Queue  
RX Control  
RX Comm  
The RX Queue is where software reads the received messages.  
The RX Control implements the necessary control logic. It is responsible for validating the received packet, updating the  
RX Queue status, and triggering automatic responses, if required.  
The RX Comm is comprised of the Clock and Data Recovery (CDR), RX DES (de-serializer) (serial-to-parallel converter,  
4b5b decoder, and framing detector), RX CRC32 (CRC calculator, receive timer), and other logic to detect valid packet  
reception.  
The following sub-sections describe the various blocks and sub-blocks in more detail.  
11.2.1  
RX QUEUE  
The decoded RX data (header, data objects, and CRC) is saved into an integrated 128 byte RX FIFO. The RX FIFO that  
is capable of storing multiple packets and provides read and write pointers.  
Two bytes are added to the beginning of each packet. Byte 0 holds the packet status (SOP type and the legacy “buffer”  
valid bit) and byte 1 holds the packet length. An option exists to swap these values (length in byte 0, status in byte 1)  
and add one to the packet length (to account for the status byte). This option is used for an SMBus like block read where  
the first byte read indicates the length of the transfer and the remaining bytes (the status and the packet) follow. Note  
that the packet includes the 4 byte CRC, which is included in the length.  
The following sub-sections present details of how the write and read interfaces to the FIFO appear.  
DS00002084C-page 118  
2016-2017 Microchip Technology Inc.  
UPD360  
11.2.1.1  
RX FIFO Write Interface  
Figure 11-1 shows how the write interface (from receive hardware's perspective) appears at various points of reception.  
FIGURE 11-1:  
WRITE INTERFACE VIEW OF RX FIFO  
during packet  
reception  
at SOP  
after packet reception  
Free Space  
Ram Address  
Ram Address  
197Fh  
Ram Address  
197Fh  
197Fh  
<- Write Head Pointer Plus One  
<- Write Head Pointer, Write Current Pointer  
Free Space  
CRC (4)  
byte m  
Free Space  
<- Write Current Pointer  
byte 0  
Message  
Header  
byte 0  
Message  
Header  
Nbytes*  
Status*  
CRC (4)  
byte n  
<- Write Current Pointer  
<- Write Head Pointer Plus One  
<- Write Head Pointer  
Reserved for  
Nbytes and Status  
CRC (4)  
Reserved for  
Nbytes and Status  
CRC (4)  
<- Write Head Pointer Plus One  
<- Write Head Pointer  
byte n  
byte n  
byte 0  
byte 0  
byte 0  
Message  
Message  
Message  
Header  
Nbytes*  
Status*  
Header  
Nbytes*  
Status*  
Header  
Nbytes*  
Status*  
Free Space  
Free Space  
Free Space  
1900h  
1900h  
1900h  
*assuming SMBus mode= 0  
Each RX Packet is comprised of two bytes of control information and the received packet data. The Status byte indicates  
whether the data is valid and the SOP type that was received. A value of 0x00 in the status byte implies that the data is  
not valid (including the NBytes field).When bit 0 of the status byte is 1'b1, the Nbytes field indicates the length of the  
packet and bits 6:4 of the status byte indicates the SOP type that was received. An empty FIFO always returns a value  
of 0x00. However, the status byte should not be polled, but rather the RX_FIFO_NOT_EMPTY bit in the RX Interrupt  
Status Register (RX_IRQ_STAT) should be used. The valid bit is retained for legacy compatibility. When software reads  
the packet data from the FIFO, it should only read number of bytes indicated by Nbytes (in addition to the Nbytes and  
Status entries). Note that the byte count indicated by NBytes includes the CRC32 data.  
When SMBus mode is enabled (via the EN_SMBUS_MODE bit in the RX Control Register A (RX_CTL_A)), the Status  
and Nbytes fields are swapped and Nbytes is incremented by 1 to include the status byte. The swapping makes the  
(not-recommended) polling of the Status byte impossible for this mode. When software reads the packet data from the  
FIFO, it should only read number of bytes indicated by NBytes (in addition to the Nbytes entry). Figure 11-2 details the  
format while in SMBus mode.  
FIGURE 11-2:  
RX FIFO SMBUS MODE  
after packet reception  
Free Space  
Ram Address  
197Fh  
<- Write Head Pointer Plus One  
<- Write Head Pointer, Write Current Pointer  
CRC (4)  
byte m  
byte 0  
Message  
Header  
Status*  
Nbytes*  
CRC (4)  
byte n  
byte 0  
Message  
Header  
Status*  
Nbytes*  
Free Space  
1900h  
SMBus mode = 1  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 119  
UPD360  
The packet status and NBytes format are shown in Table 11-2 and Table 11-3, respectively.  
TABLE 11-2: RXQ STATUS FIELD  
Bits  
Description  
Type  
7
RESERVED  
Always reads 0.  
RO  
6:4  
RX_SOP_TYPE  
This field indicates the SOP type that was received.  
000b: SOP  
RO  
001b: SOP'  
010b: SOP''  
011b: SOP'_Debug  
100b: SOP''_Debug  
101b - 111b: Reserved  
3:1  
0
RESERVED  
RO  
RO  
Status  
Status of queue data  
0b: Data is invalid  
1b: Data is valid  
TABLE 11-3: RXQ NUMBER OF BYTES (NBYTES) FIELD  
Bits  
Description  
Type  
0
NBYTES  
RO  
If EN_SMBUS_MODE is 0, this field represents the number of bytes of valid data in the  
packet.  
If EN_SMBUS_MODE is 1, this field represents the number of bytes of valid data in the  
packet plus 1.  
When the device detects valid start-of-packet (SOP) signaling, the current write pointer is set to the write head pointer  
plus 2. As packet data is received, it is written into the FIFO at the current write pointer and following each write the  
current write pointer is incremented. The current write pointer points to the next location to be written. Upon reaching  
the top of the RAM, the current write pointer wraps to 0. The byte count is maintained by the RX control block.  
When a valid EOP is received and a good CRC residue is indicated by CRC logic, hardware will write the status (valid  
bit and received SOP type) to the location addressed by the write head pointer and the number of received bytes to the  
location addressed by the write head pointer plus one. SMBus mode will swap the data (and increment the number of  
bytes). Following the writing of the status and length, the write head pointer is updated to the current write pointer and  
the write head pointer plus one is updated to the current write pointer plus 1 (accounting for the wrap at the top of the  
RAM).  
If a valid EOP is not received and the bus becomes idle, then an abnormal termination is detected. In this case, the  
packet is dropped, i.e., the device will not update the NBytes location or the Status location.  
If a valid EOP is detected but the CRC generator indicates an invalid CRC, then the packet is corrupted. The device will  
drop the packet and not update the NBytes location or the Status location.  
If a more data is received than will fit in the FIFO, then an overrun is detected. The excess data does not get written into  
the FIFO and the current write pointer is not incremented.  
A separate test is made at the start of the packet to determine if there is sufficient room for the status and length bytes.  
In the event of a “no room for header” condition, an overrun is detected. The excess data does not get written into the  
FIFO and the current write pointer is not initialized.  
If a packet has reached the maximum size allowed (as specified by the RX Maximum Packet Size Register (RX_MAX-  
_SIZE)) and more data is received, then an oversize is detected. The excess data does not get written into the FIFO  
and the current write pointer is not incremented.  
DS00002084C-page 120  
2016-2017 Microchip Technology Inc.  
UPD360  
All pointers consist of a RAM address and a wrap indication. The wrap indication is toggled each time the pointer wraps  
past the top of the RAM. The wrap indication is used in the full, “no room for header” and empty comparisons to distin-  
guish between the write pointers being a full RAM size ahead of the read pointer (full conditions in which case the wrap  
toggles would be opposite) and the write pointers being equal to the read pointer (empty condition in which case the  
wrap toggles would be equal).  
All pointers and status bits are readable by the software. All pointers and wrap around status bits are writable by the  
software. Software is responsible for maintaining coherency between the pointer and the wrap toggle values.  
The FIFO pointers can be reset by setting and clearing the RST_RECEIVER bit in the RX Control Register A (RX_CT-  
L_A).  
11.2.1.1.1  
Duplicate/Repeated Packet Handling  
When the device is setup for automatic-response (sending of GoodCRC message), it may receive a packet multiple  
times because the GoodCRC response was lost. If the original packet was received successfully then the subsequent  
messages of that SOP type with matching message IDs are automatically dropped.  
What the device does depends on the CRC status from CRC generator at EOP. If the CRC is good and the message  
ID from current message matches that of the previous message (stored MSG_ID per SOP type), the device will not  
update the Packet's status and length locations nor will it update the write head pointer and write head pointer plus one.  
The FIFO space will be reclaimed at the start of the next packet. The RX_PKT_DROPPED bit in the RX Error Interrupt  
Status Register (RX_ERR_IRQ_STAT) will be set to indicate this condition. The device will then resend a GoodCRC  
response. If, however, the CRC generator indicates a bad CRC, or EOP is not received, the device will process the  
packet like a corrupted packet. The stored MSG_ID will not be updated.  
Note that a duplicate packet is dropped if Automatic Retry was enabled, the transmitter was waiting for a GoodCRC and  
a message other than a GoodCRC was received (a protocol error).  
The device maintains individual count of duplicate packets dropped (RX Duplicate Packet Count Register (RX_DUP_P-  
KT_CNT)) and corrupt packets received (RX BadCRC Packet Count Register (RX_BADCRC_PKT_CNT)). If either of  
these counts exceed 127, the DBG_EVENT bit in the RX Error Interrupt Status Register (RX_ERR_IRQ_STAT) will be  
set.  
11.2.1.1.2  
GoodCRC Packet Storing and Dropping  
In the case where Automatic Retry is enabled, and the transmitter was waiting for a GoodCRC, the GoodCRC response  
will be dropped. The device will not update the packet's status and length locations nor will it update the write head  
pointer and write head pointer plus one. The FIFO space will be reclaimed at the start of the next packet. Note that the  
GoodCRC response is dropped even if the SOP type or message ID did not match the expected value.  
Table 11-4 summarizes the conditions and results for storing or dropping good packets.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 121  
UPD360  
TABLE 11-4: CONDITIONS AND RESULTS FOR DROPPING GOOD PACKETS  
Event  
Result  
IF  
Received soft-reset with SOP of RX  
matching SOP of TX  
Packet stored  
with error status  
RX_PKT_STAT[2]  
(PCOL_ERROR)  
Expecting GoodCRC  
Received GoodCRC with correct SOP  
type and message ID  
Packet dropped  
Received GoodCRC with wrong SOP  
type or wrong message ID  
Received other than GoodCRC or Ping  
with SOP or RX matching SOP of TX and  
first message of this SOP type or mes-  
sage ID not matching last message ID of  
this SOP type (i.e., not a duplicate)  
RX_PKT_STAT[2]  
(PCOL_ERROR)  
Packet stored,  
with error status  
ELSE IF  
Received soft-reset  
Auto Response Enabled  
Received other than GoodCRC or soft-  
reset and first message of this SOP type Packet stored,  
message ID saved  
Received other than GoodCRC or soft-  
reset and message ID does not match  
last message ID of this SOP type  
Received other than GoodCRC or soft-  
Packet dropped  
RX_PKT_STAT[1]  
reset and message ID matches last mes- with duplicate status (DUPLICATE_PACKET)  
sage ID of this SOP type  
Received GoodCRC  
Packet stored  
ELSE  
Received other than GoodCRC  
(including soft reset)  
packet stored,  
message ID saved  
Received GoodCRC  
Packet stored  
Note:  
If auto-response is enabled, any time a packet other than a GoodCRC is stored, a GoodCRC response is  
transmitted.  
DS00002084C-page 122  
2016-2017 Microchip Technology Inc.  
UPD360  
11.2.1.2  
RX FIFO Read Interface  
Figure 11-3 shows how the read interface appears at various points of the software read.  
FIGURE 11-3:  
READ INTERFACE VIEW OF RX FIFO  
after packet reception  
Free Space  
during packet read  
Free Space  
after 1st packet read  
after 2st packet read  
Ram Address  
197Fh  
Ram Address  
197Fh  
Ram Address  
197Fh  
Ram Address  
197Fh  
Free Space  
<- Write Head Pointer,  
Write Current Pointe,r  
Read Pointer  
<- Write Head Pointer,  
Write Current Pointer  
<- Write Head Pointer,  
Write Current Pointer  
<- Write Head Pointer,  
Write Current Pointer  
CRC (4)  
byte m  
CRC (4)  
byte m  
CRC (4)  
byte m  
byte 0  
Message  
Header  
Nbytes*  
Status*  
CRC (4)  
byte n  
byte 0  
Message  
Header  
Nbytes*  
Status*  
CRC (4)  
byte n  
byte 0  
Message  
Header  
Nbytes*  
Status*  
<- Read Pointer  
Free Space  
<- Read Pointer  
byte 0  
Message  
Header  
Nbytes*  
Status*  
Free Space  
Free Space  
<- Read Pointer  
1900h  
Free Space  
1900h  
1900h  
1900h  
*assuming SMBus mode = 0  
The RX FIFO read interface always uses a FIFO access mode. The read is destructive, returning the current data and  
releasing the FIFO space. Although the software may rewind the read pointer for test purposes, there is no guarantee  
that the data has not been overwritten.  
After determining the validity of data in the FIFO queue by reading the RX_FIFO_NOT_EMPTY bit in the RX Interrupt  
Status Register (RX_IRQ_STAT), software may read the data from the RX FIFO. Software may read the entire packet  
without the need to recheck the RX_FIFO_NOT_EMPTY bit.  
Although written as each byte is received, valid data in the FIFO is only indicated once the entire packet is received and  
validated.  
Depending on the setting of the EN_SMBUS_MODE bit in the RX Control Register A (RX_CTL_A), either the status or  
the Nbytes field is read first, followed by the other. If SMBus mode is enabled, the Nbytes field is read first and will  
include the status byte, otherwise it is read second and just indicates the packet length. Note that the packet includes  
the 4 byte CRC and the length includes this.  
As the FIFO is accessed, packet data is read from the FIFO at the read pointer and following each read the read pointer  
is incremented. The read pointer points to the next location to be read. Upon reaching the top of the RAM, the read  
pointer wraps to 0.  
The FIFO space is released as the packet is read. There is no need for software to specifically release the buffer space.  
If software needs to flush a packet without reading the data, it may do so by writing the RX FIFO Read Pointer Register  
(RX_FIFO_RD_PTR) and RX FIFO Read Pointer Control Bits Register (RX_FIFO_RD_PTR_CTL_BITS). Software  
should add the appropriate value to the read pointer, taking into account the amount of data already read. Wrap at the  
top of the RAM must be accounted, for both the read pointer and the RX_FIFO_RX_PTR_WRAP control bit. In order to  
maintain coherency, the device will hold a write to the RX FIFO Read Pointer Register (RX_FIFO_RD_PTR) in a tem-  
porary register and transfer it to the actual register when the RX FIFO Read Pointer Control Bits Register (RX_FI-  
FO_RD_PTR_CTL_BITS) is written.  
Although accessed as a FIFO, software can use any offset address in the 128 byte FIFO address range.  
Although not recommended, the software can read from the FIFO if it is empty. The returned data will be 0 and the FIFO  
will not underrun.  
All pointers consist of a RAM address and a wrap indication. The wrap indication is toggled each time the pointer wraps  
past the top of the RAM. The wrap indication is used in the full, “no room for header” and empty comparisons to distin-  
guish between the write pointers being a full RAM size ahead of the read pointer (full conditions in which case the wrap  
toggles would be opposite) and the write pointers being equal to the read pointer (empty condition in which case the  
wrap toggles would be equal).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 123  
UPD360  
All pointers and status bits are readable by the software. All pointers and wrap around status bits are writable by the  
software. Software is responsible for maintaining coherency between the pointer and the wrap toggle values.  
The FIFO pointers can be reset by setting and clearing the RST_RECEIVER bit in the RX Control Register A (RX_CT-  
L_A).  
Each entry in the RX FIFO represents a byte of received data. Data written to the FIFO is the header, the payload, and  
the CRC32. As stated earlier, only 5b symbols that correspond to valid D-codes are processed and written to the RX  
Queue. K-Codes cannot be passed to the RX Queue, i.e., there is no “Raw Mode” receive capability. Software will see  
de-framed packets only.  
As mentioned earlier, the data in FIFO is the actual data and not symbols so it can be processed by software directly.  
Corrupted packets are not written to the Queue.  
11.2.2  
RX CONTROL  
RX Control implements the logic necessary for validating a received packet, updating the RX Queue status, and trigger-  
ing automatic responses, if required.  
11.2.2.1  
Duplicate Packet Detection  
For duplicate packet detection, the device maintains the last message ID received per SOP type. A flag (first_msg) is  
maintained per SOP type and indicates if the stored last message ID is valid (there has been a previous packet). This  
information is used when a good packet is received to detect if the message ID matches the last one received for that  
SOP type.  
The device stores the current message ID into the appropriate last message ID (as selected by the SOP of the current  
received packet). The message ID and flag for a specified SOP type can be reset via the RX Message ID Stored Reg-  
ister (RX_MSG_ID_STORED). All bits are cleared when software issues a SW_RESET or PD_RESET via the Reset  
Control Register (RESET_CTL).  
11.2.2.2  
RX Control of Transmit Abort  
Although the actual aborting of pending transmission is done by the Transmit Control block, it is the RX Control block  
that makes the decision.  
For pending transmissions (transmission triggered but waiting for bus idle or the bus turnaround time), the RX control  
block generates a pulse at the EOP. It checks 1) that the packet is a good packet (good CRC, proper nibble alignment  
and no symbol errors), 2) that the packet is not a Ping or GoodCRC message, 3a) that the SOP type of the received  
packet matches the SOP type of the pending transmission or 3b) the SOP type of the received packet is SOP with the  
SOP type of pending transmission being non-SOP (the latter can be disabled via the DIS_SOP_ABRTS_NON_SOP bit  
in the TX Control Register A (TX_CTL_A)) and 4) that the packet is not a duplicate or is a Soft-Reset message.  
For completed transmissions that are waiting for a GoodCRC to be returned, the RX Control checks 1) that the packet  
is a good packet (good CRC, proper nibble alignment and no symbol errors), 2) that the packet is a Soft-Reset or is not  
a GoodCRC message, 3a) that the SOP type of the received packet matches the SOP type of the pending transmission  
or 3b) the SOP type of the received packet is SOP with the SOP type of pending transmission being non-SOP (the latter  
can be disabled via the DIS_SOP_ABRTS_NON_SOP bit in the TX Control Register A (TX_CTL_A)) and 4) that the  
packet is not a duplicate.  
11.2.3  
RX COMM  
The RX Comm is comprised of the clock and data recovery (CDR), RX DES (de-serializer) (serial-to-parallel converter,  
4b5b decoder, and framing detector), RX CRC32 (CRC calculator, receive timer), and other logic to detect valid packet  
reception.  
11.2.3.1  
CDR  
The BMC decodes the received data and outputs the bit stream signal. This signal is applied to the input of CDR module  
which locks (period and phase) on to the data stream during the preamble phase and outputs the serial data and a cap-  
ture strobe centered in the data window.  
The CDR relies on edge-to-edge time measurement (two bit-times) during the preamble phase for period lock. An aver-  
age of four successive good period measurements is used for period lock. Valid period measurement is determined by  
the range specified by the RX Maximum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MAX_BR) and RX  
Minimum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MIN_BR). Phase lock is achieved by comparing in-  
phase and quadrature data samples to determine whether the phase needs to be advanced or retarded.  
DS00002084C-page 124  
2016-2017 Microchip Technology Inc.  
UPD360  
11.2.3.2  
RX DES (De-serializer)  
The RX DES converts the received serial bit stream from the CDR into 5bit symbols, identifies and generates start-of-  
packet/end-of-packet/hard and cable reset signals, and decodes the symbols to 4b data.  
Note:  
Note that only valid D-codes are processed to be written to the RX Queue. An invalid/reserved code is sim-  
ply dropped.  
11.2.3.2.1  
SOP Detection  
The SOP is detected by comparing the four most recently received 5-bit symbols to the expected SOP pattern. Per the  
USB PD specification, detection of 3 of the 4 SOP symbols is sufficient. This is done by creating four unique groups  
each containing three received symbols ({a,b,c}, {a,b,d}, {a,c,d} and {b,c,d}) with each group independently compared  
to its respective symbols. Any successful match indicates an SOP.  
There is a separate compare for each SOP type, enabled by the RX_SOP_ENABLE field in the RX Control Register B  
(RX_CTL_B). The results are OR'ed. The SOP type is saved and used in the packet processing (auto reply, auto  
response and queue status). Software is allowed to change the RX_SOP_ENABLE field at any time. The internal value  
is held during active receive and updated from the register during idle time.  
For generation of the RX_SOP interrupts in the RX SOP Interrupt Status Register (RX_SOP_IRQ_STAT), each SOP  
detection is decoded but is not AND'ed with its RX_SOP_ENABLE.  
11.2.3.2.2  
Reset Detection  
Hard and Cable resets are detected by comparing the four most recently received 5-bit symbols to the expected pat-  
terns. Per the USB PD specification, detection of 3 of the 4 symbols is sufficient. This is done by creating four unique  
groups each containing three received symbols ({a,b,c}, {a,b,d}, {a,c,d} and {b,c,d}) with each group independently com-  
pared to its respective symbols. Any successful match indicates a Hard or Cable reset respectively.  
Cable Reset must be enabled via the EN_CABLE_RESET bit in the RX Control Register A (RX_CTL_A).  
11.2.3.3  
RX CRC32  
The receive data CRC32 is computed by the RX CRC32 module. The same logic used for TX CRC generation is utilized  
to calculate the RX CRC.  
The coded nibble data is streamed into the RX CRC32 one nibble at a time for CRC calculation. When the packet ends,  
the output of this module represents the computed CRC for the received packet. A value of 0xC704_DD7B indicates a  
good CRC. Detection of a valid EOP symbol latches the CRC value. The latched value is compared with the expected  
good CRC residue value, which is used by the RX Queue to determine if the RX Queue status should be updated to  
reflect valid data or not.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 125  
UPD360  
11.3 PD MAC BIST  
The PD MAC incorporates BIST functions as defined in the USB PD Specification. It is comprised of a TX and RX block.  
The BIST TX block contains a PRBS (Pseudo Random Binary Sequence) generator, BIST pattern generation logic, and  
its own bit-timing logic. The SOP type used by TX BIST Test Frames is a 20-bit static vector which is created by multi-  
plexing between the five SOP ordered sets based on a register setting. The resultant 20-bit vector is simply bit selected  
when the packet is transmitted.  
BIST TX is entered when the BIST_EN bit in the BIST Control Register A (BIST_CTL_A) is set along with BIST_RX_EN  
being clear. The BIST TX mode (TX type) is set using the BIST_TX_MODE field of the BIST Control Register A  
(BIST_CTL_A) and is started by first using the BIST_TX_RST bit and then by using the BIST_TX_START/BIST_TX-  
_STATUS bit of the BIST Control Register B (BIST_CTL_B). Continuous BIST transmission (modes 0, 1, 2, 3, and 5)  
should be stopped by first using the BIST_TX_RST bit before clearing the BIST_EN bit. It may take up to 1 bit time for  
the TX to stop. BIST_EN should not be cleared until after this time.  
The BIST RX block contains a PRBS generator and bit error detection logic. BIST RX is used only during the BIST  
Receiver Test. BIST RX is entered when the BIST_EN bit in the BIST Control Register A (BIST_CTL_A) is set along  
with BIST_RX_EN. The BIST error counter is reset using the BIST_CLR_ERR_CNT bit of the BIST Control Register B  
(BIST_CTL_B).  
For information on the BIST registers, refer to Section 11.4.5, "PD MAC BIST Registers," on page 168.  
DS00002084C-page 126  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4 Power Delivery MAC Registers  
This section details the Power Delivery MAC registers. For an overview of the entire device register map, refer to Section  
4.0, "Register Map," on page 19.  
TABLE 11-5: POWER DELIVERY MAC REGISTER MAP  
Address  
Register Name (Symbol)  
1800h – 1849h  
PD MAC TX Queue/FIFO (74 bytes) (See Section 11.1.1, "TX Queue" for additional info)  
184Ah – 18FFh Reserved for future expansion  
1900h – 197Fh PD MAC RX FIFO (128 bytes) (See Section 11.2.1, "RX Queue" for additional info)  
1980h – 19FFh Reserved for future expansion  
1A00h  
1A01h  
1A02h  
1A03h  
1A04h  
1A05h  
1A06h  
1A07h  
1A08h  
1A09h  
1A0Ah  
1A0Bh  
1A0Ch  
TX Control Register A (TX_CTL_A)  
TX Status Register (TX_STAT)  
TX Parameters Register C (TX_PARAM_C)  
TX Packet Length Register (TX_PKT_LEN)  
TX Parameters Register A (TX_PARAM_A)  
TX Control Register B (TX_CTL_B)  
TX Parameters Register B (TX_PARAM_B)  
TX Bit-Time Count Register (TX_BITTIME_CNT)  
TX Turnaround Time Register (TX_TA_TIME)  
TX Abort Status Register (TX_ABORT_STAT)  
TX Auto-Response Abort Status Register (TX_AR_ABORT_STAT)  
TX Power Up Time Register (TX_POWER_UP_TIME)  
TX Power Down Time Register (TX_POWER_DOWN_TIME)  
1A0Dh – 1A3Fh Reserved for future expansion  
1A40h  
1A41h  
1A42h  
1A43h  
1A44h  
1A45h  
1A46h  
1A47h  
1A48h  
1A49h  
1A4Ah  
1A4Bh  
1A4Ch  
1A4Dh  
RX Control Register A (RX_CTL_A)  
RX Control Register B (RX_CTL_B)  
RX Maximum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MAX_BR)  
RX Minimum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MIN_BR)  
RX Status Register (RX_STAT)  
RX Packet Status Register (RX_PKT_STAT)  
RX tReceive Time Register (RX_TRECEIVE_TIME)  
RX BadCRC Packet Count Register (RX_BADCRC_PKT_CNT)  
RX Duplicate Packet Count Register (RX_DUP_PKT_CNT)  
RX Hard Reset Detection Window Register (RX_HR_DET_WINDOW)  
RX Last GoodCRC Packet High Byte Register (RX_LAST_GCRC_PKT_HI)  
RX Last GoodCRC Packet Low Byte Register (RX_LAST_GCRC_PKT_LO)  
RX Message ID Stored Register (RX_MSG_ID_STORED)  
RX Maximum Packet Size Register (RX_MAX_SIZE)  
1A4Eh – 1A4Fh Reserved for future expansion  
1A50h  
1A51h  
1A52h  
1A53h  
RX FIFO Read Pointer Register (RX_FIFO_RD_PTR)  
RX FIFO Read Pointer Control Bits Register (RX_FIFO_RD_PTR_CTL_BITS)  
RX FIFO Write Current Pointer Register (RX_FIFO_WR_CURRENT_PTR)  
RX FIFO Write Current Pointer Control Bits Register  
(RX_FIFO_WR_CURRENT_PTR_CTL_BITS)  
1A54h  
1A55h  
1A56h  
RX FIFO Write Head Pointer Register (RX_FIFO_WR_HEAD_PTR)  
RX FIFO Write Head Pointer Control Bits Register (RX_FIFO_WR_HEAD_PTR_CTL_BITS)  
RX FIFO Write Head Pointer Plus One Register (RX_FIFO_WR_HEAD_PTR_PLUS_ONE)  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 127  
UPD360  
TABLE 11-5: POWER DELIVERY MAC REGISTER MAP (CONTINUED)  
Address  
Register Name (Symbol)  
1A57h  
RX FIFO Write Head Pointer Plus One Control Bits Register  
(RX_FIFO_WR_HEAD_PTR_PLUS_ONE_CTL_BITS)  
1A58h – 1A7Fh Reserved for future expansion  
1A80h  
1A81h  
1A82h  
1A83h  
1A84h  
1A85h  
1A86h  
1A87h  
1A88h  
1A89h  
1A8Ah  
1A8Bh  
MAC Interrupt Status Register (MAC_IRQ_STAT)  
TX Interrupt Status Register (TX_IRQ_STAT)  
RX Interrupt Status Register (RX_IRQ_STAT)  
RX Error Interrupt Status Register (RX_ERR_IRQ_STAT)  
Power Management Interrupt Status Register (PM_IRQ_STAT)  
RX SOP Interrupt Status Register (RX_SOP_IRQ_STAT)  
TX Interrupt Enable Register (TX_IRQ_EN)  
RX Interrupt Enable Register (RX_IRQ_EN)  
RX Error Interrupt Enable Register (RX_ERR_IRQ_EN)  
Power Management Interrupt Enable and Control Register (PM_IRQ_EN)  
RX SOP Interrupt Enable Register (RX_SOP_IRQ_EN)  
Reset Control Register (RESET_CTL)  
1A8Ch – 1A9Fh Reserved for future expansion  
1AA0h  
1AA1h  
1AA2h  
1AA3h  
1AA4h  
1AA5h  
1AA6h  
1AA7h  
1AA8h  
1AA9h  
BMC RX High Level Full Bit Maximum Time Register (BMC_RX_HI_FB_MAX_TIME)  
BMC RX High Level Full Bit Minimum Time Register (BMC_RX_HI_FB_MIN_TIME)  
BMC RX Low Level Full Bit Maximum Time Register (BMC_RX_LO_FB_MAX_TIME)  
BMC RX Low Level Full Bit Minimum Time Register (BMC_RX_LO_FB_MIN_TIME)  
BMC RX High Level Half Bit Maximum Time Register (BMC_RX_HI_HB_MAX_TIME)  
BMC RX High Level Half Bit Minimum Time Register (BMC_RX_HI_HB_MIN_TIME)  
BMC RX Low Level Half Bit Maximum Time Register (BMC_RX_LO_HB_MAX_TIME)  
BMC RX Low Level Half Bit Minimum Time Register (BMC_RX_LO_HB_MIN_TIME)  
BMC RX Squelch Assert Time Register (BMC_RX_SQL_ASSERT_TIME)  
BMC RX Squelch Hold Time Register (BMC_RX_SQL_HOLD_TIME)  
1AAAh – 1AAFh Reserved for future expansion  
1AB0h  
1AB1h  
BMC TX Bit-Time Count Register (BMC_TX_BITTIME_CNT)  
BMC Transition Window Time Register (BMC_TRANSITION_WINDOW_TIME)  
1AB2h – 1ABFh Reserved for future expansion  
1AC0h  
1AC1h  
1AC2h  
1AC3h  
BIST Control Register A (BIST_CTL_A)  
BIST Control Register B (BIST_CTL_B)  
BIST Error Count High Register (BIST_ERR_CNT_HI)  
BIST Error Count Low Register (BIST_ERR_CNT_LO)  
1AC4h – 1AC6h Reserved for future expansion  
1AC7h  
BIST RX Status Register (BIST_RX_STAT)  
1AC8h – 1BFFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
DS00002084C-page 128  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1  
PD MAC TX REGISTERS  
The following sub-sections describe the various registers associated with the PD MAC TX logic.  
11.4.1.1  
TX Control Register A (TX_CTL_A)  
Address:  
1A00h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
RETRY_ON_LINE_BUSY  
RO  
-
6
R/W  
0b  
Normally hardware will abort a TX packet (including all retry attempts) if the  
line is Busy when hardware attempts to transmit the packet. (Note that trans-  
mission of GoodCRC ACK in response for Soft Reset is an exception to this,  
see the DIS_SPCL_SR_GCRC_ACK bit.)  
Setting this bit will force hardware to not completely abort the transmission,  
but rather it will retry the packet up to N_RETRY_CNT times. Failure after  
N_RETRY_CNT times results in TX_FAILED status in the TX Interrupt Status  
Register (TX_IRQ_STAT) rather than a TX_ABORTED status.  
The following conditions will still abort the TX packet:  
• Hard reset received  
• Cable reset received (if enabled and the SOP type of the pending TX is  
SOP', or SOP'', SOP'_Debug or SOP''_Debug)  
• Good, non-duplicate, non-Ping, non-GoodCRC packet (including soft-  
reset) received with RX and TX SOP types matching or RX SOP type  
equaling SOP with TX SOP type not equaling SOP (can be disabled)  
• Software sets the ABORT bit in the TX Control Register B (TX_CTL_B).  
5
4
DIS_SOP_ABRTS_NON_SOP  
R/W  
R/W  
0b  
0b  
Normally, when a SOP packet is received, a pending non-SOP packet (includ-  
ing wait for a GoodCRC) will be aborted. When this bit is set, a non-SOP  
packet will only be aborted by a packet with the same non-SOP type.  
DIS_SPCL_SR_GCRC_ACK  
Disable special treatment of GoodCRC ACK in response to Soft Reset.  
By default, in auto-response mode a line busy condition will not abort Good-  
CRC ACK transmission in response to Soft Reset reception. Setting this bit  
will disable this behavior and instead GoodCRC ACK transmission for Soft  
Reset will be processed the same as GoodCRC ACK for other packets.  
Note:  
When this bit is set, the WAIT4LINE_IDLE bit will affect GoodCRC  
ACK for Soft Reset as well.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 129  
UPD360  
Bits  
Description  
Type  
Default  
3
WAIT4LINE_IDLE  
R/W  
0b  
Normally hardware will abort a TX packet (including all retry attempt) if the line  
is Busy when hardware attempts to transmit the packet. (Note that transmis-  
sion of GoodCRC ACK in response for Soft Reset is an exception to this, see  
the DIS_SPCL_SR_GCRC_ACK bit.)  
Setting this bit will force hardware to not abort the transmission, but rather  
wait until line becomes idle and then transmit the message. The  
RETRY_ON_LINE_BUSY option has lower priority then this function.  
The following conditions will still abort the TX packet:  
• Hard reset received  
• Cable reset received (if enabled and the SOP type of the pending TX is  
SOP', or SOP'', SOP'_Debug or SOP''_Debug)  
• Good, non-duplicate packet, non-Ping, non-GoodCRC (including soft-  
reset) received with RX and TX SOP types matching or RX SOP type  
equaling SOP with TX SOP type not equaling SOP (can be disabled)  
• Software sets the ABORT bit in the TX Control Register B (TX_CTL_B).  
2
EN_AUTO_RSP_MODE  
Enable automatic sending of GoodCRC message and BIST Error Count mes-  
R/W  
0b  
sage by hardware.  
0: Auto GoodCRC Message disabled (default)  
1: Auto GoodCRC Message enabled  
Note:  
Disabling Auto Response Mode will also disable automatic retry by  
hardware, i.e., hardware will ignore the N_RETRY_CNT field of the  
TX Parameters Register C (TX_PARAM_C).  
1
0
EN_FMQ  
R/W  
R/W  
0b  
0b  
Enable FIFO Mode queuing on the TX Queue's write interface.  
0: Buffer Mode - TX Queue is accessed like a buffer/CSR (Default)  
1: FIFO Mode  
EN_RMDP  
Enable Raw Mode Data Processing.  
0: Automatic Mode Data Processing (default)  
1: Enable Raw Mode Data Processing  
DS00002084C-page 130  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1.2  
TX Status Register (TX_STAT)  
Address:  
1A01h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
RO  
-
6:4  
N_HW_RETRIES  
Number of attempts by hardware to send a message successfully.  
000b  
This field is automatically cleared when the GO bit in the TX Control Register  
B (TX_CTL_B) is set.  
This field is meaningful only if a TX was successful. It is informational only.  
0: Initial message was successful. This value must be correlated with the  
TX_ABORTED bit. If a TX message was aborted, this bit is meaningless.  
>0: Number of retries performed by the device. The maximum value depends  
on the N_RETRY_CNT field in the TX Parameters Register C  
(TX_PARAM_C) register.  
3:1  
0
RESERVED  
RO  
RO  
-
TX_ACTIVE  
Transmitter is active.  
0b  
0: Transmitter is idle  
1: Transmitter is active  
Software can monitor this bit to determine if transmission is in progress. De-  
assertion of this bit does not imply successful message transmission, only that  
the transmitter is no longer active and has stopped transmitting.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 131  
UPD360  
11.4.1.3  
TX Parameters Register C (TX_PARAM_C)  
Address:  
1A02h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
PORT_DATA_ROLE  
This field is used as the Port Data Role field for hardware generated packet  
R/W  
0b  
header for packets that use SOP signaling.  
0: UFP  
1: DFP  
Note:  
SOP' and SOP'' always send a 0 bit for the Port Data Role.  
6:4  
N_RETRY_CNT  
Number of retries allowed.  
R/W  
000b  
Set this to zero to disable automatic hardware retry (i.e., when software will  
take care of retries).  
If N_RETRY_CNT is set to zero, but hardware is expected to wait for Good-  
CRC, the EXPECT_GOODCRC bit should be set in the TX Parameters Reg-  
ister A (TX_PARAM_A), otherwise TX will be considered complete as soon as  
packet transmission is complete.  
Note:  
Hard and Cable Resets are not automatically retried since there is  
no feedback to indicate a failure.  
3
2
CABLE_PLUG  
R/W  
R/W  
RO  
0b  
0b  
-
This field is used as the Cable Plug field for hardware generated packet  
header for packets that use SOP' and SOP'' signaling.  
0: DFP or UFP  
1: Cable Plug  
PORT_POWER_ROLE  
This field is used as the Port Power Role field for hardware generated packet  
header for packets that use SOP signaling.  
0: Sink  
1: Source  
1:0  
RESERVED  
DS00002084C-page 132  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1.4  
TX Packet Length Register (TX_PKT_LEN)  
Address:  
1A03h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5:0  
PKT_LEN  
Queued packet length in bytes.  
R/W  
000000b  
Hardware uses this value in Auto Mode to determine when to insert the CRC.  
PKT_LEN = bytes in header + bytes in data objects  
Note:  
Note:  
This applies to Auto Mode queue only and not to Raw Mode queue.  
Raw Mode queue has special code to insert CRC and terminate  
the transmission.  
A value of '0' is invalid for this field.  
11.4.1.5  
TX Parameters Register A (TX_PARAM_A)  
Address:  
1A04h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
EXPECT_GOODCRC  
R/W  
0b  
This bit is used when the N_RETRY_CNT field in the TX Parameters Register  
C (TX_PARAM_C) is set to zero but hardware is expected to wait for Good-  
CRC in response to a TX message.  
If N_RETRY_CNT is non-zero and EN_AUTO_RSP_MODE in the TX Control  
Register A (TX_CTL_A) is set, then hardware automatically waits for Good-  
CRC and this bit has no effect.  
6:4  
TX_SOP_SELECT  
This field selects the SOP used for normal TX packets, for Returned BIST  
R/W  
000b  
Counters packets (in response to RX BIST Test Frames) and for TX BIST Test  
Frames.  
This value is also used to verify the expected SOP type in the GoodCRC  
response when Auto retry is enabled.  
000: SOP  
001: SOP'  
010: SOP''  
011: SOP'_Debug  
100: SOP''_Debug  
101 - 111: Reserved  
Note:  
For Auto retry mode, it is assumed that the expected SOP type is  
also enabled in the RX Control Register B (RX_CTL_B).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 133  
UPD360  
Bits  
Description  
Type  
Default  
3
EN_FWTX  
Enable software issued transmission.  
R/W  
0b  
This bit is effective only at the moment the GO bit is set by software and is  
intended to cover race conditions where it is not possible for software to back  
off from setting the GO bit in response to a valid RX.  
This bit is automatically held cleared by hardware if the RX Interrupt Status  
Register (RX_IRQ_STAT) indicates reception of a Hard Reset, or a Cable  
Reset, or if there is any data in the RX FIFO and, thus, software must set it  
prior to each transmission it wants to issue.  
When this bit is cleared, a software issued transmission will be aborted.  
Note:  
This is not an Abort bit. Clearing this bit will have no effect on a  
transmission that has already been issued to hardware. Such  
transmissions will be aborted automatically by hardware as appro-  
priate. To abort a transmission in progress, use the ABORT bit in  
the TX Control Register B (TX_CTL_B).  
Note:  
Note:  
Setting of this bit does not prevent hardware issued transmissions.  
This bit is reset by assertion of PD_RESET.  
2:0  
MSG_ID  
R/W  
000b  
Message ID. This value is used to verify the expected message ID in the  
GoodCRC response.  
Note:  
Note:  
Hardware will not insert this value into the TX message header. For  
proper normal operation, software must program the same value in  
bits[11:9] of message header.  
Software must set this to zero when it processes a Hard Reset,  
Cable Reset or Soft Reset.  
DS00002084C-page 134  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1.6  
TX Control Register B (TX_CTL_B)  
Address:  
1A05h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
TX_CABLE_RESET  
RO  
-
5
W1S/SC  
0b  
Setting this bit to 1 together with the GO bit will cause hardware configured for  
Auto Mode data processing to transmit a Cable Reset. Any data in the TX  
Queue and related registers is ignored.  
This bit is not applicable to Raw Mode data processing since Cable Reset  
packets can be explicitly specified in the TX Queue. It is ignored for Raw  
Mode.  
This bit can only be set if the GO bit is not currently set.  
The TX_HARD_RESET bit has precedence and if set along with this bit, this  
bit will not set.  
This bit is cleared by hardware at end of packet transmission. This bit is reset  
by assertion of PD_RESET. Software can only write 1 to this bit and therefore  
can not clear it once set.  
Note:  
Cable Reset is not automatically retried (there is no feedback to  
indicate a failure). It is up to software to perform Cable Reset  
retries.  
Note:  
This bit will be cleared upon completion of any packet transmis-  
sion, so it should be set only after GO bit is cleared after completion  
of the prior transmission.  
4
OK_TO_TX  
RO  
1b  
Channel is idle and it is OK to transmit. Software should monitor this bit before  
setting the GO bit.  
0: Software should not set the GO bit  
1: Software can set the GO bit.  
The following conditions will cause hardware to set this bit to 0:  
• BMC line idle timer indicating line is busy.  
• Hardware may be processing an automatic response to a received  
packet.  
3
RST_TXQ_FIFO_WRI_PTR  
Setting this bit will reset the TX Queue's write interface FIFO pointer. When  
WO  
0b  
using FIFO Mode Queuing, software must always write a '1' to this bit prior to  
putting data in the FIFO.  
Hardware does not latch this bit and it will read back as zero. Hardware may  
automatically reset the pointer when the GO bit is cleared (i.e., hardware is  
done with current transmission).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 135  
UPD360  
Bits  
Description  
Type  
Default  
2
TX_HARD_RESET  
W1S/SC  
0b  
Setting this bit to 1 together with the GO bit will cause hardware configured for  
Auto Mode data processing to transmit a Hard Reset. Any data in the TX  
Queue and related registers is ignored.  
This bit is not applicable to Raw Mode data processing since a Hard Reset  
packet can be explicitly specified in the TX Queue. It is ignored for Raw Mode.  
This bit can only be set if the GO bit is not currently set.  
This bit is cleared by hardware at end of packet transmission. This bit is reset  
by assertion of PD_RESET. Software can only write 1 to this bit and therefore  
can not clear it once set.  
Note:  
Hard Reset is not automatically retried (there is no feedback to indi-  
cate a failure). It is up to software to perform Hard Reset retries.  
Note:  
This bit will be cleared upon completion of any packet transmis-  
sion, so it should be set only after the GO bit is cleared after com-  
pletion of the prior transmission.  
1
ABORT  
WO  
0b  
Setting this bit will abort the current transmission in progress as soon as pos-  
sible. Writing a '0' has not effect.  
Hardware does not latch this bit and it will read back as zero.  
Hardware will finish the current nibble transmission, send EOP, and then ter-  
minate transmission. If this bit is set during preamble phase, then the current  
bit of the preamble will be completed prior to termination.  
Software should use the TX_EOP status bit in the TX Interrupt Status Register  
(TX_IRQ_STAT) to determine when the current packet has been terminated.  
0
GO  
W1S/SC  
0b  
Writing a 1 to this bit will:  
• Start transmission of the packet in the TX queue on to the wire or:  
• Send Hard Reset if the TX_HARD_RESET bit of this register is set and  
data processing mode is set to Auto (i.e., the EN_RMDP bit in the TX  
Control Register A (TX_CTL_A) is not set).  
• Send Cable Reset if the TX_CABLE_RESET bit of this register is set and  
data processing mode is set to Auto (i.e., the EN_RMDP bit in the TX  
Control Register A (TX_CTL_A) is not set).  
Hardware will clear this bit when transmission is complete. This bit is reset by  
assertion of PD_RESET. Software can only write 1 to this bit and therefore  
can not clear it once set. Clearing of this bit by hardware does not indicate the  
message was sent successfully.  
Hardware may detect bus collision and abort transmission. In this case, the  
TX_ABORTED bit in the TX Interrupt Status Register (TX_IRQ_STAT) will be  
set and an interrupt to MCU will be generated.  
DS00002084C-page 136  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1.7  
TX Parameters Register B (TX_PARAM_B)  
Address:  
1A06h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
PREAMBLE_LEN  
Number of preamble bits to send.  
R/W  
1000000b  
Range: 1-127, specification: 64d (default)  
A value of 0 is invalid and hardware does not check for validity. Software  
should use the default value for normal operation.  
Setting this field to an odd value will cause violation of the USB PD Specifica-  
tion which states “The preamble shall start with a “0” and shall end with a “1”.”  
An odd value will cause preamble to start with a value of “0” but it will also end  
in a value of “0.” This may or may not lead to functional issues. This field  
should be set to an even value to remain spec compliant.  
11.4.1.8  
TX Bit-Time Count Register (TX_BITTIME_CNT)  
Address:  
1A07h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
BIT_TIME_CNT  
R/W  
00h  
Bit-time counter value. The TX logic uses this value to determine the bit-time  
for transmission (nominal bit rate is 300Kbps). This register can be used to  
adjust bit-time for testing purpose (adjusting bitrate).  
Count value is based on clock frequency and is given by:  
((Clock Freq KHz / Bit Rate Kbps) - 1)  
i.e.,  
Clock Frequency = 48000KHz (48MHz)  
Nominal Bit Rate = 300 Kbps  
BIT_TIME_CNT = (48000 / 300) - 1 = 159  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 137  
UPD360  
11.4.1.9  
TX Turnaround Time Register (TX_TA_TIME)  
Address:  
1A08h  
Size:  
8 bits  
This register controls the IFG timer.  
Bits  
Description  
Type  
Default  
7:6  
5:0  
RESERVED  
RO  
-
TA_TIME  
Turnaround time in us.  
R/W  
010101b  
Range: 1-63, specification: 25us  
A value of 0 is invalid and hardware does not check for validity.  
Hardware uses a free running 1us pulse generator, thus, the value of this field  
should be 1 more than desired to ensure the minimum time (26d).  
11.4.1.10 TX Abort Status Register (TX_ABORT_STAT)  
Address:  
1A09h  
Size:  
8 bits  
This field is used in conjunction with the TX_ABORTED interrupt and provides details for why the TX was aborted. Bits  
in this register are sticky, i.e., once any bit is set by hardware this field cannot be updated by hardware until software  
clears the field.  
Note:  
Bits in this register are set by hardware and must be cleared by software. The bits are not mutually exclu-  
sive, i.e., more than one bit may be set depending on the circumstance.  
Bits  
Description  
Type  
Default  
7
TX_ABORT_STAT[7]  
R/W1C  
0b  
While waiting for GoodCRC, TX aborted due to Protocol Error (i.e., received  
other than GoodCRC or Ping message while waiting for GoodCRC or Receiv-  
ing a Hard or Cable Reset.)  
6
5
TX_ABORT_STAT[6]  
R/W1C  
R/W1C  
0b  
0b  
During software issued TX, TX was aborted due to RX (including Hard or  
Cable Reset) while waiting for bus turnaround or waiting for line to go idle.  
TX_ABORT_STAT[5]  
Auto-retry aborted due to RX (including Hard or Cable Reset) while waiting for  
bus turnaround or while waiting for line to go idle.  
4
3
2
1
0
TX_ABORT_STAT[4]  
R/W1C  
RO  
0b  
-
Auto-retry aborted due to line being busy after bus turnaround.  
RESERVED  
TX_ABORT_STAT[2]  
During software issued TX, line was busy after bus turnaround.  
R/W1C  
R/W1C  
R/W1C  
0b  
0b  
0b  
TX_ABORT_STAT[1]  
Software issued abort while software issued TX was in process.  
TX_ABORT_STAT[0]  
Software issued GO with TX disabled.  
DS00002084C-page 138  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.1.11 TX Auto-Response Abort Status Register (TX_AR_ABORT_STAT)  
Address:  
1A0Ah  
Size:  
8 bits  
This field is used in conjunction with the AUTO_RSP_ABORTED interrupt and provides details for why the TX was  
aborted. Bits in this register are sticky, i.e., once any bit is set by hardware this field cannot be updated by hardware  
until software clears the field.  
Note:  
Bits in this register are set by hardware and must be cleared by software. The bits are not mutually exclu-  
sive, i.e., more than one bit may be set depending on the circumstance.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6
TX_AR_ABORT_STAT[6]  
Auto-response aborted due to RX (including Hard or Cable Reset) while wait-  
ing for bus turnaround or while waiting for line to go idle.  
R/W1C  
0b  
5:4  
3
RESERVED  
RO  
R/W1C  
RO  
-
0b  
-
TX_AR_ABORT_STAT[3]  
Line was busy after bus turnaround time during auto-response.  
2
RESERVED  
1
TX_AR_ABORT_STAT[1]  
R/W1C  
RO  
0b  
-
Software issued abort while auto-response was in process.  
0
RESERVED  
11.4.1.12 TX Power Up Time Register (TX_POWER_UP_TIME)  
Address:  
1A0Bh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
TX_POWER_UP_TIME  
TX Power Up Time before transmitting (unit is 8 clock cycles).  
Range: 0-255 (Actual time is 5 clocks larger.)  
R/W  
00h  
The analog requires a minimum time of 5us to power up.  
Count value is based on clock frequency and is given by:  
TX_POWER_UP_TIME = power up time uS x Clock Freq MHz / 8  
i.e.,  
Clock Frequency = 48MHz  
power up time = 5 uS  
TX_POWER_UP_TIME = 5 x 48 / 8 = 30  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 139  
UPD360  
11.4.1.13 TX Power Down Time Register (TX_POWER_DOWN_TIME)  
Address:  
1A0Ch  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
TX_POWER_DOWN_TIME  
TX Power Down Time after transmitting (unit is 8 clock cycles).  
Range: 0-255 (Actual time is 2 clocks larger.)  
R/W  
00h  
The analog requires a minimum time of 1us before powering down.  
Count value is based on clock frequency and is given by:  
TX_POWER_DOWN_TIME = power down time uS x Clock Freq MHz / 8  
i.e.,  
Clock Frequency = 48MHz  
power down time = 1 uS  
TX_POWER_DOWN_TIME = 1 x 48 / 8 = 6  
DS00002084C-page 140  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2  
PD MAC RX REGISTERS  
The following sub-sections describe the various registers associated with the PD MAC RX logic.  
11.4.2.1  
RX Control Register A (RX_CTL_A)  
Address:  
1A40h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5
4
EN_LOOPBACK  
Enable loopback. This bit allows the MAC to receive its own transmission.  
R/W  
0b  
0b  
Note:  
Loopback happens at the pin where TX and RX are connected  
together.  
EN_RCV  
R/W  
Enable Receiver. Software should set this bit when it is done configuring the  
receiver. Setting this bit will enable the receiver to start normal operation.  
If this bit is set while receive activity is in progress it will take effect after cur-  
rent receive activity is over. If this bit is cleared while a receive is being pro-  
cessed it will take effect after current receive is finished.  
This bit will be automatically cleared by hardware upon reception of Hard  
Reset or a Cable Reset to prevent normal packet reception.  
After POR or SW_RESET, Hard and Cable Reset reception is disabled until  
EN_RCV is set. Thereafter, clearing of EN_RCV (by software or hardware)  
has no impact to reception of Hard or Cable Reset, i.e., hardware will process  
Hard or Cable Reset even with EN_RCV cleared.  
If software wishes to re-initialize receive timing parameters after EN_RCV has  
been set once it must first reset the UPD_MAC_v2 using SW_RESET.  
This bit is not reset by assertion of PD_RESET.  
3
RST_RECEIVER  
R/W  
0b  
Setting this bit will reset the receiver Queue. Software should set this bit if  
receiver hardware may be out of sync with software. Hardware latches this bit  
so it must be cleared by software to resume receiver operation. Receiver  
hardware is also reset when PD_RESET bit in RESET_CTL register is set.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 141  
UPD360  
Bits  
Description  
Type  
Default  
2
EN_CRC_RCV_TMR  
Enable CRCReceiveTimer.  
R/W  
0b  
0: CRCReceiveTimer disabled (default)  
1: CRCReceiveTimer Enabled  
This bit is used by software only when it is not using auto-retry mode.  
When auto-retry is enabled (EN_AUTO_RSP_MODE in the TX Control Regis-  
ter A (TX_CTL_A) is set and N_RETRY_CNT is non-zero) or when the trans-  
mitter is set to wait for the GoodCRC message (EXPECT_GOODCRC is set  
and N_RETRY_CNT is zero), the CRCReceiveTimer is automatically enabled  
in hardware. If GoodCRC message is not received prior to timer expiration,  
then an interrupt will be generated. CRC_RCV_TIMEOUT bit in the TX Inter-  
rupt Status Register (TX_IRQ_STAT) will be set.  
If auto-retry and wait for GoodCRC are disabled, the software can set this bit  
to enable CRCReceiveTimer prior to starting transmission to help time tRe-  
ceive. Once enabled, the timer will start automatically at the end of transmis-  
sion; however, software must disable the timer when a GoodCRC message is  
received. If not disabled, timer expiration will generate an interrupt.  
Once expired, the CRCReceiveTimer remains expired until start of another  
packet transmission when it reloads.  
This timer can also be used for BIST transmissions as the BISTReceiveError-  
Timer.  
1
0
EN_SMBUS_MODE  
R/W  
R/W  
0b  
0b  
Enable SMBus block read FIFO format.  
0: First location in packet is status, second location is packet length  
1: First location in packet is packet length + 1, second location is status  
EN_CABLE_RESET  
Enable Cable Reset Detection.  
0: Cable Reset Detection (default)  
1: Cable Reset Detection Enabled  
DS00002084C-page 142  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2.2  
RX Control Register B (RX_CTL_B)  
Address:  
1A41h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
RX_SOP_ENABLE  
RO  
-
6:2  
R/W  
00001b  
SOP Types enabled to be received. Includes RX BIST Test Frames.  
Bit 2 - SOP  
Bit 3 - SOP'  
Bit 4 - SOP''  
Bit 5 - SOP'_Debug  
Bit 6 - SOP''_Debug  
Software is allowed to change the field at any time. An internal copy is held  
during active receive and updated from the register during idle time  
1:0  
RESERVED  
RO  
-
11.4.2.3  
RX Maximum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MAX_BR)  
Address:  
1A42h  
Size:  
8 bits  
The value of this register, together with value of the RX Minimum Bit-Rate Bit Period Count Register  
(RX_BIT_PER_CNT_MIN_BR), is used to determine valid bit-time (also referenced as bit-period) of the RX signal.  
RX_BIT_PER_CNT_MIN_BR > valid bit time > RX_BIT_PER_CNT_MAX_BR.  
Bits  
Description  
Type  
Default  
7:0  
RX_BIT_PER_CNT_MAX_BR  
Bit period count at maximum bit-rate.  
R/W  
00h  
= (((clock_freq_KHz / max_bit_rate_Kbps) * (100 - tolerance) / 100) - 1)  
WARNING: If macros are defined in C code, then math must be arranged so  
that integer overflow does not occur.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 143  
UPD360  
11.4.2.4  
RX Minimum Bit-Rate Bit Period Count Register (RX_BIT_PER_CNT_MIN_BR)  
Address:  
1A43h  
Size:  
8 bits  
The value of this register, together with value of the RX Maximum Bit-Rate Bit Period Count Register  
(RX_BIT_PER_CNT_MAX_BR), is used to determine valid bit-time (also referenced as bit-period) of the RX signal.  
RX_BIT_PER_CNT_MIN_BR > valid bit time > RX_BIT_PER_CNT_MAX_BR.  
Bits  
Description  
Type  
Default  
7:0  
RX_BIT_PER_CNT_MIN_BR  
Bit period count at minimum bit-rate.  
R/W  
00h  
= (((clock_freq_KHz / min_bit_rate_Kbps) * (100 + tolerance) / 100) - 1)  
WARNING: If macros are defined in C code, then math must be arranged so  
that integer overflow does not occur.  
11.4.2.5  
RX Status Register (RX_STAT)  
Address:  
1A44h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
-
1
0
RX_IN_PROCESS  
RO  
RO  
0b  
0b  
Receiver is active.  
Hardware is receiving a packet, i.e., line is busy and transmitter is not active.  
LINE_STATE  
0: Line is idle  
1: Line is busy (BMC line idle timer indicating line is busy)  
If this bit is “1”, a receive might be in progress and software should wait for the  
message reception to complete. If it is “0”, software may set the GO bit.  
Hardware will take further action until the very last possible moment to avoid  
bus contention. Bus contention is still possible and not 100% avoidable.  
In cases where hardware takes preventative measures to avoid bus conten-  
tion, the TX packet will be aborted. Software will be informed of this via an  
interrupt and setting of the TX_ABORTED bit in the TX Interrupt Status Regis-  
ter (TX_IRQ_STAT).  
DS00002084C-page 144  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2.6  
RX Packet Status Register (RX_PKT_STAT)  
Address:  
1A45h  
Size:  
8 bits  
This register is applicable only when using auto-response/retry modes. This register is used in conjunction with the fol-  
lowing bits to provide additional information regarding the status of a received packet:  
RX_DONE bit in the RX Interrupt Status Register (RX_IRQ_STAT)  
RX_PCOL_ERROR bit in the RX Error Interrupt Status Register (RX_ERR_IRQ_STAT)  
RX_PKT_DROPPED bit in the RX Error Interrupt Status Register (RX_ERR_IRQ_STAT)  
RX_BUF_OVR_RUN bit in the RX Error Interrupt Status Register (RX_ERR_IRQ_STAT)  
Bits in this register are sticky, i.e., once any bit is set by hardware this field cannot be updated by hardware until software  
clears the field.  
A value of 0x00 indicates no errors, while a value of 0xFF indicates that the packet status is currently unknown. Other  
values are interpreted as specified in the bit definitions for this register.  
Note:  
Note:  
There no status for having received a GoodCRC message with matching MSG_ID. Successful completion  
of a TX is indication that a valid GoodCRC ACK was received.  
Bits in this register are set by hardware and must be cleared by software. The bits are not mutually exclu-  
sive, i.e., more than one bit may be set depending on the circumstance.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6
RX_PKT_STAT[6]  
R/W1C  
0b  
ODD_NIBBLES. Received packet dropped because it had odd number of nib-  
bles in data phase. Not set if RX_PKT_STAT[3] (RX_OVER_SIZE) is set  
regardless of bad CRC, symbol errors or odd nibbles. RX_BAD_PKT interrupt  
is asserted.  
5
RX_PKT_STAT[5]  
R/W1C  
0b  
SYM_ERROR. There was a symbol error in packet but BAD_CRC was not  
reported. Not set if RX_PKT_STAT[3] (RX_OVER_SIZE) is set regardless of  
bad CRC, symbol errors or odd nibbles. RX_BAD_PKT interrupt is asserted.  
4
3
RX_PKT_STAT[4]  
R/W1C  
R/W1C  
0b  
0b  
RX_FIFO_FULL. Received packet had to be dropped because the FIFO was  
full either at SOP or during data. RX_BUF_OVR_RUN interrupt is asserted.  
RX_PKT_STAT[3]  
RX_OVER_SIZE. Received packet had to be dropped because it was larger  
than the maximum size set in the RX Maximum Packet Size Register.  
RX_BAD_PKT interrupt is asserted.  
2
1
0
RX_PKT_STAT[2]  
R/W1C  
R/W1C  
R/W1C  
0b  
0b  
0b  
PCOL_ERROR. Received other than GoodCRC or Ping message when  
GoodCRC was expected. RX_PCOL_ERROR interrupt is asserted.  
RX_PKT_STAT[1]  
DUPLICATE_PACKET. Applicable to auto-response mode. RX_PKT_-  
DROPPED interrupt is asserted.  
RX_PKT_STAT[0]  
BAD_CRC. RX packet had bad CRC. RX_BAD_PKT interrupt is asserted.  
This bit is also forced set if symbol error or odd nibble count occurs. It is not  
set if RX_PKT_STAT[3] (RX_OVER_SIZE) is set, regardless of bad CRC,  
symbol errors or odd nibbles.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 145  
UPD360  
11.4.2.7  
RX tReceive Time Register (RX_TRECEIVE_TIME)  
Address:  
1A46h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
TRECEIVE  
R/W  
64h  
CRCReceiveTimer timeout value (tReceive) in 10's of micro seconds.  
Timeout value = field value * 10 (us)  
Range: 0-255, specification: 900-1100us (90-110)  
Note:  
Note:  
A value of 0 is invalid and hardware does not check for validity.  
Hardware uses a free running 1us pulse generator, thus, this  
CRCReceiveTimer may be 1us less than that expected.  
Note:  
Reset value is programmed to be 1000us (+/- 2%).  
11.4.2.8  
RX BadCRC Packet Count Register (RX_BADCRC_PKT_CNT)  
Address:  
1A47h  
Size:  
8 bits  
This register keeps track of the number of packets received with bad CRC (any packet with valid SOP but bad CRC or  
invalid EOP or symbol error). This register is for debug purpose only.  
If enabled, an interrupt can be generated when the count of this register reaches 128.  
Bits  
Description  
Type  
Default  
7:0  
BADCRC_PKT_CNT  
Number of bad packets received, i.e., with Bad CRC or invalid EOP or symbol  
error.  
R/WAC  
00h  
When the value of this register becomes greater than 127, the DBG_EVENT  
bit in the RX Interrupt Status Register (RX_IRQ_STAT) will be set.  
Any write to this register will clear all bits.  
Note:  
This register is not affected by packets received during BIST  
Receiver Test. All these packets will be corrupted.  
DS00002084C-page 146  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2.9  
RX Duplicate Packet Count Register (RX_DUP_PKT_CNT)  
Address:  
1A48h  
Size:  
8 bits  
This register keeps track of the number of the number of duplicate packets received. It is applicable only when Automatic  
Response Mode is enabled. This register is for debug purpose only.  
If enabled, an interrupt can be generated when the count of this register reaches 128.  
Bits  
Description  
Type  
Default  
7:0  
DUP_PKT_CNT  
R/WAC  
00h  
Number of duplicate packets received. Applicable when Auto Response Mode  
is enabled.  
When the value of this register becomes greater than 127, the DBG_EVENT  
bit in the RX Interrupt Status Register (RX_IRQ_STAT) will be set.  
Any write to this register will clear all bits.  
11.4.2.10 RX Hard Reset Detection Window Register (RX_HR_DET_WINDOW)  
Address:  
1A49h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
RX_HR_DET_WINDOW  
Value of Hard Reset detection window in number of bits.  
R/W  
1011110b  
This field determines when a detected Hard Reset or Cable Reset will be con-  
sidered valid.  
11.4.2.11 RX Last GoodCRC Packet High Byte Register (RX_LAST_GCRC_PKT_HI)  
Address:  
1A4Ah  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
RX_LAST_GCRC_PKT_HI  
Bits [15:8] of received GoodCRC message.  
RO  
00h  
This register is only valid when auto-retry is enabled. Since GoodCRC mes-  
sage in auto-retry mode is not stored in the RX queue, this register provides a  
means for software to examine the last GoodCRC message received.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 147  
UPD360  
11.4.2.12 RX Last GoodCRC Packet Low Byte Register (RX_LAST_GCRC_PKT_LO)  
Address:  
1A4Bh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
RX_LAST_GCRC_PKT_LO  
Bits [7:0] of received GoodCRC message.  
RO  
00h  
This register is only valid when auto-retry is enabled. Since GoodCRC mes-  
sage in auto-retry mode is not stored in the RX queue, this register provides a  
means for software to examine the last GoodCRC message received.  
11.4.2.13 RX Message ID Stored Register (RX_MSG_ID_STORED)  
Address:  
1A4Ch  
Size:  
8 bits  
This register indicates if a last message ID was stored for each SOP type. A write to the appropriate bit will clear the  
last stored message ID for the SOP type indicated. When cleared, the next packet received for the SOP type will not be  
considered a duplicate. Software should clear the appropriate bit when it processes a Soft Reset.  
Bits in this register are set by hardware and must be cleared by software.  
This register is also cleared when software issues a SW_RESET or PD_RESET via the Reset Control Register  
(RESET_CTL).  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RO  
-
4:0  
RX_MSG_ID_STORED  
This field indicates that a last message ID was stored for the SOP type.  
W1C  
00000b  
Bit 0: SOP  
Bit 1: SOP'  
Bit 2: SOP''  
Bit 3: SOP'_Debug  
Bit 4: SOP''_Debug  
11.4.2.14 RX Maximum Packet Size Register (RX_MAX_SIZE)  
Address:  
1A4Dh  
Size:  
8 bits  
The value of this register sets the maximum receive packet size, including the 4 bytes of CRC.  
Bits  
Description  
Type  
Default  
7:0  
RX_MAX_SIZE  
Maximum receive packet size including the 4 byte CRC.  
R/W  
22h  
DS00002084C-page 148  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2.15 RX FIFO Read Pointer Register (RX_FIFO_RD_PTR)  
Address:  
1A50h  
Size:  
8 bits  
This register contains the RX FIFO read pointer. Software may update this register to flush a packet based on the known  
packet length and starting point.  
Software must keep the RX FIFO Read Pointer Control Bits Register coherent with this register if software were to  
update this register.  
In order to maintain coherency, writes to this register are held in a temporary register and are transferred to the actual  
register when the RX FIFO Read Pointer Control Bits Register is written.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
RX_FIFO_RD_PTR  
This field contains the RX FIFO read pointer.  
R/W  
0000000b  
11.4.2.16 RX FIFO Read Pointer Control Bits Register (RX_FIFO_RD_PTR_CTL_BITS)  
Address:  
This register contains the auxiliary control bits of the RX FIFO read pointer.  
Software must keep these bits coherent with the RX FIFO Read Pointer if software were to update the latter.  
1A51h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RX_FIFO_EMPTY  
RO  
1b  
This field indicates that the RX FIFO is empty (RX FIFO Write Head Pointer  
equals the RX FIFO Read Pointer.)  
6:2  
1
RESERVED  
RO  
RO  
-
RX_FIFO_RD_PTR_AT_TOP  
This field indicates that the RX FIFO read pointer is at the top of the RAM  
0b  
(location 127).  
0
RX_FIFO_RX_PTR_WRAP  
This field toggles each time the RX FIFO read pointer wraps past the top of  
R/W  
0b  
the RAM (location 127). If software updates the RX FIFO read pointer such  
that it wraps, this bit must be toggled.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 149  
UPD360  
11.4.2.17 RX FIFO Write Current Pointer Register (RX_FIFO_WR_CURRENT_PTR)  
Address:  
1A52h  
Size:  
8 bits  
This register contains the RX FIFO write current pointer. This pointer indicates where the next received byte of data will  
be stored. This register is for debug and test purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
RX_FIFO_WR_CURRENT_PTR  
This field contains the RX FIFO write current pointer.  
R/W  
0000000b  
11.4.2.18 RX FIFO Write Current Pointer Control Bits Register  
(RX_FIFO_WR_CURRENT_PTR_CTL_BITS)  
Address:  
1A53h  
Size:  
8 bits  
This register contains the auxiliary control bits of the RX FIFO write current pointer. This register is for debug and test  
purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
Type  
Default  
7
RX_FIFO_FULL  
RO  
0b  
This field indicates that the RX FIFO is full (RX FIFO Write Current Pointer  
equals the RX FIFO Read Pointer.)  
6:2  
1
RESERVED  
RO  
RO  
-
RX_FIFO_WR_CURRENT_PTR_AT_TOP  
This field indicates that the RX FIFO write current pointer is at the top of the  
0b  
RAM (location 127).  
0
RX_FIFO_WR_CURRENT_PTR_WRAP  
This field toggles each time the RX FIFO write current pointer wraps past the  
R/W  
0b  
top of the RAM (location 127).  
DS00002084C-page 150  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.2.19 RX FIFO Write Head Pointer Register (RX_FIFO_WR_HEAD_PTR)  
Address:  
1A54h  
Size:  
8 bits  
This register contains the RX FIFO write head pointer. This pointer indicates where the next received packet starts. This  
register is for debug and test purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
RX_FIFO_WR_HEAD_PTR  
This field contains the RX FIFO write head pointer.  
R/W  
0000000b  
11.4.2.20 RX FIFO Write Head Pointer Control Bits Register (RX_FIFO_WR_HEAD_PTR_CTL_BITS)  
Address:  
1A55h  
Size:  
8 bits  
This register contains the auxiliary control bits of the RX FIFO write head pointer. This register is for debug and test  
purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
RX_FIFO_NO_ROOM_FOR_HEADER  
Type  
Default  
7
RO  
0b  
This field indicates that the RX FIFO has no space for the RX header (status  
and length) (RX FIFO Write Head Pointer equals the RX FIFO Read Pointer  
or RX FIFO Write Head Pointer Plus One equals the RX FIFO Read Pointer).  
6:3  
2
RESERVED  
RO  
RO  
-
RX_FIFO_WR_HEAD_PTR_AT_2ND_FROM _TOP  
This field indicates that the RX FIFO write head pointer is one below the top of  
0b  
the RAM (location 126).  
1
0
RX_FIFO_WR_HEAD_PTR_AT_TOP  
RO  
0b  
0b  
This field indicates that the RX FIFO write head pointer is at the top of the  
RAM (location 127).  
RX_FIFO_WR_HEAD_PTR_WRAP  
This field toggles each time the RX FIFO write head pointer wraps past the top  
R/W  
of the RAM (location 127).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 151  
UPD360  
11.4.2.21 RX FIFO Write Head Pointer Plus One Register (RX_FIFO_WR_HEAD_PTR_PLUS_ONE)  
Address:  
1A56h  
Size:  
8 bits  
This register contains the RX FIFO write head pointer plus one. This pointer indicates where the next received packet  
starts plus one. This register is for debug and test purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
Type  
Default  
7
RESERVED  
RO  
-
6:0  
RX_FIFO_WR_HEAD_PTR_PLUS_ONE  
This field contains the RX FIFO write head pointer plus one.  
R/W  
0000001b  
11.4.2.22 RX FIFO Write Head Pointer Plus One Control Bits Register  
(RX_FIFO_WR_HEAD_PTR_PLUS_ONE_CTL_BITS)  
Address:  
1A57h  
Size:  
8 bits  
This register contains the auxiliary control bits of the RX FIFO write head pointer plus one. This register is for debug and  
test purpose only and should not normally be written.  
Software must maintain coherency between this and the other Write Pointer Registers.  
There is no hardware holding register to maintain write coherency between this and the other Write Pointer Registers.  
It is assumed that this register is only written while there is no active receive.  
Bits  
Description  
Type  
Default  
7:1  
RESERVED  
RO  
-
0
RX_FIFO_WR_HEAD_PTR_PLUS_ONE_WRAP  
This field toggles each time the RX FIFO write head pointer plus one wraps  
R/W  
0b  
past the top of the RAM (location 127).  
DS00002084C-page 152  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.3  
PD MAC INTERRUPT STATUS AND ENABLE REGISTERS  
The following sub-sections describe the various registers associated with the PD MAC interrupts.  
Refer to Section 8.1, "System Interrupts," on page 35 for additional information on system level interrupt control.  
11.4.3.1  
MAC Interrupt Status Register (MAC_IRQ_STAT)  
Address:  
1A80h  
Size:  
8 bits  
This register reflects the summary status of the various interrupt sources. If any of these bits are set, the MAC_INT inter-  
rupt bit in the Interrupt Status Register (INT_STS) will be active (if enabled).  
Bits in this register are read only and reflect the combined result of the other PD MAC interrupt status registers.  
There is no corresponding enable register, since all interrupts have enables at lower levels of the hierarchy.  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RO  
-
4
3
2
1
0
RX_SOP_IRQ_STAT  
RO  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
0b  
RX SOP status. This bit is set when any bit in the RX SOP Interrupt Status  
Register (RX_SOP_IRQ_STAT) is set and enabled via the RX SOP Interrupt  
Enable Register (RX_SOP_IRQ_EN).  
This bit can only be cleared by clearing or disabling the bit(s) in the RX SOP  
Interrupt Status Register (RX_SOP_IRQ_STAT).  
PM_IRQ_STAT  
Power Management status. This bit is set when any bit in the Power Manage-  
ment Interrupt Status Register (PM_IRQ_STAT) is set and enabled via the  
Power Management Interrupt Enable and Control Register (PM_IRQ_EN).  
This bit can only be cleared by clearing or disabling the bit(s) in the Power  
Management Interrupt Status Register (PM_IRQ_STAT).  
RX_ERR_IRQ_STAT  
RX Error status. This bit is set when any bit in the RX Error Interrupt Status  
Register (RX_ERR_IRQ_STAT) is set and enabled via the RX Error Interrupt  
Enable Register (RX_ERR_IRQ_EN).  
This bit can only be cleared by clearing or disabling the bit(s) in the RX Error  
Interrupt Status Register (RX_ERR_IRQ_STAT).  
RX_IRQ_STAT  
RX status. This bit is set when any bit in the RX Interrupt Status Register  
(RX_IRQ_STAT) is set and enabled via the RX Interrupt Enable Register  
(RX_IRQ_EN).  
This bit can only be cleared by clearing or disabling the bit(s) in the RX Inter-  
rupt Status Register (RX_IRQ_STAT).  
TX_IRQ_STAT  
TX status. This bit is set when any bit in the TX Interrupt Status Register  
(TX_IRQ_STAT) is set and enabled via the TX Interrupt Enable Register  
(TX_IRQ_EN).  
This bit can only be cleared by clearing or disabling the bit(s) in the TX Inter-  
rupt Status Register (TX_IRQ_STAT).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 153  
UPD360  
11.4.3.2  
TX Interrupt Status Register (TX_IRQ_STAT)  
Address:  
1A81h  
Size:  
8 bits  
This register reflects the status of various TX_IRQ_STAT sources. Whether an interrupt is generated or not depends on  
the values in the TX Interrupt Enable Register (TX_IRQ_EN).  
Bits in this register are set by hardware and must be cleared by software.  
Bits  
Description  
Type  
Default  
7
AUTO_RSP_ABORTED  
R/W1C  
0b  
A TX auto-response message was aborted. Reason for why the TX was  
aborted may be determined by reading the TX Auto-Response Abort Status  
Register (TX_AR_ABORT_STAT).  
6
5
AUTO_RSP_SENT  
R/W1C  
R/W1C  
0b  
1b  
Hardware has sent an auto-response. This bit is set when hardware is fin-  
ished sending an auto-response.  
OK_TO_TX  
It is now OK to transmit. This bit is set when OK_TO_TX bit in TX Control  
Register B (TX_CTL_B) changes from 0 to 1 indicating that it is OK for soft-  
ware to initiate transmission.  
4
CRC_RCV_TIMEOUT  
CRC Receive Timer expired. This is a TX failure. This interrupt should be  
R/W1C  
0b  
enabled only when Automatic Retry Mode is disabled.  
The EN_CRC_RCV_TMR bit in the RX Control Register A (RX_CTL_A) must  
be set to enable the timer for use by software.  
Note:  
CRC Receive Timer is also used in BIST Mode to time reception of  
BIST Error Count message.  
3
TX_EOP  
R/W1C  
0b  
Hardware is done sending a packet. Note this does not mean that a valid EOP  
framing symbol was sent. It only means that packet transmission ended, i.e.,  
transmitter was turned off.  
This bit set after each TX attempt.  
This can be used to signal when a Hard or Cable Reset is finished transmis-  
sion since it does not have a GoodCRC response so the TX_DONE bit will not  
be set - or if Auto Retry Mode is disabled in which case the hardware is done  
when the transmitter turns off.  
This bit is used by software to trigger internal timers. Software must be care-  
fully when it enables/disables this interrupt because this bit is set after each  
TX completion.  
2
TX_ABORTED  
R/W1C  
0b  
A TX message was aborted. Reason for why the TX was aborted may be  
determined by reading the TX Abort Status Register (TX_ABORT_STAT).  
DS00002084C-page 154  
2016-2017 Microchip Technology Inc.  
UPD360  
Bits  
Description  
Type  
R/W1C  
Default  
1
TX_FAILED  
0b  
Applicable in Auto Retry Mode only (or when GoodCRC timer is enabled).  
This interrupt indicates a TX message request failed to complete for one of  
the following reasons:  
• GoodCRC timer expired  
• Maximum number of retries exceeded  
Note:  
Software may enable the GoodCRC timer without enabling Auto  
Retry. In this case this interrupt will be generated when GoodCRC  
timer expires. It is software's responsibility to disable the Good-  
CRC timer on reception of GoodCRC message to prevent genera-  
tion of this interrupt.  
0
TX_DONE  
R/W1C  
0b  
Applicable in Auto Retry Mode only. A TX message request is successfully  
completed, i.e., the message is acknowledged with GoodCRC by recipient.  
This bit is not set for messages that don't get a GoodCRC message, i.e., Hard  
or Cable Reset. TX_EOP should be used in such situations.  
When Auto Retry Mode is disabled, TX_EOP should be used to determine  
when packet is done transmitting.  
11.4.3.3  
RX Interrupt Status Register (RX_IRQ_STAT)  
Address:  
1A82h  
Size:  
8 bits  
This register reflects the status of various RX_IRQ_STAT sources. Whether an interrupt is generated or not depends on  
the values in the RX Interrupt Enable Register (RX_IRQ_EN).  
Bits in this register are set by hardware and must be cleared by software.  
Bits  
Description  
Type  
Default  
7
RX_FIFO_NOT_EMPTY  
RO  
0b  
RX FIFO is not empty. This bit is set whenever the RX FIFO has data to be  
read. Typically set when a valid packet is finished being received and cleared  
once all data has been read.  
Note:  
This bit is read only and is cleared once the FIFO is empty.  
6
LINE_WENT_IDLE  
Line is now idle. This bit is set when hardware detects no activity on the PD  
R/W1C  
1b  
bus.  
Note:  
This bit is not line status, it is an event. If line is already idle when  
this interrupt is enabled, this bit will be set immediately. If line is  
busy when this interrupt is enabled, this bit will be set when line  
goes idle.  
Software can use this to be informed when either TX is over or RX is over.  
This will only work while clocks are enabled.  
5
4
3
RX_CABLE_RST  
R/W1C  
RO  
0b  
-
Cable Reset Message received.  
RESERVED  
RX_HARD_RST  
Hard Reset Message received.  
R/W1C  
0b  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 155  
UPD360  
Bits  
Description  
Type  
Default  
2
RX_EOP  
R/W1C  
0b  
Hardware detected valid EOP framing. A bad EOP or abnormal termination  
will cause packet to be dropped.  
This bit is set for only of frames that started with an SOP type that was  
enabled via the RX Control Register B (RX_CTL_B).  
1
0
RX_SOP  
R/W1C  
R/W1C  
0b  
0b  
Hardware detected valid SOP framing sequence.  
This bit is set for any SOP type that is enabled via the RX Control Register B  
(RX_CTL_B).  
RX_DONE  
RX message is successfully received.  
The following conditions apply:  
• In Auto Retry Mode, expected GoodCRC messages are dropped and  
therefore not indicated.  
• In Auto Response Mode, duplicate packets are dropped and therefore not  
indicated  
Note:  
In Auto Response Mode, this bit is set before the GoodCRC  
response is sent and regardless of its successful transmission.  
DS00002084C-page 156  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.3.4  
RX Error Interrupt Status Register (RX_ERR_IRQ_STAT)  
Address:  
1A83h  
Size:  
8 bits  
This register reflects the status of various RX_ERR_IRQ_STAT sources. Whether an interrupt is generated or not  
depends on the values in the RX Error Interrupt Enable Register (RX_ERR_IRQ_EN).  
Bits in this register are set by hardware and must be cleared by software.  
Bits  
Description  
Type  
Default  
7
DBG_EVENT  
Debug event occurred:  
R/W1C  
0b  
• Count of packets with bad CRC reached limit. Provides indication of link  
quality.  
• Count of duplicate packets reached limit. Provides indication dropped  
GoodCRC packets by receiver.  
Note:  
Software must read both count registers in order to determine  
which of the above two conditions caused the event.  
Note:  
Unlike other RX IRQ status bits, which are triggered by strobes,  
this bit is persistent, i.e., if the register causing the interrupt is not  
cleared prior to clearing the interrupt then this bit will set again.  
6:4  
3
RESERVED  
RO  
-
RX_BAD_PKT  
R/W1C  
0b  
Received corrupt packet (Bad CRC, Symbol Error, Oversize or ODD nibble  
count). RX_PKT_STAT[0] (BAD_CRC), RX_PKT_STAT[5] (SYM_ERROR),  
RX_PKT_STAT[6] (ODD_NIBBLES) or RX_PKT_STAT[3] (RX_OVER_SIZE)  
in the RX Packet Status Register (RX_PKT_STAT) will be set.  
2
1
RX_BUF_OVR_RUN  
R/W1C  
R/W1C  
0b  
0b  
Receiving packet but no buffer space available. In this case, the RX_PK-  
T_STAT[4] (RX_FIFO_FULL) bit in the RX Packet Status Register (RX_PK-  
T_STAT) will be set.  
Received packet will be dropped.  
RX_PCOL_ERROR  
Applicable to Auto Retry Mode only. Hardware detected protocol error. i.e.,  
received other than GoodCRC or Ping message when a GoodCRC message  
was expected.  
Received message will be placed in RXQ and RX_DONE be will be set.  
Auto Retry will be aborted and TX_ABORTED bit will be set.  
0
RX_PKT_DROPPED  
RX packet is dropped due to:  
R/W1C  
0b  
• Duplicate packet in Auto Response Mode  
• GoodCRC message in Auto Retry Mode  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 157  
UPD360  
11.4.3.5  
Power Management Interrupt Status Register (PM_IRQ_STAT)  
Address:  
1A84h  
Size:  
8 bits  
This register reflects the status of various PM_IRQ_STAT sources. Whether an interrupt is generated or not depends  
on the values in the Power Management Interrupt Enable and Control Register (PM_IRQ_EN).  
Bits in this register are set by hardware and must be cleared by software.  
Bits  
Description  
Type  
Default  
7:1  
RESERVED  
RO  
-
0
UPD_ACT_WS  
R/W1C  
0b  
USB PD activity detected. Set asynchronously by assertion of the receive  
input signal at the beginning of any activity.  
To prevent metastability this interrupt should only be enabled when software  
plans to stop the clocks.  
Clearing the USB_PD_ACT_WS_EN bit will actually prevent this bit from  
being set unlike the other interrupt status bits.  
This bit is not affected by either UPD_CLK_STOP_EN or UPD_WU_EN.  
USB PD Activity status is available in other register bits during normal opera-  
tion.  
11.4.3.6  
RX SOP Interrupt Status Register (RX_SOP_IRQ_STAT)  
Address:  
1A85h  
Size:  
8 bits  
This register reflects the status of the occurrence of various received SOP types. The SOP type does not need to be  
enabled via the RX Control Register B (RX_CTL_B) in order for a status bit to be set. Whether an interrupt is generated  
or not depends on the value of the RX SOP Interrupt Enable Register (RX_SOP_IRQ_EN).  
The bits in this register are not cascaded into the RX Interrupt Status Register but instead are enabled and OR'ed into  
their own interrupt signal output.  
Bits in this register are set by hardware and must be cleared by software.  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RX_SOP  
RO  
-
4:0  
R/W1C  
00000b  
Hardware detected valid SOP framing sequence.  
Bit 0: SOP  
Bit 1: SOP'  
Bit 2: SOP''  
Bit 3: SOP'_Debug  
Bit 4: SOP''_Debug  
DS00002084C-page 158  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.3.7  
TX Interrupt Enable Register (TX_IRQ_EN)  
Address:  
1A86h  
Size:  
8 bits  
Setting a bit in this register will enable to corresponding source to generate an interrupt. Note that only interrupt gener-  
ation is affected. The TX Interrupt Status Register (TX_IRQ_STAT) will still reflect the status of the event.  
All interrupts are disabled after POR.  
Bits  
Description  
Type  
Default  
7
AUTO_RSP_ABORTED_EN  
Setting this bit enables the AUTO_RSP_ABORTED interrupt.  
R/W  
0b  
6
5
4
3
2
1
0
AUTO_RSP_SENT_EN  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
0b  
0b  
0b  
Setting this bit enables the AUTO_RSP_SENT interrupt.  
OK_TO_TX_EN  
Setting this bit enables the OK_TO_TX interrupt.  
CRC_RCV_TIMEOUT_EN  
Setting this bit enables the CRC_RCV_TIMEOUT interrupt.  
TX_EOP_EN  
Setting this bit enables the TX_EOP interrupt.  
TX_ABORTED_EN  
Setting this bit enables the TX_ABORTED interrupt.  
TX_FAILED_EN  
Setting this bit enables the TX_FAILED interrupt.  
TX_DONE_EN  
Setting this bit enables the TX_DONE interrupt.  
11.4.3.8  
RX Interrupt Enable Register (RX_IRQ_EN)  
Address:  
1A87h  
Size:  
8 bits  
Setting a bit in this register will enable to corresponding source to generate an interrupt. Note that only interrupt gener-  
ation is affected. The RX Interrupt Status Register (RX_IRQ_STAT) will still reflect the status of the event.  
All interrupts are disabled after POR.  
Bits  
Description  
Type  
Default  
7
RX_FIFO_NOT_EMPTY_EN  
Setting this bit enables the RX_FIFO_NOT_EMPTY interrupt.  
R/W  
0b  
6
5
4
3
2
1
0
LINE_WENT_IDLE_EN  
R/W  
R/W  
RO  
0b  
0b  
-
Setting this bit enables the LINE_WENT_IDLE interrupt.  
RX_CABLE_RST_EN  
Setting this bit enables the RX_CABLE_RST interrupt.  
RESERVED  
RX_HARD_RST_EN  
Setting this bit enables the RX_HARD_RST interrupt.  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
RX_EOP_EN  
Setting this bit enables the RX_EOP interrupt.  
RX_SOP_EN  
Setting this bit enables the RX_SOP interrupt.  
RX_DONE_EN  
Setting this bit enables the RX_DONE interrupt.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 159  
UPD360  
11.4.3.9  
RX Error Interrupt Enable Register (RX_ERR_IRQ_EN)  
Address:  
1A88h  
Size:  
8 bits  
Setting a bit in this register will enable to corresponding source to generate an interrupt. Note that only interrupt gener-  
ation is affected. The RX Error Interrupt Status Register (RX_ERR_IRQ_STAT) will still reflect the status of the event.  
All interrupts are disabled after POR.  
Bits  
Description  
Type  
Default  
7
DBG_EVENT_EN  
Setting this bit enables the DBG_EVENT interrupt.  
R/W  
0b  
6:4  
3
RESERVED  
RO  
-
RX_BAD_PKT_EN  
Setting this bit enables the RX_BAD_PKT interrupt.  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
2
RX_BUF_OVR_RUN_EN  
Setting this bit enables the RX_BUF_OVR_RUN interrupt.  
1
RX_PCOL_ERROR_EN  
Setting this bit enables the RX_PCOL_ERROR interrupt.  
0
RX_PKT_DROPPED_EN  
Setting this bit enables the RX_PKT_DROPPED interrupt.  
11.4.3.10 Power Management Interrupt Enable and Control Register (PM_IRQ_EN)  
Address:  
1A89h  
Size:  
8 bits  
Setting a bit in this register will enable to corresponding source to generate an interrupt. Note that only interrupt gener-  
ation is affected. The Power Management Interrupt Status Register (PM_IRQ_STAT) will still reflect the status of the  
event.  
All interrupts are disabled after POR. This register also enables clock start and stop requests.  
Bits  
Description  
Type  
Default  
7:4  
RESERVED  
RO  
-
3
UPD_CLK_STOP_EN  
If this bit is set, the MAC, upon going idle, will request that the system clock be  
stopped.  
R/W  
0b  
If this bit is cleared, software is responsible to return the device to sleep mode.  
This bit does not affect the wake up interrupt (UPD_ACT_WS) generation.  
Note:  
This bit does not affect the MAC's indication that it requires the  
clock. Even if this bit is cleared, the MAC, once it is idle, will indi-  
cate that it does not need the clock.  
DS00002084C-page 160  
2016-2017 Microchip Technology Inc.  
UPD360  
Bits  
Description  
Type  
Default  
2
UPD_WU_EN  
R/W  
0b  
If this bit is set, the MAC, upon detecting receive activity, will request that the  
system clock be started.  
This bit does not affect the wake up interrupt (UPD_ACT_WS) generation.  
Note:  
Once clocks have been started, this bit does not affect the MAC's  
indication that it requires the clock. Even if this bit is cleared, the  
MAC, once it is non-idle (i.e. squelch is active), will indicate that it  
requires the clock. Only the period between the asynchronous  
wake up and the start of squelch is affected.  
1
0
RESERVED  
RO  
-
USB_PD_ACT_WS_EN  
Setting this bit enables the UPD_ACT_WS interrupt.  
R/W  
0b  
11.4.3.11 RX SOP Interrupt Enable Register (RX_SOP_IRQ_EN)  
Address:  
1A8Ah  
Size:  
8 bits  
Setting a bit in this register will enable to corresponding source to generate an interrupt. Note that only interrupt gener-  
ation is affected. The RX SOP Interrupt Status Register (RX_SOP_IRQ_STAT) will still reflect the status of the event.  
All interrupts are disabled after POR.  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RX_SOP_EN  
RO  
-
4:0  
R/W  
00000b  
Setting a bit enables the corresponding RX_SOP interrupt.  
Bit 0: SOP  
Bit 1: SOP'  
Bit 2: SOP''  
Bit 3: SOP'_Debug  
Bit 4: SOP''_Debug  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 161  
UPD360  
11.4.3.12 Reset Control Register (RESET_CTL)  
Address:  
1A8Bh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
SW_RESET  
R/W  
0b  
Software generated PD MAC reset. Software can use this bit to reset the PD  
MAC to its POR state.  
Software should toggle this bit, i.e., set it and clear it. After clearing this bit,  
software will have to re initialize the PD MAC, including the BMC registers.  
This bit is reset by RESET_N.  
6
BMC_SW_RESET  
R/W  
0b  
Software generated BMC reset. Software can use this bit to reset the BMC  
encoder/decoder to its POR state.  
Software should toggle this bit, i.e., set it and clear it. The BMC registers are  
NOT affected by this reset.  
5:1  
0
RESERVED  
RO  
-
PD_RESET  
R/W  
0b  
Software should set this bit when it is done processing a PD Hard Reset,  
Cable Reset or Cable Reset so hardware can return to PD Reset state. Soft-  
ware should toggle this bit, i.e., set it and clear it.  
The following are reset by PD_RESET:  
• RX_CTL FSM goes to POR state except Hard and Cable Reset process-  
ing remains enabled if it was previously enabled by enabling the receiver.  
• TX_CTL FSM goes to POR state.  
• TX parallel to serial and 4b5b encoder  
TX Control Register B (TX_CTL_B) GO, TX_HARD_RESET, TX_CA-  
BLE_RESET bits  
TX Parameters Register A (TX_PARAM_A) EN_FWTX bit  
The following are not reset:  
• All PD MAC registers, except as listed above.  
• Various TX packet counters are NOT reset (NUM_PD_PACKETS_SENT,  
NUM_MISSING_GCRC_MSG, NUM_MISSING_GCRC_MSG_SENT).  
• Various RX packet counters are NOT reset (RX_BADCRC_PKT_CNT,  
RX_DUP_PKT_CNT, NUM_PD_PACKETS_RECVD).  
• RX FIFO is NOT reset.  
• RX CDR, 4b5b decoder, and CRC are not reset.  
• TX IFG timer and CRC are not reset.  
• BIST and Power Management functions are not reset.  
• BMC encoder/decoder.  
DS00002084C-page 162  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.4  
PD MAC BMC ENCODER/DECODER REGISTERS  
The following sub-sections describe the various registers associated with the PD MAC BMC Encoder/Decoder.  
11.4.4.1  
BMC RX High Level Full Bit Maximum Time Register (BMC_RX_HI_FB_MAX_TIME)  
Address:  
1AA0h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX High Level Full Bit Minimum Time Register (BMC_RX-  
_HI_FB_MIN_TIME) is used by the BMC decoder to determine the valid full bit time for a high level RX signal. This time  
should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_HI_FB_MAX_TIME > valid high time > BMC_RX_HI_FB_MIN_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_HI_FB_MAX_TIME  
Time in clock cycles at minimum bit-rate and worst duty cycle distortion.  
= (((clock_freq_KHz / min_bit_rate_Kbps) * (100 + tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 202 (decimal) is recommended for this field.  
11.4.4.2  
BMC RX High Level Full Bit Minimum Time Register (BMC_RX_HI_FB_MIN_TIME)  
Address:  
1AA1h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX High Level Full Bit Maximum Time Register (BMC_RX-  
_HI_FB_MAX_TIME) is used by the BMC decoder to determine the valid full bit time for a high level RX signal. This time  
should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_HI_FB_MAX_TIME > valid high time > BMC_RX_HI_FB_MIN_TIME  
BMC_RX_HI_FB_MIN_TIME > BMC_RX_HI_HB_MAX_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_HI_FB_MIN_TIME  
Time in clock cycles at maximum bit-rate and worst duty cycle distortion.  
= (((clock_freq_KHz / max_bit_rate_Kbps) * (100 - tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 116 (decimal) is recommended for this field.  
11.4.4.3  
BMC RX Low Level Full Bit Maximum Time Register (BMC_RX_LO_FB_MAX_TIME)  
Address:  
1AA2h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX Low Level Full Bit Minimum Time Register (BMC_RX-  
_LO_FB_MIN_TIME) is used by the BMC decoder to determine the valid full bit time for a low level RX signal. This time  
should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_LO_FB_MAX_TIME > valid low time > BMC_RX_LO_FB_MIN_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_LO_FB_MAX_TIME  
Time in clock cycles at minimum bit-rate and worst duty cycle distortion.  
= (((clock_freq_KHz / min_bit_rate_Kbps) * (100 + tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 202 (decimal) is recommended for this field.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 163  
UPD360  
11.4.4.4  
BMC RX Low Level Full Bit Minimum Time Register (BMC_RX_LO_FB_MIN_TIME)  
Address:  
1AA3h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX Low Level Full Bit Maximum Time Register (BMC_RX-  
_LO_FB_MAX_TIME) is used by the BMC decoder to determine the valid full bit time for a low level RX signal. This time  
should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_LO_FB_MAX_TIME > valid low time > BMC_RX_LO_FB_MIN_TIME  
BMC_RX_LO_FB_MIN_TIME > BMC_RX_LO_HB_MAX_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_LO_FB_MIN_TIME  
Time in clock cycles at maximum bit-rate and worst duty cycle distortion.  
= (((clock_freq_KHz / max_bit_rate_Kbps) * (100 - tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 116 (decimal) is recommended for this field.  
11.4.4.5  
BMC RX High Level Half Bit Maximum Time Register (BMC_RX_HI_HB_MAX_TIME)  
Address:  
1AA4h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX High Level Half Bit Minimum Time Register (BMC_RX-  
_HI_HB_MIN_TIME) is used by the BMC decoder to determine the valid half bit time for a high level RX signal. This  
time should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_HI_HB_MAX_TIME > valid high time > BMC_RX_HI_HB_MIN_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_HI_HB_MAX_TIME  
Time in clock cycles at minimum bit-rate and worst duty cycle distortion.  
=((1 / 2) * ((clock_freq_KHz / min_bit_rate_Kbps)*(100 + tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 110 (decimal) is recommended for this field.  
11.4.4.6  
BMC RX High Level Half Bit Minimum Time Register (BMC_RX_HI_HB_MIN_TIME)  
Address:  
1AA5h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX High Level Half Bit Maximum Time Register (BMC_RX-  
_HI_HB_MAX_TIME) is used by the BMC decoder to determine the valid half bit-time for a high level RX signal. This  
time should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_HI_HB_MAX_TIME > valid high time > BMC_RX_HI_HB_MIN_TIME  
BMC_RX_HI_FB_MIN_TIME > BMC_RX_HI_HB_MAX_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_HI_HB_MIN_TIME  
Time in clock cycles at maximum bit-rate and worst duty cycle distortion.  
=((1 / 2) * ((clock_freq_KHz / max_bit_rate_Kbps)*(100 - tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 48 (decimal) is recommended for this field.  
DS00002084C-page 164  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.4.7  
BMC RX Low Level Half Bit Maximum Time Register (BMC_RX_LO_HB_MAX_TIME)  
Address:  
1AA6h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX Low Level Half Bit Minimum Time Register (BMC_RX-  
_LO_HB_MIN_TIME) is used by the BMC decoder to determine the valid half bit-time for a low level RX signal. This  
time should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_LO_HB_MAX_TIME > valid low time > BMC_RX_LO_HB_MIN_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_LO_HB_MAX_TIME  
Time in clock cycles at minimum bit-rate and worst duty cycle distortion.  
=((1 / 2) * ((clock_freq_KHz / min_bit_rate_Kbps)*(100 + tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 110 (decimal) is recommended for this field.  
11.4.4.8  
BMC RX Low Level Half Bit Minimum Time Register (BMC_RX_LO_HB_MIN_TIME)  
Address:  
1AA7h  
Size:  
8 bits  
The value of this register together with the value of the BMC RX Low Level Half Bit Maximum Time Register (BMC_RX-  
_LO_HB_MAX_TIME) is used by the BMC decoder to determine the valid half bit-time for a low level RX signal. This  
time should take into account both the bit rate range and duty cycle distortion of the received signal.  
BMC_RX_LO_HB_MAX_TIME > valid low time > BMC_RX_LO_HB_MIN_TIME  
BMC_RX_LO_FB_MIN_TIME > BMC_RX_LO_HB_MAX_TIME  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_LO_HB_MIN_TIME  
Time in clock cycles at maximum bit-rate and worst duty cycle distortion.  
=((1 / 2) * ((clock_freq_KHz / max_bit_rate_Kbps)*(100 - tolerance) / 100) - 1)  
R/W  
00h  
Note:  
A value of 48 (decimal) is recommended for this field.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 165  
UPD360  
11.4.4.9  
BMC RX Squelch Assert Time Register (BMC_RX_SQL_ASSERT_TIME)  
Address:  
1AA8h  
Size:  
8 bits  
The value of this register is used by the BMC decoder to determine when there is a valid signal. If three edges of the  
receive signal are seen within this time, then the “squelch” goes active. This time should take into account the minimum  
bit rate but does not need to account for the duty cycle distortion of the received signal.  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_SQL_ASSERT_TIME  
Time in clock cycles x 4 at minimum bit-rate.  
R/W  
00h  
assert time uS = (BMC_RX_SQL_ASSERT_TIME x 4 + 1) / clock_freq MHz  
A typical assert time would be 3 maximum half bit times plus desired toler-  
ance.  
Note:  
A value of 70 (decimal) is recommended for this field.  
11.4.4.10 BMC RX Squelch Hold Time Register (BMC_RX_SQL_HOLD_TIME)  
Address:  
1AA9h  
Size:  
8 bits  
The value of this register is used by the BMC decoder to provide time for the CDR circuit to output the final bit of data.  
A typical hold time would be 1 maximum half bit time pulse desired tolerance.  
Note:  
The Squelch Drop time is based on the BMC RX Maximum High and Low Time registers.  
Bits  
Description  
Type  
Default  
7:0  
BMC_RX_SQL_HOLD_TIME  
Time in clock cycles x 4 at minimum bit-rate.  
R/W  
00h  
hold time uS = (BMC_RX_SQL_HOLD_TIME x 4 + 1) / clock_freq MHz  
typical value = ((1 / 2) * ((clock_freq_KHz / min_bit_rate_Kbps) *  
(100 + tolerance) / 100) - 1) / 4  
Note:  
A value of 23 (decimal) is recommended for this field.  
DS00002084C-page 166  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.4.11 BMC TX Bit-Time Count Register (BMC_TX_BITTIME_CNT)  
Address:  
1AB0h  
Size:  
8 bits  
Bits  
Description  
Type  
R/W  
Default  
7:0  
BMC_TX_BIT_TIME_CNT  
00h  
Bit-time counter value. The BMC encoder uses this value to determine the bit-  
timing for the last bit of data. This register can be used to adjust bit-time for  
testing purpose (adjusting bitrate).  
Count value is based on clock frequency and is given by:  
((Clock Freq KHz / Bit Rate Kbps) - 1)  
i.e.,  
Clock Frequency = 48000KHz (48MHz)  
Nominal Bit Rate = 300 Kbps  
bit_time_cnt = (48000 / 300) - 1 = 159  
Note:  
A value of 159 (decimal) is recommended for this field.  
11.4.4.12 BMC Transition Window Time Register (BMC_TRANSITION_WINDOW_TIME)  
Address:  
1AB1h  
Size:  
8 bits  
The value of this register is used by the BMC decoder to determine when the line is IDLE. Detection is active when 3  
transitions occur at the receiver within a time window of BMC_TRANSITION_WINDOW_TIME. After waiting  
BMC_TRANSITION_WINDOW_TIME without detecting 3 transitions, the bus is considered idle. The USB PD Specifi-  
cation calls for 12uS minimum and 20uS maximum.  
Bits  
Description  
Type  
Default  
7:0  
BMC_TRANSITION_WINDOW_TIME  
Time in clock cycles x 4  
R/W  
00h  
transition time uS = (BMC_TRANSITION WINDOW_TIME x 4) / clock_freq  
MHz  
Per the USB PD Specification, this value should be set between 12uS and  
20uS. This would be a value between 144 and 240 at 48MHz.  
Note:  
Unlike the TX Turnaround Time Register (TX_TA_TIME), this hard-  
ware does not use a pre-scaler, therefore the time specified is  
accurate.  
Note:  
A value of 200 (decimal) is recommended for this field.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 167  
UPD360  
11.4.5  
PD MAC BIST REGISTERS  
The following sub-sections describe the various registers associated with the PD MAC Built-In Self Test (BIST).  
11.4.5.1  
BIST Control Register A (BIST_CTL_A)  
Address:  
1AC0h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
RO  
-
4
BIST_RX_EN  
Enable BIST Receiver.  
R/W  
0b  
Setting this bit will:  
• Enable the BIST receiver.  
• Reset the PRBS generator in the BIST RX logic so it is ready to compare  
incoming BIST PRBS pattern.  
• Reset the BIST error count registers (BIST Error Count High Register  
(BIST_ERR_CNT_HI) and BIST Error Count Low Register (BIST_ER-  
R_CNT_LO).  
Normally this bit is set only when BIST receiver mode is required; however,  
this bit can be set to enable loopback BIST testing by disabling Automatic  
Response Mode and enabling the RX loopback (setting the EN_LOOPBACK  
bit in the RX Control Register A (RX_CTL_A)).  
This bit must be cleared and set by software every time a new BIST RX  
request comes in.  
Note:  
In BIST loopback test mode, BIST TX must be manually triggered  
for each TX packet since functional receiver path is disabled.  
3
BIST_EN  
R/W  
0b  
Enable BIST. Set this bit when BIST logic is activated.  
This bit together with the EN_LOOPBACK bit in the RX Control Register A  
(RX_CTL_A) is used by hardware to block received data from going into func-  
tional path. This means that when loopback is enabled in BIST mode hard-  
ware cannot detect hard reset.  
This bit also powers up the BMC transmitter for BIST mode operation. Soft-  
ware should set this bit for a sufficient amount of time (5us) before trigger  
transmission of BIST frame via BIST_TX_START/BIST_TX_STATUS.  
2:0  
BIST_TX_MODE  
Set BIST Test Mode. Only the following mode is supported:  
R/W  
000b  
010b: BIST Carrier Test Mode-2 (alternating '1's and '0's)  
All other modes are reserved and should not be used.  
DS00002084C-page 168  
2016-2017 Microchip Technology Inc.  
UPD360  
11.4.5.2  
BIST Control Register B (BIST_CTL_B)  
Address:  
1AC1h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:3  
RESERVED  
BIST_CLR_ERR_CNT  
Clears the BIST error count registers BIST Error Count High Register  
(BIST_ERR_CNT_HI) and BIST Error Count Low Register (BIST_ER-  
R_CNT_LO).  
RO  
-
2
1
WO  
0b  
0b  
BIST_TX_RST  
WO  
Reset the TX logic and PRBS generator. Software must set this bit once  
before starting the BIST test, i.e., setting BIST_TX_START/BIST_TX_STA-  
TUS bit for the first time.  
Since this bit resets the PRBS generator it should not be set again until the  
current BIST test is ended.  
This bit is not latched and will always read '0'  
The PRBS generator cannot be reset by BIST_TX_START/BIST_TX_STA-  
TUS because that would reset it for each TX BIST frame.  
This bit should be used to stop the continuous BIST TX mode (2). It may take  
up to 1 bit time for the TX to stop. BIST_EN should not be cleared until after  
this time.  
Note:  
If this bit is set simultaneously with BIST_TX_START/BIST_TX-  
_STATUS, it takes precedence and will void BIST_TX_START/  
BIST_TX_STATUS.  
0
BIST_TX_START/BIST_TX_STATUS  
Start BIST transmission. Setting this bit will trigger transmission of BIST  
WO/RO  
0b  
frame.  
This bit is not latched and reading it will return the status of current BIST  
transmission.  
Depending on BIST Mode, transmission will either continue indefinitely  
(unless BIST_TX_RST is asserted) or stop after sending a BIST PRBS frame.  
BIST does not support sending of next BIST frame automatically. It must be  
triggered by software by first clearing and then re-setting this bit.  
Note:  
This bit cannot be set simultaneously with BIST_TX_RST.  
BIST_TX_RST has precedence and will void BIST_TX_START/  
BIST_TX_STATUS.  
In BIST RX mode, hardware will automatically send the BIST Error Count  
message if the EN_AUTO_RSP_MODE bit in the TX Control Register A  
(TX_CTL_A) is set.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 169  
UPD360  
11.4.5.3  
BIST Error Count High Register (BIST_ERR_CNT_HI)  
Address:  
1AC2h  
Size:  
8 bits  
8 bits  
8 bits  
Bits  
Description  
Type  
Default  
7:0  
BIST_ERR_CNT_HI[7:0]  
Upper byte of BIST error count (bits 15-8) (BIST_ERR_CNT[15:8])  
RO  
00h  
11.4.5.4  
BIST Error Count Low Register (BIST_ERR_CNT_LO)  
Address:  
1AC3h  
Size:  
Bits  
Description  
Type  
Default  
7:0  
BIST_ERR_CNT_LO[7:0]  
Lower byte of BIST error count (bits 7-0) (BIST_ERR_CNT[7:0])  
RO  
00h  
11.4.5.5  
BIST RX Status Register (BIST_RX_STAT)  
Address:  
1AC7h  
Size:  
This register is used to help with functional testing. Hardware is configured to transmit BIST PRBS frames. At the same  
time, loopback mode is enabled and BIST receive mode is enabled. Now when a PRBS frame is transmitted it is also  
received and compared. This register provides information when the BIST PRBS frame is done receiving and whether  
there were any errors detected.  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
-
1
BIST_RX_ERROR  
This bit is valid only when BIST_RX_DONE bit is set.  
RO  
0b  
A value of “0” indicates that BIST PRBS frame was received without errors.  
A value of “1” indicates that BIST PRBS frame was received with errors.  
0
BIST_RX_DONE  
Successfully received a BIST RX FRAME.  
R/W1C  
0b  
Writing a “1” to this bit will clear it.  
DS00002084C-page 170  
2016-2017 Microchip Technology Inc.  
UPD360  
12.0 USB PORT POWER CONTROLLER (PPC)  
The device’s USB Port Power Controller (PPC) provides 3.0 A of continuous current (3.2 A max) on VBUS with precision  
over-current limiting (OCL), under- and over-voltage lockout, and dynamic thermal management. The PPC also includes  
a VBUS discharge function and constant current mode current limiting for BC 1.2 applications.  
Note:  
The PPC DC and AC parameters can be seen in Table 16-6, “Port Power Controller DC Parameters,” on  
page 209 and Table 16-12, “Port Power Controller AC Parameters,” on page 212, respectively.  
12.1 PPC Power States  
The PPC provides the following power states:  
Sleep: This is the lowest PPC power state available. See Section 12.1.1, "Sleep State Operation" for additional  
information.  
Error: This state is entered when a fault condition exists. The PPC interrupt status registers detail the error condi-  
tion. See Section 12.1.3, "Error State Operation" for additional information.  
Active: In this state, the PPC is active and sourcing current to VBUS. No errors are present. This power state pro-  
vides full functionality. While in this state, operations include activation of the port power switch and current limit-  
ing. See Section 12.1.2, "Active State Operation" for additional information.  
Note:  
The PPC power state is reflected in the PWR_STATE[1:0] field of the PPC General Configuration 3 Reg-  
ister (PPC_GENERAL_CFG3).  
12.1.1  
SLEEP STATE OPERATION  
The PWR_EN pin (UPD360-A/UPD360-B operating in standalone DFP mode only) may be used to cause the PPC to  
enter/exit sleep. When the PPC is in the Sleep state, the device will be in its lowest power state. The bypass switch, and  
the port power switch will be disabled. VBUS will be near ground potential.  
12.1.2  
ACTIVE STATE OPERATION  
When the PPC enters the Active state, the port power switch is closed. The PPC cannot be in the Active state (and  
therefore, the port power switch cannot be turned on) if any of the following conditions exist:  
VS < VS_UVLO (2.5 V).  
PWR_EN is disabled (standalone DFP mode only).  
12.1.3  
ERROR STATE OPERATION  
The PPC will enter the Error state from the Active state when any of the following events are detected:  
• The maximum allowable internal die temperature tTSD has been exceeded.  
• An over-current condition has been detected.  
• An under-voltage condition on VS has been detected (see Section 12.2.1, "Under-Voltage Lockout on VS").  
• A discharge error has been detected.  
• An over-voltage condition on the VS pin.  
When the PPC enters the Error state, the port power switch and the VBUS bypass switch will be disabled, and ALERT  
is asserted (by default). They will remain off while in this power state. The PPC will leave this state as determined by  
the fault handling selection.  
With the Auto-recovery fault handler, the PPC will check that all of the error conditions have been removed. If all of the  
error conditions have been removed, the PPC will return to the Active state. The ERR_RECOVER pin is used in stand-  
alone DFP mode to select the auto-recovery algorithm.  
12.2 Supply Voltages  
12.2.1  
UNDER-VOLTAGE LOCKOUT ON VS  
The PPC requires a minimum voltage VS_UVLO (2.5 V) be present on the VS pin for the Active power state.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 171  
UPD360  
12.2.2  
OVER-VOLTAGE DETECTION LOCKOUT ON VS  
The port power switch will be disabled if the voltage on the VS pin exceeds a voltage VS_OV for longer than the specified  
time tMASK (5 ms). This will cause the device to enter the Error state.  
12.2.3  
PWR_EN INPUT (UPD360-A/UPD360-B ONLY)  
In standalone DFP mode, the PWR_EN pin enables the port power switch to be turned on if conditions are met. The  
port power switch cannot be closed if PWR_EN is disabled. However, if PWR_EN is enabled, the port power switch is  
not necessarily closed (see Section 12.1.2, "Active State Operation"). The PWR_EN pin state will be ignored by the PPC  
if the PIN_IGNORE configuration bit is set. Otherwise, the PWR_EN_SET configuration bit is checked along with the  
PWR_EN pin.  
12.3 USB Port Power Switch  
To assure compliance to USB Type-CTM, the PPC contains a USB port power switch that supports trip current limiting  
mode.  
The current limit (ILIM) is set via the PWR_CAP0 and PWR_CAP1 pins (UPD360-A/UPD360-B only), and may also be  
updated via the PPC Current Limit Register (PPC_CURRENT_LIMIT). The switch also includes soft start circuitry and  
a separate short circuit current limit. The port power switch is on in the Active state (except when VBUS is discharging).  
Note:  
If a load that draws between 2 mAand 7 mAis connected to the port power switch, a voltage ripple between  
40-90 mVPP is observed at the VBUS output. This behavior is normal and it does not affect the charging  
process when a portable device is connected.  
12.3.1  
CURRENT LIMITING  
The current limit (ILIM) is set via the PWR_CAP0 and PWR_CAP1 pins (UPD360-A/UPD360-B only). These pins are  
read at device power-up. The current limit can be changed via the PPC Current Limit Register (PPC_CURRENT_LIMIT)  
after power-up. However, the programmed current limit cannot exceed the hardware set current limit defined by the  
PWR_CAP0 and PWR_CAP1 pins.  
The UPD360 is pre-configured with appropriate settings to satisfy the USB Type-Ccurrent limiting requirements and  
no register writes are necessary to use this internal 5V port power controller, when operating in standalone mode.  
12.3.1.1  
Short Circuit Output Current Limiting  
Short circuit current limiting occurs when the output current is above the selectable current limit (PPC Current Limit Reg-  
ister (PPC_CURRENT_LIMIT)). This event will be detected and the current will immediately be limited within the  
tSHORT_LIM time. If the condition remains, the port power switch will flag an Error condition and enter the Error state.  
12.3.1.2  
Soft Start  
When the PWR_EN control (UPD360-A/UPD360-B only) changes states to enable the port power switch, the PPC  
invokes a soft start routine for the duration of the VBUS rise time (tR_BUS). This soft start routine will limit current flow  
from VS into VBUS while it is active. This circuitry will prevent current spikes due to a step in the portable device current  
draw.  
In the case when a portable device is attached while the PWR_EN pin is already enabled (in standalone DFP mode), or  
the PWR_EN_SET bit is enabled, if the bus current exceeds ILIM, the PPC current limiter will respond within a specified  
time (tSHORT_LIM) and will operate normally at this point. The CBUS capacitor will deliver the extra current, if any, as  
required by the load change.  
12.3.1.3  
Current Limiting Modes  
The PPC current limiting operates in trip mode. This mode is active when the port power switch is closed. When oper-  
ating in the Detect power state, the current capacity at VBUS is limited to IBUS_BYP”.  
12.3.1.3.1  
Trip Mode  
When using trip current limiting, the PPC USB port power switch functions as a low resistance switch and rapidly turns  
off if the current limit is exceeded. While operating using trip current limiting, the VBUS output voltage will be held rela-  
tively constant (equal to the VS voltage minus the RON_PSW * IBUS current) for all current values up to the ILIM. If the  
internal temperature exceeds tTSD threshold, the port power switch will open.  
If the current drawn by a portable device exceeds ILIM, the following occurs:  
DS00002084C-page 172  
2016-2017 Microchip Technology Inc.  
UPD360  
1. The port power switch will be turned off (trip action).  
2. The PPC will enter the Error state and assert ALERT.  
3. The fault handling circuitry will then determine subsequent actions.  
Figure 12-1 shows operation of current limits in trip mode with the shaded area representing the USB 2.0 specified  
VBUS range. Dashed lines indicate the port power switch output will go to zero (e.g., trip) when ILIM is exceeded. Note  
that operation at all possible values of ILIM are shown in Figure 12-1 for illustrative purposes only; in actual operation  
only one ILIM can be active at any time.  
FIGURE 12-1:  
TRIP CURRENT LIMITING OPERATION  
ILIM (Amps)  
0.53  
0.96 1.07 1.28  
1.6  
2.13  
2.67  
3.2  
Operating  
Current  
5.25  
5
4.75  
= ILIM’s  
Trip action  
(ILIM = 0.53 A)  
4
Trip action  
(ILIM = 3.2 A)  
3
2
1
0
Power Switch Voltage and Current Output  
go to Zero when ILIM is Exceeded  
0.96 1.07 1.28  
1.6  
2.13  
2.67  
3.2  
0
0.53  
IBUS (Amps)  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 173  
UPD360  
Figure 12-2 illustrates the relationship between these USB port power profile parameters.  
FIGURE 12-2:  
PORT POWER PROFILE PARAMETERS EXAMPLE  
ILIM (Amps)  
0.53  
0.96  
1.28  
2.13  
2.67  
3.2  
1.6  
5.25  
5
4.75  
4
3
2
1
0
IBUS_R2MIN  
KEEP-OUT  
Port Power Profile  
Operating Region  
Enforced KEEP-OUT  
VBUS_MIN  
0.96  
1.28  
1.6 2.13 2.67  
3.2  
0.53  
0
IBUS (Amps)  
DS00002084C-page 174  
2016-2017 Microchip Technology Inc.  
UPD360  
12.3.2  
THERMAL MANAGEMENT  
The PPC utilizes internal thermal management:  
12.3.2.1  
Thermal Shutdown  
The thermal management consists of a hardware implemented thermal shutdown corresponding to the maximum allow-  
able internal die temperature (tTSD). If the internal temperature exceeds this value, the port power switches (both ports)  
will immediately be turned off until the temperature is below tTSD - tTSD_HYST  
.
12.3.3 VBUS DISCHARGE  
The PPC will discharge VBUS through an internal 100 Ohm resistor when at least one of the following conditions occurs:  
• The PWR_EN control (UPD360-A/UPD360-B only) is disabled (triggered on the inactive edge of the PWR_EN  
control) (Standalone DFP mode only).  
• The VS voltage drops below a specified threshold VS_UVLO (2.5 V) that causes the port power switch to be dis-  
abled.  
• When commanded into the Sleep power state.  
• Upon recovery from the Error state.  
• When commanded via the DISCHARGE bit.  
• Any time that the port power switch is activated after the VBUS bypass switch has been on.  
• Any time that the VBUS bypass switch is activated after the port power switch has been on.  
When the VBUS discharge circuitry is activated, at the end of the tDISCHARGE time, the PPC will confirm that VBUS was  
discharged. If the VBUS voltage is not below the VTEST level, a discharge error will be flagged (by setting theVBUS Dis-  
charge Error bit in the Power Interrupt Status Register (PWR_INT_STS)) and the PPC will enter the Error state.  
12.4 VBUS Bypass Switch  
The device contains circuitry to provide VBUS current as shown in Figure 12-3. The VBUS bypass switch and the port  
power switch are never both on at the same time.  
FIGURE 12-3:  
VBUS BYPASS SWITCH  
Bypass  
Switch  
VS  
VS  
VBUS  
VBUS  
Port Power  
Switch  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 175  
UPD360  
12.5 Port Power Controller Registers  
This section details the Port Power Controller registers. For an overview of the entire device register map, refer to Sec-  
tion 4.0, "Register Map," on page 19.  
TABLE 12-1: PORT POWER CONTROLLER REGISTER MAP  
Address  
Register Name (Symbol)  
0400h  
0401h  
0402h  
0403h  
0404h  
PPC VBUS Current Measurement Register (PPC_VBUS_CURRENT)  
Reserved for future expansion  
PPC VBUS Port Status Register (PPC_VBUS_PORT_STS)  
PPC Interrupt Status Register 1 (PPC_INT_STS1)  
PPC Interrupt Status Register 2 (PPC_INT_STS2)  
0405h – 040Eh Reserved for future expansion  
040Fh  
0410h  
0411h  
0412h  
0413h  
0414h  
PPC General Status Register (PPC_GENERAL_STS)  
Reserved for future expansion  
PPC General Configuration 1 Register (PPC_GENERAL_CFG1)  
Reserved for future expansion  
PPC General Configuration 3 Register (PPC_GENERAL_CFG3)  
PPC Current Limit Register (PPC_CURRENT_LIMIT)  
0415h – 07FFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
DS00002084C-page 176  
2016-2017 Microchip Technology Inc.  
UPD360  
12.5.1  
PPC VBUS CURRENT MEASUREMENT REGISTER (PPC_VBUS_CURRENT)  
Address:  
0400h  
Size:  
8 bits  
This register stores the measured current value delivered to the external device via the VBUS pin. This value is updated  
continuously while the device is in the Active power state. The bit weights are in mA and the range is from 0mA to  
3400mA (1 LSB = 13.3mA).  
This data will be cleared whenever the port power switch is turned off (or any time that VBUS is discharged).  
Note:  
This register’s data is not intended for use when current is <100mA.  
Bits  
Description  
Type  
Default  
7
1706.2 mA  
RO  
0b  
6
5
4
3
2
1
0
853.1 mA  
426.6 mA  
213.3 mA  
106.6 mA  
53.3 mA  
26.7 mA  
13.3 mA  
RO  
RO  
RO  
RO  
RO  
RO  
RO  
0b  
0b  
0b  
0b  
0b  
0b  
0b  
12.5.2  
PPC VBUS PORT STATUS REGISTER (PPC_VBUS_PORT_STS)  
Address:  
0402h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
RESERVED  
ALERT  
RO  
-
6
RO  
0b  
This bit is asserted when an error (ERR) occurs in the PPC. It also asserts the  
PPC_INT bit in the Interrupt Status Register (INT_STS), if enabled.  
This bit can also be configured to assert when the LOW_CUR (portable  
device is pulling less current and may be finished charging) bit is set and  
linked via the ALERT_LINK bit. The ALERT bit is de-asserted when all error  
conditions that may assert it (error condition, and LOW_CUR if linked) have  
been removed or reset as necessary.  
5
4
RESERVED  
RO  
RO  
-
CC_MODE  
0b  
Indicates that the IBUS current on VBUS has exceeded ILIM and sourcing  
Region 2.  
3:0  
RESERVED  
RO  
-
2016-2017 Microchip Technology Inc.  
DS00002084C-page 177  
UPD360  
12.5.3  
PPC INTERRUPT STATUS REGISTER 1 (PPC_INT_STS1)  
Address:  
0403h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
ERR  
R/W1C  
0b  
Indicates that an error was detected on the VBUS pin and the PPC has  
entered the Error state. Writing this bit to “1” will clear the Error state and  
allows the PPC to return to the Active state. When written to “1”, all error con-  
ditions are checked. If all error conditions have been removed, the PPC  
returns to the Active state. This bit is set automatically by the PPC when the  
Error state is entered. If any other bit is set in this register, the device will not  
leave the Error state.  
0: No errors are detected  
1: One or more errors have been detected and the PPC has entered the Error  
state.  
6
5
RESERVED  
RO  
-
RESET  
R/W1C  
0b  
Indicates that the PPC has just been reset and should be re-programmed.  
This bit will set at power-up. This bit is cleared when written with “1” or when  
the PWR_EN pin (UPD360-A/UPD360-B only) is toggled (standalone DFP  
mode only). The ALERT bit is asserted when this bit is set. This data is  
retained in the Sleep state.  
4
3
2
MIN_KEEP_OUT  
R/W1C  
R/W1C  
R/W1C  
0b  
0b  
0b  
Indicates that the V-I output on the VBUS pin has dropped below VBUS_MIN  
.
This bit will be cleared when written with “1” if the error condition has been  
removed or if the ERR bit is cleared. This bit will cause ALERT to be asserted  
and the device to enter the Error state.  
TSD  
Indicates that the internal temperature has exceeded tTSD threshold and the  
device has entered the Error state. This bit will be cleared when written with  
“1” if the error condition has been removed or if the ERR bit is cleared. This bit  
will cause ALERT to be asserted and the device to enter the Error state.  
OVER_VOLT  
Indicates that the VS voltage has exceeded the VS_OV threshold and the  
device has entered the Error state. This bit will be cleared when written with  
“1” if the error condition has been removed or if the ERR bit is cleared. This bit  
will cause ALERT to be asserted and the device to enter the Error state.  
1
0
RESERVED  
R/W1C  
R/W1C  
0b  
0b  
OVER_ILIM  
Indicates that the IBUS current has exceeded both the ILIM threshold (PPC  
Current Limit Register (PPC_CURRENT_LIMIT)) and the IBUS_R2MIN1 thresh-  
old settings (to cover the CC case) on the VBUS pin. This bit will be cleared  
when written with “1” if the error condition has been removed or if the ERR bit  
is cleared. This bit will cause ALERT to be asserted and the device to enter  
the Error state.  
DS00002084C-page 178  
2016-2017 Microchip Technology Inc.  
UPD360  
12.5.4  
PPC INTERRUPT STATUS REGISTER 2 (PPC_INT_STS2)  
Address:  
0404h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
VS_LOW  
RO  
-
5
4:0  
R/W1C  
0b  
-
Indicates that the VS voltage is below the VS_UVLO (2.5 V) threshold and the  
port power switch is held off. This bit is cleared automatically when the VS  
voltage is above the VS_UVLO threshold.  
RESERVED  
RO  
12.5.5  
PPC GENERAL STATUS REGISTER (PPC_GENERAL_STS)  
Address:  
040Fh  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:5  
RESERVED  
CC_MODE  
RO  
-
4
R/W1C  
0b  
Indicates that the IBUS current has exceeded ILIM (PPC Current Limit Regis-  
ter (PPC_CURRENT_LIMIT)). This bit identifies that the port power switch  
current limiting circuitry has been activated and the switch is in current limit  
mode. This bit will be ‘0’ when the port power switch is off.  
3
2
PWR_EN  
R/W1C  
R/W1C  
0b  
0b  
This bit reflects the port power switch control state. This bit is set and cleared  
automatically as the PWR_EN pin (UPD360-A/UPD360-B only) and/or  
PWR_EN_SET bit state changes.  
LOW_CUR  
Indicates that a portable device has reduced its charge current to below the  
threshold on VBUS and may be finished charging. This bit is cleared when  
written with “1” and will not cause the ALERT bit to be asserted unless the  
ALERT_LINK bit is set.  
1:0  
RESERVED  
RO  
-
2016-2017 Microchip Technology Inc.  
DS00002084C-page 179  
UPD360  
12.5.6  
PPC GENERAL CONFIGURATION 1 REGISTER (PPC_GENERAL_CFG1)  
Address:  
0411h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
ALERT_MASK  
R/W  
0b  
Masks errors for all interrupts in the PPC Interrupt Status Register 1  
(PPC_INT_STS1), except OVER_ILIM and TSD.  
0: The ALERT bit in the PPC VBUS Port Status Register  
(PPC_VBUS_PORT_STS) will be asserted if an error condition or indicator  
even is detected.  
1: The ALERT bit in the PPC VBUS Port Status Register  
(PPC_VBUS_PORT_STS) will only assert if OVER_ILIM or TSD is detected.  
6
ALERT_LINK  
R/W  
0b  
Links the ALERT bit in the PPC VBUS Port Status Register  
(PPC_VBUS_PORT_STS) to be asserted when the LOW_CUR bit is  
asserted.  
0: The ALERT bit in the PPC VBUS Port Status Register  
(PPC_VBUS_PORT_STS) will not be asserted if the LOW_CUR indicator bit  
is asserted.  
1: The ALERT bit in the PPC VBUS Port Status Register  
(PPC_VBUS_PORT_STS) will be asserted if the LOW_CUR indicator bit is  
asserted.  
5
DISCHARGE  
R/W  
0b  
Forces the VBUS pin to be reset and discharged when the PPC is in the  
Active state. Writing this bit to a logic “1” will cause the port power switch to be  
opened and the discharge circuitry to activate to discharge VBUS. The port  
power switch will remain open with the 100 ohm short to GND per the tDIS-  
CHARGE time in the DISCHARGE_TIME_SEL[1:0] field. This bit is self-clear-  
ing.  
4
PWR_EN_SET  
R/W  
R/W  
0b  
Controls whether the port power switch may be turned on or not and affects  
the power state. This bit is OR’ed with the PWR_EN pin (standalone DFP  
mode only). Thus, either the PWR_EN pin or this bit must be ‘1’ to enable the  
port power switch.  
3:2  
DISCHARGE_TIME_SEL[1:0]  
This field sets the tDISCHARGE time as follows:  
01b  
00: 100 ms  
01: 200 ms (default)  
10: 300 ms  
11: 400 ms  
1:0  
RESERVED  
RO  
-
DS00002084C-page 180  
2016-2017 Microchip Technology Inc.  
UPD360  
12.5.7  
PPC GENERAL CONFIGURATION 3 REGISTER (PPC_GENERAL_CFG3)  
Address:  
0413h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
PIN_IGNORE  
R/W  
0b  
When set, ignores the PWR_EN pin state (UPD360-A/UPD360-B only) when  
determining the Active mode selection and power state.  
6:5  
4:3  
RESERVED  
RO  
-
PWR_STATE[1:0]  
R/W  
00b  
This field indicates the current PPC power state as detailed below. These bits  
are set and cleared automatically as the power state changes.  
00: Sleep  
01: Detect  
10: Active  
11: Error  
2
BOOST#  
R/W  
RO  
0b  
-
Indicates that the IBUS current is >2.0A on VBUS.  
1:0  
RESERVED  
12.5.8  
PPC CURRENT LIMIT REGISTER (PPC_CURRENT_LIMIT)  
Address:  
0414h  
Size:  
8 bits  
This register controls the ILIM used by the port power switch. The contents of this register are retained in the Sleep state.  
Refer to Section 12.3.1, "Current Limiting," on page 172 for additional information.  
Bits  
Description  
Type  
Default  
7:3  
RESERVED  
RO  
-
2:0  
ILIM_VBUS[2:0]  
Sets the ILIM value as follows:  
R/W  
Note 12-1  
000: 530 mA  
001: 960 mA  
010: 1070 mA  
011: 1280 mA  
100: 1600 mA  
101: 2130 mA  
110: 2670 mA  
111: 3200 mA  
Note 12-1  
When operating in Standalone DFP modes (UPD360-A/UPD360-B only), the default is defined by the  
PWR_CAP0 and PWR_CAP1 pins.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 181  
UPD360  
13.0 POWER SWITCH  
To enable the device to efficiently support dead battery use cases, an integrated power switch is provided to select  
between two external +3.3V supplies:  
3V3_ALW: +3.3V main power supply input to integrated power switch.  
3V3_VBUS: +3.3V power supply input derived from VBUS to the integrated power switch.  
The power switch allows the core to be powered from 3V3_ALW normally, and from 3V3_VBUS when 3V3_ALW is not  
present. This effectively allows connection detection and system wakeup without external processor intervention (exter-  
nal processor in sleep mode).  
Attached to 3V3_ALW and 3V3_VBUS are two FET switches. The first FET switches have a diode across the output.  
There are three voltage comparators. VBUS_PWRGD is on when 3V3_VBUS exceeds 2.7V. 3V3_ALW_PWRGD is on  
when 3V3_ALW exceeds 2.7V. VCORE_PWRGD is on when the core voltage reaches an operational level.  
If VCORE_PWRGD is not asserted, the part is held in reset. If both VBUS_PWRGD and 3V3_ALW_PWRGD are not  
asserted, the part is held in reset, regardless of the state of the VCORE_PWRGD.  
A block diagram of the internal power switch can be seen in Figure 13-1.  
FIGURE 13-1:  
POWER SWITCH BLOCK DIAGRAM  
VSW  
LDO  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
G
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD  
VMUX_PWRGD  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
A
B
SWITCH  
CONTROL  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
C
D
D
C
3V3_VBUS_PWRGD  
DS00002084C-page 182  
2016-2017 Microchip Technology Inc.  
UPD360  
13.1 Operation  
13.1.1  
POWER UP  
When the device is powering up, both VBUS_PWRGD and 3V3_ALW_PWRGD are low. Under these conditions,  
switches A and C are open, B and D are closed. The voltage going to the input of the core regulator is the higher of  
3V3_ALW and 3V3_VBUS. The diodes prevent back drive.  
FIGURE 13-2:  
POWER SWITCH: POWERING UP  
VSW  
3V3_ALW  
LDOs  
EN  
1.8V Analog  
1.8V Core  
G
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD=0  
VMUX_PWRGD  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
A
B
C
D
3V3_VBUS_PWRGD  
VCORE_PWRGD  
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=0  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 183  
UPD360  
13.1.2  
3V3_ALW ONLY POWERS UP  
In this case, only 3V3_ALW powers up (VBUS_PWRGD = 0 and 3V3_ALW_PWRGD = 1). When this occurs, FET  
switch D is opened. After 50us, FET switch A is shorted. This sequence eliminates the possibility of back-drive when  
the diode is shorted to eliminate the voltage drop.  
FIGURE 13-3:  
POWER SWITCH: POWERING UP STEP ONE  
VSW  
3V3_ALW-0.7V  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
G
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD=1  
VMUX_PWRGD  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
A
B
3V3_VBUS_PWRGD  
VCORE_PWRGD  
SWITCH  
CONTROL  
C
D
D
C
VBUS_PWRGD=0  
FIGURE 13-4:  
POWER SWITCH: POWERING UP STEP TWO  
VSW  
3V3_ALW  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
G
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=1  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=0  
DS00002084C-page 184  
2016-2017 Microchip Technology Inc.  
UPD360  
13.1.3  
VBUS ONLY POWERS UP  
This is the opposite example from the previous case. In this case, only VBUS powers up (3V3_ALW_PWRGD = 0  
throughout, and VBUS_PWRGD = 1 when the threshold is hit). Once VBUS_PWRGD is valid, the internal regulator is  
turned on and normal operation begins. At no time during this process is the 3V3_ALW rail back driven.  
FIGURE 13-5:  
POWER SWITCH: VBUS ONLY POWER UP STEP ONE  
VSW  
3V3_VBUS-0.7V  
LDOs  
3V3_ALW  
1.8V Analog  
1.8V Core  
EN  
G
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD=0  
VMUX_PWRGD  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
SWITCH  
CONTROL  
D
C
C
D
3V3_VBUS_PWRGD=1  
FIGURE 13-6:  
POWER SWITCH: VBUS ONLY POWER UP STEP TWO  
VSW  
3V3_VBUS  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD=0  
VMUX_PWRGD  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
A
3V3_VBUS_PWRGD  
VCORE_PWRGD  
SWITCH  
CONTROL  
B
C
D
D
C
3V3_VBUS_PWRGD=1  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 185  
UPD360  
13.1.4  
VBUS POWERED UP FOLLOWED BY 3V3_ALW COMING UP  
In this case, VBUS is already powered up and 3V3_ALW starts to come up (and will take over and power the core).  
Figure 13-7 shows the VBUS only state.  
FIGURE 13-7:  
POWER SWITCH: VBUS FOLLOWED BY 3V3_ALW STEP ONE  
VSW  
3V3_VBUS  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS _PWRGD=0  
3V3_VBUS  
3V3_ALWAYS _PWRGD  
A
B
C
D
3V3_VBUS_PWRGD  
VCORE_PWRGD  
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
Once 3V3_ALW_PWRGD is detected, FET switch C is opened. The diode is required because 3V3_ALW could be  
greater than or less than VBUS. The voltage at the input to the LDO drops to 3V3_VBUS-0.7V.  
FIGURE 13-8:  
POWER SWITCH: VBUS FOLLOWED BY 3V3_ALW STEP TWO  
VSW  
3V3_VBUS-0.7  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=1  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
DS00002084C-page 186  
2016-2017 Microchip Technology Inc.  
UPD360  
50us after FET C is opened, FET B is shorted. The two diodes ensure there is no back drive. The input to the core reg-  
ulator will be at the higher voltage of VBUS - 0.7V or 3V3_ALW - 0.7V.  
FIGURE 13-9:  
POWER SWITCH: VBUS FOLLOWED BY 3V3_ALW STEP THREE  
Higher of  
3V3_VBUS-0.7  
or  
VSW  
3V3_ALW-0.7  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=1  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
50us after FET B is shorted, FET D is opened. The core regulator input is now 3V3_ALW - 0.7V.  
FIGURE 13-10:  
POWER SWITCH: VBUS FOLLOWED BY 3V3_ALW STEP FOUR  
VSW  
3V3_ALW-0.7  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=1  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 187  
UPD360  
In the final step, 50us after FET D is opened, FET A is shorted. The input to the core regulator now becomes 3V3_ALW.  
FIGURE 13-11:  
POWER SWITCH: VBUS FOLLOWED BY 3V3_ALW STEP FIVE  
VSW  
3V3_ALW  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=1  
3V3_VBUS  
VTR_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
VBUS_PWRGD  
D
C
VCORE_PWRGD  
3V3_VBUS_PWRGD=1  
13.1.5  
3V3_ALW POWERED UP FOLLOWED BY VBUS COMING UP  
In this case, 3V3_ALW is already powered up and VBUS starts to come up. 3V3_ALW will remain the power source for  
the core and no changes will be made to the FET switches.  
13.1.6  
POWERED UP WITH VBUS AND 3V3_ALW, VBUS GOING AWAY  
In this case, 3V3_ALW and VBUS are both present. The core is always powered from 3V3_ALW. If VBUS goes away,  
nothing changes in the voltage to the core. An interrupt will be generated to the processor to let it know that VBUS status  
changed.  
DS00002084C-page 188  
2016-2017 Microchip Technology Inc.  
UPD360  
13.1.7  
POWERED UP WITH VBUS AND 3V3_ALW, 3V3_ALW GOING AWAY  
In this case, 3V3_ALW and VBUS are both present. The core is always powered from 3V3_ALW. If 3V3_ALW goes  
away, the switch will first transition to the initial power on state, then transition to the VBUS only state.  
FIGURE 13-12:  
POWER SWITCH: VBUS PRESENT, 3V3_ALW GOING AWAY STEP ONE  
VSW  
3V3_ALW  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
G
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=(1  
0)  
3V3_VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
First FET A is opened. The voltage at the core regulator input goes to 3V3_ALW-0.7  
FIGURE 13-13:  
POWER SWITCH: VBUS PRESENT, 3V3_ALW GOING AWAY STEP TWO  
VSW  
3V3_ALW-0.7  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
3V3_ALWAYS_PWRGD=0  
VMUX_PWRGD  
3V3_ VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
SWITCH  
CONTROL  
B
C
D
D
C
3V3_VBUS_PWRGD=1  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 189  
UPD360  
50uS later, the FET is closed. The voltage at the input of the core regulator will be the higher of 3V3_ALW-0.7 or 3V3_V-  
BUS -0.7.  
FIGURE 13-14:  
POWER SWITCH: VBUS PRESENT, 3V3_ALW GOING AWAY STEP THREE  
VSW  
Higher of  
3V3_ALW – 0.7  
Or  
3V3_VBUS – 0.7  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=0  
3V3_ VBUS  
3V3_ALWAYS_PWRGD  
A
B
C
D
3V3_VBUS_PWRGD  
VCORE_PWRGD  
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
50uS later, FET B is opened. The voltage at the input of the core regulator is VBUS-0.7.  
FIGURE 13-15:  
POWER SWITCH: VBUS PRESENT, 3V3_ALW GOING AWAY STEP FOUR  
VSW  
3V3_VBUS-0.7V  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=0  
3V3_ VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
D
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
DS00002084C-page 190  
2016-2017 Microchip Technology Inc.  
UPD360  
50uS later, FET C is shorted. The voltage at the input of the core regulator is 3V3_VBUS.  
FIGURE 13-16:  
POWER SWITCH: VBUS PRESENT, 3V3_ALW GOING AWAY STEP FIVE  
VSW  
3V3_VBUS  
LDOs  
EN  
1.8V Analog  
1.8V Core  
3V3_ALW  
VCORE_PWRGD  
B
A
VMUX_PWRGD  
3V3_ALWAYS_PWRGD=0  
3V3_ VBUS  
3V3_ALWAYS_PWRGD  
3V3_VBUS_PWRGD  
VCORE_PWRGD  
A
B
C
SWITCH  
CONTROL  
D
C
3V3_VBUS_PWRGD=1  
13.2 Software Override  
In the event that both 3V3_VBUS and 3V3_ALW are available, the Power Switch automatically selects 3V3_ALW for  
operation. This can be overridden by the VBUS Switch Enable Override (VBUS_SW_EN_OVR) bit of the Power Switch  
Control Register (PWR_SW_CTL), which forces the switch to operate off of VBUS. When this bit is set, the auto-switch  
mechanism of the switch is disabled.  
13.3 Power Switch Interrupts  
The power switch interrupt alerts software to changes in the state of the Power Switch. These events are listed in the  
Power Switch Interrupt Status Register (PWR_INT_STS). The interrupt persists until the asserted bits in the Power  
Switch Interrupt Status Register (PWR_INT_STS) are cleared. Individual interrupt events can be a enabled via the  
Power Switch Interrupt Enable Register (PWR_INT_EN). Power switch interrupt status sources are capable of triggering  
asynchronous wakes.  
13.4 Power Switch Registers  
This section details the power switch registers. For an overview of the entire device register map, refer to Section 4.0,  
"Register Map," on page 19.  
TABLE 13-1: POWER SWITCH REGISTER MAP  
Address  
Register Name (Symbol)  
Power Switch Control Register (PWR_SW_CTL)  
1C00h  
1C01h  
1C02h  
1C03h  
1C04h  
Power Switch Status Register (PWR_SW_STS)  
Power Switch Interrupt Status Register (PWR_INT_STS)  
Power Switch Interrupt Enable Register (PWR_INT_EN)  
Power Switch State Status Register (PWR_SW_STATE_STS)  
1C05h – 1FFFh Reserved for future expansion  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 191  
UPD360  
13.4.1  
POWER SWITCH CONTROL REGISTER (PWR_SW_CTL)  
Address:  
1C00h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
-
1
0
Power Switch Enable (PM_SW_ENB)  
R/W  
R/W  
0b  
0b  
This active low signal enables the power switch.  
VBUS Switch Enable Override (VBUS_SW_EN_OVR)  
When this bit is asserted, the power switch utilizes the 3V3_VBUS supply. This  
bit only has meaning if the device is currently operating on 3V3_ALW and the  
VBUS supply is present.  
This bit disables the auto-switch mechanism of the power switch.  
13.4.2  
POWER SWITCH STATUS REGISTER (PWR_SW_STS)  
Address:  
1C01h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5
3V3_ALW POR (3V3_ALW_RDY)  
POR output from the main VBAT external supply. Active high when the supply  
is above 2.85V. Active low when the supply drops below 2.7V.  
RO  
0b  
4
3V3_VBUS POR (VBUS_RDY)  
POR output from the VBUS external supply. Active high when the supply is  
RO  
0b  
above 4V. Active low when the supply drops below 2.7V.  
3
2
1
RESERVED  
RO  
RO  
RO  
-
PWR_RDY  
1b  
0b  
Indicates power ready on VSW and VDD18 supplies.  
3V3_ALW Switch Gate Off (3V3_ALW_SW_OKB)  
Indicates state of VSW with respect to 3V3_ALW.  
0: VSW < 3V3_ALW  
1: VSW > 3V3_ALW  
0
VBUS Switch Gate Off (VBUS_SW_OKB)  
Indicates state of VSW with respect to VBUS.  
RO  
0b  
0: VSW < VBUS  
1: VSW > VBUS  
DS00002084C-page 192  
2016-2017 Microchip Technology Inc.  
UPD360  
13.4.3  
POWER SWITCH INTERRUPT STATUS REGISTER (PWR_INT_STS)  
Address:  
1C02h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
RO  
-
5
3V3_ALW to VBUS Switch Interrupt (3V3_ALW2VBUS_INTR)  
This interrupt asserts after the power switch automatically transitions from  
R/WC  
0b  
selecting 3V3_ALW to selecting VBUS as the power source.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
Note:  
Assertion  
of  
the  
VBUS  
Switch  
Enable  
Override  
(VBUS_SW_EN_OVR) bit causes this interrupt to assert.  
4
VBUS to 3V3_ALW Switch Interrupt POR (VBUS23V3_ALW_INTR)  
This interrupt asserts after the power switch automatically transitions from  
R/WC  
0b  
selecting VBUS to selecting 3V3_ALW as the power source.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
Note:  
Assertion  
of  
the  
VBUS  
Switch  
Enable  
Override  
(VBUS_SW_EN_OVR) bit prevents assertion of this interrupt when  
VBUS is lost and 3V3_ALW is present.  
3
2
1
0
3V3_ALW Lost Interrupt (3V3_ALW_LOST_INTR)  
R/WC  
R/WC  
R/WC  
R/WC  
0b  
0b  
0b  
0b  
This interrupt asserts when 3V3_ALW POR (3V3_ALW_RDY) transitions from  
1 to 0. It indicates that the 3V3_ALW supply has been lost.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
3V3_ALW Ready Interrupt (3V3_ALW_RDY_INTR)  
This interrupt asserts when 3V3_ALW POR (3V3_ALW_RDY) transitions from  
0 to 1. It indicates that a 3V3_ALW supply has been detected.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
VBUS Lost Interrupt (VBUS_LOST_INTR)  
This interrupt asserts when 3V3_VBUS POR (VBUS_RDY) transitions from  
1to 0. It indicates that the VBUS supply has been lost.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
VBUS Ready Interrupt (VBUS_RDY_INTR)  
This interrupt asserts when 3V3_VBUS POR (VBUS_RDY) transitions from 0  
to 1. It indicates that a VBUS supply has been detected.  
Write a ‘1’ to clear this bit. Writes of ‘0’ have no effect.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 193  
UPD360  
13.4.4  
POWER SWITCH INTERRUPT ENABLE REGISTER (PWR_INT_EN)  
Address:  
1C03h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:6  
RESERVED  
3V3_ALW2VBUS_EN  
RO  
-
5
4
3
2
1
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
0b  
0b  
0b  
0b  
0b  
0b  
When ‘0’, prevents the generation of this interrupt.  
VBUS23V3_ALW_EN  
When ‘0’, prevents the generation of this interrupt.  
3V3_ALW_LOST_EN  
When ‘0’, prevents the generation of this interrupt.  
3V3_ALW_RDY_EN  
When ‘0’, prevents the generation of this interrupt.  
VBUS_LOST_EN  
When ‘0’, prevents the generation of this interrupt.  
VBUS_RDY_EN  
When ‘0’, prevents the generation of this interrupt.  
13.4.5  
POWER SWITCH STATE STATUS REGISTER (PWR_SW_STATE_STS)  
This register indicates the current state of the 3V3_ALW and 3V3_VBUS switches.  
Address:  
1C04h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:2  
RESERVED  
RO  
-
1
VBUS Switch State (3V3_VBUS_STATE)  
0 = 3V3_VBUS switch is disabled.  
RO  
0b  
1 = 3V3_VBUS switch is enabled.  
0
3V3_ALW Switch State (3V3_ALW_STATE)  
0 = 3V3_ALW switch is disabled.  
RO  
0b  
1 = 3V3_ALW switch is enabled.  
DS00002084C-page 194  
2016-2017 Microchip Technology Inc.  
UPD360  
14.0 DISPLAYPORT HOT PLUG DETECT (HPD)  
14.1 Overview  
The device provides hardware offload support for detecting the state of a Display Port compliant HPD input pin to the  
device.  
The USB Type-C DisplayPort Alternate Mode Specification defines the HPD state in terms of two status flags:  
HPD_STATE: Indicates whether the HPD’s logical state is high or low (denoted as HPD_HIGH or HPD_LOW,  
respectively). For the purposes of communicating the HPD state over USB, the logical state of HPD is considered  
as remaining high while receiving an IRQ_HPD, and is low during the time that HPD is being de-bounced on a  
new mechanical connection. The logical state of HPD transitions from high to low when a low level on the HPD link  
has been detected for 2ms (i.e., longer than the maximum IRQ_HPD pulse detection time). The logical state of  
HPD is unchanged during glitches (as specified in DP v1.3) on the HPD link.  
IRQ_HPD: Indicates an IRQ_HPD (i.e., a high-to-low transition on HPD followed by a low-to-high transition was  
detected between 250us and 2ms later, as specified in DP v1.3).  
Note:  
The HPD pin is always configured as a push/pull driver.  
14.2 HPD Receiver  
The device provides HPD detection (input) via the HPD pin. HPD detection is enabled by setting HPD Enable bit and  
configuring the HPD pin to be an input via HPD Configuration in HPD Control Register (HPD_CTL). Upon setting this  
bit, the device continuously monitors the state of the HPD pin as follows:  
• When an IRQ_HPD event occurs, the IRQ_HPD interrupt bit in HPD Interrupt Status Register (HPD_INT_STS)  
will assert. IRQ_HPD is detected when HPD is initially high and de-asserts for a time greater than or equal to the  
value in the IRQ_HPD Minimum Time Register (IRQ_HPD_MIN_TIME) and less than or equal to the value in the  
IRQ_HPD Maximum Time Register (IRQ_HPD_MAX_TIME).  
• When a Low to High transition is debounced and detected, the HPD_HIGH interrupt bit in HPD Interrupt Status  
Register (HPD_INT_STS) will assert. HPD_HIGH is detected when the HPD pin is initially low and asserts for a  
time greater than or equal to the value in the HPD High Detect Time Register (HPD_HIGH_DET_TIME).  
• When a High to Low transition is debounced and detected, the HPD_LOW interrupt bit in HPD Interrupt Status  
Register (HPD_INT_STS) will assert. HPD_LOW is detected when HPD pin is initially low and asserts for a time  
greater than or equal to the value in the HPD Low Detect Time Register (HPD_LOW_DET_TIME).  
APPLICATION NOTE: The HPD Interrupt Status Register (HPD_INT_STS) contents are reset to 00h when HPD  
Enable is cleared.  
APPLICATION NOTE: Enabled and asserted interrupts trigger the HPD_INT interrupt in the Interrupt Status Register  
(INT_STS).  
A mechanism has been added via the HPD Event Queue Register (HPD_QUEUE) to record up to four HPD events.  
This function is enabled when HPD Enable is set and HPD Configuration indicates the HPD pin is operating as an input.  
See Section 14.4.4, "HPD Event Queue Register (HPD_QUEUE)," on page 199 for additional details.  
APPLICATION NOTE: The state of the HPD pin is available by reading HPD State in HPD Control Register  
(HPD_CTL).  
This feature is used as follows:  
1. Software configures IRQ_HPD Minimum Time Register (IRQ_HPD_MIN_TIME), IRQ_HPD Maximum Time Reg-  
ister (IRQ_HPD_MAX_TIME), HPD High Detect Time Register (HPD_HIGH_DET_TIME) and HPD Low Detect  
Time Register (HPD_LOW_DET_TIME). To comply with the DisplayPort specification for IRQ_HPD, the  
IRQ_HPD Minimum Time Register (IRQ_HPD_MIN_TIME) and IRQ_HPD Maximum Time Register (IRQ_HPD_-  
MAX_TIME) should be configured to 250 us and 2 ms, respectively. Likewise, HPD Low Detect Time Register  
(HPD_LOW_DET_TIME) should be configured to greater than 2 ms.  
2. If desired, interrupts may be enabled by asserting the respective bits in the HPD Interrupt Enable Register  
(HPD_INT_EN).  
3. HPD Enable is set and HPD Configuration is cleared in the HPD Control Register (HPD_CTL).  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 195  
UPD360  
4. When an Hot Plug event occurs, the HPD Event Queue Register (HPD_QUEUE) is updated and an interrupt will  
assert if configured.  
5. HPD state changes are reflected by assertion of QUEUE_NOT_EMPTY, HPD_HIGH, HPD_LOW and IRQ_HPD  
bits in HPD Interrupt Status Register (HPD_INT_STS). They may cause assertion of HPD_INT in the Interrupt  
Status Register (INT_STS), if enabled.  
6. Software reads the HPD Event Queue Register (HPD_QUEUE) to determine the Hot Plug events received.  
7. Software writes to the HPD Event Queue Register (HPD_QUEUE) and clears the valid entries.  
14.3 HPD Transmission  
The device provides HPD transmission (output) via the HPD pin. This is done via the HPD Control Register (HPD_CTL)  
by setting both HPD Configuration and HPD Enable to “1”. The value driven on the HPD pin is controlled by HPD Output  
Value.  
Support is also provided for generating an IRQ_HPD. This is accomplished by programming the deassertion time in  
HPD IRQ Generation Time Register (HPD_IRQ_GEN) and then setting Generate IRQ in HPD Control Register  
(HPD_CTL). Generate IRQ self clears after the interrupt pulse is issued.  
This feature is used as follows:  
1. Configure the HPD pin as an output by setting HPD Configuration and HPD Enable in HPD Control Register  
(HPD_CTL). The value for HPD is defined by the value programmed in HPD Output Value.  
2. If it is desired to generate an IRQ_HPD, the HPD IRQ Generation Time Register (HPD_IRQ_GEN) must be pro-  
grammed with the desired HPD deassertion time.  
3. If it is desired to receive an interrupt upon generation of IRQ_HPD, the respective bit in the HPD Interrupt Enable  
Register (HPD_INT_EN) should be enabled.  
4. Software requests IRQ_HPD generation by setting Generate IRQ in the HPD Control Register (HPD_CTL). HPD  
Output Value must also be set to 1b.  
5. Upon generating the IRQ_HPD interrupt, the Generate IRQ bit will self clear.  
6. The IRQ_HPD bit asserts in the HPD Interrupt Status Register (HPD_INT_STS) and shall cause assertion of the  
HPD_INT interrupt in the Interrupt Status Register (INT_STS), if enabled.  
14.4 DisplayPort HPD Registers  
This section details the DisplayPort HPD registers. For an overview of the entire device register map, refer to Section  
4.0, "Register Map," on page 19.  
TABLE 14-1: DISPLAYPORT HPD REGISTER MAP  
Address  
Register Name (Symbol)  
0C00h  
0C01h  
0C02h  
0C03h  
0C04h  
0C05h  
0C06h  
0C08h  
0C0Ah  
HPD Control Register (HPD_CTL)  
HPD Interrupt Status Register (HPD_INT_STS)  
HPD Interrupt Enable Register (HPD_INT_EN)  
HPD Event Queue Register (HPD_QUEUE)  
IRQ_HPD Minimum Time Register (IRQ_HPD_MIN_TIME)  
IRQ_HPD Maximum Time Register (IRQ_HPD_MAX_TIME)  
HPD High Detect Time Register (HPD_HIGH_DET_TIME)  
HPD Low Detect Time Register (HPD_LOW_DET_TIME)  
HPD IRQ Generation Time Register (HPD_IRQ_GEN)  
0C0Bh – 0FFFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
DS00002084C-page 196  
2016-2017 Microchip Technology Inc.  
UPD360  
14.4.1  
HPD CONTROL REGISTER (HPD_CTL)  
Address:  
0C00h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7
HPD State  
Provides the state of the HPD pin.  
RO  
-
This bit resets to 0b when HPD Enable is cleared.  
Note:  
Note:  
An IRQ_HPD event is recorded as an HPD_HIGH state.  
This bit is valid when HP is configured as an input or output.  
6:4  
3
RESERVED  
RO  
-
HPD Output Value  
This bit only has meaning when the HPD pin is configured as an output per  
R/W  
0b  
HPD Configuration. Otherwise, it will always read 0b.  
2
Generate IRQ  
R/SC  
0b  
When set, the HPD pin generates an HPD IRQ by deasserting HPD for the  
amount of time defined in the HPD IRQ Generation Time Register  
(HPD_IRQ_GEN).  
This bit only has meaning when the HPD pin is configured as an output per  
HPD Configuration. Otherwise, it will always read 0b.  
Note:  
Note:  
HPD Output Value must be set to 1b before using this feature.  
Software may not change the state of this bit while HPD Enable is  
set to 1b.  
1
0
HPD Configuration  
R/W  
R/W  
0b  
0b  
0: HPD is configured as an input  
1: HPD is configured as an output  
Note:  
Software may not change the state of this bit while HPD Enable is  
set to 1b.  
HPD Enable  
When set, the HPD pin is enabled.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 197  
UPD360  
14.4.2  
HPD INTERRUPT STATUS REGISTER (HPD_INT_STS)  
Address:  
0C01h  
Size:  
8 bits  
The contents of this register reset to 00h when the HPD Enable bit in the HPD Control Register (HPD_CTL) is cleared.  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:4  
RESERVED  
RO  
-
3
2
1
0
QUEUE_NOT_EMPTY  
RO  
0b  
0b  
0b  
0b  
Indicates that the HPD Event Queue Register (HPD_QUEUE) is not empty.  
Note:  
Note:  
This interrupt is cleared after HPD Event Queue Register (HPD_-  
QUEUE) is read.  
This bit only has meaning when the HPD pin is configured as an  
input.  
HPD_HIGH  
R/WC  
R/WC  
R/WC  
When set, indicates that an HPD Low to High transition has been detected.  
Note:  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
This bit only has meaning when the HPD pin is configured as an  
input.  
HPD_LOW  
When set, indicates that an HPD High to Low transition has been detected.  
Note:  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
This bit only has meaning when the HPD pin is configured as an  
input.  
IRQ_HPD  
When set, indicates that an HPD IRQ has been detected.  
Note:  
Note:  
The source of this input is a pulse and does not persist after being  
cleared.  
When the HPD pin is configured as an input, this bit indicates that  
an IRQ_HPD has been detected. When the HPD pin is configured  
as an output, this pin indicates that the request to generate an  
IRQ_HPD has completed.  
DS00002084C-page 198  
2016-2017 Microchip Technology Inc.  
UPD360  
14.4.3  
HPD INTERRUPT ENABLE REGISTER (HPD_INT_EN)  
Address:  
0C02h  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:4  
RESERVED  
HPD Interrupt Enable  
RO  
0h  
3:0  
R/W  
0h  
When “0”, prevents generation of the respective interrupt.  
14.4.4  
HPD EVENT QUEUE REGISTER (HPD_QUEUE)  
Address:  
0C03h  
Size:  
8 bits  
This register implements a circular queue that records HPD events detected by the device.  
As an event is detected, it is written into the next HPD Event status field that is available and initially starts at HPD Event  
0 out of reset.  
After this register is read, any entries with a valid HPD event field are cleared when software writes 01b into the respec-  
tive locations. The device will keep track of the last valid entry and store the next received event into the next entry. For  
example, if entries 0 and 1 are valid, the device will always place the next event into location 2, regardless of whether  
or not entries 0 and 1 have been cleared by software.  
The device will only add entries to empty fields. After writing to HPD Event 3, the device will write the next event into  
HPD Event 0, if available.  
Each field is encoded as follows.  
• 00b: HPD event field is empty  
• 01b: HPD_HIGH Detected  
• 10b: HPD_LOW Detected  
• 11b: HPD_IRQ Detected  
When HPD Enable is set to 0b and/or HPD Configuration is set to 1b, this register will always read 00h.  
After four HPD events are recorded, any future HPD events shall be ignored until HPD event locations are freed up by  
software.  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:6  
HPD Event 3  
HPD Event 2  
HPD Event 1  
HPD Event 0  
R/WC  
00b  
5:4  
3:2  
1:0  
R/WC  
R/WC  
R/WC  
00b  
00b  
00b  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 199  
UPD360  
14.4.5  
IRQ_HPD MINIMUM TIME REGISTER (IRQ_HPD_MIN_TIME)  
Address:  
0C04h  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:0  
IRQ HPD Minimum Time  
R/W  
0h  
This field defines the minimum amount of time that HPD must be deasserted  
for an IRQ event to be recognized. De-assertions for less than this amount of  
time shall be ignored.  
The programmed time is (50 us * IRQ_HPD_MIN_TIME) + 100 us.  
Note:  
Software may not change the state of this register while HPD  
Enable is set to 1b.  
14.4.6  
IRQ_HPD MAXIMUM TIME REGISTER (IRQ_HPD_MAX_TIME)  
Address:  
0C05h  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:0  
IRQ HPD Maximum Time  
R/W  
0h  
This field defines the maximum amount of time that HPD shall be deasserted  
for an IRQ event to be recognized. Assertions for more than this amount of  
time shall not be determined to be an HPD interrupt event.  
The programmed time is (50 us * IRQ_HPD_MAX_TIME) + 100 us.  
Note:  
Software may not change the state of this register while HPD  
Enable is set to 1b.  
14.4.7  
HPD HIGH DETECT TIME REGISTER (HPD_HIGH_DET_TIME)  
Address:  
0C06h  
Size:  
16 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
15:0  
HPD High Detect Time  
This field defines the amount of time that HPD must be asserted, after initially  
R/W  
0h  
being low, in order to detect an HPD_HIGH event.  
The programmed time is (50 us * HPD_HIGH_DET_TIME) + 100 us.  
Note:  
Software may not change the state of this register while HPD  
Enable is set to 1b.  
DS00002084C-page 200  
2016-2017 Microchip Technology Inc.  
UPD360  
14.4.8  
HPD LOW DETECT TIME REGISTER (HPD_LOW_DET_TIME)  
Address:  
0C08h  
Size:  
16 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
15:0  
HPD Low Detect Time  
This field defines the amount of time that HPD must be deasserted, after ini-  
R/W  
0h  
tially being high, in order to detect an HPD_LOW event.  
The programmed time is (50 us * HPD_LOW_DET_TIME) + 100 us.  
Note:  
Software may not change the state of this register while HPD  
Enable is set to 1b.  
14.4.9  
HPD IRQ GENERATION TIME REGISTER (HPD_IRQ_GEN)  
Address:  
0C0Ah  
Size:  
8 bits  
BITS  
DESCRIPTION  
TYPE  
DEFAULT  
7:0  
HPD IRQ Generation Time  
R/W  
0h  
This field defines the amount of time, in units of 50 us, that HPD shall be deas-  
serted after the Generate IRQ bit in the HPD Control Register (HPD_CTL) is  
set.  
After this amount of time, the HPD pin will be returned to the state defined in  
HPD Output Value.  
Note:  
Software may not change the state of this register while HPD  
Enable is set to 1b.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 201  
UPD360  
15.0 WATCHDOG TIMER (WDT)  
15.1 General Description  
The function of the Watchdog Timer (WDT) is to provide a mechanism to detect if the device has failed.  
When enabled, the Watchdog Timer circuit will generate a WDT initiated system reset if the user program fails to reload  
the WDT within a specified length of time known as the WDT Interval.  
The Watchdog timer operates off of the 20 KHz Keep Alive Oscillator or 48 MHz Relaxation Oscillator depending on the  
resolution selected by WDT_UNITS bit in Watchdog Control Register (WDT_CTL).  
A watchdog timer initiated system reset is indicated by assertion of WDT_INT bit in the Interrupt Enable Register  
(INT_EN). In order to clear the WDT_INT bit, the WDT_STS bit in Watchdog Control Register (WDT_CTL) must be  
cleared.  
15.2 WDT Operation  
15.2.1  
WDT ACTIVATION MECHANISM  
The WDT is activated by the following sequence of operations during normal operation:  
1. Clear the WDT_EN bit of Watchdog Control Register (WDT_CTL).  
2. Load the Watchdog Load Register (WDT_LOAD) with the count value.  
3. Set the WDT_EN bit of Watchdog Control Register (WDT_CTL).  
The WDT Activation Mechanism starts the WDT decrementing counter.  
15.2.2  
WDT DEACTIVATION MECHANISM  
The WDT is deactivated by clearing the WDT_EN bit in the Watchdog Control Register (WDT_CTL). The WDT Reload  
Mechanism places the WDT in a low power state in which clocks are gated and the counter stops decrementing.  
15.2.3  
WDT RELOAD MECHANISM  
If the WDT is not reloaded within periods that are shorter than the programmed watchdog interval, the WDT will under-  
flow, a WDT reset will be generated, and the WDT_STS bit will be set in the Watchdog Control Register (WDT_CTL).  
It is the responsibility of software to continually execute sections of code which reload the watchdog timer (WDT), caus-  
ing the counter to be reloaded via the WDT Activation Mechanism or writing to the Watchdog Kick Register (WDT_-  
KICK).  
15.2.4  
WDT INTERVAL  
The WDT Interval is the time it takes for the WDT to decrements from the Watchdog Load Register (WDT_LOAD) value  
to 0h.  
15.3 I2C/SPI Writes  
When a watchdog interrupt is pending all write operations are blocked until the WDT_STS bit in the Watchdog Control  
Register (WDT_CTL) is cleared.  
DS00002084C-page 202  
2016-2017 Microchip Technology Inc.  
UPD360  
15.4 Watchdog Timer Registers  
This section details the watchdog timer registers. For an overview of the entire device register map, refer to Section 4.0,  
"Register Map," on page 19.  
TABLE 15-1: WATCHDOG TIMER REGISTER MAP  
Address  
Register Name (Symbol)  
Watchdog Control Register (WDT_CTL)  
3000h  
3002h  
3004h  
3008h  
Watchdog Kick Register (WDT_KICK)  
Watchdog Count Register (WDT_COUNT)  
Watchdog Load Register (WDT_LOAD)  
300Ch – 33FFh Reserved for future expansion  
Note:  
RESERVED address space must not be written under any circumstances. Failure to heed this warn-  
ing may result in untoward operation and unexpected results.  
15.4.1  
WATCHDOG CONTROL REGISTER (WDT_CTL)  
Address:  
3000h  
Size:  
16 bits  
Bits  
Description  
Type  
Default  
15:4  
RESERVED  
RO  
0h  
3
WDT_UNITS  
R/W  
0b  
0: Units of 1 ms are used.  
1: Units of 1 us are used.  
Note:  
When units of 1 us are used, the 48 MHz Relaxation Oscillator  
must be enabled and device current consumption will increase by  
over 400 uA. Otherwise, when units are 1 ms, the 20 KHz Keep  
Alive Oscillator is used.  
2
WDT_SIM  
R/W  
0b  
Used for speeding up the watchdog timer for simulation. Watchdog operates  
off of a 1 MHz clock when set.  
When this bit is set, WDT_UNITS shall be set to 1b.  
1
0
WDT_STS  
R/WC  
R/W  
Note 15-1  
WDT Status is set by hardware if the last reset of the device was caused by an  
underflow of the WDT. This bit must be cleared by software writing a ‘1’ to this  
bit. Writing a ‘0’ to this bit has no effect.  
WDT_EN  
0b  
When set, the watchdog timer is enabled. Clearing this bit disables the watch-  
dog timer.  
Note:  
Due to clock domain synchronization, several clock cycles may  
elapse before this takes affect and the WDT counter begins to dec-  
rement.  
Note 15-1  
Default value depends on whether a WDT initiated reset occurred, in which the case the value is 1b.  
Otherwise the value is 0b.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 203  
UPD360  
15.4.2  
WATCHDOG KICK REGISTER (WDT_KICK)  
Address:  
3002h  
Size:  
8 bits  
Bits  
Description  
Type  
Default  
7:1  
RESERVED  
KICK  
RO  
0h  
0
R/W  
0h  
Writes of any value to this register shall cause the watchdog timer to be imme-  
diately reloaded with the value defined in Watchdog Load Register (WDT_-  
LOAD) and start decrementing when the WDT_EN bit in the Watchdog  
Control Register (WDT_CTL) is set to 1b. Writes to this register when  
WDT_EN is 0b have no affect.  
Note:  
Note:  
Reads of this register always return 0h.  
Due to clock domain synchronization, several clock cycles may  
elapse before this takes affect and the counter reloads.  
15.4.3  
WATCHDOG COUNT REGISTER (WDT_COUNT)  
Address:  
3004h  
Size:  
32 bits  
Bits  
Description  
Type  
Default  
31:0  
WDT_COUNT  
RO  
FFFF_FFFFh  
This read only register provides a snapshot of the current state of the timer.  
The lower byte shall always be read first. Reading of the lower order byte  
results in a snapshot of the counter taken. This ensures that when the upper  
bytes are read the state of the counter is remains in sync.  
WDT_COUNT[7:0] = 0x4h  
WDT_COUNT[15:8] = 0x5h  
WDT_COUNT[23:16] = 0x6h  
WDT_COUNT[31:24] = 0x7h  
DS00002084C-page 204  
2016-2017 Microchip Technology Inc.  
UPD360  
15.4.4  
WATCHDOG LOAD REGISTER (WDT_LOAD)  
Address:  
3008h  
Size:  
32 bits  
Bits  
Description  
Type  
R/W  
Default  
FFFF_FFFFh  
31:0  
WDT_LOAD  
Writing this register reloads the Watch Dog Timer counter. This register can  
be programmed only when WDT_EN = 0.  
Zero is not a valid load value.  
WDT_LOAD[7:0] = 0x8h  
WDT_LOAD[15:8] = 0x9h  
WDT_LOAD[23:16] = 0xAh  
WDT_LOAD[31:24] = 0xBh  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 205  
UPD360  
16.0 OPERATIONAL CHARACTERISTICS  
16.1 Absolute Maximum Ratings*  
Supply Voltage (VS, VBUS) (Note 16-1). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .-0.3 V to +6.0 V  
Supply Voltage (VDD33IO, 3V3_VBUS, 3V3_ALW) (Note 16-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0 V to +4.0 V  
Positive voltage on input signal pins, with respect to ground. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +6.0 V  
Negative voltage on input signal pins, with respect to ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.5 V  
Storage Temperature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -55oC to +150oC  
Lead Temperature Range. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Refer to JEDEC Spec. J-STD-020  
HBM ESD Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .+/-2 kV  
Note 16-1  
When powering this device from laboratory or system power supplies, it is important that the absolute  
maximum ratings not be exceeded or device failure can result. Some power supplies exhibit voltage  
spikes on their outputs when AC power is switched on or off. In addition, voltage transients on the  
AC power line may appear on the DC output. If this possibility exists, it is suggested to use a clamp  
circuit.  
*Stresses exceeding those listed in this section could cause permanent damage to the device. This is a stress rating  
only. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Functional  
operation of the device at any condition exceeding those indicated in Section 16.2, "Operating Conditions**", Section  
16.5, "DC Characteristics", or any other applicable section of this specification is not implied.  
16.2 Operating Conditions**  
Supply Voltage (VS, VBUS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +4.75 V to +5.25 V  
Supply Voltage (VDD33IO, 3V3_VBUS, 3V3_ALW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +3.1 V to +3.47 V  
Positive voltage on input signal pins, with respect to ground. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . +3.3 V  
Negative voltage on input signal pins, with respect to ground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0.3 V  
Power Supply Rise Time Max (TRT) (Figure 16-1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100ms  
Ambient Operating Temperature in Still Air (TA). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0oC to +70oC  
**Proper operation of the device is guaranteed only within the ranges specified in this section.  
FIGURE 16-1:  
SUPPLY RISE TIME MODEL  
Voltage  
tRT  
3.3V  
100%  
VDD33IO  
90%  
10%  
VSS  
t90%  
Time  
t10%  
DS00002084C-page 206  
2016-2017 Microchip Technology Inc.  
UPD360  
16.3 Package Thermal Specifications  
TABLE 16-1: PACKAGE THERMAL PARAMETERS  
Parameter  
Symbol  
°C/W  
Thermal Resistance Junction to Ambient  
Thermal Resistance Junction to Top of Case  
Thermal Resistance Junction to Board  
JA  
JC  
JB  
JT  
74.2  
25.2  
47.9  
8.8  
Thermal Resistance Junction to Bottom of Case  
Note:  
Thermal parameters are measured or estimated for devices in a multi-layer 2S2P PCB per JESDN51.  
TABLE 16-2:  
POWER DISSIPATION  
Parameter  
Symbol  
Max  
Units  
Power Dissipation  
Pdis  
825  
mW  
Note:  
This is the worst-case power dissipation as a consequence of maximum loading (before current-limiting  
protections take effect) upon the internal VBUS power switch, VCONN power switch, 3.3V power-ORing  
switch, analog blocks, and core digital logic.  
16.4 Current Consumption  
TABLE 16-3: 3V3_ALW DEVICE CURRENT CONSUMPTION  
3V3_ALW Supply Current  
Max  
Power State  
Typical  
Units  
SLEEP  
14  
70  
70  
10  
µA  
µA  
µA  
mA  
STANDBY  
ACTIVE_PPC_OFF  
ACTIVE_PPC_ON  
ACTIVE and PD packet transmitting  
+5  
mA  
See Note 4  
Note 1: This table details the power consumption of the UPD360 device as measured during various modes of  
operation. Power dissipation is determined by temperature, supply voltage, and external source/sin k  
requirements. Maximum values represent very short bursts of activity over a small amount of time. Typical  
values represent averaged current consumption over time.  
2: SLEEP power state is achieved with PWR_DN pin asserted  
3: STANDBY is equivalent to USB Type-Cspecification’s Unattached.SRC/Unattached.SNK  
4: 3V3_VBUS current is ~0µA except during bus-powered conditions, where the power consumption is  
equivalent to “ACTIVE_PPC_OFF”.  
5: Supply current for the ACTIVE and PD packet transmitting is in addition to the appropriate ACTIVE_P-  
PC_ON/OFF state’s typical value.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 207  
UPD360  
TABLE 16-4: VS DEVICE CURRENT CONSUMPTION  
VS Supply Current  
Max  
Power State  
Typical  
Units  
SLEEP  
50  
60  
µA  
µA  
µA  
mA  
STANDBY  
ACTIVE_PPC_OFF  
ACTIVE_PPC_ON  
60  
See Note 4  
Note 1: This table details the power consumption of the UPD360 device as measured during various modes of  
operation. Power dissipation is determined by temperature, supply voltage, and external source/sin k  
requirements. Maximum values represent very short bursts of activity over a small amount of time. Typical  
values represent averaged current consumption over time.  
2: SLEEP power state is achieved with PWR_DN pin asserted  
3: STANDBY is equivalent to USB Type-Cspecification’s Unattached.SRC/Unattached.SNK  
4: VS current consumption is equal to the sum of VBUS (when internal 5V PPC is used) and VCONN loads.  
16.5 DC Characteristics  
TABLE 16-5: DC ELECTRICAL CHARACTERISTICS  
Parameter  
Symbol  
Min  
Typ  
Max  
Units  
Notes  
IS Type Input Buffer  
Low Input Level  
VILI  
VIHI  
-0.3  
2.0  
0.8  
3.6  
1.8  
1.8  
0
V
V
High Input Level  
Negative-Going Threshold  
Positive-Going Threshold  
Schmitt Trigger Hysteresis  
VILT  
VIHT  
VHYS  
1.21  
1.31  
100  
1.33  
1.58  
133  
V
Schmitt trigger  
Schmitt trigger  
V
mV  
(VIHT - VILT  
)
Input Leakage  
(VIN = VSS or VDDIO)  
IIH  
-10  
10  
3
µA  
pF  
Note 16-2  
Input Capacitance  
CIN  
O8 Type Output Buffer  
Low Output Level  
VOL  
VOH  
0.4  
0.4  
V
V
IOL = -8 mA  
IOH = 8 mA  
VDDIO - 0.4  
High Output Level  
OD8 Type Output Buffer  
Low Output Level  
VOL  
V
IOL = -8 mA  
Note 16-3  
I2C Type Buffer  
Note 16-2  
This specification applies to all inputs and tri-stated bi-directional pins. Internal pull-down and pull-up  
resistors add +/- 50 µA per-pin (typical).  
Note 16-3  
The I2C type buffer conforms to the NXP I2C-Bus Specification (UM10204, Rev. 6). Refer to the I2C-  
Bus Specification for additional information.  
DS00002084C-page 208  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 16-6: PORT POWER CONTROLLER DC PARAMETERS  
Parameter  
Symbol  
Min  
Typ  
Max  
Units  
Notes  
Over-voltage Lockout  
On Resistance  
VS_OV  
RON_PSW  
tTSD  
6
V
40  
m  
°C  
4.75 V < VS < 5.25 V  
Thermal Shutdown  
Threshold  
135  
Die Temperature at which port  
power switch will turn off  
Thermal Shutdown  
Hysteresis  
tTSD_HYST  
35  
°C  
After shutdown due to TTSD  
being reached, die temperature  
drop required before port power  
switch can be turned on again  
Discharge Imped-  
ance  
RDISCHARGE  
ILIM_USB2  
100  
500  
ILIM USB 2.0 Default  
Current  
600  
1100  
1800  
3700  
mA  
Used when PWR_CAPx pins are  
set to the USB 2.0 Default Cur-  
rent limit or configured via PPC  
control registers.  
ILIM USB 3.0 Default  
Current  
ILIM_USB3  
ILIM_1.5A  
ILIM_3A  
900  
1500  
3000  
mA  
mA  
mA  
Used when PWR_CAPx pins are  
set to the USB 3.0 Default Cur-  
rent limit or configured via PPC  
control registers.  
ILIM 1.5A  
ILIM 3.0A  
Used when PWR_CAPx pins are  
set to the 1.5A current limit or  
configured via PPC control regis-  
ters.  
Used when PWR_CAPx pins are  
set to the 3.0A current limit or  
configured via PPC control regis-  
ters.  
TABLE 16-7: VCONN SOURCE DC PARAMETERS  
Parameter  
Symbol  
ILIM_VCONN  
RON_VCONN  
Min  
Typ  
600  
270  
Max  
Units  
mA  
Notes  
ILIM  
On Resistance  
VS=5V  
m  
TABLE 16-8: POWER SWITCH DC PARAMETERS  
Parameter  
VSW Load  
VSW Resistance  
Symbol  
Min  
Typ  
Max  
Units  
Notes  
VSW_Load  
R_VSW  
100  
mA  
3V3_ALW/3V3_VBUS = 3.3V  
500  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 209  
UPD360  
16.6 AC Characteristics and Timing  
This section details the various AC timing specifications of the device.  
16.6.1  
RESET_N TIMING  
Figure 16-2 illustrates the RESET_N timing requirements. Assertion of RESET_N is not a requirement. However, if used,  
it must be asserted for the minimum period specified  
FIGURE 16-2:  
RESET_N TIMING  
trstia  
RESET_N  
TABLE 16-9: RESET_N TIMING VALUES  
Symbol  
Description  
RESET_N input assertion time  
Min  
Typ  
Max  
Units  
trstia  
1
s  
2
16.6.2  
I C SLAVE INTERFACE (UPD360-A/UPD360-B ONLY)  
Figure 16-3 illustrates the I2C slave interface timing requirements. The I2C slave interface can operate in Standard  
Mode, Fast Mode, or Fast Mode Plus. Refer to Section 5.0, "I2C Slave Controller (UPD360-A/UPD360-B Only)," on  
page 20 for additional information.  
2
FIGURE 16-3:  
I C SLAVE TIMING  
START  
condition  
(S)  
bit 7  
MSB  
(A7)  
bit 6  
(A6)  
bit 0  
(R/W)  
acknowledge  
(A)  
STOP  
(P)  
Protocol  
tSU;STA  
tHIGH  
1 / fCLK  
tLOW  
0.7 x VDD  
0.3 x VDD  
I2C_CLK  
I2C_DAT  
tr  
tf  
tBUF  
0.7 x VDD  
0.3 x VDD  
tHD;STA  
tSU;DAT tHD;DAT  
tVD;DAT  
tVD;ACK tSU;STO  
DS00002084C-page 210  
2016-2017 Microchip Technology Inc.  
UPD360  
2
TABLE 16-10: I C SLAVE TIMING VALUES  
Symbol  
Description  
Min  
Max  
Units  
fCLK  
tBUF  
I2C_CLK clock frequency  
0
1000  
kHz  
s  
s  
s  
s  
ns  
s  
ns  
ns  
s  
s  
ns  
Bus free time between a STOP and START condition  
Hold time (repeated) START condition  
Setup time for repeated START condition  
Setup time for STOP condition  
Data hold time  
0.5  
0.26  
0.26  
0.26  
0
tHD;STA  
tSU;STA  
tSU;STO  
tHD;DAT  
tVD;ACK  
tVD;DAT  
tSU;DAT  
tLOW  
Data valid acknowledge time (Note 16-4)  
Data valid time (Note 16-5)  
0.05  
50  
0.45  
450  
Data setup time  
50  
LOW period of the I2C_CLK clock  
HIGH period of the I2C_CLK clock  
0.5  
0.26  
tHIGH  
tf  
Fall time of I2C_CLK and I2C_DAT  
(Note 16-6)(Note 16-7)  
120  
120  
50  
tr  
Rise time of I2C_CLK and I2C_DAT  
(Note 16-6)(Note 16-7)  
ns  
ns  
tSP  
Pulse width of spikes that must be suppressed by the input filter  
(Note 16-8)  
Note 16-4  
Note 16-5  
Note 16-6  
tVD;ACK = time for Acknowledgment signal from I2C_CLK LOW to I2C_DAT (out) LOW.  
tVD;DAT = minimum time for I2C_DAT data out to be valid following I2C_CLK LOW.  
A master device must internally provide a hold time of at least 300 ns for the I2C_DAT signal (refer  
to the VIL of the I2C_CLK signal) in order to bridge the undefined region I2C_CLK‘s falling edge.  
Note 16-7  
The maximum tf for the I2C_DAT and I2C_CLK bus lines is specified at 300 ns. The maximum fall  
time for the I2C_DAT output stage tf is specified at 250 ns. This allows series protection resistors to  
be connected between the I2C_DAT and I2C_CLK pins and the respective bus lines without  
exceeding the maximum specified tf.  
Note 16-8  
Input filters on the I2C_DAT and I2C_CLK inputs suppress noise spikes less than 50 ns.  
16.6.3  
SPI SLAVE INTERFACE (UPD360-C ONLY)  
Figure 16-4 and Figure 16-5 illustrate the SPI slave interface input and output timing requirements, respectively. Refer  
to Section 6.0, "SPI Slave Controller (UPD360-C Only)," on page 26 for additional information.  
FIGURE 16-4:  
SPI SLAVE INPUT TIMING  
tscshl  
SPI_CS  
SPI_CLK  
SPI_DI  
tscss  
tscsh  
thigh tlow  
tsu  
thd  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 211  
UPD360  
FIGURE 16-5:  
SPI_CS  
SPI SLAVE OUTPUT TIMING  
tclk_duty  
SPI_CLK  
ton  
tv  
tho  
tdis  
SPI_DO  
TABLE 16-11: SPI TIMING VALUES  
Symbol  
Description  
SPI_CLK clock frequency  
Min  
Typ  
Max  
Units  
fsck  
tclk_duty  
tscss  
tscsh  
tscshl  
tsu  
25  
60  
MHz  
%
SPI_CLK high/low duty cycle  
40  
5
SPI_CS setup time to SPI_CLK  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
SPI_CS hold time from SPI_CLK  
5
SPI_CS inactive time  
100  
10  
4
Data input setup time to SPI_CLK  
Data input hold time from SPI_CLK  
Data output turn on time from SPI_CLK  
Data output valid time from SPI_CLK  
Data output hold time from SPI_CLK  
Data output disable time from SPI_CS inactive  
8.5 or 8.0, depending on loading of 30pF or 10pF, respectively.  
thd  
ton  
0
Note 16-9  
20  
tv  
tho  
0
tdis  
Note 16-9  
16.6.4  
PORT POWER CONTROLLER AC PARAMETERS  
TABLE 16-12: PORT POWER CONTROLLER AC PARAMETERS  
Parameter  
Symbol  
Min  
Typ  
Max  
Units  
Notes  
Turn On Delay  
tON_PSW  
0.75  
ms  
PWR_EN active toggle to switch  
on time, VBUS discharge not  
active.  
Turn Off Time  
Turn Off Time  
tOFF_PSW_INA  
0.75  
1
ms  
ms  
PWR_EN inactive toggle to  
switch off time.  
CBUS = 120 F  
tOFF_PSW_ERR  
Over-current Error, VBUS Min  
Error, or Discharge Error to  
switch off.  
CBUS = 120 F  
Note 16-10  
Turn Off Time  
tOFF_PSW_ERR  
100  
1.1  
ns  
TSD or Back-drive Error to switch  
off.  
CBUS = 120 F  
VBUS Output  
Rise Time  
tR_BUS  
ms  
Measured from 10% to 90% of  
VBUS, CLOAD = 220 F  
ILIM = 1.0 A  
Soft Turn on Rate  
IBUS / t  
100  
mA /  
µs  
DS00002084C-page 212  
2016-2017 Microchip Technology Inc.  
UPD360  
TABLE 16-12: PORT POWER CONTROLLER AC PARAMETERS (CONTINUED)  
Parameter  
Symbol  
Min  
Typ  
Max  
Units  
Notes  
Temperature Update  
Time  
tDC_TEMP  
200  
ms  
Cycle Time  
tCYCLE  
25  
ms  
µs  
Time period after which PPC  
faults are determined to be  
cleared, as part of the auto-  
recovery fault handler.  
Short Circuit  
Response Time  
tSHORT_LIM  
1.5  
Time from detection of short to  
current limit applied.  
No CBUS applied  
Note 16-10  
Short Circuit  
Detection Time  
tSHORT  
6
7
ms  
ms  
ms  
Time from detection of short to  
port power switch disconnect and  
alert assertion.  
Note 16-10  
Latched Mode Cycle  
Time  
tUL  
From PWR_EN edge transition  
from inactive to active to begin  
error recovery.  
Note 16-10  
Discharge Time  
tDISCHARGE  
200  
Amount of time discharge resis-  
tor applied. Programmable to  
100-400 ms, default listed.  
Port Power Switch Operation with Trip Mode Current Limiting  
Region 2 Current  
Keep-out  
IBUS_R2MIN1  
VBUS_MIN1  
0.1  
A
V
Note 16-10  
Note 16-10  
Minimum VBUS  
2.0  
Allowed at Output  
Note 16-10 Design guidance only. Not tested in production.  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 213  
UPD360  
17.0 PACKAGE INFORMATION  
Note:  
For the most current package drawings, please see the Microchip Packaging Specification located at  
http://www.microchip.com/packaging  
FIGURE 17-1:  
PACKAGE MARKING INFORMATION  
44-WFBGA  
UP360A  
e
3
<R>010  
<V><COO>  
YWWNNN  
Legend: <R>  
Functional revision  
000  
<V>  
Firmware/Tracking number  
Assembly vendor code  
<COO> Country code  
Y
Year code (last 2 digits of calendar year)  
WW  
NNN  
Week code (week of January 1 is week ‘01’)  
Alphanumeric traceability code  
e
3
Pb-free JEDEC designator for Matte Tin (Sn)  
This package is Pb-free. The Pb-free JEDEC designator (  
can be found on the outer packaging for this package.  
*
)
e
3
DS00002084C-page 214  
2016-2017 Microchip Technology Inc.  
UPD360  
FIGURE 17-2:  
PACKAGE (DRAWING & DIMENSIONS)  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 215  
UPD360  
FIGURE 17-3:  
PACKAGE (BALL MATRIX & ROUTING)  
DS00002084C-page 216  
2016-2017 Microchip Technology Inc.  
UPD360  
APPENDIX A: DATA SHEET REVISION HISTORY  
TABLE A-1:  
Revision  
DS00002084C (07-19-17)  
REVISION HISTORY  
Section/Figure/Entry  
Correction  
Public Release  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 217  
UPD360  
THE MICROCHIP WEB SITE  
Microchip provides online support via our WWW site at www.microchip.com. This web site is used as a means to make  
files and information easily available to customers. Accessible by using your favorite Internet browser, the web site con-  
tains 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 semi-  
nars 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 web site 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 docu-  
ment.  
Technical support is available through the web site at: http://www.microchip.com/support  
DS00002084C-page 218  
2016-2017 Microchip Technology Inc.  
UPD360  
PRODUCT IDENTIFICATION SYSTEM  
To order or obtain information, e.g., on pricing or delivery, refer to the factory or the listed sales office.  
[X]( 1)  
PART NO.  
[X]  
/XXX  
-X  
Examples:  
a)  
UPD360-A/6HX  
Device Tape & Reel  
Option  
Temp. Package  
Range  
Version  
+1.8V I2C Interface,  
Standard packaging,  
Commercial temperature,  
44-ball WFBGA package  
b)  
UPD360T-B/6HX  
Device:  
UPD360  
+3.3V I2C Interface,  
Tape and Reel,  
Commercial temperature,  
44-ball WFBGA package  
Tape and Reel  
Option:  
Blank = Standard packaging (tray)  
T
= Tape and Reel (Note 1)  
c)  
UPD360-C/6HX  
SPI Interface,  
Version:  
A
B
C
= +1.8V I2C Interface  
= +3.3V I2C Interface  
= SPI Interface  
Standard packaging,  
Commercial temperature,  
44-ball WFBGA package  
Temperature  
Range:  
Blank  
6HX  
=
0C to +70C (Commercial)  
Note 1:  
Tape and Reel identifier only appears in  
the catalog part number description. This  
identifier is used for ordering purposes and  
is not printed on the device package.  
Check with your Microchip Sales Office for  
package availability with the Tape and Reel  
option.  
Package:  
= 44-ball WFBGA  
2016-2017 Microchip Technology Inc.  
DS00002084C-page 219  
UPD360  
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.  
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, BeaconThings, BitCloud, CryptoMemory, CryptoRF,  
dsPIC, FlashFlex, flexPWR, Heldo, JukeBlox, KEELOQ, KEELOQ logo, Kleer, LANCheck, LINK MD, maXStylus, maXTouch, MediaLB, megaAVR,  
MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, Prochip Designer, QTouch, RightTouch, 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, chipKIT, chipKIT logo, CodeGuard,  
CryptoAuthentication, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN,  
EtherGREEN, In-Circuit Serial Programming, ICSP, Inter-Chip Connectivity, JitterBlocker, KleerNet, KleerNet logo, Mindi, MiWi, motorBench,  
MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit,  
PICtail, PureSilicon, QMatrix, RightTouch logo, 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.  
© 2016-2017, Microchip Technology Incorporated, All Rights Reserved.  
ISBN: 9781522419181  
QUALITYMANAGEMENTꢀꢀSYSTEMꢀ  
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  
CERTIFIEDBYDNVꢀ  
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  
== ISO/TS16949==ꢀ  
analog products. In addition, Microchip’s quality system for the design  
and manufacture of development systems is ISO 9001:2000 certified.  
DS00002084C-page 220  
2016-2017 Microchip Technology Inc.  
Worldwide Sales and Service  
AMERICAS  
ASIA/PACIFIC  
ASIA/PACIFIC  
EUROPE  
Corporate Office  
2355 West Chandler Blvd.  
Chandler, AZ 85224-6199  
Tel: 480-792-7200  
Fax: 480-792-7277  
Technical Support:  
http://www.microchip.com/  
support  
Asia Pacific Office  
China - Xiamen  
Tel: 86-592-2388138  
Fax: 86-592-2388130  
Austria - Wels  
Tel: 43-7242-2244-39  
Fax: 43-7242-2244-393  
Suites 3707-14, 37th Floor  
Tower 6, The Gateway  
Harbour City, Kowloon  
China - Zhuhai  
Tel: 86-756-3210040  
Fax: 86-756-3210049  
Denmark - Copenhagen  
Tel: 45-4450-2828  
Fax: 45-4485-2829  
Hong Kong  
Tel: 852-2943-5100  
Fax: 852-2401-3431  
India - Bangalore  
Tel: 91-80-3090-4444  
Fax: 91-80-3090-4123  
Finland - Espoo  
Tel: 358-9-4520-820  
Australia - Sydney  
Tel: 61-2-9868-6733  
Fax: 61-2-9868-6755  
Web Address:  
www.microchip.com  
France - Paris  
Tel: 33-1-69-53-63-20  
Fax: 33-1-69-30-90-79  
India - New Delhi  
Tel: 91-11-4160-8631  
Fax: 91-11-4160-8632  
Atlanta  
Duluth, GA  
Tel: 678-957-9614  
Fax: 678-957-1455  
China - Beijing  
Tel: 86-10-8569-7000  
Fax: 86-10-8528-2104  
France - Saint Cloud  
Tel: 33-1-30-60-70-00  
India - Pune  
Tel: 91-20-3019-1500  
China - Chengdu  
Tel: 86-28-8665-5511  
Fax: 86-28-8665-7889  
Germany - Garching  
Tel: 49-8931-9700  
Germany - Haan  
Austin, TX  
Tel: 512-257-3370  
Japan - Osaka  
Tel: 81-6-6152-7160  
Fax: 81-6-6152-9310  
Boston  
Tel: 49-2129-3766400  
China - Chongqing  
Tel: 86-23-8980-9588  
Fax: 86-23-8980-9500  
Westborough, MA  
Tel: 774-760-0087  
Fax: 774-760-0088  
Japan - Tokyo  
Tel: 81-3-6880- 3770  
Fax: 81-3-6880-3771  
Germany - Heilbronn  
Tel: 49-7131-67-3636  
China - Dongguan  
Tel: 86-769-8702-9880  
Germany - Karlsruhe  
Tel: 49-721-625370  
Chicago  
Itasca, IL  
Tel: 630-285-0071  
Fax: 630-285-0075  
Korea - Daegu  
Tel: 82-53-744-4301  
Fax: 82-53-744-4302  
China - Guangzhou  
Tel: 86-20-8755-8029  
Germany - Munich  
Tel: 49-89-627-144-0  
Fax: 49-89-627-144-44  
China - Hangzhou  
Tel: 86-571-8792-8115  
Fax: 86-571-8792-8116  
Korea - Seoul  
Dallas  
Addison, TX  
Tel: 972-818-7423  
Fax: 972-818-2924  
Tel: 82-2-554-7200  
Fax: 82-2-558-5932 or  
82-2-558-5934  
Germany - Rosenheim  
Tel: 49-8031-354-560  
China - Hong Kong SAR  
Tel: 852-2943-5100  
Fax: 852-2401-3431  
Israel - Ra’anana  
Tel: 972-9-744-7705  
Malaysia - Kuala Lumpur  
Tel: 60-3-6201-9857  
Fax: 60-3-6201-9859  
Detroit  
Novi, MI  
Tel: 248-848-4000  
Italy - Milan  
Tel: 39-0331-742611  
Fax: 39-0331-466781  
China - Nanjing  
Tel: 86-25-8473-2460  
Fax: 86-25-8473-2470  
Malaysia - Penang  
Tel: 60-4-227-8870  
Fax: 60-4-227-4068  
Houston, TX  
Tel: 281-894-5983  
Italy - Padova  
Tel: 39-049-7625286  
China - Qingdao  
Tel: 86-532-8502-7355  
Fax: 86-532-8502-7205  
Indianapolis  
Noblesville, IN  
Tel: 317-773-8323  
Fax: 317-773-5453  
Tel: 317-536-2380  
Philippines - Manila  
Tel: 63-2-634-9065  
Fax: 63-2-634-9069  
Netherlands - Drunen  
Tel: 31-416-690399  
Fax: 31-416-690340  
China - Shanghai  
Tel: 86-21-3326-8000  
Fax: 86-21-3326-8021  
Singapore  
Tel: 65-6334-8870  
Fax: 65-6334-8850  
Norway - Trondheim  
Tel: 47-7289-7561  
Los Angeles  
China - Shenyang  
Tel: 86-24-2334-2829  
Fax: 86-24-2334-2393  
Mission Viejo, CA  
Tel: 949-462-9523  
Fax: 949-462-9608  
Tel: 951-273-7800  
Poland - Warsaw  
Tel: 48-22-3325737  
Taiwan - Hsin Chu  
Tel: 886-3-5778-366  
Fax: 886-3-5770-955  
Romania - Bucharest  
Tel: 40-21-407-87-50  
China - Shenzhen  
Tel: 86-755-8864-2200  
Fax: 86-755-8203-1760  
Taiwan - Kaohsiung  
Tel: 886-7-213-7830  
Raleigh, NC  
Tel: 919-844-7510  
Spain - Madrid  
Tel: 34-91-708-08-90  
Fax: 34-91-708-08-91  
China - Wuhan  
Tel: 86-27-5980-5300  
Fax: 86-27-5980-5118  
Taiwan - Taipei  
Tel: 886-2-2508-8600  
Fax: 886-2-2508-0102  
New York, NY  
Tel: 631-435-6000  
Sweden - Gothenberg  
Tel: 46-31-704-60-40  
San Jose, CA  
Tel: 408-735-9110  
Tel: 408-436-4270  
China - Xian  
Tel: 86-29-8833-7252  
Fax: 86-29-8833-7256  
Thailand - Bangkok  
Tel: 66-2-694-1351  
Fax: 66-2-694-1350  
Sweden - Stockholm  
Tel: 46-8-5090-4654  
Canada - Toronto  
Tel: 905-695-1980  
Fax: 905-695-2078  
UK - Wokingham  
Tel: 44-118-921-5800  
Fax: 44-118-921-5820  
DS00002084C-page 221  
2016-2017 Microchip Technology Inc.  
11/07/16  

相关型号:

UPD360-C6HX

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
MICROCHIP

UPD360T-A6HX

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
MICROCHIP

UPD360T-B/6HX

USB Bus Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
MICROCHIP

UPD360T-B6HX

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
MICROCHIP

UPD360T-C6HX

Highly Integrated Small Form Factor USB Type-C™ Power Delivery 2.0 Port Controller

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
MICROCHIP

UPD3700CS

LINEAR CCD IMAGE ARRAY

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
ETC

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
ETC

UPD3719

10600 PIXELS x 3 COLOR CCD LINEAR IMAGE SENSOR

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
NEC

UPD3719D

10600 PIXELS x 3 COLOR CCD LINEAR IMAGE SENSOR

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
NEC

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
ETC

UPD3720A

2700 PIXELS x 3 COLOR CCD LINEAR IMAGE SENSOR

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
NEC

UPD3720ACY

2700 PIXELS x 3 COLOR CCD LINEAR IMAGE SENSOR

Warning: Undefined variable $rtag in /www/wwwroot/website_ic37/www.icpdf.com/pdf/pdf/index.php on line 217
-
NEC