SAF1761BE [NXP]

IC UNIVERSAL SERIAL BUS CONTROLLER, PQFP128, 14 X 20 MM, 1.40 MM HEIGHT, PLASTIC, MS-026, SOT425-1, LQFP-128, Bus Controller;
SAF1761BE
型号: SAF1761BE
厂家: NXP    NXP
描述:

IC UNIVERSAL SERIAL BUS CONTROLLER, PQFP128, 14 X 20 MM, 1.40 MM HEIGHT, PLASTIC, MS-026, SOT425-1, LQFP-128, Bus Controller

时钟 数据传输 PC 外围集成电路
文件: 总165页 (文件大小:871K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
SAF1761  
Hi-Speed Universal Serial Bus On-The-Go controller  
Rev. 2 — 19 June 2012  
Product data sheet  
1. General description  
The SAF1761 is a single-chip Hi-Speed Universal Serial Bus (USB) On-The-Go (OTG)  
Controller integrated with advanced NXP slave host controller and the peripheral  
controller.  
The Hi-Speed USB host controller and peripheral controller comply to Ref. 1 “Universal  
Serial Bus Specification Rev. 2.0” and support data transfer speeds of up to 480 Mbit/s.  
The Enhanced Host Controller Interface (EHCI) core implemented in the host controller is  
adapted from Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial  
Bus Rev. 1.0”. The OTG controller adheres to Ref. 3 “On-The-Go Supplement to the USB  
Specification Rev. 1.3”.  
The SAF1761 has three USB ports. Port 1 can be configured to function as a downstream  
port, an upstream port or an OTG port; ports 2 and 3 are always configured as  
downstream ports. The OTG port can switch its role from host to peripheral, and  
peripheral to host. The OTG port can become a host through the Host Negotiation  
Protocol (HNP) as specified in the OTG supplement.  
2. Features and benefits  
Automotive qualified in accordance with AEC-Q100  
Compliant with Ref. 1 “Universal Serial Bus Specification Rev. 2.0”; supporting data  
transfer at high-speed (480 Mbit/s), full-speed (12 Mbit/s) and low-speed (1.5 Mbit/s)  
Integrated Transaction Translator (TT) for original USB (full-speed and low-speed)  
peripheral support  
Three USB ports that support three operational modes:  
Mode 1: Port 1 is an OTG controller port, and ports 2 and 3 are host controller ports  
Mode 2: Ports 1, 2 and 3 are host controller ports  
Mode 3: Port 1 is a peripheral controller port, and ports 2 and 3 are host controller  
ports  
Supports OTG Host Negotiation Protocol (HNP) and Session Request Protocol (SRP)  
Multitasking support with virtual segmentation feature (up to four banks)  
High-speed memory controller (variable latency and SRAM external interface)  
Directly addressable memory architecture  
Generic processor interface to most CPUs, such as Hitachi SH-3 and SH-4, NXP XA,  
Intel StrongARM, NEC and Toshiba MIPS, Freescale DragonBall and PowerPC  
Reduced Instruction Set Computer (RISC) processors  
Configurable 32-bit and 16-bit external memory data bus  
Supports Programmed I/O (PIO) and Direct Memory Access (DMA)  
Slave DMA implementation on CPU interface to reduce the host systems CPU load  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Separate IRQ, DREQ and DACK lines for the host controller and the peripheral  
controller  
Integrated multi-configuration FIFO  
Double-buffering scheme increases throughput and facilitates real-time data transfer  
Integrated Phase-Locked Loop (PLL) with external 12 MHz crystal for low  
ElectroMagnetic Interference (EMI)  
Tolerant I/O for low voltage CPU interface (1.65 V to 3.3 V)  
3.3 V-to-5.0 V external power supply input  
Integrated 5.0 V-to-1.8 V or 3.3 V-to-1.8 V voltage regulator (internal 1.8 V for  
low-power core)  
Internal power-on reset or low-voltage reset and block-dedicated software reset  
Supports suspend and remote wake-up  
Built-in overcurrent circuitry (analog overcurrent protection)  
Hybrid-power mode: VCC(5V0) (can be switched off), VCC(I/O) (permanent)  
Target total current consumption:  
Normal operation; one port in high-speed active: ICC < 100 mA when the internal  
charge pump is not used  
Suspend mode: ICC(susp) < 150 μA at ambient temperature of +25 °C  
Host controller-specific features  
High performance USB host with integrated Hi-Speed USB transceivers; supports  
high-speed, full-speed and low-speed  
EHCI core is adapted from Ref. 2 “Enhanced Host Controller Interface  
Specification for Universal Serial Bus Rev. 1.0”  
Configurable power management  
Integrated TT for Original USB peripheral support on all three ports  
Integrated 64 kB high-speed memory (internally organized as 8 k × 64 bit)  
Additional 2.5 kB separate memory for TT  
Individual or global overcurrent protection with built-in sense circuits  
Built-in overcurrent circuitry (digital or analog overcurrent protection)  
OTG controller-specific features  
OTG transceiver: fully integrated; adheres to Ref. 3 “On-The-Go Supplement to the  
USB Specification Rev. 1.3”  
Supports HNP and SRP for OTG dual-role devices  
HNP: status and control registers for software implementation  
SRP: status and control registers for software implementation  
Programmable timers with high resolution (0.01 ms to 80 ms) for HNP and SRP  
Supports external source of VBUS  
Peripheral controller-specific features  
High-performance USB peripheral controller with integrated Serial Interface Engine  
(SIE), FIFO memory and transceiver  
Complies with Ref. 1 “Universal Serial Bus Specification Rev. 2.0” and most device  
class specifications  
Supports auto Hi-Speed USB mode discovery and Original USB fallback  
capabilities  
Supports high-speed and full-speed on the peripheral controller  
Bus-powered or self-powered capability with suspend mode  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
2 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Slave DMA, fully autonomous and supports multiple configurations  
Seven IN endpoints, seven OUT endpoints and one fixed control IN and OUT  
endpoint  
Integrated 8 kB memory  
Software-controllable connection to the USB bus, SoftConnect  
3. Applications  
The SAF1761 can be used to implement a dual-role USB device, USB host or USB  
peripheral, depending on the cable connection. If the dual-role device is connected to a  
typical USB peripheral, it behaves like a typical USB host. The dual-role device can also  
be connected to a PC or any other USB host and behave like a typical USB peripheral.  
This NXP USB product can only be used in automotive applications. Inclusion or use of  
the NXP USB products in other than automotive applications is not permitted and for your  
company’s own risk. Your company agrees to full indemnify NXP for any damages  
resulting from such inclusion or use.  
4. Ordering information  
Table 1.  
Ordering information  
Type number Package  
Name  
Description  
Version  
SAF1761BE  
LQFP128  
plastic low profile quad flat package; 128 leads; body 14 × 20 × 1.4 mm  
SOT425-1  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
3 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
5. Block diagram  
V
CC(I/O)  
10, 40, 48, 59, 67,  
75, 83, 94, 104, 115  
37 to 39, 41 to 43,  
45 to 47, 49, 51,  
52, 54, 56 to 58,  
60 to 62, 64 to 66,  
68 to 70, 72 to 74,  
76 to 78, 80  
11  
XTAL1  
SAF1761BE  
12  
PLL  
XTAL2  
CLKIN  
30 MHz  
60 MHz  
13  
SEL16/32  
DATA[15:0]/DATA[31:0]  
82, 84, 86, 87,  
89, 91 to 93,  
95 to 98,  
HC PTD  
MEMORY  
(3 kB)  
122  
119  
BUS INTERFACE:  
RESET_N  
100 to 103, 105  
17  
HC PAYLOAD  
MEMORY  
(60 kB)  
DC BUFFER  
MEMORY  
8 KBYTES  
GLOBAL CONTROL  
AND POWER  
MANAGEMENT  
MEMORY  
MANAGEMENT  
UNIT  
A[17:1]  
106  
107  
108  
111  
112  
113  
114  
116  
117  
HC_SUSPEND/  
WAKEUP_N  
CS_N  
120  
RD_N  
DC_SUSPEND/  
WAKEUP_N  
+
WR_N  
SLAVE DMA  
CONTROLLER  
DC_IRQ  
HC_IRQ  
DC_DREQ  
HC_DREQ  
HC_DACK  
DC_DACK  
+
POWER-ON  
RESET AND  
110  
MEMORY ARBITER  
AND FIFO  
INTERRUPT  
CONTROL  
BAT_ON_N  
V
ON  
BAT  
5, 50,  
85, 118  
REGISTERS  
SUPPORT  
REG1V8  
5 V-TO-1.8 V  
VOLTAGE  
REGULATOR  
ADVANCED  
ADVANCED  
PERIPHERAL  
CONTROLLER  
6, 7  
NXP  
SLAVE HOST  
CONTROLLER  
V
CC(5V0)  
124  
C_B  
C_A  
TRANSACTION  
TRANSLATOR  
(TT) AND RAM  
125  
126  
CHARGE  
PUMP  
5 V-TO-3.3 V  
VOLTAGE  
REGULATOR  
V
CC(C_IN)  
9
REG3V3  
DIGITAL  
OTG CONTROLLER  
2
AND ANALOG  
OVERCURRENT  
PROTECTION  
REF5V  
ID  
DYNAMIC PORT ROUTING AND PORT CONTROL LOGIC  
8
3
GND(OSC)  
4, 17, 24,  
31, 123  
HI-SPEED  
USB ATX3  
HI-SPEED  
USB ATX2  
HI-SPEED  
USB ATX1  
GNDA  
GNDC  
53, 88, 121  
14, 36, 44, 55, 63,  
71, 79, 90, 99, 109  
16 15 20 19 18 21 127 23 22 27 26 25 28 128 30 29 34 33 32 35  
1
001aai626  
RREF1 DP1  
DM1  
RREF2 DP2  
DM2  
RREF3 DP3  
DM3  
GNDD  
GND GNDA  
(RREF1)  
OC1_N/  
GND GNDA  
(RREF2)  
OC2_N  
GND GNDA  
(RREF3)  
OC3_N  
V
BUS  
PSW1_N  
PSW2_N  
PSW3_N  
All ground pins should normally be connected to a common ground plane.  
Fig 1. Block diagram  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
4 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
6. Pinning information  
6.1 Pinning  
1
102  
SAF1761BE  
38  
65  
001aai627  
Fig 2. Pin configuration (LQFP128); top view  
6.2 Pin description  
Table 2.  
Pin description  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
OC3_N  
1
AI/I  
port 3 analog (5 V input) and digital overcurrent input; if not used, connect to  
VCC(I/O) through a 10 kΩ resistor  
input, 5 V tolerant  
REF5V  
ID  
2
3
AI  
I
5 V reference input for analog OC detector; connect a 100 nF decoupling capacitor  
ID input to detect the default host or peripheral setting when port 1 is in OTG mode;  
pull-up to 3.3 V through a 4.7 kΩ resistor  
input, 3.3 V tolerant  
GNDA  
4
5
G
P
analog ground  
REG1V8  
core power output (1.8 V); internal 1.8 V for the digital core; used for decoupling;  
connect a 100 nF capacitor; for details on additional capacitor placement, see  
Section 7.8  
VCC(5V0)  
VCC(5V0)  
6
7
P
P
input to internal regulators (3.0 V-to-5.5 V); connect a 100 nF decoupling capacitor;  
see Section 7.8  
input to internal regulators (3.0 V-to-5.5 V); connect a 100 nF decoupling capacitor;  
see Section 7.8  
GND(OSC)  
REG3V3  
8
9
G
P
oscillator ground  
regulator output (3.3 V); for decoupling only; connect a 100 nF capacitor and a  
4.7 μF-to-10 μF capacitor; see Section 7.8  
VCC(I/O)  
10  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
XTAL1  
XTAL2  
11  
12  
AI  
12 MHz crystal connection input; connect to ground if an external clock is used  
12 MHz crystal connection output  
AO  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
5 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
CLKIN  
13  
14  
15  
16  
I
12 MHz oscillator or clock input; when not in use, connect to VCC(I/O)  
GNDD  
G
G
AI  
digital ground  
GND(RREF1)  
RREF1  
RREF1 ground  
reference resistor connection; connect a 12 kΩ 1 % resistor between this pin and  
the RREF1 ground  
GNDA  
DM1  
17  
18  
19  
20  
21  
G
analog ground  
AI/O  
G
downstream data minus port 1  
analog ground  
GNDA  
DP1  
AI/O  
OD  
downstream data plus port 1  
power switch port 1, active LOW  
output pad, push-pull open-drain, 8 mA output drive, 5 V tolerant  
RREF2 ground  
PSW1_N  
GND(RREF2)  
RREF2  
22  
23  
G
AI  
reference resistor connection; connect a 12 kΩ 1 % resistor between this pin and  
the RREF2 ground  
GNDA  
DM2  
24  
25  
26  
27  
28  
G
analog ground  
AI/O  
G
downstream data minus port 2  
analog ground  
GNDA  
DP2  
AI/O  
OD  
downstream data plus port 2  
power switch port 2, active LOW  
output pad, push-pull open-drain, 8 mA output drive, 5 V tolerant  
RREF3 ground  
PSW2_N  
GND(RREF3)  
RREF3  
29  
30  
G
AI  
reference resistor connection; connect a 12 kΩ 1 % resistor between this pin and  
the RREF3 ground  
GNDA  
DM3  
31  
32  
33  
34  
35  
G
analog ground  
AI/O  
G
downstream data minus port 3  
GNDA  
DP3  
analog ground  
AI/O  
OD  
downstream data plus port 3  
PSW3_N  
power switch port 3, active LOW  
output pad, push-pull open-drain, 8 mA output drive, 5 V tolerant  
digital ground  
GNDD  
DATA0  
36  
37  
G
I/O  
data bit 0 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 1 input and output  
DATA1  
DATA2  
38  
39  
I/O  
I/O  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 2 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
VCC(I/O)  
DATA3  
40  
41  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
I/O  
data bit 3 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
6 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
42  
DATA4  
DATA5  
I/O  
I/O  
data bit 4 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 5 input and output  
43  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
digital ground  
GNDD  
DATA6  
44  
45  
G
I/O  
data bit 6 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 7 input and output  
DATA7  
DATA8  
46  
47  
I/O  
I/O  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 8 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
VCC(I/O)  
DATA9  
48  
49  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
I/O  
data bit 9 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
REG1V8  
50  
P
core power output (1.8 V); internal 1.8 V for the digital core; used for decoupling;  
connect a 100 nF capacitor; for details on additional capacitor placement, see  
Section 7.8  
DATA10  
DATA11  
51  
52  
I/O  
I/O  
data bit 10 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 11 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
core ground  
GNDC  
53  
54  
G
DATA12  
I/O  
data bit 12 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
digital ground  
GNDD  
55  
56  
G
DATA13  
I/O  
data bit 13 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 14 input and output  
DATA14  
DATA15  
57  
58  
I/O  
I/O  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 15 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
VCC(I/O)  
59  
60  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
DATA16  
I/O  
data bit 16 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 17 input and output  
DATA17  
DATA18  
GNDD  
61  
62  
63  
I/O  
I/O  
G
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 18 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
digital ground  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
7 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
64  
DATA19  
DATA20  
DATA21  
I/O  
I/O  
I/O  
data bit 19 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 20 input and output  
65  
66  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 21 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
VCC(I/O)  
67  
68  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
DATA22  
I/O  
data bit 22 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 23 input and output  
DATA23  
DATA24  
69  
70  
I/O  
I/O  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 24 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
digital ground  
GNDD  
71  
72  
G
DATA25  
I/O  
data bit 25 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 26 input and output  
DATA26  
DATA27  
73  
74  
I/O  
I/O  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 27 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
VCC(I/O)  
75  
76  
P
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
DATA28  
I/O  
data bit 28 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
DATA29  
DATA30  
77  
78  
I/O  
I/O  
data bit 29 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
data bit 30 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
GNDD  
79  
80  
G
digital ground  
DATA31  
I/O  
data bit 31 input and output  
bidirectional pad, push-pull input, 3-state output, 4 mA output drive, 3.3 V tolerant  
TEST  
A1  
81  
82  
G
I
connect to ground  
address pin 1  
input, 3.3 V tolerant  
VCC(I/O)  
A2  
83  
84  
P
I
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
address pin 2  
input, 3.3 V tolerant  
REG1V8  
85  
P
core power output (1.8 V); internal 1.8 V for the digital core; used for decoupling;  
connect a 100 nF capacitor and a 4.7 μF-to-10 μF capacitor; see Section 7.8  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
8 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
86  
A3  
A4  
I
I
address pin 3  
input, 3.3 V tolerant  
address pin 4  
87  
input, 3.3 V tolerant  
core ground  
GNDC  
A5  
88  
89  
G
I
address pin 5  
input, 3.3 V tolerant  
digital ground  
GNDD  
A6  
90  
91  
G
I
address pin 6  
input, 3.3 V tolerant  
address pin 7  
A7  
A8  
92  
93  
I
I
input, 3.3 V tolerant  
address pin 8  
input, 3.3 V tolerant  
VCC(I/O)  
A9  
94  
95  
P
I
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
address pin 9  
input, 3.3 V tolerant  
address pin 10  
A10  
A11  
A12  
96  
97  
98  
I
I
I
input, 3.3 V tolerant  
address pin 11  
input, 3.3 V tolerant  
address pin 12  
input, 3.3 V tolerant  
digital ground  
GNDD  
A13  
99  
G
I
100  
address pin 13  
input, 3.3 V tolerant  
address pin 14  
A14  
A15  
A16  
101  
102  
103  
I
I
I
input, 3.3 V tolerant  
address pin 15  
input, 3.3 V tolerant  
address pin 16  
input, 3.3 V tolerant  
VCC(I/O)  
A17  
104  
105  
P
I
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
address pin 17  
input, 3.3 V tolerant  
CS_N  
RD_N  
106  
107  
I
I
chip select assertion indicates the SAF1761 being accessed; active LOW  
input, 3.3 V tolerant  
read enable; active LOW  
input, 3.3 V tolerant  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
9 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
108  
WR_N  
I
write enable; active LOW  
input, 3.3 V tolerant  
digital ground  
GNDD  
109  
110  
G
BAT_ON_N  
OD  
to indicate the presence of a minimum 3.3 V on pins 6 and 7 (open-drain); connect  
to VCC(I/O) through a 10 kΩ pull-up resistor  
output pad, push-pull open-drain, 8 mA output drive, 5 V tolerant  
DC_IRQ  
111  
112  
113  
114  
O
O
O
O
peripheral controller interrupt signal  
output 4 mA drive, 3.3 V tolerant  
HC_IRQ  
host controller interrupt signal  
output 4 mA drive, 3.3 V tolerant  
DC_DREQ  
HC_DREQ  
DMA controller request for the peripheral controller  
output pad 4 mA drive, 3.3 V tolerant  
DMA controller request for the host controller  
output pad 4 mA drive, 3.3 V tolerant  
VCC(I/O)  
115  
116  
P
I
digital supply voltage; 1.65 V to 3.6 V; connect a 100 nF decoupling capacitor; see  
Section 7.8  
HC_DACK  
host controller DMA request acknowledgment; when not in use, connect to VCC(I/O)  
through a 10 kΩ pull-up resistor  
input, 3.3 V tolerant  
DC_DACK  
REG1V8  
117  
118  
I
peripheral controller DMA request acknowledgment; when not in use, connect to  
VCC(I/O) through a 10 kΩ pull-up resistor  
input, 3.3 V tolerant  
P
core power output (1.8 V); internal 1.8 V for the digital core; used for decoupling;  
connect a 100 nF capacitor; for details on additional capacitor placement, see  
Section 7.8  
HC_SUSPEND/ 119  
WAKEUP_N  
I/OD  
host controller suspend and wake-up; 3-state suspend output (active LOW) and  
wake-up input circuits are connected together  
HIGH = output is 3-state; SAF1761 is in suspend mode  
LOW = output is LOW; SAF1761 is not in suspend mode  
connect to VCC(I/O) through an external 10 kΩ pull-up resistor  
output pad, open-drain, 4 mA output drive, 3.3 V tolerant  
DC_SUSPEND/ 120  
WAKEUP_N  
I/OD  
peripheral controller suspend and wake-up; 3-state suspend output (active LOW)  
and wake-up input circuits are connected together  
HIGH = output is 3-state; the SAF1761 is in suspend mode  
LOW = output is LOW; the SAF1761 is not in suspend mode  
connect to VCC(I/O) through an external 10 kΩ pull-up resistor  
output pad, open-drain, 4 mA output drive, 3.3 V tolerant  
core ground  
GNDC  
121  
122  
G
I
RESET_N  
external power-up reset; active LOW; when reset is asserted, it is expected that bus  
signals are idle, that is, not toggling  
input, 3.3 V tolerant  
Remark: During reset, ensure that all the input pins to the SAF1761 are not toggling  
and are in their inactive states.  
GNDA  
123  
G
analog ground  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
10 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 2.  
Pin description …continued  
Symbol[1][2]  
Pin  
Type[3] Description  
LQFP128  
124  
C_B  
C_A  
AI/O  
AI/O  
P
charge pump capacitor input; connect a 220 nF capacitor between this pin and  
pin 125  
125  
charge pump capacitor input; connect a 220 nF capacitor between this pin and  
pin 124  
VCC(C_IN)  
126  
127  
charge pump input; connect to 3.3 V  
OC1_N/VBUS  
(AI/O)(I) This pin is 5 V tolerant and has multiple functions:  
Input: Port 1 OC1_N detection when port 1 is configured for host functionality  
and an external power switch is used (active LOW); if not used, connect to  
VCC(I/O) through a 10 kΩ resistor; the 10 kΩ resistor is usually required by the  
open-drain output of the power-switch flag pin  
Output: VBUS out when internal charge pump is used and port 1 is configured  
for the OTG functionality; typically 50 mA current capability; the overcurrent  
protection in this case is ensured by the internal charge pump current limitation;  
only for port 1  
Input: VBUS input detection when port 1 is defined for the peripheral  
functionality  
OC2_N  
128  
AI/I  
port 2 analog (5 V input) and digital overcurrent input (active LOW); if not used,  
connect to VCC(I/O) through a 10 kΩ resistor  
input, 5 V tolerant  
[1] Symbol names ending with underscore N, for example, NAME_N, represent active LOW signals.  
[2] All ground pins should normally be connected to a common ground plane.  
[3] I = input only; O = output only; I/O = digital input/output; OD = open-drain output; AI/O = analog input/output; AI = analog input; P =  
power; (AI/O)(I) = analog input/output digital input; AI/I = analog input digital input; G = ground supply; T = factory test pin  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
11 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
7. Functional description  
7.1 SAF1761 internal architecture: advanced NXP slave host controller  
and hub  
The EHCI block and the Hi-Speed USB hub block are the main components of the  
advanced NXP slave host controller.  
The EHCI is the latest generation design, with improved data bandwidth. The EHCI in the  
SAF1761 is adapted from Ref. 2 “Enhanced Host Controller Interface Specification for  
Universal Serial Bus Rev. 1.0”.  
The internal Hi-Speed USB hub block replaces the companion host controller block used  
in the original architecture of a PCI Hi-Speed USB host controllers to handle full-speed  
and low-speed modes. The hardware architecture in the SAF1761 is simplified to help  
reduce cost and development time, by eliminating the additional work involved in  
implementing the OHCI software required to support full-speed and low-speed modes.  
Figure 3 shows the internal architecture of the SAF1761. The SAF1761 implements the  
EHCI that has an internal port, the root hub port (not available externally), on which the  
internal hub is connected. The three external ports are always routed to the internal hub.  
The internal hub is a Hi-Speed USB (USB 2.0) hub including the TT.  
Remark: The root hub must be enabled and the internal hub must be enumerated.  
Enumerate the internal hub as if it is externally connected.  
At the host controller reset and initialization, the internal root hub port will be polled until a  
new connection is detected, showing the connection of the internal hub.  
The internal Hi-Speed USB hub is enumerated using a sequence similar to a standard  
Hi-Speed USB hub enumeration sequence, and the polling on the root hub is stopped  
because the internal Hi-Speed USB hub will never be disconnected. When enumerated,  
the internal hub will report the three externally available ports.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
12 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
EHCI  
ROOT HUB  
PORTSC1  
ENUMERATION  
AND POLLING USING  
ACTUAL PTDs  
INTERNAL HUB (TT)  
PORT2  
PORT1  
PORT3  
EXTERNAL  
PORTS  
004aaa513  
Fig 3. Internal hub  
7.1.1 Internal clock scheme and port selection  
The SAF1761 has three ports. Figure 4 shows the internal clock scheme of the SAF1761.  
DIGITAL  
CORE  
host clock:  
48 MHz,  
30 MHz,  
60 MHz  
PORT 2  
HOST  
ATX  
CORE  
peripheral clock:  
48 MHz,  
30 MHz,  
60 MHz  
PERIPHERAL  
PORT 1  
ATX  
CORE  
XOSC  
004aaa538  
PORT 3  
ATX  
PLL 12 MHz IN  
Fig 4. SAF1761 clock scheme  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
13 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Port 2 does not need to be enabled by software, if only port 1 or port 3 is used. No port  
needs to be disabled by external pull-up resistors, if not used. The DP and DM of the  
unused ports need not be externally pulled HIGH because there are internal pull-down  
resistors on each port that are enabled by default.  
Table 3 lists the various port connection scenarios.  
Table 3.  
Port connection scenarios  
Port configuration Port 1  
Port 2  
DP and DM are routed to USB DP and DM are not connected  
connector (left open)  
DP and DM are not connected DP and DM are routed to USB  
(left open) connector  
DP and DM are not connected DP and DM are not connected  
(left open) (left open)  
DP and DM are routed to USB DP and DM are routed to USB  
connector connector  
DP and DM are not connected DP and DM are routed to USB  
(left open) connector  
DP and DM are routed to USB DP and DM are not connected  
connector (left open)  
Port 3  
One port (port 1)  
One port (port 2)  
One port (port 3)  
DP and DM are not connected  
(left open)  
DP and DM are not connected  
(left open)  
DP and DM are routed to USB  
connector  
Two ports (ports 1  
and 2)  
DP and DM are not connected  
(left open)  
Two ports (ports 2  
and 3)  
DP and DM are routed to USB  
connector  
Two ports (ports 1  
and 3)  
DP and DM are routed to USB  
connector  
Three ports (ports 1, DP and DM are routed to USB DP and DM are routed to USB  
DP and DM are routed to USB  
connector  
2 and 3)  
connector  
connector  
7.2 Host controller buffer memory block  
7.2.1 General considerations  
The internal addressable host controller buffer memory is 63 kB. The 63 kB effective  
memory size is the result of subtracting the size of the registers (1 kB) from the total  
addressable memory space defined in the SAF1761 (64 kB). This is the optimized value  
to achieve the highest performance with minimal cost.  
The SAF1761 is a slave host controller. This means that it does not need access to the  
local bus of the system to transfer data from the system memory to the SAF1761 internal  
memory, unlike the case of the original PCI Hi-Speed USB host controllers. Therefore,  
correct data must be transferred to both the PTD area and the payload area by PIO (using  
CPU access) or programmed DMA.  
The slave-host architecture ensures better compatibility with most of the processors  
present in the market today because not all processors allow a bus-master on the local  
bus. It also allows better load balancing of the processors local bus because only the  
internal bus arbiter of the processor controls the transfer of data dedicated to USB. This  
prevents the local bus from being busy when other more important transfers may be in the  
queue; and therefore achieving a linear system data flow that has less impact on other  
processes running at the same time.  
The considerations mentioned are also the main reason for implementing the pre-fetching  
technique, instead of using a READY signal. The resulting architecture avoids freezing of  
the local bus, by asserting READY, enhancing the SAF1761 memory access time, and  
avoiding introduction of programmed additional wait states. For details, see Section 7.3.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
14 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The total amount of memory allocated to the payload determines the maximum transfer  
size specified by a PTD, a larger internal memory size results in less CPU interruption for  
transfer programming. This means less time spent in context switching, resulting in better  
CPU usage.  
A larger buffer also implies a larger amount of data can be transferred. The transfer,  
however, can be done over a longer period of time, to maintain the overall system  
performance. Each transfer of the USB data on the USB bus can span for up to a few  
milliseconds before requiring further CPU intervention for data movement.  
The internal architecture of the SAF1761 allows a flexible definition of the memory buffer  
for optimization of the data transfer on the CPU extension bus and the USB. It is possible  
to implement various data transfer schemes, depending on the number and type of USB  
devices present. For example: push-pull; data can be written to half of the memory while  
data in the other half is being accessed by the host controller and sent on the USB bus.  
This is useful especially when a high-bandwidth continuous or periodic data flow is  
required.  
Through an analysis of the hardware and software environment regarding the usual data  
flow and performance requirements of most embedded systems, NXP has determined the  
optimal size for the internal buffer as approximately 64 kB.  
7.2.2 Structure of the SAF1761 host controller memory  
The 63 kB internal memory consists of the PTD area and the payload area.  
PTD memory zone is divided into three dedicated areas for each main type of USB  
transfer: ISOchronous (ISO), INTerrupt (INT) and Asynchronous Transfer List (ATL). As  
shown in Table 4, the PTD areas for ISO, INT and ATL are grouped at the beginning of the  
memory, occupying the address range 0400h to 0FFFh, following the register address  
space. The payload or data area occupies the next memory address range 1000h to  
FFFFh, meaning that 60 kB of memory are allocated for the payload data.  
A maximum of 32 PTD areas and their allocated payload areas can be defined for each  
type of transfer. The structure of a PTD is similar for every transfer type and consists of  
eight Double Words (DWs) that must be correctly programmed for a correct USB data  
transfer. The reserved bits of a PTD must be set to logic 0. A detailed description of the  
PTD structure can be found in Section 8.5.  
The transfer size specified by the PTD determines the contiguous USB data transfer that  
can be performed without any CPU intervention. The respective payload memory area  
must be equal to the transfer size defined. The maximum transfer size is flexible and can  
be optimized, depending on the number and nature of USB devices or PTDs defined and  
their respective MaxPacketSize.  
The CPU will program the DMA to transfer the necessary data in the payload memory.  
The next CPU intervention will be required only when the current transfer is completed  
and DMA programming is necessary to transfer the next data payload. This is normally  
signaled by the IRQ that is generated by the SAF1761 on completing the current PTD,  
meaning all the data in the payload area was sent on the USB bus. The external IRQ  
signal is asserted according to the settings in the IRQ Mask OR or IRQ Mask AND  
registers, see Section 8.4.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
15 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The RAM is structured in blocks of PTDs and payloads so that while the USB is executing  
on an active transfer-based PTD, the processor can simultaneously fill up another block  
area in the RAM. A PTD and its payload can then be updated on-the-fly without stopping  
or delaying any other USB transaction or corrupting the RAM data.  
Some of the design features are:  
The address range of the internal RAM buffer is from 0400h to FFFFh.  
The internal memory contains isochronous, interrupt and asynchronous PTDs, and  
respective defined payloads.  
All accesses to the internal memory are double word aligned.  
Internal memory address range calculation:  
Memory address = (CPU address 0400h) (shift right >> 3). Base address is 0400h.  
PTD1  
PTD2  
63 kB  
ISOCHRONOUS  
PTD32  
PTD1  
PTD2  
INTERRUPT  
PTD32  
PTD1  
PTD2  
REGISTERS  
ASYNC  
D[15:0]/D[31:0]  
A[17:1]  
PTD32  
PAYLOAD  
USB HIGH-SPEED  
HOST AND  
TRANSACTION  
TRANSLATOR  
(FULL-SPEED  
CS_N  
RD_N  
USB BUS  
MEMORY MAPPED  
INPUT/OUTPUT,  
MEMORY  
MANAGEMENT  
UNIT,  
PAYLOAD  
WR_N  
AND LOW-SPEED)  
MICRO-  
PROCESSOR  
SLAVE DMA  
CONTROLLER  
AND  
DC_IRQ  
PAYLOAD  
HC_IRQ  
DC_DREQ  
HC_DREQ  
HC_DACK  
DC_DACK  
INTERRUPT  
CONTROL  
address  
data (64 bits)  
240 MB/s  
ARBITER  
control signals  
004aaa568  
Fig 5. Memory segmentation and access block diagram  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
16 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 4.  
Memory address  
Memory map  
ISO  
CPU address  
Memory address  
0000h to 007Fh  
0080h to 00FFh  
0100h to 017Fh  
0180h to 1FFFh  
0400h to 07FFh  
0800h to 0BFFh  
0C00h to 0FFFh  
1000h to FFFFh  
INT  
ATL  
Payload  
Both the CPU interface logic and the USB host controller require access to the internal  
SAF1761 RAM at the same time. The internal arbiter controls these accesses to the  
internal memory, organized internally on a 64-bit data bus width, allowing a maximum  
bandwidth of 240 MB/s. This bandwidth avoids any bottleneck on accesses both from the  
CPU interface and the internal USB host controller.  
7.3 Accessing the SAF1761 host controller memory: PIO and DMA  
The CPU interface of the SAF1761 can be configured for a 16-bit or 32-bit data bus width.  
When the SAF1761 is configured for a 16-bit data bus width, the upper unused 16 data  
lines must be pulled up to VCC(I/O). This can be achieved by connecting DATA[31:16] lines  
together to a single 10 kΩ pull-up resistor. The 16-bit or 32-bit data bus width  
configuration is done by programming bit 8 of the HW Mode Control register. This will  
determine the register and memory access types in both PIO and DMA modes to all  
internal blocks: host controller, peripheral controller and OTG controller. All accesses  
must be word-aligned for 16-bit mode and double word aligned for 32-bit mode, where  
one word = 16 bits. When accessing the host controller registers in 16-bit mode, the  
register access must always be completed using two subsequent accesses. In the case of  
a DMA transfer, the 16-bit or 32-bit data bus width configuration will determine the number  
of bursts that will complete a certain transfer length.  
In PIO mode, CS_N, WR_N and RD_N are used to access registers and memory. In DMA  
mode, the data validation is performed by DACK, instead of CS_N, together with the  
WR_N and RD_N signals. The DREQ signal will always be asserted as soon as the  
SAF1761 DMA is enabled.  
7.3.1 PIO mode access, memory read cycle  
The following method has been implemented to reduce the read access timing in the case  
of a memory read:  
The Memory register contains the starting address and the bank selection to read  
from the memory. Before every new read cycle of the same or different banks, an  
appropriate value is written to this register.  
Once a value is written to this register, the address is stored in the FIFO of that bank  
and is then used to pre-fetch data for the memory read of that bank.  
For every subsequent read operation executed at a contiguous address, the address  
pointer corresponding to that bank is automatically incremented to pre-fetch the next  
data to be sent to the CPU.  
Memory read accesses for multiple banks can be interleaved. The FIFO block  
handles the multiplexing of appropriate data to the CPU.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
17 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The address written to the Memory register is incremented and used to successively  
pre-fetch data from the memory irrespective of the value on the address bus for each  
bank, until a new value for a bank is written to the Memory register. This is valid only  
when the address refers to the memory space (400h to FFFFh).  
For example, consider the following sequence of operations:  
Write the starting (read) address 4000h and bank1 = 01b to the Memory register.  
When RD_N is asserted for three cycles with A[17:16] = 01b, the returned data  
corresponds to addresses 4000h, 4004h and 4008h.  
Remark: Once 4000h is written to the Memory register for bank1, the bank select  
value determines the successive incremental addresses used to fetch data. That  
is, the fetching of data is independent of the address on A[15:0] lines.  
Write the starting (read) address 4100h and bank2 = 10b to the Memory register.  
When RD_N is asserted for four cycles with A[17:16] = 10b, the returned data  
corresponds to addresses 4100h, 4104h, 4108h and 410Ch.  
Consequently, the RD_N assertion with A[17:16] = 01b will return data from 400Ch  
because the bank1 read stopped there in the previous cycle. Also, RD_N  
assertions with A[17:16] = 10b will now return data from 4110h because the bank2  
read stopped there in the previous cycle.  
7.3.2 PIO mode access, memory write cycle  
The PIO memory writes access is similar to a normal memory access. It is not necessary  
to set the pre-fetching address before a write cycle to the memory.  
The SAF1761 internal write address will not be automatically incremented during  
consecutive write accesses; unlike in a series of SAF1761 memory read cycles. The  
memory write address must be incremented before every access.  
7.3.3 PIO mode access, register read cycle  
The PIO register read access is similar to a general register access. It is not necessary to  
set a pre-fetching address before a register read.  
The SAF1761 register read address will not be automatically incremented during  
consecutive read accesses; unlike in a series of SAF1761 memory read cycles. The  
SAF1761 register read address must be correctly specified before every access.  
7.3.4 PIO mode access, register write cycle  
The PIO register write access is similar to a general register access. It is not necessary to  
set a pre-fetching address before a register write.  
The SAF1761 register write address will not be automatically incremented during  
consecutive write accesses; unlike in a series of SAF1761 memory read cycles. The  
SAF1761 register write address must be correctly specified before every access.  
7.3.5 DMA mode, read and write operations  
The internal SAF1761 host controller DMA is a slave DMA. The host system processor or  
DMA must ensure the data transfer to or from the SAF1761 memory.  
The SAF1761 DMA supports a DMA burst length of 1, 4, 8 and 16 cycles for both the  
16-bit and 32-bit data bus width. DREQ will be asserted at the beginning of the first burst  
of a DMA transfer and will be de-asserted on the last cycle, RD_N or WR_N active pulse,  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
18 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
of that burst. It will be reasserted shortly after the DACK de-assertion, as long as the DMA  
transfer counter was not reached. DREQ will be de-asserted on the last cycle when the  
DMA transfer counter is reached and will not be reasserted until the DMA reprogramming  
is performed. Both DREQ and DACK signals are programmable as active LOW or active  
HIGH, according to the system requirements.  
The DMA start address must be initialized in the respective register, and the subsequent  
transfers will automatically increment the internal SAF1761 memory address. A register or  
memory access or access to other system memory can occur in between DMA bursts,  
whenever the bus is released because DACK is de-asserted, without affecting the DMA  
transfer counter or the current address.  
Any memory area can be accessed by the systems DMA at any starting address because  
there are no predefined memory blocks. The DMA transfer must start on a word or double  
word address, depending on whether the data bus width is set to 16 bit or 32 bit. DMA is  
the most efficient method to initialize the payload area, to reduce the CPU usage and  
overall system loading.  
The SAF1761 does not implement EOT to signal the end of a DMA transfer. If  
programmed, an interrupt may be generated by the SAF1761 at the end of the DMA  
transfer.  
The slave DMA of the SAF1761 will issue a DREQ to the DMA controller of the system to  
indicate that it is programmed for transfer and data is ready. The system DMA controller  
may also start a transfer without the need of the DREQ, if the SAF1761 memory is  
available for the data transfer and the SAF1761 DMA programming is completed.  
It is also possible that the systems DMA will perform a memory-to-memory type of transfer  
between the system memory and the SAF1761 memory. The SAF1761 will be accessed  
in PIO mode. Consequently, memory read operations must be preceded by initializing the  
Memory register (address 033Ch), as described in Section 7.3.1. No IRQ will be  
generated by the SAF1761 on completing the DMA transfer but an internal processor  
interrupt may be generated to signal that the DMA transfer is completed. This is mainly  
useful in implementing the double-buffering scheme for data transfer to optimize the USB  
bandwidth.  
The SAF1761 DMA programming involves:  
Set the active levels of signals DREQ and DACK in the HW Mode Control register.  
The DMA Start Address register contains the first memory address at which the data  
transfer will start. It must be word-aligned in 16-bit data bus mode and double word  
aligned in 32-bit data bus mode.  
The programming of the HcDMAConfiguration register specifies:  
The type of transfer that will be performed: read or write.  
The burst size, expressed in bytes, is specified, regardless of the data bus width.  
For the same burst size, a double number of cycles will be generated in 16-bit  
mode data bus width as compared to 32-bit mode.  
The transfer length, expressed in number of bytes, defines the number of bursts.  
The DREQ will be de-asserted and asserted to generate the next burst, as long as  
there are bytes to be transferred. At the end of a transfer, the DREQ will be  
de-asserted and an IRQ can be generated if DMAEOTINT (bit 3 in the HcInterrupt  
register) is set. The maximum DMA transfer size is equal to the maximum memory  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
19 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
size. The transfer size can be an odd or even number of bytes, as required. If the  
transfer size is an odd number of bytes, the number of bytes transferred by the  
systems DMA is equal to the next multiple of two for the 16-bit data bus width or  
four for the 32-bit data bus width. For a write operation, however, only the specified  
odd number of bytes in the SAF1761 memory will be affected.  
Enable ENABLE_DMA (bit 1) of the HcDMAConfiguration register to determine the  
assertion of DREQ immediately after setting the bit.  
After programming the preceding parameters, the systems DMA may be enabled, waiting  
for the DREQ to start the transfer or immediate transfer may be started.  
The programming of the systems DMA must match the programming of the SAF1761  
DMA parameters. Only one DMA transfer may take place at a time. PIO mode data  
transfer may occur simultaneously with a DMA data transfer, in the same or a different  
memory area.  
7.4 Interrupts  
The SAF1761 will assert an IRQ according to the source or event in the HcInterrupt  
register. The main steps to enable the IRQ assertion are:  
1. Set GLOBAL_INTR_EN (bit 0) in the HW Mode Control register.  
2. Define the IRQ active as level or edge in INTR_LEVEL (bit 1) of the HW Mode Control  
register.  
3. Define the IRQ polarity as active LOW or active HIGH in INTR_POL (bit 2) of the HW  
Mode Control register. These settings must match the IRQ settings of the host  
processor.  
By default, interrupt is level-triggered and active LOW.  
4. Program the individual interrupt enable bits in the HcInterruptEnable register. The  
software will need to clear the Interrupt Status bits in the HcInterrupt register before  
enabling individual interrupt enable bits.  
Additional IRQ characteristics can be adjusted in the Edge Interrupt Count register, as  
necessary, applicable only when IRQ is set to be edge-active; a pulse of a defined width is  
generated every time IRQ is active.  
Bits 15 to 0 of the Edge Interrupt Count register define the IRQ pulse width. The maximum  
pulse width that can be programmed is FFFFh, corresponding to a 1 ms pulse width. This  
setting is necessary for certain processors that may require a different minimum IRQ  
pulse width from the default value. The default IRQ pulse width set at power-on is  
approximately 500 ns.  
Bits 31 to 24 of the Edge Interrupt Count register define the minimum interval between two  
interrupts to avoid frequent interrupts to the CPU. The default value of 00h attributed to  
these bits determines the normal IRQ generation, without any delay. When a delay is  
programmed and the IRQ becomes active after the respective delay, several IRQ events  
may have already occurred.  
All the interrupt events are represented by the respective bits allocated in the HcInterrupt  
register. There is no mechanism to show the order or the moment of occurrence of an  
interrupt.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
20 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The asserted bits in the HcInterrupt register can be cleared by writing back the same  
value to the HcInterrupt register. This means that writing logic 1 to each of the set bits will  
reset the corresponding bits to the initial inactive state.  
The IRQ generation rules that apply according to the preceding settings are:  
If an event of interrupt occurs but the respective bit in the Interrupt Enable register is  
not set, then the respective HcInterrupt register bit is set but the interrupt signal is not  
asserted.  
An interrupt will be generated when interrupt is enabled and the respective bit in the  
Interrupt Enable register is set.  
For a level trigger, an interrupt signal remains asserted until the processor clears the  
HcInterrupt register by writing logic 1 to clear the HcInterrupt register bits that are set.  
If an interrupt is made edge-sensitive and is asserted, writing to clear the HcInterrupt  
register will not have any effect because the interrupt will be asserted for a prescribed  
amount of clock cycles.  
The clock stopping mechanism does not affect the generation of an interrupt. This is  
useful during suspend and resume cycles, when an interrupt is generated to signal a  
wake-up event.  
The IRQ generation can also be conditioned by programming the IRQ Mask OR and IRQ  
Mask AND registers.  
With the help of the IRQ Mask AND and IRQ Mask OR registers for each type of transfer  
(ISO, INT and bulk), software can determine which PTDs get priority and an interrupt will  
be generated when the AND or OR conditions are met. The PTDs that are set will wait  
until the respective bits of the remaining PTDs are set and then all PTDs generate an  
interrupt request to the CPU together.  
The registers definition shows that the AND or OR conditions are applicable to the same  
category of PTDs: ISO, INT, ATL.  
When an IRQ is generated, the PTD Done Map registers and the respective V bits will  
show which PTDs were completed.  
The rules that apply to the IRQ Mask AND or IRQ Mask OR settings are:  
The OR mask has a higher priority over the AND mask. An IRQ is generated if bit n of  
the done map is set and the corresponding bit n of the OR Mask register is set.  
If the OR mask for any done bit is not set, then the AND mask comes into picture. An  
IRQ is generated if all the corresponding done bits of the AND Mask register are set.  
For example: If bits 2, 4 and 10 are set in the AND Mask register, an IRQ is generated  
only if bits 2, 4, 10 of the done map are set.  
If using the IRQ interval setting for the bulk PTD, an interrupt will only occur at the  
regular time interval as programmed in the ATL Done Timeout register. Even if an  
interrupt event occurs before the time-out of the register, no IRQ will be generated  
until the time is up.  
For an example on using the IRQ Mask AND or IRQ Mask OR registers without the ATL  
Done Timeout register, see Table 5.  
The AND function: Activate the IRQ only if PTDs 1, 2 and 4 are done.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
21 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The OR function: If any of the PTDs 7, 8 or 9 are done, an IRQ for each of the PTD will be  
raised.  
Table 5.  
Using the IRQ Mask AND or IRQ Mask OR registers  
PTD  
1
AND register OR register  
Time  
1 ms  
-
PTD done  
IRQ  
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
-
-
2
-
3
-
-
4
3 ms  
-
1
-
active because of AND  
5
-
6
-
-
-
7
5 ms  
6 ms  
7 ms  
1
1
1
active because of OR  
active because of OR  
active because of OR  
8
9
7.5 Phase-Locked Loop (PLL) clock multiplier  
The internal PLL requires a 12 MHz input, which can be a 12 MHz crystal or a 12 MHz  
clock already existing in the system with a precision better than 50 × 106. This allows the  
use of a low-cost 12 MHz crystal that also minimizes ElectroMagnetic Interference (EMI).  
When an external crystal is used, make sure the CLKIN pin is connected to VCC(I/O)  
.
The PLL block generates all the main internal clocks required for normal functionality of  
various blocks: 30 MHz, 48 MHz and 60 MHz.  
No external components are required for the PLL operation.  
7.6 Power management  
The SAF1761 implements a flexible power management scheme, allowing various power  
saving stages.  
The usual powering scheme implies programming EHCI registers and the internal  
Hi-Speed USB (USB 2.0) hub in the same way it is done in the case of a PCI Hi-Speed  
USB host controller with a Hi-Speed USB hub attached.  
When the SAF1761 is in suspend mode, the main internal clocks will be stopped to  
ensure minimum power consumption. An internal LazyClock of 100 kHz 40 % will  
continue running. This allows initiating a resume on one of these events:  
External USB device connect or disconnect  
CS_N signal asserted when the SAF1761 is accessed  
Driving the HC_SUSPEND/WAKEUP_N pin to a LOW logical level will wake up the  
host controller, and driving the DC_SUSPEND/WAKEUP_N pin to a LOW logical level  
will wake up the peripheral controller  
The HC_SUSPEND/WAKEUP_N and DC_SUSPEND/WAKEUP_N pins are bidirectional.  
These pins must be connected to the GPIO pins of a processor.  
The wake up state can be verified by reading the LOW level of this pin. If the level is  
HIGH, it means that the SAF1761 is in the suspend state.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
22 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
HC_SUSPEND/WAKEUP_N and DC_SUSPEND/WAKEUP_N require pull-up resistors  
because in the SAF1761 suspended state these pins become 3-state and can be pulled  
down, driving them externally by switching the processors GPIO lines to output mode to  
generate the SAF1761 wake-up.  
The HC_SUSPEND/WAKEUP_N and DC_SUSPEND/WAKEUP_N pins are 3-state  
output and also input to the internal wake-up logic.  
When in suspend mode, the SAF1761 internal wake-up circuitry will sense the status of  
the HC_SUSPEND/WAKEUP_N and DC_SUSPEND/WAKEUP_N pins:  
If the pins remain pulled-up, no wake-up will be generated because a HIGH is sensed  
by the internal wake-up circuit.  
If the pins are externally pulled LOW, for example, by the GPIO lines or just a test by  
jumpers, the input to the wake-up circuitry becomes LOW and the wake-up is  
internally initiated.  
The resume state has a clock-off count timer defined by bits 31 to 16 of the Power-Down  
Control register. The default value of this timer is 10 ms, meaning that the resume state  
will be maintained for 10 ms. If during this time, the RUN/STOP bit in the USBCMD  
register is set to logic 1, the host controller will go into a permanent resume; the normal  
functional state. If the RUN/STOP bit is not set during the time determined by the clock-off  
count, the SAF1761 will switch back to suspend mode after the specified time. The  
maximum delay that can be programmed in the clock-off count field is approximately  
500 ms.  
The Power-Down Control register allows additionally the SAF1761 internal blocks to be  
disabled for lower power consumption as defined in Section 8.3.11.  
A very low suspend current can be achieved by completely switching off the VCC(5V0)  
using an external PMOS transistor, controlled by one of the GPIO pins of the processor.  
When the SAF1761 power is always on, the time from wake-up to suspend will be  
approximately 100 ms.  
It is necessary to wait for the CLKREADY interrupt assertion before programming the  
SAF1761 because internal clocks are stopped during deep-sleep suspend and restarted  
after the first wake-up event. The occurrence of the CLKREADY interrupt means that  
internal clocks are running and the normal functionality is achieved.  
It is estimated that the CLKREADY interrupt will be generated less than 100 μs after the  
wake-up event, if the power to the SAF1761 was on during suspend.  
If the SAF1761 is used in hybrid mode and VCC(5V0) is off during suspend, a 3 ms reset  
pulse is required when the power is switched back on, before the resume programming  
sequence starts. This will ensure that internal clocks are running and all logics reach a  
stable initial state.  
7.7 Overcurrent detection  
The SAF1761 can implement a digital or analog overcurrent detection scheme. Bit 15 of  
the HW Mode Control register can be programmed to select the analog or digital  
overcurrent detection. An analog overcurrent detection circuit is integrated on-chip. The  
main features of this circuit are self reporting, automatic resetting, low-trip time and low  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
23 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
cost. This circuit offers an easy solution at no extra hardware cost on the board. The port  
power will automatically be disabled by the SAF1761 on an overcurrent event occurrence,  
by de-asserting the PSWn_N signal without any software intervention.  
When using the integrated analog overcurrent detection, the range of the overcurrent  
detection voltage for the SAF1761 is 45 mV to 120 mV. Calculation of external  
components should be based on the 45 mV value, with the actual overcurrent detection  
threshold usually positioned in the middle of the interval.  
For an overcurrent limit of 500 mA per port, a PMOS transistor with RDSon of  
approximately 100 mΩ is required. If a PMOS transistor with a lower RDSon is used, the  
analog overcurrent detection can be adjusted using a series resistor; see Figure 6.  
ΔVPMOS = ΔVOC(TRIP) = ΔVTRIP(intrinsic) (IOC(nom) × Rtd), where:  
ΔVPMOS = voltage drop on PMOS  
IOC(nom) = 1 μA  
5 V  
I
OC  
(1)  
R
td  
REF5V  
PSWn_N  
OCn_N  
SAF1761  
001aai631  
(1) Rtd is optional.  
Fig 6. Adjusting analog overcurrent detection limit (optional)  
The digital overcurrent scheme requires using an external power switch with integrated  
overcurrent detection, such as LM3526, MIC2526 (2 ports) or LM3544 (4 ports). These  
devices are controlled by PSWn_N signals corresponding to each port. In the case of  
overcurrent occurrence, these devices will assert OCn_N signals. On OCn_N assertion,  
the SAF1761 cuts off the port power by de-asserting PSWn_N. The external integrated  
power switch will also automatically cut off the port power in the case of an overcurrent  
event, by implementing a thermal shutdown. An internal delay filter will prevent false  
overcurrent reporting because of in-rush currents when plugging a USB device. Because  
of this internal delay, as soon as OCn_N is asserted, PSWn_N will switch off the external  
PMOS in less than 15 ms.  
Remark: If port 1 is used in OTG mode or as a dual-role device, the analog overcurrent  
detection must be used, same on all three ports, because the same bit (bit 15 of the HW  
Mode Control register) determines the overcurrent detection type.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
24 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
7.8 Power supply  
Figure 7 shows the SAF1761 power supply connection.  
V
V
3.3 V to 5 V  
CC(5V0)  
CC(I/O)  
6, 7  
(1)  
100 nF  
10, 40, 48,  
59, 67, 75,  
83, 94,  
1.65 V to 3.6 V  
(1)  
100 nF  
104, 115  
REG1V8  
85  
SAF1761BE  
5, 50, 118  
10 μF  
100 nF  
100 nF  
REG1V8  
REG3V3  
(1), (2)  
9
10 μF  
100 nF  
V
3.3 V  
CC(C_IN)  
126  
100 nF  
001aai628  
(1) Each supply voltage pin must be connected to a 100 nF decoupling capacitor  
(2) A 4.7 μF to 10 μF electrolytic or tantalum capacitor is required on any one of the pins 5, 50 or 118.  
All the electrolytic or tantalum capacitors must be of low ESR type (0.2 Ω to 2 Ω).  
Fig 7. SAF1761 power supply connection  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
25 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Figure 8 shows the most commonly used power supply connection.  
SAF1761BE  
6, 7, 10, 40,  
48, 59, 67,  
V
V
V
,
CC(5V0) CC(I/O) CC(C_IN)  
3.3 V  
,
75, 83, 94,  
(1)  
100 nF  
104, 115, 126  
REG1V8  
85  
10 μF  
100 nF  
REG1V8  
REG3V3  
5, 50, 118  
(1), (2)  
100 nF  
9
100 nF  
10 μF  
001aai629  
(1) Each supply voltage pin must be connected to a 100 nF decoupling capacitor  
(2) A 4.7 μF to 10 μF electrolytic or tantalum capacitor is required on any one of the pins 5, 50 or 118.  
All the electrolytic or tantalum capacitors must be of low ESR type (0.2 Ω to 2 Ω).  
Fig 8. Most commonly used power supply connection  
7.8.1 Hybrid mode  
Table 6 shows the description of hybrid mode.  
Table 6.  
Voltage  
VCC(5V0)  
VCC(I/O)  
Hybrid mode  
Status  
off  
on  
In hybrid mode (see Figure 9), VCC(5V0) can be switched off using an external PMOS  
transistor, controlled using one of the GPIO pins of the processor. This helps to reduce the  
suspend current, ICC(I/O), below 100 μA. If the SAF1761 is used in hybrid mode and  
V
CC(5V0) is off during suspend, a 3 ms reset pulse is required when power is switched  
back on, before the resume programming sequence starts.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
26 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
controlled by the CPU  
V
V
3.3 V to 5 V  
CC(5V0)  
CC(I/O)  
6, 7  
(1)  
100 nF  
10, 40, 48,  
59, 67, 75,  
83, 94,  
1.65 V to 3.6 V  
(1)  
100 nF  
104, 115  
REG1V8  
85  
SAF1761BE  
5, 50, 118  
10 μF  
100 nF  
REG1V8  
REG3V3  
(1), (2)  
100 nF  
9
100 nF  
10 μF  
V
3.3 V  
CC(C_IN)  
126  
100 nF  
001aai630  
(1) Each supply voltage pin must be connected to a 100 nF decoupling capacitor  
(2) A 4.7 μF to 10 μF electrolytic or tantalum capacitor is required on any one of the pins 5, 50 or 118.  
All the electrolytic or tantalum capacitors must be of low ESR type (0.2 Ω to 2 Ω).  
Fig 9. Hybrid mode  
Table 7 shows the status of output pins in hybrid mode.  
Table 7.  
Pins  
Pin status during hybrid mode  
VCC(I/O)  
on  
VCC(5V0)  
Status  
DATA[31:0], A[17:1], TEST, HC_IRQ, DC_IRQ,  
HC_DREQ, DC_DREQ, HC_DACK, DC_DACK,  
HC_SUSPEND/WAKEUP_N,  
on  
off  
X
normal  
high-Z  
on  
off  
undefined  
DC_SUSPEND/WAKEUP_N  
CS_N, RESET_N, RD_N, WR_N  
on  
off  
X
X
input  
undefined  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
27 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
7.9 Power-On Reset (POR)  
Figure 10 shows a possible curve of REG1V8 with dips at t2 to t3 and t4 to t5. The PORP  
starts with a HIGH at t0. At t1, the detector will see the passing of the trip level Vtrip(H) and  
a delay element will add another tPORP before the PORP drops to 0. If the dip at t4 to t5 is  
too short, less than 11 μs, the PORP will not react and will remain LOW. A HIGH on PORP  
will be generated whenever REG1V8 drops below Vtrip(L) for more than 11 μs.  
REG1V8  
V
V
trip(H)  
trip(L)  
t0 t1  
t2  
t3  
t4  
t5  
(1)  
PORP  
t
t
PORP  
PORP  
001aak333  
(1) PORP = Power-On Reset Pulse.  
Fig 10. Internal power-on reset timing  
The recommended RESET input pulse length at power-on must be at least 3 ms to ensure  
that internal clocks are stable.  
The RESET_N pin can be either connected to VCC(I/O) using the internal POR circuit or  
externally controlled by the microcontroller, ASIC, and so on. Figure 11 shows the  
availability of the clock with respect to the external POR.  
RESET_N  
EXTERNAL CLOCK  
004aaa583  
A
Stable external clock is available at A.  
Fig 11. Clock with respect to the external power-on reset  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
28 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8. Host controller  
Table 8 shows the bit description of the registers.  
All registers range from 0000h to 03FFh. These registers can be read or written as  
double word, which is 32-bit data. In case of a 16-bit data bus width, two subsequent  
accesses are necessary to complete the register read or write cycle.  
Operational registers range from 0000h to 01FFh. Host controller-specific and OTG  
controller-specific registers range from 0300h to 03FFh. Peripheral controller-specific  
registers range from 0200h to 02FFh.  
17 address lines (15/14 addresses, necessary to address up to 64 kB range on a  
16-bit/32-bit data bus configuration + additional 2 addresses for bank select/virtual  
segmentation for memory address access time improvement). A0 is not defined  
because 8-bit access is not implemented.  
Table 8.  
Address  
Host controller-specific register overview  
Register Reset value  
References  
EHCI capability registers  
0000h  
0002h  
0004h  
0008h  
CAPLENGTH  
HCIVERSION  
HCSPARAMS  
HCCPARAMS  
20h  
Section 8.1.1  
Section 8.1.2  
Section 8.1.3  
Section 8.1.4  
0100h  
0000 0011h  
0000 0086h  
EHCI operational registers  
0020h  
0024h  
0028h  
002Ch  
0060h  
0064h  
0130h  
0134h  
0138h  
0140h  
0144h  
0148h  
0150h  
0154h  
0158h  
USBCMD  
0008 0B00h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 2000h  
0000 0000h  
FFFF FFFFh  
0000 0000h  
0000 0000h  
FFFF FFFFh  
0000 0000h  
0000 0000h  
FFFF FFFFh  
0000 0000h  
Section 8.2.1  
Section 8.2.2  
Section 8.2.3  
Section 8.2.4  
Section 8.2.5  
Section 8.2.6  
Section 8.2.7  
Section 8.2.8  
Section 8.2.9  
Section 8.2.10  
Section 8.2.11  
Section 8.2.12  
Section 8.2.13  
Section 8.2.14  
Section 8.2.15  
USBSTS  
USBINTR  
FRINDEX  
CONFIGFLAG  
PORTSC1  
ISO PTD Done Map  
ISO PTD Skip Map  
ISO PTD Last PTD  
INT PTD Done Map  
INT PTD Skip Map  
INT PTD Last PTD  
ATL PTD Done Map  
ATL PTD Skip Map  
ATL PTD Last PTD  
Configuration registers  
0300h  
0304h  
0308h  
030Ch  
0330h  
0334h  
HW Mode Control  
0000 0100h  
0001 1761h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
Section 8.3.1  
Section 8.3.2  
Section 8.3.3  
Section 8.3.4  
Section 8.3.5  
Section 8.3.6  
HcChipID  
HcScratch  
SW Reset  
HcDMAConfiguration  
HcBufferStatus  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
29 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 8.  
Host controller-specific register overview …continued  
Address  
0338h  
033Ch  
0340h  
0344h  
0354h  
Register  
Reset value  
0000 0000h  
0000 0000h  
0000 000Fh  
0000 0000h  
03E8 1BA0h  
References  
ATL Done Timeout  
Memory  
Section 8.3.7  
Section 8.3.8  
Section 8.3.9  
Section 8.3.10  
Section 8.3.11  
Edge Interrupt Count  
DMA Start address  
Power-Down Control  
Interrupt registers  
0310h  
0314h  
0318h  
031Ch  
0320h  
0324h  
0328h  
032Ch  
HcInterrupt  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
0000 0000h  
Section 8.4.1  
Section 8.4.2  
Section 8.4.3  
Section 8.4.4  
Section 8.4.5  
Section 8.4.6  
Section 8.4.7  
Section 8.4.8  
HcInterruptEnable  
ISO IRQ Mask OR  
INT IRQ Mask OR  
ATL IRQ Mask OR  
ISO IRQ Mask AND  
INT IRQ Mask AND  
ATL IRQ Mask AND  
8.1 EHCI capability registers  
8.1.1 CAPLENGTH register  
The bit description of the Capability Length (CAPLENGTH) register is given in Table 9.  
Table 9.  
Bit  
CAPLENGTH - Capability Length register (address 0000h) bit description  
Symbol  
Access Value  
20h  
Description  
7 to 0  
CAPLENGTH[7:0]  
R
Capability Length: This is used as an offset.  
It is added to the register base to find the  
beginning of the operational register space.  
8.1.2 HCIVERSION register  
Table 10 shows the bit description of the Host Controller Interface Version Number  
(HCIVERSION) register.  
Table 10. HCIVERSION - Host Controller Interface Version Number register (address 0002h)  
bit description  
Bit  
Symbol  
Access Value  
0100h  
Description  
15 to 0 HCIVERSION[15:0] R  
Host Controller Interface Version Number:  
It contains a BCD encoding of the version  
number of the interface to which the host  
controller interface conforms.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
30 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.1.3 HCSPARAMS register  
The Host Controller Structural Parameters (HCSPARAMS) register is a set of fields that  
are structural parameters. The bit allocation is given in Table 11.  
Table 11. HCSPARAMS - Host Controller Structural Parameters register (address 0004h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved  
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
23  
22  
21  
20  
19  
18  
17  
16  
Symbol  
DPN[3:0]  
reserved  
P_INDICAT  
OR  
Reset  
Access  
Bit  
0
R
0
R
0
R
0
R
0
R
0
R
0
R
9
0
R
8
15  
14  
13  
12  
11  
10  
Symbol  
Reset  
Access  
Bit  
N_CC[3:0]  
reserved  
N_PCC[3:0]  
0
R
0
R
6
0
R
5
0
R
0
R
3
0
R
2
0
R
1
0
R
0
7
4
Symbol  
Reset  
Access  
PRR  
0
PPC  
1
N_PORTS[3:0]  
0
0
0
0
0
1
R
R
R
R
R
R
R
R
Table 12. HCSPARAMS - Host Controller Structural Parameters register (address 0004h) bit description  
Bit  
Symbol  
Description[1]  
31 to 24  
-
reserved; write logic 0  
23 to 20 DPN[3:0]  
Debug Port Number: This field identifies which of the host controller ports is the debug port.  
19 to 17  
16  
-
reserved; write logic 0  
P_INDICATOR Port Indicators: This bit indicates whether the ports support port indicator control.  
15 to 12 N_CC[3:0]  
Number of Companion Controller: This field indicates the number of companion controllers  
associated with this Hi-Speed USB host controller.  
11 to 8  
7
N_PCC[3:0]  
PRR  
Number of Ports per Companion Controller: This field indicates the number of ports  
supported per companion host controller.  
Port Routing Rules: This field indicates the method used to map ports to companion  
controllers.  
6 to 5  
4
-
reserved; write logic 0  
PPC  
Port Power Control: This field indicates whether the host controller implementation includes  
port power control.  
3 to 0  
N_PORTS[3:0] N_Ports: This field specifies the number of physical downstream ports implemented on this  
host controller.  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
31 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.1.4 HCCPARAMS register  
The Host Controller Capability Parameters (HCCPARAMS) register is a four byte register,  
and the bit allocation is given in Table 13.  
Table 13. HCCPARAMS - Host Controller Capability Parameters register (address 0008h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved  
reserved  
0
R
0
R
0
R
0
R
0
R
0
R
0
R
0
R
23  
22  
21  
20  
19  
18  
17  
16  
Symbol  
Reset  
Access  
Bit  
0
R
0
R
0
R
0
R
0
R
0
R
0
R
9
0
R
8
15  
14  
13  
12  
11  
10  
Symbol  
Reset  
Access  
Bit  
EECP[7:0]  
0
R
7
0
R
6
0
R
5
0
R
4
0
R
3
0
0
R
0
R
R
2
ASPC  
1
1
0
Symbol  
Reset  
Access  
IST[3:0]  
reserved  
PFLF  
1
reserved  
1
0
0
0
0
0
R
R
R
R
R
R
R
R
Table 14. HCCPARAMS - Host Controller Capability Parameters register (address 0008h) bit description  
Bit  
Symbol  
-
Description[1]  
31 to 16  
15 to 8  
reserved; write logic 0  
EECP[7:0]  
EHCI Extended Capabilities Pointer: Default = implementation dependent. This optional field  
indicates the existence of a capabilities list.  
7 to 4  
IST[3:0]  
Isochronous Scheduling Threshold: Default = implementation dependent. This field  
indicates, relative to the current position of the executing host controller, where software can  
reliably update the isochronous schedule.  
3
2
-
reserved; write logic 0  
ASPC  
Asynchronous Schedule Park Capability: Default = implementation dependent. If this bit is  
set to logic 1, the host controller supports the park feature for high-speed Transfer Descriptors  
in the Asynchronous Schedule.  
1
PFLF  
Programmable Frame List Flag: Default = implementation dependent. If this bit is cleared,  
the system software must use a frame list length of 1024 elements with this host controller.  
If PFLF is set, the system software can specify and use a smaller frame list and configure the  
host through the Frame List Size (FLS) field of the USBCMD register.  
0
-
reserved; write logic 0  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
32 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.2 EHCI operational registers  
8.2.1 USBCMD register  
The USB Command (USBCMD) register indicates the command to be executed by the  
serial host controller. Writing to this register causes a command to be executed. Table 15  
shows the USBCMD register bit allocation.  
Table 15. USBCMD - USB Command register (address 0020h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
1
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
1
R/W  
3
0
R/W  
2
1
1
R/W  
0
R/W  
R/W  
4
reserved[1]  
0
1
HCRESET  
0
Symbol  
Reset  
Access  
LHCR  
0
RS  
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 16. USBCMD - USB Command register (address 0020h) bit description  
Bit  
Symbol  
-
Description[1]  
31 to 8  
7
reserved  
LHCR  
Light Host Controller Reset (optional): If implemented, it allows the driver software to reset  
the EHCI controller without affecting the state of the ports or the relationship to the companion  
host controllers. If not implemented, a read of this field will always return logic 0.  
6 to 2  
-
reserved  
1
0
HCRESET  
RS  
Host Controller Reset: This control bit is used by the software to reset the host controller.  
Run/Stop: 1 = Run. The host controller executes the schedule.  
0 = Stop.  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
33 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.2.2 USBSTS register  
The USB Status (USBSTS) register indicates pending interrupts and various states of the  
host controller. The status resulting from a transaction on the serial bus is not indicated in  
this register. Software clears register bits by writing ones to them. The bit allocation is  
given in Table 17.  
Table 17. USBSTS - USB Status register (address 0024h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
Reset  
Access  
reserved[1]  
FLR  
0
PCD  
0
reserved[1]  
0
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 18. USBSTS - USB Status register (address 0024h) bit description  
Bit  
Symbol  
Description[1]  
31 to 4  
3
-
reserved; write logic 0  
FLR  
Frame List Rollover: The host controller sets this bit to logic 1 when the frame list Index rolls  
over from its maximum value to zero.  
2
PCD  
Port Change Detect: The host controller sets this bit to logic 1 when any port, where the PO  
bit is cleared, has a change to a one or a FPR bit changes to a one as a result of a J-K  
transition detected on a suspended port.  
1 to 0  
-
reserved  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
34 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.2.3 USBINTR register  
The USB Interrupt (USBINTR) register is a read or write register located at 0028h. All the  
bits in this register are reserved.  
8.2.4 FRINDEX register  
The Frame Index (FRINDEX) register is used by the host controller to index into the  
periodic frame list. The register updates every 125 μs (once each microframe). Bits n to 3  
are used to select a particular entry in the periodic frame list during periodic schedule  
execution. The number of bits used for the index depends on the size of the frame list as  
set by the system software in the Frame List Size (FLS) field of the USBCMD register.  
This register must be written as a double word. A word-only write (16-bit mode) produces  
undefined results. A write to this register while the Run/Stop (R/S) bit is set produces  
undefined results. Writes to this register also affect the SOF value. The bit allocation is  
given in Table 19.  
Table 19. FRINDEX - Frame Index register (address: 002Ch) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
FRINDEX[13:8]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
Reset  
Access  
FRINDEX[7:0]  
0
0
0
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 20. FRINDEX - Frame Index register (address: 002Ch) bit description  
Bit  
Symbol  
Description[1]  
31 to 14  
13 to 0  
-
reserved  
FRINDEX[13:0] Frame Index: Bits in this register are used for the frame number in the SOF packet and as the  
index into the frame list. The value in this register increments at the end of each time frame.  
For example, microframe.  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
35 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.2.5 CONFIGFLAG register  
The bit allocation of the Configure Flag (CONFIGFLAG) register is given in Table 21.  
Table 21. CONFIGFLAG - Configure Flag register (address 0060h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
R/W  
4
reserved[1]  
0
Symbol  
Reset  
Access  
CF  
0
0
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 22. CONFIGFLAG - Configure Flag register (address 0060h) bit description  
Bit  
Symbol  
Description[1]  
31 to 1  
0
-
reserved  
CF  
Configure Flag: The host software sets this bit as the last action when it is configuring the host  
controller. This bit controls the default port-routing control logic.  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
8.2.6 PORTSC1 register  
The Port Status and Control (PORTSC) register (bit allocation: Table 23) is in the power  
well. It is reset by hardware only when the auxiliary power is initially applied or in response  
to a host controller reset. The initial conditions of a port are:  
No peripheral connected  
Port disabled  
If the port has power control, software cannot change the state of the port until it sets port  
power bits. Software must not attempt to change the state of the port until the power is  
stable on the port (maximum delay is 20 ms from the transition).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
36 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 23. PORTSC1 - Port Status and Control 1 register (address 0064h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
PTC[3:0]  
0
0
0
R/W  
13  
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
R/W  
11  
R/W  
10  
12  
Symbol  
Reset  
Access  
Bit  
PIC[1:0]  
PO  
1
PP  
LS[1:0]  
reserved[1]  
PR  
0
0
R
0
R
0
0
R/W  
3
0
R/W  
2
0
R/W  
1
R/W  
5
R/W  
R
7
6
4
reserved[1]  
0
0
Symbol  
Reset  
Access  
SUSP  
0
FPR  
0
PED  
0
ECSC  
0
ECCS  
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R
[1] The reserved bits should always be written with the reset value.  
Table 24. PORTSC1 - Port Status and Control 1 register (address 0064h) bit description  
Bit  
Symbol  
Description[1]  
31 to 20  
-
reserved  
19 to 16 PTC[3:0]  
Port Test Control: When this field is zero, the port is not operating in test mode. A nonzero  
value indicates that it is operating in test mode indicated by the value.  
15 to 14 PIC[1:0]  
Port Indicator Control: Writing to this field has no effect if the P_INDICATOR bit in the  
HCSPARAMS register is logic 0.  
For a description on how these bits are implemented, refer to Ref. 1 “Universal Serial Bus  
Specification Rev. 2.0”.[2]  
13  
12  
PO  
PP  
Port Owner: This bit unconditionally goes to logic 0 when the configured bit in the  
CONFIGFLAG register makes a logic 0 to logic 1 transition. This bit unconditionally goes to  
logic 1 whenever the configured bit is logic 0.  
Port Power: The function of this bit depends on the value of the Port Power Control (PPC) field  
in the HCSPARAMS register.  
11 to 10 LS[1:0]  
Line Status: This field reflects the current logical levels of the DP (bit 11) and DM (bit 10)  
signal lines.  
9
8
-
reserved  
PR  
Port Reset: Logic 1 means the port is in the reset state. Logic 0 means the port is not in  
reset.[2]  
7
SUSP  
FPR  
-
Suspend: Logic 1 means the port is in the suspend state. Logic 0 means the port is not  
suspended.[2]  
6
Force Port Resume: Logic 1 means resume detected or driven on the port. Logic 0 means no  
resume (K-state) detected or driven on the port.[2]  
5 to 3  
reserved  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
37 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 24. PORTSC1 - Port Status and Control 1 register (address 0064h) bit description …continued  
Bit  
2
Symbol  
PED  
Description[1]  
Port Enabled/Disabled: Logic 1 means enable. Logic 0 means disable.[2]  
Connect Status Change: Logic 1 means change in ECCS. Logic 0 means no change.[2]  
1
ECSC  
ECCS  
0
Current Connect Status: Logic 1 indicates a device is present on the port. Logic 0 indicates  
no device is present.[2]  
[1] For details on register bit description, refer to Ref. 2 “Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0”.  
[2] These fields read logic 0, if the PP (Port Power) bit in register PORTSC1 is logic 0.  
8.2.7 ISO PTD Done Map register  
The bit description of the register is given in Table 25.  
Table 25. ISO PTD Done Map register (address 0130h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 ISO_PTD_DONE_  
MAP[31:0]  
R
0000 0000h ISO PTD Done Map: Done map for each of the 32 PTDs for the ISO  
transfer  
This register represents a direct map of the done status of the 32 PTDs. The bit  
corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is  
completed. Reading the Done Map register will clear all the bits that are set to logic 1, and  
the next reading will reflect the updated status of new executed PTDs.  
8.2.8 ISO PTD Skip Map register  
Table 26 shows the bit description of the register.  
Table 26. ISO PTD Skip Map register (address 0134h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0 ISO_PTD_SKIP_ R/W  
MAP[31:0]  
FFFF FFFFh  
ISO PTD Skip Map: Skip map for each of the 32 PTDs for the  
ISO transfer  
When a bit in the PTD Skip Map is set to logic 1, the corresponding PTD will be skipped,  
independent of the V bit setting. The information in that PTD is not processed. For  
example, NextPTDPointer will not affect the order of processing of PTDs. The Skip bit  
should not normally be set on the position indicated by NextPTDPointer.  
8.2.9 ISO PTD Last PTD register  
Table 27 shows the bit description of the ISO PTD Last PTD register.  
Table 27. ISO PTD Last PTD register (address 0138h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0 ISO_PTD_LAST_ R/W  
PTD[31:0]  
0000 0000h ISO PTD last PTD: Last PTD of the 32 PTDs is indicated by the  
32 bitmap.  
1h — One PTD in ISO  
2h — Two PTDs in ISO  
4h — Three PTDs in ISO  
Once the LastPTD bit corresponding to a PTD is set, this will be the last PTD processed  
(checking V = logic 1) in that PTD category. Subsequently, the process will restart with the  
first PTD of that group. This is useful to reduce the time in which all the PTDs, the  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
38 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
respective memory space, would be checked, especially if only a few PTDs are defined.  
The LastPTD bit must be normally set to a higher position than any other position  
indicated by the NextPTDPointer from an active PTD.  
8.2.10 INT PTD Done Map register  
The bit description of the register is given in Table 28.  
Table 28. INT PTD Done Map register (address 0140h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 INT_PTD_DONE  
R
0000 0000h INT PTD Done Map: Done map for each of the 32 PTDs for the INT  
_
transfer  
MAP[31:0]  
This register represents a direct map of the done status of the 32 PTDs. The bit  
corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is  
completed. Reading the Done Map register will clear all the bits that are set to logic 1, and  
the next reading will reflect the updated status of new executed PTDs.  
8.2.11 INT PTD Skip Map register  
Table 29 shows the bit description of the INT PTD Skip Map register.  
Table 29. INT PTD Skip Map register (address 0144h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0 INT_PTD_SKIP_ R/W  
MAP[31:0]  
FFFF FFFFh INT PTD Skip Map: Skip map for each of the 32 PTDs for the INT  
transfer  
When a bit in the PTD Skip Map is set to logic 1, the corresponding PTD will be skipped,  
independent of the V bit setting. The information in that PTD is not processed. For  
example, NextPTDPointer will not affect the order of processing of PTDs. The Skip bit  
must not be normally set on the position indicated by NextPTDPointer.  
8.2.12 INT PTD Last PTD register  
The bit description of the register is given in Table 30.  
Table 30. INT PTD Last PTD register (address 0148h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 INT_PTD_LAST_ R/W  
PTD[31:0]  
0000 0000h INT PTD Last PTD: Last PTD of the 32 PTDs.  
1h — One PTD in INT  
2h — Two PTDs in INT  
3h — Three PTDs in INT  
Once the LastPTD bit corresponding to a PTD is set, this will be the last PTD processed  
(checking V = logic 1) in that PTD category. Subsequently, the process will restart with the  
first PTD of that group. This is useful to reduce the time in which all the PTDs, the  
respective memory space, would be checked, especially if only a few PTDs are defined.  
The LastPTD bit must be normally set to a higher position than any other position  
indicated by the NextPTDPointer from an active PTD.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
39 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.2.13 ATL PTD Done Map register  
Table 31 shows the bit description of the ATL PTD Done Map register.  
Table 31. ATL PTD Done Map register (address 0150h) bit description  
Bit Symbol Access Value Description  
31 to 0 ATL_PTD_DONE  
R
0000 0000h ATL PTD Done Map: Done map for each of the 32 PTDs for the ATL  
_
transfer  
MAP[31:0]  
This register represents a direct map of the done status of the 32 PTDs. The bit  
corresponding to a certain PTD will be set to logic 1 as soon as that PTD execution is  
completed. Reading the Done Map register will clear all the bits that are set to logic 1, and  
the next reading will reflect the updated status of new executed PTDs.  
8.2.14 ATL PTD Skip Map register  
The bit description of the register is given in Table 32.  
Table 32. ATL PTD Skip Map register (address 0154h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 ATL_PTD_SKIP_ R/W  
MAP[31:0]  
FFFF FFFFh ATL PTD Skip Map: Skip map for each of the 32 PTDs for the ATL  
transfer  
When a bit in the PTD Skip Map is set to logic 1, the corresponding PTD will be skipped,  
independent of the V bit setting. The information in that PTD is not processed. For  
example, NextPTDPointer will not affect the order of processing of PTDs. The Skip bit  
must not normally be set on the position indicated by NextPTDPointer.  
8.2.15 ATL PTD Last PTD register  
The bit description of the ATL PTD Last PTD register is given in Table 33.  
Table 33. ATL PTD Last PTD register (address 0158h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0 ATL_PTD_LAST_ R/W  
PTD[31:0]  
0000 0000h ATL PTD Last PTD: Last PTD of the 32 PTDs as indicated by the  
32 bitmap.  
1h — One PTD in ATL  
2h — Two PTDs in ATL  
4h — Three PTDs in ATL  
Once the LastPTD bit corresponding to a PTD is set, this will be the last PTD processed  
(checking V = logic 1) in that PTD category. Subsequently, the process will restart with the  
first PTD of that group. This is useful to reduce the time in which all the PTDs, the  
respective memory space, would be checked, especially if only a few PTDs are defined.  
The LastPTD bit must normally be set to a higher position than any other position  
indicated by the NextPTDPointer from an active PTD.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
40 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3 Configuration registers  
8.3.1 HW Mode Control register  
Table 34 shows the bit allocation of the register.  
Table 34. HW Mode Control - Hardware Mode Control register (address 0300h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
ALL_ATX_  
RESET  
reserved[1]  
Reset  
Access  
Bit  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
20  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
R/W  
0
0
R/W  
11  
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
12  
R/W  
10  
13  
Symbol  
ANA_DIGI_  
OC  
reserved[1]  
DEV_DMA COMN_IRQ  
COMN_  
DMA  
DATA_BUS  
_WIDTH  
Reset  
Access  
Bit  
0
R/W  
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
0
R/W  
1
1
R/W  
0
7
2
Symbol  
reserved  
DACK_  
POL  
DREQ_  
POL  
reserved[1]  
INTR_POL  
INTR_  
LEVEL  
GLOBAL_  
INTR_EN  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 35. HW Mode Control - Hardware Mode Control register (address 0300h) bit description  
Bit  
Symbol  
Description  
31  
ALL_ATX_RESET  
All ATX Reset: For debugging purposes (not used normally).  
1 — Enable reset, then write back logic 0  
0 — No reset  
30 to 16  
15  
-
reserved; write logic 0  
ANA_DIGI_OC  
Analog Digital Overcurrent: This bit selects analog or digital overcurrent detection on  
pins OC1_N/VBUS, OC2_N and OC3_N.  
0 — Digital overcurrent  
1 — Analog overcurrent  
reserved; write logic 0  
14 to 12  
11  
-
DEV_DMA  
Device DMA: When this bit and bit 9 are set, DC_DREQ and DC_DACK peripheral  
signals are selected on the HC_DREQ and HC_DACK pins.  
10  
9
COMN_INT  
Common IRQ: When this bit is set, DC_IRQ will be generated on the HC_IRQ pin.  
COMN_DMA  
Common DMA: When this bit and bit 11 are set, the DC_DREQ and DC_DACK  
peripheral signals are routed to the HC_DREQ and HC_DACK pins.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
41 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 35. HW Mode Control - Hardware Mode Control register (address 0300h) bit description …continued  
Bit  
Symbol  
DATA_BUS_WIDTH Data Bus Width:  
0 — Defines a 16-bit data bus width  
Description  
8
1 — Sets a 32-bit data bus width  
Remark: Setting this bit will affect all the controllers on the chip: host controller, peripheral  
controller and OTG controller.  
7
6
-
reserved; write logic 0  
DACK_POL  
DACK Polarity:  
1 — Indicates that the DACK input is active HIGH  
0 — Indicates active LOW  
DREQ Polarity:  
5
DREQ_POL  
1 — Indicates that the DREQ output is active HIGH  
0 — Indicates active LOW  
reserved; write logic 0  
4 to 3  
2
-
INTR_POL  
Interrupt Polarity:  
0 — Active LOW  
1 — Active HIGH  
1
0
INTR_LEVEL  
Interrupt Level:  
0 — INT is level triggered.  
1 — INT is edge triggered. A pulse of certain width is generated.  
GLOBAL_INTR_EN Global Interrupt Enable: This bit must be set to logic 1 to enable IRQ signal assertion.  
0 — IRQ assertion disabled. IRQ will never be asserted, regardless of other settings or  
IRQ events.  
1 — IRQ assertion enabled. IRQ will be asserted according to the HcInterruptEnable  
register, and events setting and occurrence.  
8.3.2 HcChipID register  
Read this register to get the ID of the SAF1761. The upper word of the register contains  
the hardware version number and the lower word contains the chip ID. Table 36 shows the  
bit description of the register.  
Table 36. HcChipID - Host Controller Chip Identifier register (address 0304h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0  
CHIPID[31:0]  
R
0001 1761h  
Chip ID: This register represents the hardware version number  
(0001h) and the chip ID (1761h).  
Remark: The chip ID is for internal use to identify the SAF176x  
product family.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
42 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.3 HcScratch register  
This register is for testing and debugging purposes only. The value read back must be the  
same as the value that was written. The bit description of this register is given in Table 37.  
Table 37. HcScratch - Host Controller Scratch register (address 0308h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0  
SCRATCH[31:0]  
R/W  
0000 0000h  
Scratch: For testing and debugging purposes  
8.3.4 SW Reset register  
Table 38 shows the bit allocation of the register.  
Table 38. SW Reset - Software Reset register (address 030Ch) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
reserved[1]  
RESET_  
HC  
RESET_  
ALL  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 39. SW Reset - Software Reset register (address 030Ch) bit description  
Bit  
Symbol  
Description  
31 to 2  
1
-
reserved; write logic 0  
RESET_HC  
Reset Host Controller: Reset only the host controller-specific registers (only registers with  
address below 300h).  
0 — No reset  
1 — Enable reset  
0
RESET_ALL  
Reset All: Reset all the host controller and CPU interface registers.  
0 — No reset  
1 — Enable reset  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
43 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.5 HcDMAConfiguration register  
The bit allocation of the HcDMAConfiguration register is given in Table 40.  
Table 40. HcDMAConfiguration - Host Controller Direct Memory Access Configuration register (address 0330h) bit  
allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
DMA_COUNTER[23:16]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
20  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
Symbol  
Reset  
Access  
Bit  
DMA_COUNTER[15:8]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
DMA_COUNTER[7:0]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
reserved[1]  
BURST_LEN[1:0]  
ENABLE DMA_READ_  
_DMA  
WRITE_SEL  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 41. HcDMAConfiguration - Host Controller Direct Memory Access Configuration register (address 0330h) bit  
description  
Bit  
Symbol  
Description  
31 to 8  
DMA_COUNTER[23:0]  
DMA Counter: The number of bytes to be transferred (read or write).  
Remark: Different number of bursts will be generated for the same transfer length  
programmed in 16-bit and 32-bit modes because DMA_COUNTER is in number of  
bytes.  
7 to 4  
3 to 2  
-
reserved  
BURST_LEN[1:0]  
DMA Burst Length:  
00 — Single DMA burst  
01 — 4-cycle DMA burst  
10 — 8-cycle DMA burst  
11 — 16-cycle DMA burst  
Enable DMA:  
1
0
ENABLE_DMA  
0 — Terminate DMA  
1 — Enable DMA  
DMA_READ_WRITE_SEL DMA Read/Write Select: Indicates if the DMA operation is a write or read to or  
from the SAF1761.  
0 — DMA write to the SAF1761 internal RAM is set  
1 — DMA read from the SAF1761 internal RAM  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
44 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.6 HcBufferStatus register  
The HcBufferStatus register is used to indicate the HC that a particular PTD buffer (that is,  
ATL, INT and ISO) contains at least one PTD that must be scheduled. Once software sets  
the Buffer Filled bit of a particular transfer in the HcBufferStatus register, the HC will start  
traversing through PTD headers that are not marked for skipping and are valid PTDs.  
Remark: Software can set these bits during the initialization.  
Table 42 shows the bit allocation of the HcBufferStatus register.  
Table 42. HcBufferStatus - Host Controller Buffer Status register (address 0334h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
R/W  
7
0
R/W  
6
0
R/W  
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
5
Symbol  
reserved[1]  
ISO_BUF_  
FILL  
INT_BUF_ ATL_BUF_  
FILL  
FILL  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 43. HcBufferStatus - Host Controller Buffer Status register (address 0334h) bit description  
Bit  
Symbol  
Description  
31 to 3  
2
-
reserved  
ISO_BUF_FILL ISO Buffer Filled:  
1 — Indicates one of the ISO PTDs is filled, and the ISO PTD area will be processed.  
0 — Indicates there is no PTD in this area. Therefore, processing of ISO PTDs will completely  
be skipped.  
1
0
INT_BUF_FILL INT Buffer Filled:  
1 — Indicates one of the INT PTDs is filled, and the INT PTD area will be processed.  
0 — Indicates there is no PTD in this area. Therefore, processing of INT PTDs will completely  
be skipped.  
ATL_BUF_FILL ATL Buffer Filled:  
1 — Indicates one of the ATL PTDs is filled, and the ATL PTD area will be processed.  
0 — Indicates there is no PTD in this area. Therefore, processing of ATL PTDs will completely  
be skipped.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
45 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.7 ATL Done Timeout register  
The bit description of the ATL Done Timeout register is given in Table 44.  
Table 44. ATL Done Timeout register (address 0338h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0  
ATL_DONE_TIME R/W  
OUT[31:0]  
0000 0000h ATL Done Timeout: This register determines the ATL done  
time-out interrupt. This register defines the time-out in milliseconds  
after which the SAF1761 asserts the INT line, if enabled. It is  
applicable to ATL done PTDs only.  
8.3.8 Memory register  
The Memory register contains the base memory read address and the respective bank.  
This register needs to be set only before a first memory read cycle. Once written, the  
address will be latched for the bank and will be incremented for every read of that bank,  
until a new address for that bank is written to change the address pointer.  
The bit description of the register is given in Table 45.  
Table 45. Memory register (address 033Ch) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
MEM_BANK_SEL[1:0]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
START_ADDR_MEM_READ[15:8]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
Reset  
Access  
START_ADDR_MEM_READ[7:0]  
0
0
0
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 46. Memory register (address 033Ch) bit description  
Bit  
Symbol  
Description  
31 to 18  
-
reserved  
17 to 16 MEM_BANK_SEL[1:0]  
Memory Bank Select: Up to four memory banks can be selected. For details on  
internal memory read description, see Section 7.3.1. Applicable to PIO mode  
memory read or write data transfers only.  
15 to 0  
START_ADDR_MEM_  
READ[15:0]  
Start Address for Memory Read Cycles: The start address for a series of  
memory read cycles at incremental addresses in a contiguous space. Applicable to  
PIO mode memory read data transfers only.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
46 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.9 Edge Interrupt Count register  
Table 47 shows the bit allocation of the register.  
Table 47. Edge Interrupt Count register (address 0340h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
MIN_WIDTH[7:0]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
20  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
Symbol  
Reset  
Access  
Bit  
NO_OF_CLK[15:8]  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
Symbol  
Reset  
Access  
NO_OF_CLK[7:0]  
0
0
0
0
1
1
1
1
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 48. Edge Interrupt Count register (address 0340h) bit description  
Bit Symbol Description  
31 to 24 MIN_WIDTH[7:0]  
Minimum Width: Indicates the minimum width between two edge interrupts in μSOFs  
(1 μSOF = 125 μs). This is not valid for level interrupts. A count of zero means that  
interrupts occur as and when an event occurs.  
23 to 16  
15 to 0  
-
reserved  
NO_OF_CLK[15:0] Number of Clocks: Count in number of clocks that the edge interrupt must be kept  
asserted on the interface. The default value is 000Fh. Thus, 15 cycles of 30 MHz clock will  
make the default IRQ pulse width approximately 500 ns.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
47 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.10 DMA Start Address register  
This register defines the start address select for the DMA read and write operations. See  
Table 49 for the bit allocation.  
Table 49. DMA Start Address register (address 0344h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
reserved[1]  
0
0
0
0
0
0
0
0
W
23  
W
22  
W
21  
W
20  
W
19  
W
18  
W
17  
W
16  
Symbol  
Reset  
Access  
Bit  
0
0
0
0
0
0
0
W
9
0
W
8
W
15  
W
14  
W
13  
W
12  
W
11  
W
10  
Symbol  
Reset  
Access  
Bit  
START_ADDR_DMA[15:8]  
0
W
7
0
W
6
0
W
5
0
W
4
0
W
3
0
W
2
0
W
1
0
W
0
Symbol  
Reset  
Access  
START_ADDR_DMA[7:0]  
0
0
0
0
0
0
0
0
W
W
W
W
W
W
W
W
[1] The reserved bits should always be written with the reset value.  
Table 50. DMA Start Address register (address 0344h) bit description  
Bit  
Symbol  
Description  
31 to 16 -  
reserved  
15 to 0 START_ADDR_DMA[15:0] Start Address for DMA: The start address for DMA read or write cycles.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
48 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.3.11 Power-Down Control register  
This register is used to turn off power to the internal blocks of the SAF1761 to obtain  
maximum power savings. Table 51 shows the bit allocation of the register.  
Table 51. Power-Down Control register (address 0354h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
CLK_OFF_COUNTER[15:8]  
0
0
0
0
0
0
1
1
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
20  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
Symbol  
Reset  
Access  
Bit  
CLK_OFF_COUNTER[7:0]  
1
1
R/W  
1
0
1
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
14  
Symbol  
reserved[1]  
PORT3_  
PD  
PORT2_  
PD  
VBATDET_  
PWR  
reserved[1]  
Reset  
Access  
Bit  
0
R/W  
7
0
R/W  
6
0
R/W  
5
1
R/W  
4
1
R/W  
3
0
R/W  
2
1
R/W  
1
1
R/W  
0
Symbol  
reserved[1]  
BIASEN  
VREG_ON OC3_PWR OC2_PWR OC1_PWR HC_CLK_  
EN  
Reset  
1
0
1
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 52. Power-Down Control register (address 0354h) bit description  
Bit[1]  
Symbol Description  
31 to 16 CLK_OFF_  
COUNTER[15:0]  
Clock Off Counter: Determines the wake-up status duration after any wake-up event  
before the SAF1761 goes back into suspend mode. This time-out is applicable only if,  
during the given interval, the host controller is not programmed back to the normal  
functionality.  
03E8h — The default value. It determines the default wake-up interval of 10 ms. A value  
of zero implies that the host controller never wakes up on any of the events. This may be  
useful when using the SAF1761 as a peripheral to save power by permanently  
programming the host controller in suspend.  
FFFFh — The maximum value. It determines a maximum wake-up time of 500 ms.  
The setting of this register is based on the 100 kHz 40 % LazyClock frequency. It is a  
multiple of 10 μs period.  
Remark: In 16-bit mode, the default value is 17E8h. A write operation to these bits with  
any value fixes the clock off counter at 1400h. This value is equivalent to a fixed wake-up  
time of 50 ms.  
15 to 13  
12  
-
reserved  
PORT3_PD  
Port 3 Pull-Down: Controls port 3 pull-down resistors.  
0 — Port 3 internal pull-down resistors are not connected.  
1 — Port 3 internal pull-down resistors are connected.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
49 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 52. Power-Down Control register (address 0354h) bit description …continued  
Bit[1]  
Symbol  
Description  
11  
PORT2_PD  
Port 2 Pull-Down: Controls port 2 pull-down resistors.  
0 — Port 2 internal pull-down resistors are not connected.  
1 — Port 2 internal pull-down resistors are connected.  
10  
VBATDET_PWR  
VBAT Detector Powered: Controls the power to the VBAT detector.  
0 — VBAT detector is powered or enabled in suspend.  
1 — VBAT detector is not powered or disabled in suspend.  
reserved; write reset value  
9 to 6  
5
-
BIASEN  
Bias Circuits Powered: Controls the power to internal bias circuits.  
0 — Internal bias circuits are not powered in suspend.  
1 — Internal bias circuits are powered in suspend.  
4
3
2
1
0
VREG_ON  
OC3_PWR  
OC2_PWR  
OC1_PWR  
HC_CLK_EN  
VREG Powered: Enables or disables the internal 3.3 V and 1.8 V regulators when the  
SAF1761 is in suspend.  
0 — Internal regulators are normally powered in suspend.  
1 — Internal regulators switch to low power mode (in suspend mode).  
OC3_N Powered: Controls the powering of the overcurrent detection circuitry for port 3.  
0 — Overcurrent detection is powered-on or enabled during suspend.  
1 — Overcurrent detection is powered-off or disabled during suspend.  
This may be useful when connecting a faulty device while the system is in standby.  
OC2_N Powered: Controls the powering of the overcurrent detection circuitry for port 2.  
0 — Overcurrent detection is powered-on or enabled during suspend.  
1 — Overcurrent detection is powered-off or disabled during suspend.  
This may be useful when connecting a faulty device while the system is in standby.  
OC1_N Powered: Controls the powering of the overcurrent detection circuitry for port 1.  
0 — Overcurrent detection is powered-on or enabled during suspend.  
1 — Overcurrent detection is powered-off or disabled during suspend.  
This may be useful when connecting a faulty device while the system is in standby.  
Host Controller Clock Enabled: Controls internal clocks during suspend.  
0 — Clocks are disabled during suspend. This is the default value. Only the LazyClock of  
100 kHz 40 % will be left running in suspend if this bit is logic 0. If clocks are stopped  
during suspend, CLKREADY IRQ will be generated when all clocks are running stable.  
1 — All clocks are enabled even in suspend.  
[1] For a 32-bit operation, the default wake-up counter value is 10 μs. For a 16-bit operation, the wake-up counter value is 50 ms. In the  
16-bit operation, read and write back the same value on initialization.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
50 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.4 Interrupt registers  
8.4.1 HcInterrupt register  
The bits of this register indicate the interrupt source, defining the events that determined  
the INT generation. Clearing the bits that were set because of the events listed is done by  
writing back logic 1 to the respective position. All bits must be reset before enabling new  
interrupt events. These bits will be set, regardless of the setting of bit GLOBAL_INTR_EN  
in the HW Mode Control register. Table 53 shows the bit allocation of the HcInterrupt  
register.  
Table 53. HcInterrupt - Host Controller Interrupt register (address 0310h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
15  
R/W  
14  
R/W  
R/W  
12  
R/W  
11  
R/W  
R/W  
R/W  
13  
10  
9
8
Symbol  
Reset  
Access  
Bit  
reserved[1]  
OTG_IRQ  
ISO_IRQ  
ATL_IRQ  
0
R/W  
0
R/W  
6
0
R/W  
0
R/W  
4
0
R/W  
3
0
R/W  
2
0
R/W  
1
0
R/W  
0
7
5
Symbol  
INT_IRQ  
CLK  
READY  
HCSUSP  
reserved[1] DMAEOT  
INT  
reserved[1] SOFITLINT reserved[1]  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
51 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 54. HcInterrupt - Host Controller Interrupt register (address 0310h) bit description  
Bit  
Symbol  
-
Description  
31 to 11  
10  
reserved; write reset value  
OTG_IRQ  
OTG_IRQ: Indicates that an OTG event occurred. The IRQ line will be asserted if the  
respective enable bit in the HcInterruptEnable register is set.  
0 — No OTG event  
1 — OTG event occurred  
For details, see Section 7.4.  
9
8
7
ISO_IRQ  
ATL_IRQ  
INT_IRQ  
ISO IRQ: Indicates that an ISO PTD was completed, or the PTDs corresponding to the bits set  
in the ISO IRQ Mask AND or ISO IRQ Mask OR register bits combination were completed. The  
IRQ line will be asserted if the respective enable bit in the HcInterruptEnable register is set.  
0 — No ISO PTD event occurred  
1 — ISO PTD event occurred  
For details, see Section 7.4.  
ATL IRQ: Indicates that an ATL PTD was completed, or the PTDs corresponding to the bits set  
in the ATL IRQ Mask AND or ATL IRQ Mask OR register bits combination were completed. The  
IRQ line will be asserted if the respective enable bit in the HcInterruptEnable register is set.  
0 — No ATL PTD event occurred  
1 — ATL PTD event occurred  
For details, see Section 7.4.  
INT IRQ: Indicates that an INT PTD was completed, or the PTDs corresponding to the bits set  
in the INT IRQ Mask AND or INT IRQ Mask OR register bits combination were completed. The  
IRQ line will be asserted if the respective enable bit in the HcInterruptEnable register is set.  
0 — No INT PTD event occurred  
1 — INT PTD event occurred  
For details, see Section 7.4.  
6
5
CLKREADY  
HCSUSP  
Clock Ready: Indicates that internal clock signals are running stable. The IRQ line will be  
asserted if the respective enable bit in the HcInterruptEnable register is set.  
0 — No CLKREADY event has occurred  
1 — CLKREADY event occurred  
Host Controller Suspend: Indicates that the host controller has entered suspend mode. The  
IRQ line will be asserted if the respective enable bit in the HcInterruptEnable register is set.  
0 — The host controller did not enter suspend mode.  
1 — The host controller entered suspend mode.  
If the Interrupt Service Routine (ISR) accesses the SAF1761, it will wake up for the time  
specified in bits 31 to 16 of the Power-Down Control register.  
4
3
-
reserved; write reset value  
DMAEOTINT  
DMA EOT Interrupt: Indicates the DMA transfer completion. The IRQ line will be asserted if  
the respective enable bit in the HcInterruptEnable register is set.  
0 — No DMA transfer is completed  
1 — DMA transfer is completed  
2
1
-
reserved; write reset value; value is zero just after reset and changes to one after a short while  
SOFITLINT  
SOT ITL Interrupt: The IRQ line will be asserted if the respective enable bit in the  
HcInterruptEnable register is set.  
0 — No SOF event has occurred  
1 — An SOF event has occurred  
0
-
reserved; write reset value; value is zero just after reset and changes to one after a short while  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
52 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.4.2 HcInterruptEnable register  
This register allows enabling or disabling of the IRQ generation because of various events  
as described in Table 55.  
Table 55. HcInterruptEnable - Host Controller Interrupt Enable register (address 0314h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
20  
Symbol  
Reset  
Access  
Bit  
reserved[1]  
0
0
0
R/W  
0
0
0
0
R/W  
9
0
R/W  
8
R/W  
15  
R/W  
14  
R/W  
12  
R/W  
11  
R/W  
10  
13  
Symbol  
reserved[1]  
OTG_IRQ_ ISO_IRQ_E ATL_IRQ  
E
_E  
Reset  
Access  
Bit  
0
R/W  
7
0
R/W  
6
0
R/W  
5
0
R/W  
4
0
R/W  
3
0
R/W  
0
R/W  
1
0
R/W  
0
2
Symbol  
INT_IRQ_E CLKREADY HCSUSP_ reserved[1] DMAEOT  
reserved[1]  
SOFITLINT reserved[1]  
_E  
_E  
E
INT _E  
Reset  
0
0
0
0
0
0
0
0
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 56. HcInterruptEnable - Host Controller Interrupt Enable register (address 0314h) bit description  
Bit  
Symbol  
Description  
31 to 11  
10  
-
reserved; write reset value  
OTG_IRQ_E  
OTG_IRQ Enable: Controls the IRQ assertion because of events present in the OTG Interrupt  
Latch register.  
0 — No IRQ will be asserted  
1 — IRQ will be asserted  
For details, see Section 7.4.  
9
8
ISO_IRQ_E  
ATL_IRQ_E  
ISO IRQ Enable: Controls the IRQ assertion when one or more ISO PTDs matching the ISO  
IRQ Mask AND or ISO IRQ Mask OR register bits combination are completed.  
0 — No IRQ will be asserted when ISO PTDs are completed  
1 — IRQ will be asserted  
For details, see Section 7.4.  
ATL IRQ Enable: Controls the IRQ assertion when one or more ATL PTDs matching the ATL  
IRQ Mask AND or ATL IRQ Mask OR register bits combination are completed.  
0 — No IRQ will be asserted when ATL PTDs are completed  
1 — IRQ will be asserted  
For details, see Section 7.4.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
53 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 56. HcInterruptEnable - Host Controller Interrupt Enable register (address 0314h) bit description …continued  
Bit  
Symbol  
Description  
7
INT_IRQ_E  
INT IRQ Enable: Controls the IRQ assertion when one or more INT PTDs matching the INT  
IRQ Mask AND or INT IRQ Mask OR register bits combination are completed.  
0 — No IRQ will be asserted when INT PTDs are completed  
1 — IRQ will be asserted  
For details, see Section 7.4.  
6
5
CLKREADY_E Clock Ready Enable: Enables the IRQ assertion when internal clock signals are running  
stable. Useful after wake-up.  
0 — No IRQ will be generated after a CLKREADY_E event  
1 — IRQ will be generated after a CLKREADY_E event  
HCSUSP_E  
Host Controller Suspend Enable: Enables the IRQ generation when the host controller  
enters suspend mode.  
0 — No IRQ will be generated when the host controller enters suspend mode  
1 — IRQ will be generated when the host controller enters suspend mode  
reserved; write reset value  
4
3
-
DMAEOTINT_E DMA EOT Interrupt Enable: Controls assertion of IRQ on the DMA transfer completion.  
0 — No IRQ will be generated when a DMA transfer is completed  
1 — IRQ will be asserted when a DMA transfer is completed  
2
1
-
reserved; write reset value  
SOFITLINT_E SOT ITL Interrupt Enable: Controls the IRQ generation at every SOF occurrence.  
0 — No IRQ will be generated on SOF occurrence  
1 — IRQ will be asserted at every SOF  
0
-
reserved; write reset value  
8.4.3 ISO IRQ Mask OR register  
Each bit of this register corresponds to one of the 32 ISO PTDs defined, and is a  
hardware IRQ mask for each PTD done map. See Table 57 for bit description. For details,  
see Section 7.4.  
Table 57. ISO IRQ Mask OR register (address 0318h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 ISO_IRQ_MASK_ R/W  
OR[31:0]  
0000 0000h ISO IRQ Mask OR: Represents a direct map for ISO PTDs 31 to 0.  
0 — No OR condition defined between ISO PTDs.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain OR condition.  
8.4.4 INT IRQ Mask OR register  
Each bit of this register (see Table 58) corresponds to one of the 32 INT PTDs defined,  
and is a hardware IRQ mask for each PTD done map. For details, see Section 7.4.  
Table 58. INT IRQ Mask OR register (address 031Ch) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 INT_IRQ_MASK_ R/W  
OR[31:0]  
0000 0000h INT IRQ Mask OR: Represents a direct map for INT PTDs 31 to 0.  
0 — No OR condition defined between INT PTDs 31 to 0.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain OR condition.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
54 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.4.5 ATL IRQ Mask OR register  
Each bit of this register corresponds to one of the 32 ATL PTDs defined, and is a  
hardware IRQ mask for each PTD done map. See Table 59 for bit description. For details,  
see Section 7.4.  
Table 59. ATL IRQ Mask OR register (address 0320h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 ATL_IRQ_MASK_ R/W  
OR[31:0]  
0000 0000h ATL IRQ Mask OR: Represents a direct map for ATL PTDs 31 to 0.  
0 — No OR condition defined between ATL PTDs.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain OR condition.  
8.4.6 ISO IRQ Mask AND register  
Each bit of this register corresponds to one of the 32 ISO PTDs defined, and is a  
hardware IRQ mask for each PTD done map. For details, see Section 7.4.  
Table 60 provides the bit description of the register.  
Table 60. ISO IRQ Mask AND register (address 0324h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 ISO_IRQ_MASK_ R/W  
AND[31:0]  
0000 0000h ISO IRQ Mask AND: Represents a direct map for ISO PTDs 31 to 0.  
0 — No AND condition defined between ISO PTDs.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain AND condition between the 32 INT PTDs.  
8.4.7 INT IRQ Mask AND register  
Each bit of this register (see Table 61) corresponds to one of the 32 INT PTDs defined,  
and is a hardware IRQ mask for each PTD done map. For details, see Section 7.4.  
Table 61. INT IRQ Mask AND register (address 0328h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 INT_IRQ_MASK_ R/W  
AND[31:0]  
0000 0000h INT IRQ Mask AND: Represents a direct map for INT PTDs 31 to 0.  
0 — No OR condition defined between INT PTDs.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain AND condition between the 32 INT PTDs.  
8.4.8 ATL IRQ Mask AND register  
Each bit of this register corresponds to one of the 32 ATL PTDs defined, and is a  
hardware IRQ mask for each PTD done map. For details, see Section 7.4.  
Table 62 shows the bit description of the register.  
Table 62. ATL IRQ Mask AND register (address 032Ch) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0 ATL_IRQ_  
MASK_AND  
[31:0]  
R/W  
0000 0000h  
ATL IRQ Mask AND: Represents a direct map for ATL PTDs 31 to 0.  
0 — No OR condition defined between ATL PTDs.  
1 — The bits corresponding to certain PTDs are set to logic 1 to  
define a certain AND condition between the 32 ATL PTDs.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
55 of 165  
 
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
8.5 Proprietary Transfer Descriptor (PTD)  
The standard EHCI data structures as described in Ref. 2 “Enhanced Host Controller  
Interface Specification for Universal Serial Bus Rev. 1.0” are optimized for the bus master  
operation that is managed by the hardware state machine.  
The PTD structures of the SAF1761 are translations of the EHCI data structures that are  
optimized for the SAF1761. It, however, still follows the basic EHCI architecture. This  
optimized form of EHCI data structures is necessary because the SAF1761 is a slave host  
controller and has no bus master capability.  
EHCI manages schedules in two lists: periodic and asynchronous. The data structures are  
designed to provide the maximum flexibility required by USB, minimize memory traffic,  
and reduce hardware and software complexity. The SAF1761 controller executes  
transactions for devices by using a simple shared-memory schedule. This schedule  
consists of data structures organized into three lists:  
qISO — Isochronous transfer  
qINTL — Interrupt transfer  
qATL — Asynchronous transfer; for the control and bulk transfers  
The system software maintains two lists for the host controller: periodic and  
asynchronous.  
The SAF1761 has a maximum of 32 ISO, 32 INTL and 32 ATL PTDs. These PTDs are  
used as channels to transfer data from the shared memory to the USB bus. These  
channels are allocated and de-allocated on receiving the transfer from the core USB  
driver.  
Multiple transfers are scheduled to the shared memory for various endpoints by traversing  
the next link pointer provided by endpoint data structures, until it reaches the end of the  
endpoint list. There are three endpoint lists: one for ISO endpoints, and the other for INTL  
and ATL endpoints. If the schedule is enabled, the host controller executes the ISO  
schedule, followed by the INTL schedule, and then the ATL schedule.  
These lists are traversed and scheduled by the software according to the EHCI traversal  
rule. The host controller executes the scheduled ISO, INTL and ATL PTDs. The  
completion of a transfer is indicated to the software by the interrupt that can be grouped  
under various PTDs by using the AND or OR registers that are available for each  
schedule type: ISO, INTL and ATL. These registers are simple logic registers to decide  
the completion status of group and individual PTDs. When the logical conditions of the  
Done bit is true in the shared memory, it means that PTD has completed.  
There are four types of interrupts in the SAF1761: ISO, INTL, ATL and SOF. The latency  
can be programmed in multiples of μSOF (125 μs).  
The NextPTD pointer is a feature that allows the SAF1761 to jump unused and skip PTDs.  
This will improve the PTD transversal latency time. The NextPTD pointer is not meant for  
same or single endpoint. The NextPTD works only in forward direction.  
The NextPTD traversal rules defined by the SAF1761 hardware are:  
1. Start the PTD memory vertical traversal, considering the skip and LastPTD  
information, as follows.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
56 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
2. If the current PTD is active and not done, perform the transaction.  
3. Follow the NextPTD pointer as specified in bits 4 to 0 of DW4.  
4. If combined with LastPTD, the LastPTD setting must be at a higher address than the  
NextPTD specified. Both have to be set in a logical manner.  
5. If combined with skip, the skip must not be set (logically) on the same position  
corresponding to NextPTD, pointed by the NextPTD pointer.  
6. If PTD is set for skip, it will be neglected and the next vertical PTD will be considered.  
7. If the skipped PTD already has a setting including a NextPTD pointer that will not be  
taken into consideration, the behavior will be just as described in the preceding step.  
START PTD  
SCHEDULE  
no  
PTD  
yes  
SKIPPED?  
GO TO  
NEXTPTD  
VERTICAL  
CHECK FOR  
VALID AND  
ACTIVE BIT  
SET?  
yes  
START PTD  
EXECUTION  
no  
yes  
FOLLOW NEXT  
PTD POINTED  
BY NEXTPTD  
POINTER  
IS PTD  
POINTER  
NULL?  
no  
004aaa883  
Fig 12. NextPTD traversal rule  
8.5.1 High-speed bulk IN and OUT  
Table 63 shows the bit allocation of the high-speed bulk IN and OUT, asynchronous  
Transfer Descriptor (TD).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
57 of 165  
 
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 63. High-speed bulk IN and OUT: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
DW7  
DW5  
DW3  
reserved  
reserved  
[1]  
A
H
B
X
P
DT  
Cerr  
[1:0]  
NakCnt[3:0]  
reserved  
NrBytesTransferred[14:0] (32 kB 1 B for high-speed)  
DW1  
reserved  
S
EPType Token  
[1:0] [1:0]  
DeviceAddress[6:0]  
EndPt[3:1]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
DW6  
DW4  
DW2  
DW0  
reserved  
reserved  
J
NextPTDPointer[4:0]  
reserved  
[1]  
reserved  
RL[3:0]  
DataStartAddress[15:0]  
[2]  
[1]  
Mult  
[1:0]  
MaxPacketLength[10:0]  
NrBytesToTransfer[14:0]  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 64. High-speed bulk IN and OUT: bit description  
Bit  
Symbol  
reserved  
reserved  
reserved  
Access  
Value  
Description  
DW7  
63 to 32  
DW6  
31 to 0  
DW5  
63 to 32  
DW4  
31 to 6  
5
-
-
-
-
-
-
-
-
-
-
reserved  
J
0
not applicable for asynchronous TD  
Jump:  
SW — writes -  
0 — To increment the PTD pointer.  
1 — To enable the next PTD branching.  
4 to 0  
NextPTDPointer SW — writes -  
Next PTD Counter: Next PTD branching assigned by the PTD  
[4:0]  
pointer.  
DW3  
63  
A
SW — sets  
-
Active: Write the same value as that in V.  
HW — resets  
62  
61  
H
B
HW — writes -  
HW — writes -  
Halt: This bit corresponds to the Halt bit of the Status field of TD.  
Babble: This bit corresponds to the Babble Detected bit in the  
Status field of iTD, siTD or TD.  
1 — When babbling is detected, A and V are set to 0.  
60  
X
HW — writes -  
Error: This bit corresponds to the Transaction Error bit in the  
Status field of iTD, siTD or TD (Exec_Trans, the signal name is  
xacterr).  
0 — No PID error.  
1 — If there are PID errors, this bit is set active. The A and V bits  
are also set to inactive. This transaction is retried three times.  
SW — writes -  
0 — Before scheduling.  
59  
58  
reserved  
P
-
-
-
SW — writes -  
Ping: For high-speed transactions, this bit corresponds to the Ping  
state bit in the Status field of a TD.  
HW —  
updates  
0 — Ping is not set.  
1 — Ping is set.  
For the first time, software sets the Ping bit to 0. For the successive  
asynchronous TD, software sets the bit in asynchronous TD based  
on the state of the bit for the previous asynchronous TD of the  
same transfer, that is:  
The current asynchronous TD is completed with the Ping bit  
set.  
The next asynchronous TD will have its Ping bit set by the  
software.  
57  
DT  
HW —  
updates  
-
Data Toggle: This bit is filled by software to start a PTD. If  
NrBytesToTransfer[14:0] is not complete, software needs to read  
this value and then write back the same value to continue.  
SW — writes  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
59 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 64. High-speed bulk IN and OUT: bit description …continued  
Bit  
Symbol  
Access  
Value  
Description  
56 to 55  
Cerr[1:0]  
HW — writes -  
SW — writes  
Error Counter: This field corresponds to the Cerr[1:0] field in TD.  
The default value of this field is zero for isochronous transactions.  
00 — The transaction will not retry.  
11 — The transaction will retry three times. Hardware will  
decrement these values.  
54 to 51  
NakCnt[3:0]  
reserved  
HW — writes -  
SW — writes  
NAK Counter: This field corresponds to the NakCnt field in TD.  
Software writes for the initial PTD launch. The V bit is reset if  
NakCnt decrements to zero and RL is a nonzero value. It reloads  
from RL if transaction is ACK-ed.  
50 to 47  
46 to 32  
-
-
-
NrBytes  
Transferred  
[14:0]  
HW — writes -  
SW — writes  
Number of Bytes Transferred: This field indicates the number of  
bytes sent or received for this transaction. If Mult[1:0] is greater  
than one, it is possible to store intermediate results in this field.  
DW2  
31 to 29  
28 to 25  
reserved  
RL[3:0]  
-
-
Set to logic 0 for asynchronous TD.  
SW — writes -  
Reload: If RL is set to 0h, hardware ignores the NakCnt value. RL  
and NakCnt are set to the same value before a transaction.  
24  
reserved  
-
-
Always logic 0 for asynchronous TD.  
23 to 8  
DataStart  
Address[15:0]  
SW — writes -  
Data Start Address: This is the start address for data that will be  
sent or received on or from the USB bus. This is the internal  
memory address and not the direct CPU address.  
RAM address = (CPU address 400h) / 8  
7 to 0  
DW1  
63 to 47  
46  
reserved  
-
-
-
-
-
reserved  
S
Always logic 0 for asynchronous TD.  
This bit indicates whether a split transaction has to be executed:  
0 — High-speed transaction  
1 — Split transaction  
SW — writes -  
SW — writes -  
SW — writes -  
45 to 44  
43 to 42  
EPType[1:0]  
Token[1:0]  
Transaction type:  
00 — Control  
10 — Bulk  
Token: Identifies the token Packet IDentifier (PID) for this  
transaction:  
00 — OUT  
01 — IN  
10 — SETUP  
11 — PING (written by hardware only).  
41 to 35  
34 to 32  
DeviceAddress  
[6:0]  
SW — writes -  
SW — writes -  
Device Address: This is the USB address of the function  
containing the endpoint that is referred to by this buffer.  
EndPt[3:1]  
Endpoint: This is the USB address of the endpoint within the  
function.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
60 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 64. High-speed bulk IN and OUT: bit description …continued  
Bit  
Symbol  
Access  
Value  
Description  
DW0  
31  
EndPt[0]  
Mult[1:0]  
SW — writes -  
SW — writes -  
Endpoint: This is the USB address of the endpoint within the  
function.  
30 to 29  
Multiplier: This field is a multiplier used by the host controller as  
the number of successive packets the host controller may submit  
to the endpoint in the current execution.  
Set this field to 01b. You can also set it to 11b and 10b depending  
on your application. 00b is undefined.  
28 to 18  
17 to 3  
MaxPacket  
Length[10:0]  
SW — writes -  
SW — writes -  
Maximum Packet Length: This field indicates the maximum  
number of bytes that can be sent to or received from an endpoint in  
a single data packet. The maximum packet size for a bulk transfer  
is 512 bytes. The maximum packet size for the isochronous  
transfer is also variable at any whole number.  
NrBytesTo  
Transfer[14:0]  
Number of Bytes to Transfer: This field indicates the number of  
bytes that can be transferred by this data structure. It is used to  
indicate the depth of the DATA field (32 kB 1 B).  
2 to 1  
0
reserved  
V
-
-
-
-
SW — sets  
Valid:  
HW — resets  
0 — This bit is deactivated when the entire PTD is executed, or  
when a fatal error is encountered.  
1 — Software updates to one when there is payload to be sent or  
received. The current PTD is active.  
8.5.2 High-speed isochronous IN and OUT  
Table 65 shows the bit allocation of the high-speed isochronous IN and OUT, isochronous  
Transfer Descriptor (iTD).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
61 of 165  
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 65. High-speed isochronous IN and OUT: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
ISOIN_7[11:0] ISOIN_6[11:0] ISOIN_5[11:4]  
ISOIN_2[7:0] ISOIN_0[11:0]  
NrBytesTransferred[14:0] (32 kB 1 B for high-speed)  
DW7  
DW5  
DW3  
DW1  
ISOIN_1[11:0]  
A
H
B
reserved  
reserved  
S
EP  
Token  
[1:0]  
DeviceAddress[6:0]  
EndPt[3:1]  
Type  
[1:0]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
DW6  
ISOIN_5[3:0] ISOIN_4[11:0] ISOIN_3[11:0]  
ISOIN_2[11:8]  
DW4 Status7[2:0] Status6[2:0] Status5[2:0] Status4[2:0] Status3[2:0] Status2[2:0] Status1[2:0] Status0[2:0]  
μSA[7:0]  
DW2  
DW0  
reserved  
DataStartAddress[15:0]  
μFrame[7:0]  
[2]  
[1]  
Mult  
[1:0]  
MaxPacketLength[10:0]  
NrBytesToTransfer[14:0]  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 66. High-speed isochronous IN and OUT: bit description  
Bit  
Symbol  
Access  
Value  
Description  
DW7  
63 to 52  
ISOIN_7[11:0] HW — writes  
ISOIN_6[11:0] HW — writes  
ISOIN_5[11:4] HW — writes  
-
-
-
Bytes received during μSOF7, if μSA[7] is set to 1 and frame  
number is correct.  
51 to 40  
39 to 32  
Bytes received during μSOF6, if μSA[6] is set to 1 and frame  
number is correct.  
Bytes received during μSOF5 (bits 11 to 4), if μSA[5] is set to 1  
and frame number is correct.  
DW6  
31 to 28  
ISOIN_5[3:0]  
HW — writes  
-
-
-
-
Bytes received during μSOF5 (bits 3 to 0), if μSA[5] is set to 1 and  
frame number is correct.  
27 to 16  
15 to 4  
3 to 0  
ISOIN_4[11:0] HW — writes  
ISOIN_3[11:0] HW — writes  
ISOIN_2[11:8] HW — writes  
Bytes received during μSOF4, if μSA[4] is set to 1 and frame  
number is correct.  
Bytes received during μSOF3, if μSA[3] is set to 1 and frame  
number is correct.  
Bytes received during μSOF2 (bits 11 to 8), if μSA[2] is set to 1  
and frame number is correct.  
DW5  
63 to 56  
ISOIN_2[7:0]  
HW — writes  
-
-
-
Bytes received during μSOF2 (bits 7 to 0), if μSA[2] is set to 1 and  
frame number is correct.  
55 to 44  
43 to 32  
ISOIN_1[11:0] HW — writes  
ISOIN_0[11:0] HW — writes  
Bytes received during μSOF1, if μSA[1] is set to 1 and frame  
number is correct.  
Bytes received during μSOF0, if μSA[0] is set to 1 and frame  
number is correct.  
DW4  
31 to 29  
28 to 26  
25 to 23  
22 to 20  
19 to 17  
16 to 14  
13 to 11  
10 to 8  
Status7[2:0]  
Status6[2:0]  
Status5[2:0]  
Status4[2:0]  
Status3[2:0]  
Status2[2:0]  
Status1[2:0]  
Status0[2:0]  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
-
-
-
-
-
-
-
-
ISO IN or OUT status at μSOF7  
ISO IN or OUT status at μSOF6  
ISO IN or OUT status at μSOF5  
ISO IN or OUT status at μSOF4  
ISO IN or OUT status at μSOF3  
ISO IN or OUT status at μSOF2  
ISO IN or OUT status at μSOF1  
Status of the payload on the USB bus for this μSOF after ISO has  
been delivered.  
Bit 0 — Transaction error (IN and OUT)  
Bit 1 — Babble (IN token only)  
Bit 2 — Underrun (OUT token only)  
7 to 0  
μSA[7:0]  
SW — writes  
(0 1)  
-
μSOF Active: When the frame number of bits DW1[7:3] match the  
frame number of the USB bus, these bits are checked for 1 before  
they are sent for μSOF. For example: If μSA[7:0] = 1111 1111b:  
send ISO every μSOF of the entire millisecond. If μSA[7:0] =  
0101 0101b: send ISO only on μSOF0, μSOF2, μSOF4 and  
μSOF6.  
HW — writes  
(1 0)  
After processing  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
63 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 66. High-speed isochronous IN and OUT: bit description …continued  
Bit  
DW3  
63  
Symbol  
Access  
Value  
Description  
A
H
SW — sets  
-
-
Active: This bit is the same as the Valid bit.  
62  
HW — writes  
Halt: Only one bit for the entire millisecond. When this bit is set,  
the Valid bit is reset. The device decides to stall an endpoint.  
61  
B
HW — writes  
-
-
Babble: Not applicable here.  
60 to 47  
46 to 32  
reserved  
0
-
Set to 0 for isochronous.  
NrBytes  
Transferred  
[14:0]  
HW — writes  
Number of Bytes Transferred: This field indicates the number of  
bytes sent or received for this transaction. If Mult[1:0] is greater  
than one, it is possible to store intermediate results in this field.  
NrBytesTransferred[14:0] is 32 kB 1 B per PTD.  
DW2  
31 to 24  
23 to 8  
reserved  
-
0
-
Set to 0 for isochronous.  
DataStart  
Address[15:0]  
SW — writes  
Data Start Address: This is the start address for data that will be  
sent or received on or from the USB bus. This is the internal  
memory address and not the direct CPU address.  
RAM address = (CPU address 400h) / 8  
Bits 2 to 0 — Don’t care  
7 to 0  
μFrame[7:0]  
SW — writes  
-
Bits 7 to 3 — Frame number that this PTD will be sent for ISO  
OUT or IN  
DW1  
63 to 47  
46  
reserved  
S
-
-
-
-
SW — writes  
This bit indicates whether a split transaction has to be executed.  
0 — High-speed transaction  
1 — Split transaction  
45 to 44  
43 to 42  
EPType[1:0]  
Token[1:0]  
SW — writes  
SW — writes  
-
-
Endpoint type:  
01 — Isochronous  
Token: This field indicates the token PID for this transaction:  
00 — OUT  
01 — IN  
41 to 35  
34 to 32  
Device  
Address[6:0]  
SW — writes  
SW — writes  
-
-
Device Address: This is the USB address of the function  
containing the endpoint that is referred to by this buffer.  
EndPt[3:1]  
Endpoint: This is the USB address of the endpoint within the  
function.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
64 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 66. High-speed isochronous IN and OUT: bit description …continued  
Bit  
Symbol  
Access  
Value  
Description  
DW0  
31  
EndPt[0]  
Mult[1:0]  
SW — writes  
SW — writes  
-
-
Endpoint: This is the USB address of the endpoint within the  
function.  
30 to 29  
This field is a multiplier counter used by the host controller as the  
number of successive packets the host controller may submit to  
the endpoint in the current execution.  
For details, refer to Appendix D of Ref. 2 “Enhanced Host  
Controller Interface Specification for Universal Serial Bus  
Rev. 1.0”.  
28 to 18  
17 to 3  
MaxPacket  
Length[10:0]  
SW — writes  
SW — writes  
-
-
Maximum Packet Length: This field indicates the maximum  
number of bytes that can be sent to or received from the endpoint  
in a single data packet. The maximum packet size for an  
isochronous transfer is 1024 bytes. The maximum packet size for  
the isochronous transfer is also variable at any whole number.  
NrBytesTo  
Transfer[14:0]  
Number of Bytes Transferred: This field indicates the number of  
bytes that can be transferred by this data structure. It is used to  
indicate the depth of the DATA field (32 kB 1 B).  
2 to 1  
0
reserved  
V
-
-
-
-
HW — resets  
SW — sets  
0 — This bit is deactivated when the entire PTD is executed, or  
when a fatal error is encountered.  
1 — Software updates to one when there is payload to be sent or  
received. The current PTD is active.  
8.5.3 High-speed interrupt IN and OUT  
Table 67 shows the bit allocation of the high-speed interrupt IN and OUT, periodic Transfer  
Descriptor (pTD).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
65 of 165  
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 67. High-speed interrupt IN and OUT: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
INT_IN_7[11:0] INT_IN_6[11:0] INT_IN_5[11:4]  
INT_IN_2[7:0] INT_IN_0[11:0]  
reserved NrBytesTransferred[14:0] (32 kB 1 B for high-speed)  
DW7  
DW5  
DW3  
INT_IN_1[11:0]  
reserved  
A
H
DT  
Cerr  
[1:0]  
DW1  
reserved  
S
EP  
Type  
[1:0]  
Token  
[1:0]  
DeviceAddress[6:0]  
EndPt[3:1]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
DW6  
INT_IN_5[3:0] INT_IN_4[11:0] INT_IN_3[11:0]  
INT_IN_2[11:8]  
DW4 Status7[2:0] Status6[2:0] Status5[2:0] Status4[2:0] Status3[2:0] Status2[2:0] Status1[2:0] Status0[2:0]  
μSA[7:0]  
DW2  
DW0  
reserved  
DataStartAddress[15:0]  
μFrame[7:0]  
[2]  
[1]  
Mult  
[1:0]  
MaxPacketLength[10:0]  
NrBytesToTransfer[14:0]  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 68. High-speed interrupt IN and OUT: bit description  
Bit  
Symbol  
Access  
Value Description  
DW7  
63 to 52 INT_IN_7[11:0] HW — writes  
51 to 40 INT_IN_6[11:0] HW — writes  
39 to 32 INT_IN_5[11:4] HW — writes  
DW6  
-
-
-
Bytes received during μSOF7, if μSA[7] is set to 1 and frame number  
is correct.  
Bytes received during μSOF6, if μSA[6] is set to 1 and frame number  
is correct.  
Bytes received during μSOF5 (bits 11 to 4), if μSA[5] is set to 1 and  
frame number is correct.  
31 to 28 INT_IN_5[3:0]  
HW — writes  
-
-
-
-
Bytes received during μSOF5 (bits 3 to 0), if μSA[5] is set to 1 and  
frame number is correct.  
27 to 16 INT_IN_4[11:0] HW — writes  
15 to 4 INT_IN_3[11:0] HW — writes  
Bytes received during μSOF4, if μSA[4] is set to 1 and frame number  
is correct.  
Bytes received during μSOF3, if μSA[3] is set to 1 and frame number  
is correct.  
3 to 0  
INT_IN_2[11:8] HW — writes  
Bytes received during μSOF2 (bits 11 to 8), if μSA[2] is set to 1 and  
frame number is correct.  
DW5  
63 to 56 INT_IN_2[7:0]  
HW — writes  
-
-
-
Bytes received during μSOF2 (bits 7 to 0), if μSA[2] is set to 1 and  
frame number is correct.  
55 to 44 INT_IN_1[11:0] HW — writes  
43 to 32 INT_IN_0[11:0] HW — writes  
DW4  
Bytes received during μSOF1, if μSA[1] is set to 1 and frame number  
is correct.  
Bytes received during μSOF0, if μSA[0] is set to 1 and frame number  
is correct.  
31 to 29 Status7[2:0]  
28 to 26 Status6[2:0]  
25 to 23 Status5[2:0]  
22 to 20 Status4[2:0]  
19 to 17 Status3[2:0]  
16 to 14 Status2[2:0]  
13 to 11 Status1[2:0]  
10 to 8 Status0[2:0]  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
-
-
-
-
-
-
-
-
INT IN or OUT status of μSOF7  
INT IN or OUT status of μSOF6  
INT IN or OUT status of μSOF5  
INT IN or OUT status of μSOF4  
INT IN or OUT status of μSOF3  
INT IN or OUT status of μSOF2  
INT IN or OUT status of μSOF1  
Status of the payload on the USB bus for this μSOF after INT has  
been delivered.  
Bit 0 — Transaction error (IN and OUT)  
Bit 1 — Babble (IN token only)  
Bit 2 — Underrun (OUT token only)  
7 to 0  
μSA[7:0]  
SW — writes  
(0 1)  
-
When the frame number of bits DW2[7:3] match the frame number of  
the USB bus, these bits are checked for 1 before they are sent for  
μSOF. For example: When μSA[7:0] = 1111 1111b: send INT for every  
μSOF of the entire millisecond. When μSA[7:0] = 0101 0101b: send  
INT for μSOF0, μSOF2, μSOF4 and μSOF6. When μSA[7:0] =  
1000 1000b: send INT for every fourth μSOF.  
HW — writes  
(1 0)  
After processing  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
67 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 68. High-speed interrupt IN and OUT: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW3  
63  
A
H
HW — writes  
SW — writes  
HW — writes  
-
-
Active: Write the same value as that in V.  
62  
-
-
-
Halt: Transaction is halted.  
61 to 58 reserved  
57 DT  
-
HW — writes  
SW — writes  
Data Toggle: Set the Data Toggle bit to start the PTD. Software writes  
the current transaction toggle value. Hardware writes the next  
transaction toggle value.  
56 to 55 Cerr[1:0]  
54 to 47 reserved  
HW — writes  
SW — writes  
-
-
Error Counter: This field corresponds to the Cerr[1:0] field in the TD.  
The default value of this field is zero for isochronous transactions.  
-
-
-
46 to 32 NrBytes  
Transferred  
[14:0]  
HW — writes  
Number of Bytes Transferred: This field indicates the number of  
bytes sent or received for this transaction. If Mult[1:0] is greater than  
one, it is possible to store intermediate results in this field.  
DW2  
31 to 24 reserved  
-
-
-
-
23 to 8 DataStart  
Address[15:0]  
SW — writes  
Data Start Address: This is the start address for data that will be sent  
or received on or from the USB bus. This is the internal memory  
address and not the direct CPU address.  
RAM address = (CPU address 400h) / 8  
7 to 0  
μFrame[7:0]  
SW — writes  
-
Bits 7 to 3 represent the polling rate in milliseconds.  
The INT polling rate is defined as 2(b - 1) μSOF, where b is 1 to 9.  
When b is 1, 2, 3 or 4, use μSA to define polling because the rate is  
equal to or less than 1 ms. Bits 7 to 3 are set to 0. Polling checks μSA  
bits for μSOF rates. See Table 69.  
DW1  
63 to 47 reserved  
46  
-
-
-
-
S
SW — writes  
This bit indicates if a split transaction has to be executed:  
0 — High-speed transaction  
1 — Split transaction  
45 to 44 EPType[1:0]  
43 to 42 Token[1:0]  
SW — writes  
SW — writes  
-
-
Endpoint type:  
11 — Interrupt  
Token: This field indicates the token PID for this transaction:  
00 — OUT  
01 — IN  
41 to 35 DeviceAddress SW — writes  
-
-
Device Address: This is the USB address of the function containing  
the endpoint that is referred to by the buffer.  
[6:0]  
34 to 32 EndPt[3:1]  
SW — writes  
Endpoint: This is the USB address of the endpoint within the  
function.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
68 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 68. High-speed interrupt IN and OUT: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW0  
31  
EndPt[0]  
SW — writes  
SW — writes  
-
-
Endpoint: This is the USB address of the endpoint within the  
function.  
30 to 29 Mult[1:0]  
Multiplier: This field is a multiplier counter used by the host controller  
as the number of successive packets the host controller may submit  
to the endpoint in the current execution.  
Set this field to 01b. You can also set it to 11b and 10b, depending on  
your application. 00b is undefined.  
28 to 18 MaxPacket  
Length[10:0]  
SW — writes  
SW — writes  
-
-
Maximum Packet Length: This field indicates the maximum number  
of bytes that can be sent to or received from the endpoint in a single  
data packet.  
17 to 3 NrBytesTo  
Transfer[14:0]  
Number of Bytes to Transfer: This field indicates the number of  
bytes that can be transferred by this data structure. It is used to  
indicate the depth of the DATA field (32 kB 1 B).  
2 to 1  
0
reserved  
V
-
-
-
-
SW — sets  
Valid:  
HW — resets  
0 — This bit is deactivated when the entire PTD is executed, or when  
a fatal error is encountered.  
1 — Software updates to one when there is payload to be sent or  
received. The current PTD is active.  
Table 69. Microframe description  
b
1
2
3
4
5
6
7
8
9
Rate  
μFrame[7:3]  
0 0000b  
μSA[7:0]  
1 μSOF  
2 μSOF  
4 μSOF  
1 ms  
1111 1111b  
0 0000b  
1010 1010b or 0101 0101b  
any 2 bits set  
any 1 bit set  
any 1 bit set  
any 1 bit set  
any 1 bit set  
any 1 bit set  
any 1 bit set  
0 0000b  
0 0000b  
2 ms  
0 0001b  
4 ms  
0 0010b to 0 0011b  
0 0100b to 0 0111b  
0 1000b to 0 1111b  
1 0000b to 1 1111b  
8 ms  
16 ms  
32 ms  
8.5.4 Start and complete split for bulk  
Table 70 shows the bit allocation of Start Split (SS) and Complete Split (CS) for bulk,  
asynchronous Start Split and Complete Split (SS/CS) Transfer Descriptor (TD).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
69 of 165  
 
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 70. Start and complete split for bulk: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
DW7  
DW5  
DW3  
reserved  
reserved  
[1]  
A
H
B
X
SC  
DT  
Cerr  
[1:0]  
NakCnt[3:0]  
reserved  
NrBytesTransferred[14:0]  
DeviceAddress[6:0]  
[1]  
DW1  
HubAddress[6:0]  
PortNumber[6:0]  
SE[1:0]  
S
EP  
Type  
[1:0]  
Token  
[1:0]  
EndPt[3:1]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
9
8
7
6
5
4
3
2
1
0
DW6  
DW4  
DW2  
DW0  
reserved  
reserved  
J
NextPTDAddress[4:0]  
reserved  
[1]  
reserved  
RL[3:0]  
DataStartAddress[15:0]  
[2]  
[1]  
[1]  
MaxPacketLength[10:0]  
NrBytesToTransfer[14:0]  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 71. Start and complete split for bulk: bit description  
Bit  
Symbol  
reserved  
reserved  
reserved  
Access  
Value Description  
DW7  
63 to 32  
DW6  
31 to 0  
DW5  
63 to 32  
DW4  
31 to 6  
5
-
-
-
-
-
-
-
-
-
-
reserved  
J
-
-
-
SW — writes  
0 — To increment the PTD pointer.  
1 — To enable the next PTD branching.  
Next PTD branching assigned by the PTD pointer.  
4 to 0  
DW3  
63  
NextPTDPointer[4:0] SW — writes  
-
-
A
SW — sets  
Active: Write the same value as that in V.  
HW — resets  
HW — writes  
62  
61  
H
B
-
-
Halt: This bit corresponds to the Halt bit of the Status field of  
TD.  
HW — writes  
HW — writes  
Babble: This bit corresponds to the Babble Detected bit in the  
Status field of iTD, siTD or TD.  
1 — When babbling is detected, A and V are set to 0.  
60  
59  
X
-
Transaction Error: This bit corresponds to the Transaction  
Error bit in the status field.  
SW — writes  
-
-
0 — Before scheduling  
SC  
SW — writes 0  
HW — updates  
Start/Complete:  
0 — Start split  
1 — Complete split  
58  
57  
reserved  
DT  
-
-
-
-
HW — writes  
SW — writes  
HW — updates  
SW — writes  
Data Toggle: Set the Data Toggle bit to start for the PTD.  
56 to 55  
Cerr[1:0]  
-
Error Counter: This field contains the error count for  
asynchronous start and complete split (SS/CS) TD. When an  
error has no response or bad response, Cerr[1:0] will be  
decremented to zero and then Valid will be set to zero. A NAK  
or NYET will reset Cerr[1:0]. For details, refer to  
Section 4.12.1.2 of Ref. 2 “Enhanced Host Controller Interface  
Specification for Universal Serial Bus Rev. 1.0”.  
If retry has insufficient time at the beginning of a new SOF, the  
first PTD must be this retry. This can be accomplished if  
aperiodic PTD is not advanced.  
54 to 51  
NakCnt[3:0]  
reserved  
HW — writes  
SW — writes  
-
NAK Counter: The V bit is reset if NakCnt decrements to zero  
and RL is a nonzero value. Not applicable to isochronous split  
transactions.  
50 to 47  
46 to 32  
-
-
-
-
NrBytes  
HW — writes  
Number of Bytes Transferred: This field indicates the  
Transferred[14:0]  
number of bytes sent or received for this transaction.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
71 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 71. Start and complete split for bulk: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW2  
31 to 29  
28 to 25  
reserved  
RL[3:0]  
-
-
-
-
SW — writes  
Reload: If RL is set to 0h, hardware ignores the NakCnt value.  
Set RL and NakCnt to the same value before a transaction.  
For full-speed and low-speed transactions, set this field to  
0000b. Not applicable to isochronous start split and complete  
split.  
24  
reserved  
-
-
-
-
23 to 8  
DataStartAddress  
[15:0]  
SW — writes  
Data Start Address: This is the start address for data that will  
be sent or received on or from the USB bus. This is the internal  
memory address and not the direct CPU address.  
RAM address = (CPU address 400h) / 8  
7 to 0  
reserved  
-
-
-
DW1  
63 to 57  
56 to 50  
HubAddress[6:0]  
PortNumber[6:0]  
SW — writes  
SW — writes  
-
-
Hub Address: This indicates the hub address.  
Port Number: This indicates the port number of the hub or  
embedded TT.  
49 to 48  
SE[1:0]  
SW — writes  
-
This depends on the endpoint type and direction. It is valid only  
for split transactions. Table 72 applies to start split and  
complete split only.  
47  
46  
reserved  
S
-
-
-
-
SW — writes  
This bit indicates whether a split transaction has to be  
executed:  
0 — High-speed transaction  
1 — Split transaction  
45 to 44  
43 to 42  
EPType[1:0]  
Token[1:0]  
SW — writes  
SW — writes  
-
-
Endpoint Type:  
00 — Control  
10 — Bulk  
Token: This field indicates the PID for this transaction.  
00 — OUT  
01 — IN  
10 — SETUP  
41 to 35  
34 to 32  
DeviceAddress[6:0] SW — writes  
EndPt[3:1] SW — writes  
-
-
Device Address: This is the USB address of the function  
containing the endpoint that is referred to by this buffer.  
Endpoint: This is the USB address of the endpoint within the  
function.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
72 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 71. Start and complete split for bulk: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW0  
31  
EndPt[0]  
reserved  
SW — writes  
-
Endpoint: This is the USB address of the endpoint within the  
function.  
30 to 29  
28 to 18  
-
-
-
-
MaximumPacket  
Length[10:0]  
SW — writes  
Maximum Packet Length: This field indicates the maximum  
number of bytes that can be sent to or received from an  
endpoint in a single data packet. The maximum packet size for  
full-speed is 64 bytes as defined in Ref. 1 “Universal Serial  
Bus Specification Rev. 2.0”.  
17 to 3  
NrBytesTo  
Transfer[14:0]  
SW — writes  
-
Number of Bytes to Transfer: This field indicates the number  
of bytes that can be transferred by this data structure. It is  
used to indicate the depth of the DATA field.  
2 to 1  
0
reserved  
V
-
-
-
-
SW — sets  
Valid:  
HW — resets  
0 — This bit is deactivated when the entire PTD is executed,  
or when a fatal error is encountered.  
1 — Software updates to one when there is payload to be sent  
or received. The current PTD is active.  
Table 72. SE description  
Bulk  
I/O  
Control  
S
1
0
E
0
0
Remarks  
low-speed  
full-speed  
I/O  
I/O  
I/O  
8.5.5 Start and complete split for isochronous  
Table 73 shows the bit allocation for start and complete split for isochronous, split  
isochronous Transfer Descriptor (siTD).  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
73 of 165  
 
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 73. Start and complete split for isochronous: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
DW7  
DW5  
DW3  
DW1  
reserved  
ISO_IN_7[7:0]  
ISO_IN_2[7:0]  
ISO_IN_1[7:0]  
ISO_IN_0[7:0]  
μSCS[7:0]  
[1]  
A
H
B
X
SC  
DT  
reserved  
NrBytesTransferred[11:0]  
DeviceAddress[6:0]  
HubAddress[6:0]  
PortNumber[6:0]  
reserved  
S
EP  
Token  
[1:0]  
EndPt[3:1]  
Type  
[1:0]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
ISO_IN_6[7:0] ISO_IN_5[7:0] ISO_IN_4[7:0]  
9
8
7
6
5
4
3
2
1
0
DW6  
ISO_IN_3[7:0]  
DW4 Status7[2:0] Status6[2:0] Status5[2:0] Status4[2:0] Status3[2:0] Status2[2:0] Status1[2:0] Status0[2:0]  
μSA[7:0]  
DW2  
DW0  
reserved  
DataStartAddress[15:0]  
μFrame[7:0] (full-speed)  
[2]  
[1]  
[1]  
TT_MPS_Len[10:0]  
NrBytesToTransfer[14:0] (1 kB for full-speed)  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 74. Start and complete split for isochronous: bit description  
Bit  
Symbol  
Access  
Value Description  
DW7  
63 to 40 reserved  
-
-
-
-
39 to 32 ISO_IN_7[7:0] HW — writes  
Bytes received during μSOF7, if μSA[7] is set to 1 and frame  
number is correct.  
DW6  
31 to 24 ISO_IN_6[7:0] HW — writes  
-
-
-
-
Bytes received during μSOF6, if μSA[6] is set to 1 and frame  
number is correct.  
23 to 16 ISO_IN_5[7:0] HW — writes  
Bytes received during μSOF5, if μSA[5] is set to 1 and frame  
number is correct.  
15 to 8  
7 to 0  
DW5  
ISO_IN_4[7:0] HW — writes  
ISO_IN_3[7:0] HW — writes  
Bytes received during μSOF4, if μSA[4] is set to 1 and frame  
number is correct.  
Bytes received during μSOF3, if μSA[3] is set to 1 and frame  
number is correct.  
63 to 56 ISO_IN_2[7:0] HW — writes  
55 to 48 ISO_IN_1[7:0] HW — writes  
47 to 40 ISO_IN_0[7:0] HW — writes  
-
-
-
-
Bytes received during μSOF2 (bits 7 to 0), if μSA[2] is set to 1  
and frame number is correct.  
Bytes received during μSOF1, if μSA[1] is set to 1 and frame  
number is correct.  
Bytes received during μSOF0 if μSA[0] is set to 1 and frame  
number is correct.  
39 to 32 μSCS[7:0]  
SW — writes (0 1)  
All bits can be set to one for every transfer. It specifies which  
μSOF the complete split needs to be sent. Valid only for IN.  
Start split and complete split active bits, μSA = 0000 0001b,  
μSCS = 0000 0100b, will cause SS to execute in μFrame0 and  
CS in μFrame2.  
HW — writes (1 0)  
After processing  
DW4  
31 to 29 Status7[2:0]  
28 to 26 Status6[2:0]  
25 to 23 Status5[2:0]  
22 to 20 Status4[2:0]  
19 to 17 Status3[2:0]  
16 to 14 Status2[2:0]  
13 to 11 Status1[2:0]  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
-
-
-
-
-
-
-
-
Isochronous IN or OUT status of μSOF7  
Isochronous IN or OUT status of μSOF6  
Isochronous IN or OUT status of μSOF5  
Isochronous IN or OUT status of μSOF4  
Isochronous IN or OUT status of μSOF3  
Isochronous IN or OUT status of μSOF2  
Isochronous IN or OUT status of μSOF1  
Isochronous IN or OUT status of μSOF0  
Bit 0 — Transaction error (IN and OUT)  
Bit 1 — Babble (IN token only)  
10 to 8  
Status0[2:0]  
Bit 2 — Underrun (OUT token only)  
7 to 0  
μSA[7:0]  
SW — writes (0 1)  
HW — writes (1 0)  
After processing  
-
Specifies which μSOF the start split needs to be placed.  
For OUT token: When the frame number of bits DW2[7:3]  
matches the frame number of the USB bus, these bits are  
checked for one before they are sent for the μSOF.  
For IN token: Only μSOF0, μSOF1, μSOF2 or μSOF3 can be  
set to 1. Nothing can be set for μSOF4 and above.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
75 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 74. Start and complete split for isochronous: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW3  
63  
A
SW — sets  
-
Active: Write the same value as that in V.  
HW — resets  
HW — writes  
62  
61  
60  
59  
H
-
-
-
-
Halt: The Halt bit is set when any microframe transfer status  
has a stalled or halted condition.  
B
HW — writes  
HW — writes  
Babble: This bit corresponds to bit 1 of Status0 to Status7 for  
every microframe transfer status.  
X
Transaction Error: This bit corresponds to bit 0 of Status0 to  
Status7 for every microframe transfer status.  
SC  
SW — writes 0  
HW — updates  
Start/Complete:  
0 — Start split  
1 — Complete split  
58  
57  
reserved  
DT  
-
-
-
-
HW — writes  
SW — writes  
-
Data Toggle: Set the Data Toggle bit to start for the PTD.  
56 to 44 reserved  
-
-
-
43 to 32 NrBytes  
Transferred  
[11:0]  
HW — writes  
Number of Bytes Transferred: This field indicates the number  
of bytes sent or received for this transaction.  
DW2  
31 to 24 reserved  
-
-
-
-
23 to 8  
DataStart  
SW — writes  
Data Start Address: This is the start address for data that will  
be sent or received on or from the USB bus. This is the internal  
memory address and not the CPU address.  
Address[15:0]  
7 to 0  
μFrame[7:0]  
SW — writes  
-
Bits 7 to 3 determine which frame to execute.  
DW1  
63 to 57 HubAddress  
[6:0]  
SW — writes  
SW — writes  
-
-
Hub Address: This indicates the hub address.  
56 to 50 PortNumber  
[6:0]  
Port Number: This indicates the port number of the hub or  
embedded TT.  
49 to 47 reserved  
-
-
-
-
46  
S
SW — writes  
This bit indicates whether a split transaction has to be  
executed:  
0 — High-speed transaction  
1 — Split transaction  
Transaction type:  
01 — Isochronous  
Token PID for this transaction:  
00 — OUT  
45 to 44 EPType[1:0]  
43 to 42 Token[1:0]  
SW — writes  
SW — writes  
-
-
01 — IN  
41 to 35 Device  
Address[6:0]  
SW — writes  
SW — writes  
-
-
Device Address: This is the USB address of the function  
containing the endpoint that is referred to by this buffer.  
34 to 32 EndPt[3:1]  
Endpoint: This is the USB address of the endpoint within the  
function.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
76 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 74. Start and complete split for isochronous: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW0  
31  
EndPt[0]  
SW — writes  
-
Endpoint: This is the USB address of the endpoint within the  
function.  
30 to 29 reserved  
-
-
-
-
28 to 18 TT_MPS_Len SW — writes  
Transaction Translator Maximum Packet Size Length: This  
field indicates the maximum number of bytes that can be sent  
per start split, depending on the number of total bytes needed.  
If the total bytes to be sent for the entire millisecond is greater  
than 188 bytes, this field should be set to 188 bytes for an OUT  
token and 192 bytes for an IN token. Otherwise, this field  
should be equal to the total bytes sent.  
[10:0]  
17 to 3  
NrBytesTo  
Transfer[14:0]  
SW — writes  
-
Number of Bytes to Transfer: This field indicates the number  
of bytes that can be transferred by this data structure. It is used  
to indicate the depth of the DATA field. This field is restricted to  
1023 bytes because in siTD the maximum allowable payload  
for a full-speed device is 1023 bytes. This field indirectly  
becomes the maximum packet size of the downstream device.  
2 to 1  
0
reserved  
V
-
-
-
-
SW — sets  
0 — This bit is deactivated when the entire PTD is executed, or  
when a fatal error is encountered.  
HW — resets  
1 — Software updates to one when there is payload to be sent  
or received. The current PTD is active.  
8.5.6 Start and complete split for interrupt  
Table 75 shows the bit allocation of start and complete split for interrupt.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
77 of 165  
 
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx x x x xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xx xx xxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxx xxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxx x x  
xxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxx  
xxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxx xxx  
Table 75. Start and complete split for interrupt: bit allocation  
Bit  
63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32  
DW7  
DW5  
DW3  
reserved  
INT_IN_7[7:0]  
INT_IN_2[7:0]  
INT_IN_1[7:0]  
INT_IN_0[7:0]  
μSCS[7:0]  
[1]  
A
H
B
X
SC  
DT  
Cerr  
[1:0]  
reserved  
SE[1:0]  
NrBytesTransferred[11:0] (4 kB for full-speed and  
low-speed)  
DW1  
HubAddress[6:0]`  
PortNumber[6:0]  
-
S
EP  
Token  
[1:0]  
DeviceAddress[6:0]  
EndPt[3:1]  
Type  
[1:0]  
Bit  
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10  
INT_IN_6[7:0] INT_IN_5[7:0] INT_IN_4[7:0]  
9
8
7
6
5
4
3
2
1
0
DW6  
INT_IN_3[7:0]  
DW4 Status7[2:0] Status6[2:0] Status5[2:0] Status4[2:0] Status3[2:0] Status2[2:0] Status1[2:0] Status0[2:0]  
μSA[7:0]  
DW2  
reserved  
DataStartAddress[15:0]  
μFrame[7:0] (full-speed and  
low-speed)  
[2]  
[1]  
[1]  
DW0  
MaxPacketLength[10:0]  
NrBytesToTransfer[14:0] (4 kB for full-speed and low-speed)  
V
[1] Reserved.  
[2] EndPt[0].  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 76. Start and complete split for interrupt: bit description  
Bit  
Symbol  
Access  
Value Description  
DW7  
63 to 40 reserved  
-
-
-
-
39 to 32 INT_IN_7[7:0] HW — writes  
Bytes received during μSOF7, if μSA[7] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
DW6  
31 to 24 INT_IN_6[7:0] HW — writes  
-
-
-
-
Bytes received during μSOF6, if μSA[6] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
23 to 16 INT_IN_5[7:0] HW — writes  
Bytes received during μSOF5, if μSA[5] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
15 to 8  
7 to 0  
DW5  
INT_IN_4[7:0] HW — writes  
INT_IN_3[7:0] HW — writes  
Bytes received during μSOF4, if μSA[4] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
Bytes received during μSOF3, if μSA[3] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
63 to 56 INT_IN_2[7:0] HW — writes  
-
Bytes received during μSOF2 (bits 7 to 0), if μSA[2] is set to 1 and  
frame number is correct. The new value continuously overwrites the  
old value.  
55 to 48 INT_IN_1[7:0] HW — writes  
47 to 40 INT_IN_0[7:0] HW — writes  
-
-
-
Bytes received during μSOF1, if μSA[1] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
Bytes received during μSOF0 if μSA[0] is set to 1 and frame number is  
correct. The new value continuously overwrites the old value.  
39 to 32 μSCS[7:0]  
SW — writes  
(0 1)  
All bits can be set to one for every transfer. It specifies which μSOF the  
complete split needs to be sent. Valid only for IN. Start split and  
complete split active bits, μSA = 0000 0001b, μSCS = 0000 0100b, will  
cause SS to execute in μFrame0 and CS in μFrame2.  
HW — writes  
(1 0)  
After  
processing  
DW4  
31 to 29 Status7[2:0]  
28 to 26 Status6[2:0]  
25 to 23 Status5[2:0]  
22 to 20 Status4[2:0]  
19 to 17 Status3[2:0]  
16 to 14 Status2[2:0]  
13 to 11 Status1[2:0]  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
HW — writes  
-
-
-
-
-
-
-
-
Interrupt IN or OUT status of μSOF7  
Interrupt IN or OUT status of μSOF6  
Interrupt IN or OUT status of μSOF5  
Interrupt IN or OUT status of μSOF4  
Interrupt IN or OUT status of μSOF3  
Interrupt IN or OUT status of μSOF2  
Interrupt IN or OUT status of μSOF1  
Interrupt IN or OUT status of μSOF0  
Bit 0 — Transaction error (IN and OUT)  
Bit 1 — Babble (IN token only)  
10 to 8  
Status0[2:0]  
Bit 2 — Underrun (OUT token only)  
7 to 0  
μSA[7:0]  
SW — writes  
(0 1)  
-
Specifies which μSOF the start split needs to be placed.  
For OUT token: When the frame number of bits DW1[7:3] matches the  
frame number of the USB bus, these bits are checked for one before  
they are sent for the μSOF.  
HW — writes  
(1 0)  
After  
processing  
For IN token: Only μSOF0, μSOF1, μSOF2 or μSOF3 can be set to 1.  
Nothing can be set for μSOF4 and above.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
79 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 76. Start and complete split for interrupt: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
DW3  
63  
A
SW — sets  
-
Active: Write the same value as that in V.  
HW — resets  
HW — writes  
62  
61  
60  
59  
H
-
-
-
-
Halt: The Halt bit is set when any microframe transfer status has a  
stalled or halted condition.  
B
HW — writes  
HW — writes  
Babble: This bit corresponds to bit 1 of Status0 to Status7 for every  
microframe transfer status.  
X
Transaction Error: This bit corresponds to bit 0 of Status0 to Status7  
for every microframe transfer status.  
SC  
SW — writes  
0
Start/Complete:  
0 — Start split  
HW —  
updates  
1 — Complete split  
58  
57  
reserved  
DT  
-
-
-
-
HW — writes  
SW — writes  
HW — writes  
SW — writes  
Data Toggle: For an interrupt transfer, set correct bit to start the PTD.  
56 to 55 Cerr[1:0]  
-
Error Counter: This field corresponds to the Cerr[1:0] field in TD.  
00 — The transaction will not retry.  
11 — The transaction will retry three times. Hardware will decrement  
these values.  
54 to 44 reserved  
-
-
-
-
43 to 32 NrBytes  
Transferred  
[11:0]  
HW — writes  
Number of Bytes Transferred: This field indicates the number of  
bytes sent or received for this transaction.  
DW2  
31 to 24 reserved  
-
-
-
-
23 to 8  
7 to 0  
DW1  
DataStart  
Address[15:0]  
SW — writes  
Data Start Address: This is the start address for data that will be sent  
or received on or from the USB bus. This is the internal memory  
address and not the CPU address.  
μFrame[7:0]  
SW — writes  
-
Bits 7 to 3 is the polling rate in milliseconds. Polling rate is defined as  
2(b 1) μSOF; where b = 4 to 16. When b is 4, executed every  
millisecond. See Table 77.  
63 to 57 HubAddress  
[6:0]  
SW — writes  
SW — writes  
SW — writes  
-
-
-
Hub Address: This indicates the hub address.  
56 to 50 PortNumber  
[6:0]  
Port Number: This indicates the port number of the hub or  
embedded TT.  
49 to 48 SE[1:0]  
This depends on the endpoint type and direction. It is valid only for split  
transactions. Table 78 applies to start split and complete split only.  
47  
46  
reserved  
S
-
-
-
-
SW — writes  
This bit indicates whether a split transaction has to be executed:  
0 — High-speed transaction  
1 — Split transaction  
45 to 44 EPType[1:0]  
SW — writes  
-
Transaction type:  
11 — Interrupt  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
80 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 76. Start and complete split for interrupt: bit description …continued  
Bit  
Symbol  
Access  
Value Description  
43 to 42 Token[1:0]  
SW — writes  
-
Token PID for this transaction:  
00 — OUT  
01 — IN  
41 to 35 DeviceAddress SW — writes  
-
-
Device Address: This is the USB address of the function containing  
the endpoint that is referred to by this buffer.  
[6:0]  
34 to 32 EndPt[3:1]  
SW — writes  
Endpoint: This is the USB address of the endpoint within the function.  
DW0  
31  
EndPt[0]  
SW — writes  
-
-
-
-
Endpoint: This is the USB address of the endpoint within the function.  
30 to 29 reserved  
-
28 to 18 MaxPacket  
Length[10:0]  
SW — writes  
Maximum Packet Length: This field indicates the maximum number  
of bytes that can be sent to or received from an endpoint in a single  
data packet. The maximum packet size for the full-speed and  
low-speed devices is 64 bytes as defined in Ref. 1 “Universal Serial  
Bus Specification Rev. 2.0”.  
17 to 3  
NrBytesTo  
Transfer[14:0]  
SW — writes  
-
Number of Bytes to Transfer: This field indicates the number of bytes  
that can be transferred by this data structure. It is used to indicate the  
depth of the DATA field. The maximum total number of bytes for this  
transaction is 4 kB.  
2 to 1  
0
reserved  
V
-
-
-
-
SW — sets  
0 — This bit is deactivated when the entire PTD is executed, or when a  
fatal error is encountered.  
HW — resets  
1 — Software updates to one when there is payload to be sent or  
received. The current PTD is active.  
Table 77. Microframe description  
b
5
6
7
8
9
Rate  
2 ms  
4 ms  
8 ms  
16 ms  
32 ms  
μFrame[7:3]  
0 0001b  
0 0010b or 0 0011b  
0 0100b or 0 0111b  
0 1000b or 0 1111b  
1 0000b or 1 1111b  
Table 78. SE description  
Interrupt  
I/O  
S
1
0
E
0
0
Remarks  
low-speed  
full-speed  
I/O  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
81 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9. OTG controller  
9.1 Introduction  
OTG is a supplement to the Hi-Speed USB specification that augments existing USB  
peripherals by adding to these peripherals limited host capability to support other targeted  
USB peripherals. It is primarily targeted at portable devices because it addresses  
concerns related to such devices, such as a small connector and low power. Non-portable  
devices, even standard hosts, can also benefit from OTG features.  
The SAF1761 OTG controller is designed to perform all the tasks specified in the OTG  
supplement. It supports Host Negotiation Protocol (HNP) and Session Request Protocol  
(SRP) for dual-role devices. The SAF1761 uses software implementation of HNP and  
SRP for maximum flexibility. A set of OTG registers provides the control and status  
monitoring capabilities to support software HNP and SRP.  
Besides the normal USB transceiver, timers and analog components required by OTG are  
also integrated on-chip. The analog components include:  
Built-in 3.3 V-to-5 V charge pump  
Voltage comparators  
Pull-up or pull-down resistors on data lines  
Charging or discharging resistors for VBUS  
9.2 Dual-role device  
When port 1 of the SAF1761 is configured in OTG mode, it can be used as an OTG  
dual-role device. A dual-role device is a USB device that can function either as a host or  
as a peripheral.  
The default role of the SAF1761 is controlled by the ID pin, which in turn is controlled by  
the type of plug connected to the micro-AB receptacle. If ID = LOW (micro-A plug  
connected), it becomes an A-device, which is a host by default. If ID = HIGH (micro-B plug  
connected), it becomes a B-device, which is a peripheral by default.  
Both the A-device and the B-device work on a session base. A session is defined as the  
period of time in which devices exchange data. A session starts when VBUS is driven and  
ends when VBUS is turned off. Both the A-device and the B-device may start a session.  
During a session, the role of the host can be transferred back and forth between the  
A-device and the B-device any number of times by using HNP.  
If the A-device wants to start a session, it turns on VBUS by enabling the charge pump. The  
B-device detects that VBUS has risen above the B_SESS_VLD level and assumes the role  
of a peripheral asserting its pull-up resistor on the DP line. The A-device detects the  
remote pull-up resistor and assumes the role of a host. Then, the A-device can  
communicate with the B-device as long as it wishes. When the A-device finishes  
communicating with the B-device, the A-device turns off VBUS and both devices finally go  
into the idle state. See Figure 14 and Figure 15.  
If the B-device wants to start a session, it must initiate SRP by data line pulsing and  
VBUS pulsing. When the A-device detects any of these SRP events, it turns on its VBUS  
.
(Note: only the A-device is allowed to drive VBUS.) The B-device assumes the role of a  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
82 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
peripheral, and the A-device assumes the role of a host. The A-device detects that the  
B-device can support HNP by getting the OTG descriptor from the B-device. The A-device  
will then enable the HNP hand-off by using SetFeature (b_hnp_enable) and then go into  
the suspend state. The B-device signals claiming the host role by de-asserting its pull-up  
resistor. The A-device acknowledges by going into the peripheral state. The B-device then  
assumes the role of a host and communicates with the A-device as long as it wishes.  
When the B-device finishes communicating with the A-device, both devices finally go into  
the idle state. See Figure 14 and Figure 15.  
9.3 Session Request Protocol (SRP)  
As a dual-role device, the SAF1761 can initiate and respond to SRP. The B-device  
initiates SRP by data line pulsing, followed by VBUS pulsing. The A-device can detect  
either data line pulsing or VBUS pulsing.  
9.3.1 B-device initiating SRP  
The SAF1761 can initiate SRP by performing the following steps:  
1. Detect initial conditions [read B_SESS_END and B_SE0_SRP (bits 7 and 8) of the  
OTG Status register].  
2. Start data line pulsing [set DP_PULLUP (bit 0) of the OTG Control (set) register to  
logic 1].  
3. Wait for 5 ms to 10 ms.  
4. Stop data line pulsing [set DP_PULLUP (bit 0) of the OTG Control (clear) register to  
logic 0].  
5. Start VBUS pulsing [set VBUS_CHRG (bit 6) of the OTG Control (set) register to  
logic 1].  
6. Wait for 10 ms to 20 ms.  
7. Stop VBUS pulsing [set VBUS_CHRG (bit 6) of the OTG Control (clear) register to  
logic 0].  
8. Discharge VBUS for about 30 ms [by using VBUS_DISCHRG (bit 5) of the OTG  
Control (set) register], optional.  
The B-device must complete both data line pulsing and VBUS pulsing within 100 ms.  
9.3.2 A-device responding to SRP  
The A-device must be able to respond to one of the two SRP events: data line pulsing or  
V
BUS pulsing. When data line pulsing is used, the SAF1761 can detect DP pulsing. This  
means that the peripheral-only device must initiate data line pulsing through DP. A  
dual-role device will always initiate data line pulsing through DP.  
To enable the SRP detection through the VBUS pulsing, set A_B_SESS_VLD (bit 1) in the  
OTG Interrupt Enable Fall and OTG Interrupt Enable Rise registers.  
To enable the SRP detection through the DP pulsing, set DP_SRP (bit 2) in the OTG  
Interrupt Enable Rise register.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
83 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9.4 Host Negotiation Protocol (HNP)  
HNP is used to transfer control of the host role between the default host (A-device) and  
the default peripheral (B-device) during a session. When the A-device is ready to give up  
its role as a host, it will condition the B-device using SetFeature (b_hnp_enable) and will  
go into suspend. If the B-device wants to use the bus at that time, it signals a disconnect  
to the A-device. Then, the A-device will take the role of a peripheral and the B-device will  
take the role of a host.  
9.4.1 Sequence of HNP events  
The sequence of events for HNP as observed on the USB bus is illustrated in Figure 13.  
A-device  
1
6
8
3
B-device  
5
2
7
4
DP Composite  
004aaa079  
DP driven  
Legend  
Pull-up dominates  
Pull-down dominates  
Normal bus activity  
Fig 13. HNP sequence of events  
As can be seen in Figure 13:  
1. The A-device completes using the bus and stops all bus activity, that is, suspends the  
bus.  
2. The B-device detects that the bus is idle for more than 5 ms and begins HNP by  
turning off the pull-up on DP. This allows the bus to discharge to the SE0 state.  
3. The A-device detects SE0 on the bus and recognizes this as a request from the  
B-device to become a host. The A-device responds by turning on its DP pull-up within  
3 ms of first detecting SE0 on the bus.  
4. After waiting for 30 μs to ensure that the DP line is not HIGH because of the residual  
effect of the B-device pull-up, the B-device notices that the DP line is HIGH and the  
DM line is LOW, that is, J state. This indicates that the A-device has recognized the  
HNP request from the B-device. At this point, the B-device becomes a host and  
asserts bus reset to start using the bus. The B-device must assert the bus reset, that  
is, SE0, within 1 ms of the time that the A-device turns on its pull-up.  
5. When the B-device completes using the bus, it stops all bus activities. Optionally, the  
B-device may turn on its DP pull-up at this time.  
Remark: The bus idle state will generate a DC suspend interrupt corresponding to the  
toggle of the SUSP bit in the DcInterrupt register (address: 218h), when accordingly  
enabled.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
84 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
6. The A-device detects lack of bus activity for more than 3 ms and turns off its DP  
pull-up. Alternatively, if the A-device has no further need to communicate with the  
B-device, the A-device may turn off VBUS and end the session.  
7. The B-device turns on its pull-up.  
8. After waiting 30 μs to ensure that the DP line is not HIGH because of the residual  
effect of the A-device pull-up, the A-device notices that the DP-line is HIGH and the  
DM line is LOW, indicating that the B-device is signaling a connect and is ready to  
respond as a peripheral. At this point, the A-device becomes a host and asserts the  
bus reset to start using the bus.  
9.4.2 OTG state diagrams  
Figure 14 and Figure 15 show state diagrams for the dual-role A-device and the dual-role  
B-device, respectively. For a detailed explanation, refer to Ref. 3 “On-The-Go Supplement  
to the USB Specification Rev. 1.3”.  
The OTG state machine is implemented with software. The inputs to the state machine  
come from four sources: hardware signals from the USB bus, software signals from the  
application program, internal variables with the state machines, and timers:  
Hardware inputs: Include id, a_vbus_vld, a_sess_vld, b_sess_vld, b_sess_end,  
a_conn, b_conn, a_bus_suspend, b_bus_suspend, a_bus_resume, b_bus_resume,  
a_srp_det and b_se0_srp. All these inputs can be derived from the OTG Interrupt and  
OTG Status registers.  
Software inputs: Include a_bus_req, a_bus_drop and b_bus_req.  
Internal variables: Include a_set_b_hnp_en, b_hnp_enable and b_srp_done.  
Timers: The HNP state machine uses four timers: a_wait_vrise_tmr,  
a_wait_bcon_tmr, a_aidl_bdis_tmr and b_ase0_brst, tmr. All timers are started on  
entry to and reset on exit from their associated states. The SAF1761 provides a  
programmable timer that can be used as any of these four timers.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
85 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
b_idle  
drv_vbus/  
chrg_vbus/  
loc_conn/  
loc_sof/  
START  
a_idle  
drv_vbus/  
chrg_vbus/  
loc_conn/  
loc_sof/  
id  
id | a_bus_req |  
a_bus_drop/ &  
(a_sess_vld/ &  
b_conn/)  
(a_bus_req |  
a_srp_det)  
id | a_bus_drop |  
a_wait_bcon_tmout  
a_wait_vfall  
a_wait_vrise  
drv_vbus  
loc_conn/  
loc_sof/  
drv_vbus/  
loc_conn/  
loc_sof/  
id | a_bus_drop  
b_bus_suspend  
id | a_bus_drop |  
a_vbus_vld |  
a_wait_vrise_tmout  
id | a_bus_drop  
a_vbus_err  
drv_vbus/  
loc_conn/  
loc_sof/  
a_vbus_vld/  
a_vbus_vld/  
a_peripheral  
drv_vbus  
loc_conn  
loc_sof/  
a_wait_bcon  
a_vbus_vld/  
a_vbus_vld/  
drv_vbus  
loc_conn/  
loc_sof/  
b_conn/ &  
a_set_b_hnp_en/  
b_conn/ &  
a_set_b_hnp_en  
id |  
b_conn/ |  
b_conn  
id |  
a_bus_drop  
a_bus_drop |  
a_aidl_bdis_tmout  
a_bus_req |  
b_bus_resume  
a_suspend  
drv_vbus  
loc_conn/  
loc_sof/  
a_host  
drv_vbus  
loc_conn/  
loc_sof  
a_bus_req/ |  
a_suspend_req  
004aaa566  
Fig 14. Dual-role A-device state diagram  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
86 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
a_idle  
drv_vbus/  
chrg_vbus/  
loc_conn/  
loc_sof/  
START  
b_idle  
drv_vbus/  
chrg_vbus/  
loc_conn/  
loc_sof/  
id/  
b_bus_req &  
b_sess_end &  
b_se0_srp  
id/ |  
b_sess_vld/  
id/ |  
b_srp_done  
id/ |  
b_sess_vld/  
b_host  
chrg_vbus/  
loc_conn/  
loc_sof  
b_srp_init  
pulse loc_conn  
pulse chrg_vbus  
loc_sof/  
id/ |  
b_sess_vld/  
b_sess_vld  
b_bus_req/ |  
a_conn/  
a_conn  
a_bus_resume |  
b_ase0_brst_tmout  
b_wait_acon  
chrg_vbus/  
loc_conn/  
loc_sof/  
b_peripheral  
chrg_vbus/  
loc_conn  
b_bus_req &  
b_hnp_en &  
a_bus_suspend  
loc_sof/  
004aaa567  
Fig 15. Dual-role B-device state diagram  
9.4.3 HNP implementation and OTG state machine  
The OTG state machine is the software behind all the OTG functionality. It is implemented  
in the microprocessor system that is connected to the SAF1761. The SAF1761 provides  
registers for all input status, the output control and timers to fully support the state  
machine transitions in Figure 14 and Figure 15. These registers include:  
OTG Control register: Provides control to VBUS driving, charging or discharging, data  
line pull-up or pull-down, SRP detection, and so on.  
OTG Status register: Provides status detection on VBUS and data lines including ID,  
V
BUS session valid, session end, overcurrent and bus status.  
OTG Interrupt Latch register: Provides interrupts for status change in OTG Interrupt  
Status register bits and the OTG Timer time-out event.  
OTG Interrupt Enable Fall and OTG Interrupt Enable Rise registers: Provide interrupt  
mask for OTG Interrupt Latch register bits.  
OTG Timer register: Provides 0.01 ms base programmable timer for use in the OTG  
state machine.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
87 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
The following steps are required to enable an OTG interrupt:  
1. Set the polarity and level-triggering or edge-triggering mode of the HW Mode Control  
register.  
2. Set the corresponding bits of the OTG Interrupt Enable Rise and OTG Interrupt  
Enable Fall registers.  
3. Set bit OTG_IRQ_E of the HcInterruptEnable register (bit 10).  
4. Set bit GLOBAL_INTR_EN of the HW Mode Control register (bit 0).  
When an interrupt is generated on HC_IRQ, perform these steps in the interrupt service  
routine to get the related OTG status:  
1. Read the HcInterrupt register. If OTG_IRQ (bit 10) is set, then step 2.  
2. Read the OTG Interrupt Latch register. If any of the bits 0 to 4 are set, then step 3.  
3. Read the OTG Status register.  
The OTG state machine routines are called when any of the inputs is changed. These  
inputs come from either OTG registers (hardware) or application program (software). The  
outputs of the state machine include control signals to the OTG register (for hardware)  
and states or error codes (for software).  
The SAF1761 can be configured in OTG mode or in pure host or peripheral mode.  
Programming the SAF1761 in OTG mode is done by configuring bit 10 of the OTG control  
register. This will enable OTG-specific mechanisms controlled by the OTG control register  
bits.  
When the OTG protocol is not implemented by the software, the SAF1761 can be used as  
a host or a peripheral. In this case, bit 10 of the OTG control register will be set to logic 0.  
The host or peripheral functionality is determined by bit 7 of the OTG Control register.  
Programming of OTG registers is done by a SET and RESET scheme. An OTG register  
has two parts: a 16-bit SET and a 16-bit RESET. Writing logic 1 in a certain position to the  
SET-type dedicated 16-bit register part will set the respective bit to logic 1 while writing  
logic 1 to the RESET-type 16-bit dedicated register will change the corresponding bit to  
logic 0.  
9.5 OTG controller registers  
Table 79. OTG controller-specific register overview  
Address  
Register  
Reset value  
References  
037Xh to 038Xh OTG registers  
-
-
Table 80. Address mapping of registers: 32-bit data bus mode  
Address  
Byte 3  
Byte 2  
Byte 1  
Byte 0  
Device ID registers  
0370h  
Product ID (read only)  
Vendor ID (read only)  
OTG Control (set)  
OTG Control register  
0374h OTG Control (clear)  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
88 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 80. Address mapping of registers: 32-bit data bus mode …continued  
Address  
Byte 3  
Byte 2  
Byte 1  
Byte 0  
OTG Interrupt registers  
0378h  
reserved  
OTG Status (read only)  
037Ch  
OTG Interrupt Latch (clear)  
OTG Interrupt Latch (set)  
0380h  
OTG Interrupt Enable Fall (clear)  
OTG Interrupt Enable Rise (clear)  
OTG Interrupt Enable Fall (set)  
OTG Interrupt Enable Rise (set)  
0384h  
OTG Timer register  
0388h  
OTG Timer (Lower word: clear)  
OTG Timer (Higher word: clear)  
OTG Timer (Lower word: set)  
OTG Timer (Higher word: set)  
038Ch  
Table 81. Address mapping of registers: 16-bit data bus mode  
Address  
Byte 1  
Byte 0  
Reference  
Device ID registers  
0370h  
0372h  
Vendor ID (read only)  
Section 9.5.1.1  
Section 9.5.1.2  
Product ID (read only)  
OTG Control register  
0374h  
0376h  
OTG Control (set)  
OTG Control (clear)  
Section 9.5.2.1  
OTG Interrupt registers  
0378h  
037Ah  
037Ch  
037Eh  
0380h  
0382h  
0384h  
0386h  
OTG Status (read only)  
Section 9.5.3.1  
reserved  
-
OTG Interrupt Latch (set)  
OTG Interrupt Latch (clear)  
OTG Interrupt Enable Fall (set)  
OTG Interrupt Enable Fall (clear)  
OTG Interrupt Enable Rise (set)  
OTG Interrupt Enable Rise (clear)  
Section 9.5.3.2  
Section 9.5.3.3  
Section 9.5.3.4  
OTG Timer register  
0388h  
038Ah  
038Ch  
038Eh  
OTG Timer (Lower word: set)  
Section 9.5.4.1  
OTG Timer (Lower word: clear)  
OTG Timer (Higher word: set)  
OTG Timer (Higher word: clear)  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
89 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9.5.1 Device Identification registers  
9.5.1.1 Vendor ID register  
Table 82 shows the bit description of the register.  
Table 82. Vendor ID - Vendor Identifier (address 0370h) register: bit description  
Bit  
Symbol  
Access  
Value  
Description  
NXP Semiconductors Vendor ID  
15 to 0  
VENDOR_ID[15:0]  
R
04CCh  
9.5.1.2 Product ID register (R: 0372h)  
The bit description of the register is given in Table 83.  
Table 83. Product ID - Product Identifier register (address 0372h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
15 to 0  
PRODUCT_ID[15:0]  
R
1761h  
Product ID of the SAF1761  
9.5.2 OTG Control register  
9.5.2.1 OTG Control register  
Table 84 shows the bit allocation of the register.  
Table 84. OTG Control register (address set: 0374h, clear: 0376h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
OTG_  
DISABLE  
OTG_SE0_  
EN  
BDIS_  
ACON_EN  
Reset  
Access  
Bit  
0
R/S/C  
7
0
R/S/C  
6
0
R/S/C  
5
0
R/S/C  
4
0
R/S/C  
3
0
R/S/C  
2
0
R/S/C  
1
0
R/S/C  
0
Symbol  
SW_SEL_  
HC_DC  
VBUS_  
CHRG  
VBUS_  
DISCHRG  
VBUS_  
DRV  
SEL_CP_  
EXT  
DM_PULL  
DOWN  
DP_PULL  
DOWN  
DP_PULL  
UP  
Reset  
1
0
0
0
0
1
1
0
Access  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
[1] The reserved bits should always be written with the reset value.  
Table 85. OTG Control register (address set: 0374h, clear: 0376h) bit description  
Bit[1]  
15 to 11  
10  
Symbol  
Description  
-
reserved for future use  
OTG_  
DISABLE  
0 — OTG functionality enabled  
1 — OTG disabled; pure host or peripheral  
9
8
OTG_SE0_EN This bit is used by the host controller to send SE0 on remote connect.  
0 — No SE0 sent on remote connect detection  
1 — SE0 (bus reset) sent on remote connect detection  
Remark: This bit is normally set when the B-device goes into the B_WAIT_ACON state  
(recommended sequence: LOC_CONN = 0 DELAY 0 ms OTG_SEQ_EN = 1 →  
SEL_HC_DC = 0) and is cleared when it comes out of the B_WAIT_ACON state.  
BDIS_ACON_ Enables the A-device to connect if the B-device disconnect is detected  
EN  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
90 of 165  
 
 
 
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 85. OTG Control register (address set: 0374h, clear: 0376h) bit description …continued  
Bit[1]  
Symbol  
Description  
7
SW_SEL_HC In software HNP mode, this bit selects between the host controller and the peripheral controller.  
_
DC  
0 — Host controller connected to ATX  
1 — Peripheral controller connected to ATX  
This bit is set to logic 1 by hardware when there is an event corresponding to the BDIS_ACON  
interrupt. BDIS_ACON_EN is set and there is an automatic pull-up connection on remote  
disconnect.  
6
5
VBUS_CHRG Connect VBUS to VCC(I/O) through a resistor  
VBUS_  
Discharge VBUS to ground through a resistor  
DISCHRG  
4
3
VBUS_DRV  
Drive VBUS to 5 V using the charge pump  
SEL_CP_EXT 0 — Internal charge pump selected  
1 — External charge pump selected  
2
1
0
DM_  
PULLDOWN  
DM pull-down:  
0 — Disable  
1 — Enable  
DP_  
PULLDOWN  
DP pull-down:  
0 — Disable  
1 — Enable  
DP_PULLUP 0 — The pull-up resistor is disconnected from the DP line. The data line pulsing is stopped.  
1 — An internal 1.5 kΩ pull-up resistor is present on the DP line. The data line pulsing is started.  
Remark: When port 1 is in peripheral mode or it plays the role of a peripheral while the OTG  
functionality is enabled, it depends on the setting of DP_PULLUP and the VBUS sensing signal to  
connect the DP line to HIGH through a pull-up resister. VBUS is an internal signal. When 5 V is  
present on the VBUS pin, VBUS = logic 1.  
[1] To use port 1 as a host controller, write 0080 0018h to this register after power-on. To use port 1 as a peripheral controller, write  
0006 0400h to this register after power-on.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
91 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9.5.3 OTG Interrupt registers  
9.5.3.1 OTG Status register  
This register indicates the current state of the signals that can generate an interrupt. The  
bit allocation of the register is given in Table 86.  
Table 86. OTG Status register (address 0378h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved  
B_SE0_  
SRP  
Reset  
Access  
Bit  
0
R
7
0
R
6
0
R
5
0
R
4
0
R
3
0
0
R
1
0
R
0
R
2
Symbol  
B_SESS_  
END  
reserved  
RMT_  
CONN  
ID  
DP_SRP  
A_B_SESS VBUS_VLD  
_VLD  
[1]  
[1]  
[1]  
[1]  
Reset  
0
0
0
0
Access  
R
R
R
R
R
R
R
R
[1] The reset value depends on the corresponding OTG status. For details, see Table 87.  
Table 87. OTG Status register (address 0378h) bit description  
Bit  
Symbol  
Description  
15 to 9  
-
reserved for future use  
2 ms of SE0 detected in the B-idle state  
VBUS < 0.8 V  
8
B_SE0_SRP  
B_SESS_END  
-
7
6 to 5  
reserved  
4
3
2
1
0
RMT_CONN  
ID  
Remote connect detection  
ID pin digital input  
DP_SRP  
DP asserted during SRP  
A_B_SESS_VLD A-session valid for the A-device. B-session valid for the B-device.  
VBUS_VLD A-device VBUS valid comparator, indicates VBUS > 4.4 V  
9.5.3.2 OTG Interrupt Latch register  
The OTG Interrupt Latch register indicates the source that generated the interrupt. The  
status of this register bits depends on the settings of the Interrupt Enable Fall and Interrupt  
Enable Rise registers, and the occurrence of the respective events.  
The bit allocation of the register is given in Table 88.  
Table 88. OTG Interrupt Latch register (address set: 037Ch, clear: 037Eh) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
OTG_TMR_  
TIMEOUT  
B_SE0_  
SRP  
Reset  
0
0
0
0
0
0
0
0
Access  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R
R/S/C  
R/S/C  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
92 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Bit  
7
6
5
4
3
2
1
0
Symbol  
B_SESS_  
END  
BDIS_  
ACON  
OTG_  
RESUME  
RMT_  
CONN  
ID  
DP_SRP  
A_B_SESS VBUS_VLD  
_VLD  
Reset  
0
0
0
0
0
0
0
0
Access  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
[1] The reserved bits should always be written with the reset value.  
Table 89. OTG Interrupt Latch register (address set: 037Ch, clear: 037Eh) bit description  
Bit  
Symbol  
Description  
15 to 10  
-
reserved for future use  
9
8
7
6
5
4
3
2
1
0
OTG_TMR_TIMEOUT OTG timer time-out  
B_SE0_SRP  
B_SESS_END  
BDIS_ACON  
OTG_RESUME  
RMT_CONN  
ID  
2 ms of SE0 detected in the B-idle state  
VBUS < 0.8 V  
Indicates that the BDIS_ACON event has occurred  
J K resume change detected  
Remote connect detection  
Indicates change on pin ID  
DP asserted during SRP  
DP_SRP  
A_B_SESS_VLD  
VBUS_VLD  
A-session valid for the A-device. B-session valid for the B-device.  
Indicates change in the VBUS_VLD status  
9.5.3.3 OTG Interrupt Enable Fall register  
Table 90 shows the bit allocation of this register that enables interrupts on transition from  
HIGH-to-LOW.  
Table 90. OTG Interrupt Enable Fall register (address set: 0380h, clear: 0382h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
B_SE0_  
SRP  
Reset  
Access  
Bit  
0
R/S/C  
7
0
R/S/C  
6
0
R/S/C  
5
0
R/S/C  
4
0
R/S/C  
3
0
R/S/C  
2
0
R/S/C  
1
0
R/S/C  
0
Symbol  
B_SESS_  
END  
reserved  
RMT_  
CONN  
ID  
reserved  
A_B_SESS VBUS_VLD  
_VLD  
Reset  
0
0
0
0
0
0
0
0
Access  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
[1] The reserved bits should always be written with the reset value.  
Table 91. OTG Interrupt Enable Fall register (address set: 0380h, clear: 0382h) bit description  
Bit  
Symbol  
Description  
15 to 9  
8
-
reserved for future use  
B_SE0_SRP  
IRQ asserted when the bus exits from at least 2 ms of the SE0 state  
7
B_SESS_END  
-
IRQ asserted when VBUS > 0.8 V  
reserved  
6 to 5  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
93 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 91. OTG Interrupt Enable Fall register (address set: 0380h, clear: 0382h) bit description …continued  
Bit  
4
Symbol  
Description  
RMT_CONN  
IRQ asserted on RMT_CONN removal  
IRQ asserted on the ID pin transition from HIGH to LOW  
reserved  
3
ID  
-
2
1
A_B_SESS_VLD IRQ asserted on removing A-session valid for the A-device or B-session valid for the  
B-device condition  
0
VBUS_VLD  
IRQ asserted on the falling edge of VBUS  
9.5.3.4 OTG Interrupt Enable Rise register  
This register (see Table 92 for bit allocation) enables interrupts on transition from  
LOW-to-HIGH.  
Table 92. OTG Interrupt Enable Rise register (address set: 0384h, clear: 0386h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
OTG_TMR_  
TIMEOUT  
B_SE0_  
SRP  
Reset  
Access  
Bit  
0
R/S/C  
7
0
R/S/C  
6
0
0
R/S/C  
4
0
R/S/C  
3
0
R/S/C  
2
0
R/S/C  
1
0
R/S/C  
0
R/S/C  
5
Symbol  
B_SESS_  
END  
BDIS_  
ACON  
OTG_  
RESUME  
RMT_  
CONN  
ID  
DP_SRP  
A_B_SESS VBUS_VLD  
_VLD  
Reset  
0
0
0
0
0
0
0
0
Access  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
[1] The reserved bits should always be written with the reset value.  
Table 93. OTG Interrupt Enable Rise register (address set: 0384h, clear: 0386h) bit description  
Bit  
Symbol  
Description  
15 to 10  
-
reserved  
9
8
7
6
5
4
3
2
1
OTG_TMR_TIMEOUT IRQ asserted on OTG timer time-out  
B_SE0_SRP  
B_SESS_END  
BDIS_ACON  
OTG_RESUME  
RMT_CONN  
ID  
IRQ asserted when at least 2 ms of SE0 is detected in the B-idle state  
IRQ asserted when VBUS is less than 0.8 V  
IRQ asserted on BDIS_ACON condition  
IRQ asserted on J-K resume  
IRQ asserted on RMT_CONN  
IRQ asserted on the ID pin transition from LOW to HIGH  
IRQ asserted when DP is asserted during SRP  
DP_SRP  
A_B_SESS_VLD  
IRQ asserted on the A-session valid for the A-device or on the B-session valid for the  
B-device  
0
VBUS_VLD  
IRQ asserted on the rising edge of VBUS  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
94 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9.5.4 OTG Timer register  
9.5.4.1 OTG Timer register  
This is a 32-bit register organized as two 16-bit fields. These two fields have separate set  
and clear addresses. Table 94 shows the bit allocation of the register.  
Table 94. OTG Timer register (address low word set: 0388h, low word clear: 038Ah; high word set: 038Ch, high  
word clear: 038Eh) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
START_  
TMR  
reserved[1]  
Reset  
Access  
Bit  
0
0
0
0
0
0
0
0
R/S/C  
23  
R/S/C  
22  
R/S/C  
21  
R/S/C  
20  
R/S/C  
19  
R/S/C  
18  
R/S/C  
17  
R/S/C  
16  
Symbol  
Reset  
Access  
Bit  
TIMER_INIT_VALUE[23:16]  
0
0
0
0
0
0
0
R/S/C  
9
0
R/S/C  
8
R/S/C  
15  
R/S/C  
14  
R/S/C  
13  
R/S/C  
12  
R/S/C  
11  
R/S/C  
10  
Symbol  
Reset  
Access  
Bit  
TIMER_INIT_VALUE[15:8]  
0
R/S/C  
7
0
R/S/C  
6
0
R/S/C  
5
0
R/S/C  
4
0
R/S/C  
3
0
R/S/C  
2
0
R/S/C  
1
0
R/S/C  
0
Symbol  
Reset  
Access  
TIMER_INIT_VALUE[7:0]  
0
0
0
0
0
0
0
0
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
R/S/C  
[1] The reserved bits should always be written with the reset value.  
Table 95. OTG Timer register (address low word set: 0388h, low word clear: 038Ah; high word set: 038Ch, high  
word clear: 038Eh) bit description  
Bit  
Symbol  
Description  
31  
START_TMR  
This is the start/stop bit of the OTG timer. Writing logic 1 will cause the OTG timer to  
load TMR_INIT_VALUE into the counter and start to count. Writing logic 0 will stop the  
timer. This bit is automatically cleared when the OTG timer is timed out.  
0 — stop the timer  
1 — start the timer  
reserved  
30 to 24  
23 to 0  
-
TIMER_INIT_  
VALUE[23:0]  
These bits define the initial value used by the OTG timer. The timer interval is 0.01 ms.  
Maximum time allowed is 167.772 s.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
95 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10. Peripheral controller  
10.1 Introduction  
The USB protocol and data transfer operations of the peripheral controller are executed  
using external firmware. The external microcontroller or microprocessor can access the  
peripheral controller-specific registers through the local bus interface. The transfer of data  
between a microprocessor and the peripheral controller can be done in PIO mode or  
programmed DMA mode.  
10.1.1 Direct Memory Access (DMA)  
The DMA controller of the SAF1761 is used to transfer data between the system memory  
and endpoints buffers. It is a slave DMA controller that requires an external DMA master  
to control the transfer.  
10.1.1.1 DMA for the IN endpoint  
When the internal DMA is enabled and at least one buffer is free, the DC_DREQ line is  
asserted. The external DMA controller then starts negotiating for control of the bus. As  
soon as it has access, it asserts the DC_DACK line and starts writing data. The burst  
length is programmable. When the number of bytes equal to the burst length has been  
written, the DC_DREQ line is de-asserted. As a result, the DMA controller de-asserts the  
DC_DACK line and releases the bus. At that moment, the whole cycle restarts for the next  
burst. When the buffer is full, the DC_DREQ line is de-asserted and the buffer is validated,  
which means that it is sent to the host at the next IN token. When the DMA transfer is  
terminated, the buffer is also validated, even if it is not full.  
10.1.1.2 DMA for the OUT endpoint  
When the internal DMA is enabled and at least one buffer is full, the DC_DREQ line is  
asserted. The external DMA controller then starts negotiating for control of the bus. As  
soon as it has access, it asserts the DC_DACK line and starts reading data. The burst  
length is programmable. When the number of bytes equal to the burst length has been  
read, the DC_DREQ line is de-asserted. As a result, the DMA controller de-asserts the  
DC_DACK line and releases the bus. At that moment, the whole cycle restarts for the next  
burst. When all the data is read, the DC_DREQ line is de-asserted and the buffer is  
cleared. This means that it can be overwritten when a new packet arrives.  
10.1.1.3 DMA initialization  
To reduce the power consumption, a controllable clock that drives DMA controller circuits  
is turned off, by default. If the DMA functionality is required by an application, DMACLKON  
(bit 9) of the Mode register (address: 020Ch) must be enabled during initialization of the  
peripheral controller. If DMA is not required by the application, DMACLKON can be  
permanently disabled to save current. The burst counter, DMA bus width, and the polarity  
of DC_DREQ and DC_DACK must accordingly be set.  
The SAF1761 supports only counter mode DMA transfer. To enable counter mode, ensure  
that DIS_XFER_CNT in the DcDMAConfiguration register (address: 0238h) is set to zero.  
Before starting the DMA transfer, preset the interrupt enable bit IEDMA in the Interrupt  
Enable register (address: 0214h) and the DMA Interrupt Enable register (address: 0254h).  
The SAF1761 supports two interrupt trigger modes: level and edge. The pulse width,  
which in edge mode, is determined by setting the Interrupt Pulse Width register (address:  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
96 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
0280h). The default value is 1Eh, which indicates that the interrupt pulse width is 1 μs.  
The minimum interrupt pulse width is approximately 30 ns when set to logic 1. Do not  
write a zero to this register.  
The interrupt polarity must also be correctly set.  
Remark: DMA can apply to all endpoints on the chip. It, however, can only take place for  
one endpoint at a time. The selected endpoint is assigned by setting the endpoint number  
in the DMA Endpoint register (address: 0258h). It will also internally redirect the endpoint  
buffer of the selected endpoint to the DMA controller bus. In addition, it requires a  
preceding process to program the endpoint type, the endpoint maximum packet size, and  
the direction of the endpoint.  
When setting the Endpoint Index register (address: 022Ch), the endpoint buffer of the  
selected endpoint is directed to the internal CPU bus for the PIO access. Therefore, it is  
required to reconfigure the Endpoint Index register with endpoint number, which is not an  
endpoint number in use for the DMA transfer to avoid any confusion.  
10.1.1.4 Starting DMA  
Dynamically assign the DMA Transfer Counter register (address: 0234h) for each DMA  
transfer.  
The transfer will end once transfer counter reaches zero. Bit DMA_XFER_OK in the DMA  
Interrupt Reason register (address: 0250h) will be asserted to indicate that the DMA  
transfer has successfully stopped. If the transfer counter is larger than the burst counter,  
the DC_DREQ signal will drop at the end of each burst transfer. DC_DREQ will reassert at  
the beginning of each burst. For a 32-bit DMA transfer, the minimum burst length is  
4 bytes. This means that the burst length is only one DMA cycle. Therefore, DC_DREQ  
and DC_DACK will toggle by each DMA cycle. For a 16-bit DMA transfer, the minimum  
burst length is 2 bytes.  
Setting bit GDMA read or GDMA write in the DMA Command register (address: 0230h)  
will start the DMA transfer.  
Remark: DACK and CS_N should not be active at the same time.  
10.1.1.5 DMA stop and interrupt handling  
The DMA transfer will either successfully be completed or terminated, which can be  
identified by reading the status in the DcInterrupt register (address: 0218h) and DMA  
Interrupt Reason register (address: 0250h).  
If bit DMA_XFER_OK in the DMA Interrupt Reason register is asserted, it means that the  
transfer counter has reached zero and the DMA transfer is successfully stopped.  
If bit INT_EOT in the DMA Interrupt Reason register is set, it indicates that a short or  
empty packet is received. This means that DMA transfer terminated. Normally, for an OUT  
transfer, it means that remote host wishes to terminate the DMA transfer.  
If both bits DMA_XFER_OK and INT_EOT are set, it means that the transfer counter  
reached zero and the last packet of the transfer is a short packet. Therefore, the DMA  
transfer is successfully stopped.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
97 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Setting bit GDMA Stop in the DMA Command register (address: 0230h) will force the  
DMA to stop and bit GDMA_STOP in the DMA Interrupt Reason register (address: 0250h)  
will be set to indicate this event.  
Setting bit Reset DMA in the DMA Command register (address: 0230h) will force the DMA  
to stop and initialize the DMA core to its power-on reset state.  
10.2 Endpoint description  
Each USB peripheral is logically composed of several independent endpoints. An  
endpoint acts as a terminus of a communication flow between the USB host and the USB  
peripheral. At design time, each endpoint is assigned a unique endpoint identifier; see  
Table 96. The combination of the peripheral address (given by the host during  
enumeration), the endpoint number, and the transfer direction allows each endpoint to be  
uniquely referenced.  
The peripheral controller has 8 kB of internal FIFO memory, which is shared among the  
enabled USB endpoints. The two control endpoints are fixed 64 bytes long. Any of the  
seven IN and seven OUT endpoints can separately be enabled or disabled. The endpoint  
type (interrupt, isochronous or bulk) and packet size of these endpoints can individually be  
configured, depending on the requirements of the application. Optional double buffering  
increases the data throughput of these data endpoints.  
Table 96. Endpoint access and programmability  
Endpoint  
identifier  
Maximum packet  
size  
Double buffering Endpoint type  
Direction  
EP0SETUP  
EP0RX  
EP0TX  
EP1RX  
EP1TX  
EP2RX  
EP2TX  
EP3RX  
EP3TX  
EP4RX  
EP4TX  
EP5RX  
EP5TX  
EP6RX  
EP6TX  
EP7RX  
EP7TX  
8 bytes (fixed)  
64 bytes (fixed)  
64 bytes (fixed)  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
no  
set-up token  
OUT  
OUT  
IN  
no  
control OUT  
no  
control IN  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
yes  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
programmable  
OUT  
IN  
OUT  
IN  
OUT  
IN  
OUT  
IN  
OUT  
IN  
OUT  
IN  
OUT  
IN  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
98 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10.3 Peripheral controller-specific registers  
Table 97. Peripheral controller-specific register overview  
Address Register  
Reset value  
References  
Initialization registers  
0200h  
020Ch  
0210h  
0212h  
0214h  
0300h  
0374h  
Address  
00h  
Section 10.3.1  
Section 10.3.2  
Section 10.3.3  
Section 10.3.4  
Section 10.3.5  
Section 8.3.1  
Section 9.5.2.1  
Mode  
0000h  
Interrupt Configuration  
Debug  
FCh  
0008h  
DcInterruptEnable  
HW Mode Control  
OTG Control  
0000 0000h  
0000 0000h  
0000 0086h  
Data flow registers  
022Ch  
0228h  
0220h  
021Ch  
021Eh  
0204h  
0208h  
Endpoint Index  
20h  
Section 10.4.1  
Section 10.4.2  
Section 10.4.3  
Section 10.4.4  
Section 10.4.5  
Section 10.4.6  
Section 10.4.7  
Control Function  
Data Port  
00h  
0000 0000h  
0000h  
00h  
Buffer Length  
DcBufferStatus  
Endpoint MaxPacketSize  
Endpoint Type  
0000h  
0000h  
DMA registers  
0230h  
0234h  
0238h  
023Ch  
0250h  
0254h  
0258h  
0264h  
DMA Command  
FFh  
Section 10.5.2  
Section 10.5.3  
Section 10.5.4  
Section 10.5.5  
Section 10.5.6  
Section 10.5.7  
Section 10.5.8  
Section 10.5.9  
DMA Transfer Counter  
DcDMAConfiguration  
DMA Hardware  
0000 0000h  
0001h  
04h  
DMA Interrupt Reason  
DMA Interrupt Enable  
DMA Endpoint  
0000h  
0000h  
00h  
DMA Burst Counter  
0004h  
General registers  
0218h  
0270h  
0274h  
0278h  
027Ch  
0280h  
0284h  
DcInterrupt  
0000 0000h  
0001 1582h  
0000h  
Section 10.6.1  
Section 10.6.2  
Section 10.6.3  
Section 10.6.4  
Section 10.6.5  
Section 10.6.6  
Section 10.6.7  
DcChipID  
Frame Number  
DcScratch  
0000h  
Unlock Device  
Interrupt Pulse Width  
Test Mode  
0000h  
001Eh  
00h  
10.3.1 Address register  
This register sets the USB assigned address and enables the USB peripheral. Table 98  
shows the bit allocation of the register.  
The DEVADDR[6:0] bits will be cleared whenever a bus reset, a power-on reset or a soft  
reset occurs. The DEVEN bit will be cleared whenever a power-on reset or a soft reset  
occurs, and will remain unchanged on a bus reset.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
99 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
In response to standard USB request SET_ADDRESS, firmware must write the (enabled)  
peripheral address to the Address register, followed by sending an empty packet to the  
host. The new peripheral address is activated when the peripheral receives  
acknowledgment from the host for the empty packet token.  
Table 98. Address register (address 0200h) bit allocation  
Bit  
7
DEVEN  
0
6
5
4
3
2
1
0
Symbol  
Reset  
DEVADDR[6:0]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
unchanged  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
Table 99. Address register (address 0200h) bit description  
Bit  
Symbol  
Description  
7
DEVEN  
Device Enable: Logic 1 enables the device. The device will not respond to the host, unless  
this bit is set.  
6 to 0  
DEVADDR[6:0]  
Device Address: This field specifies the USB device peripheral.  
10.3.2 Mode register  
This register consists of 2 bytes (bit allocation: see Table 100).  
The Mode register controls resume, suspend and wake-up behavior, interrupt activity, soft  
reset and clock signals.  
Table 100. Mode register (address 020Ch) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
DMACLK VBUSSTAT  
ON  
Reset  
0
0
0
0
0
0
0
0
0
0
0
0
0[2]  
0[2]  
R/W  
0
Bus reset  
Access  
Bit  
0
R/W  
0
R/W  
R/W  
R/W  
4
R/W  
3
R/W  
2
R/W  
7
6
5
1
Symbol  
Reset  
CLKAON  
0
SNDRSU  
GOSUSP  
SFRESET GLINTENA WKUPCS  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
unchanged  
R/W  
unchanged  
R/W  
unchanged unchanged  
R/W R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
[2] The value depends on the status of the VBUS pin.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
100 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 101. Mode register (address 020Ch) bit description  
Bit  
Symbol  
Description  
15 to 10  
9
-
reserved  
DMACLKON  
DMA Clock On:  
1 — Supply clock to the DMA circuit.  
0 — Power saving mode. The DMA circuit will stop completely to save power.  
BUS Status: This bit reflects the VBUS pin status.  
8
7
VBUSSTAT  
CLKAON  
V
When implementing a pure host or peripheral, the OTG_DISABLE bit in the OTG Control  
register (374h) must be set to logic 1 so that the VBUSSTAT bit is updated with the correct  
value.  
Clock Always On:  
1 — Enable the Clock-Always-On feature  
0 — Disable the Clock-Always-On feature  
When the Clock-Always-On feature is disabled, a GOSUSP event can stop the clock. The  
clock is stopped after a delay of approximately 2 ms. Therefore, the peripheral controller will  
consume less power.  
If the Clock-Always-On feature is enabled, clocks are always running and the GOSUSP event  
is unable to stop the clock while the peripheral controller enters the suspend state.  
6
SNDRSU  
Send Resume: Writing logic 1, followed by logic 0 will generate an upstream resume signal of  
10 ms duration, after a 5 ms delay.  
5
4
GOSUSP  
SFRESET  
Go Suspend: Writing logic 1, followed by logic 0 will activate suspend mode.  
Soft Reset: Writing logic 1, followed by logic 0 will enable a software-initiated reset to the  
SAF1761. A soft reset is similar to a hardware-initiated reset using the RESET_N pin.  
3
GLINTENA  
Global Interrupt Enable: Logic 1 enables all interrupts. Individual interrupts can be masked by  
clearing the corresponding bits in the DcInterruptEnable register.  
When this bit is not set, an unmasked interrupt will not generate an interrupt trigger on the  
interrupt pin. If the global interrupt, however, is enabled while there is any pending unmasked  
interrupt, an interrupt signal will immediately be generated on the interrupt pin. If the interrupt is  
set to pulse mode, the interrupt events that were generated before the global interrupt is  
enabled may be dropped.  
2
WKUPCS  
-
Wake up on Chip Select: Logic 1 enables wake-up through a valid register read on the  
SAF1761. A read will invoke the chip clock to restart. A write to the register before the clock is  
stable may cause malfunctioning.  
1 to 0  
reserved  
10.3.3 Interrupt Configuration register  
This 1 byte register determines the behavior and polarity of the INT output. The bit  
allocation is shown in Table 102. When the USB SIE receives or generates an ACK, NAK  
or NYET, it will generate interrupts depending on three Debug mode fields.  
CDBGMOD[1:0] — Interrupts for the control endpoint 0  
DDBGMODIN[1:0] — Interrupts for the DATA IN endpoints 1 to 7  
DDBGMODOUT[1:0] — Interrupts for the DATA OUT endpoints 1 to 7  
The Debug mode settings for CDBGMOD, DDBGMODIN and DDBGMODOUT allow you  
to individually configure when the SAF1761 sends an interrupt to the external  
microprocessor. Table 104 lists the available combinations.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
101 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Bit INTPOL controls the signal polarity of the INT output: active HIGH or LOW, rising or  
falling edge. For level-triggering, bit INTLVL must be made logic 0. By setting INTLVL to  
logic 1, an interrupt will generate a pulse of 60 ns (edge-triggering).  
Table 102. Interrupt Configuration register (address 0210h) bit allocation  
Bit  
7
6
5
4
3
2
1
INTLVL  
0
0
INTPOL  
0
Symbol  
Reset  
CDBGMOD[1:0]  
DDBGMODIN[1:0]  
DDBGMODOUT[1:0]  
1
1
1
1
1
1
1
1
1
1
1
1
Bus reset  
Access  
unchanged unchanged  
R/W R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
Table 103. Interrupt Configuration register (address 0210h) bit description  
Bit  
Symbol  
Description  
7 to 6  
5 to 4  
3 to 2  
1
CDBGMOD[1:0]  
DDBGMODIN[1:0]  
DDBGMODOUT[1:0]  
INTLVL  
Control 0 Debug Mode: For values, see Table 104  
Data Debug Mode IN: For values, see Table 104  
Data Debug Mode OUT: For values, see Table 104  
Interrupt Level: Selects signaling mode on output INT: 0 = level; 1 = pulsed. In pulsed  
mode, an interrupt produces a 60 ns pulse. Bus reset value: unchanged.  
0
INTPOL  
Interrupt Polarity: Selects the signal polarity on output INT: 0 = active LOW; 1 = active  
HIGH. Bus reset value: unchanged.  
Table 104. Debug mode settings  
Value  
00h  
CDBGMOD  
DDBGMODIN  
DDBGMODOUT  
interrupt on all ACK and NAK  
interrupt on all ACK and NAK  
interrupt on all ACK, NYET and NAK  
01h  
interrupt on all ACK  
interrupt on ACK  
interrupt on ACK and NYET  
1Xh  
interrupt on all ACK and first NAK[1] interrupt on all ACK and first NAK[1] interrupt on all ACK, NYET and first  
NAK[1]  
[1] First NAK: The first NAK on an IN or OUT token after a previous ACK response.  
10.3.4 Debug register  
This register can be accessed using address 0212h in 16-bit bus access mode or using  
the upper-two bytes of the Interrupt Configuration register in 32-bit bus access mode. For  
the bit allocation, see Table 105.  
Table 105. Debug register (address 0212h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
R/W  
7
R/W  
6
R/W  
5
R/W  
R/W  
3
R/W  
2
R/W  
1
R/W  
4
0
DEBUG  
0
Symbol  
Reset  
reserved[1]  
0
0
0
0
0
0
0
0
1
1
0
0
0
0
Bus reset  
Access  
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
102 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 106. Debug register (address 0212h) bit allocation  
Bit  
Symbol  
-
Description  
15 to 1  
0
reserved  
DEBUG  
Always set this bit to logic 0 in both 16-bit and 32-bit accesses.  
10.3.5 DcInterruptEnable register  
This register enables or disables individual interrupt sources. The interrupt for each  
endpoint can individually be controlled through the associated IEPnRX or IEPnTX bits,  
here n represents the endpoint number. All interrupts can globally be disabled through  
bit GLINTENA in the Mode register (see Table 100).  
An interrupt is generated when the USB SIE receives or generates an ACK or NAK on the  
USB bus. The interrupt generation depends on Debug mode settings of bit fields  
CDBGMOD[1:0], DDBGMODIN[1:0] and DDBGMODOUT[1:0]. All data IN transactions  
use the Transmit buffers (TX) that are handled by DDBGMODIN bits. All data OUT  
transactions go through the Receive buffers (RX) that are handled by DDBGMODOUT  
bits. Transactions on control endpoint 0 (IN, OUT and SETUP) are handled by  
CDBGMOD bits.  
Interrupts caused by events on the USB bus (SOF, suspend, resume, bus reset, set up  
and high-speed status) can also be individually controlled. A bus reset disables all  
enabled interrupts, except bit IEBRST (bus reset) that remains unchanged.  
The DcInterruptEnable register consists of 4 bytes. The bit allocation is given in  
Table 107.  
Table 107. DcInterruptEnable - Device Controller Interrupt Enable register (address 0214h) bit allocation  
Bit  
31  
30  
29  
28  
reserved[1]  
27  
26  
25  
24  
Symbol  
Reset  
IEP7TX  
IEP7RX  
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
0
0
0
0
0
0
R/W  
17  
0
R/W  
16  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
23  
22  
21  
20  
19  
18  
Symbol  
Reset  
IEP6TX  
IEP6RX  
IEP5TX  
IEP5RX  
IEP4TX  
IEP4RX  
IEP3TX  
0
IEP3RX  
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
0
0
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
9
R/W  
8
15  
14  
13  
12  
11  
10  
Symbol  
Reset  
IEP2TX  
IEP2RX  
IEP1TX  
IEP1RX  
IEP0TX  
IEP0RX  
reserved[1] IEP0SETUP  
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
0
R/W  
6
0
0
0
0
0
R/W  
1
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
7
5
4
3
2
0
Symbol  
Reset  
IEVBUS  
IEDMA  
0
IEHS_STA  
IERESM  
IESUSP  
IEPSOF  
IESOF  
0
IEBRST  
1
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
0
0
unchanged  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
103 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
[1] The reserved bits should always be written with the reset value.  
Table 108. DcInterruptEnable - Device Controller Interrupt Enable register (address 0214h)  
bit description  
Bit  
31 to 26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
10  
9
Symbol  
-
Description  
reserved  
EP7TX  
EP7RX  
EP6TX  
EP6RX  
EP5TX  
EP5RX  
EP4TX  
EP4RX  
EP3TX  
EP3RX  
EP2TX  
EP2RX  
EP1TX  
IEP1RX  
IEP0TX  
IEP0RX  
-
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the indicated endpoint  
logic 1 enables interrupt from the control IN endpoint 0  
logic 1 enables interrupt from the control OUT endpoint 0  
reserved  
8
IEP0SETUP logic 1 enables interrupt for the set-up data received on endpoint 0  
7
IEVBUS  
IEDMA  
logic 1 enables interrupt for VBUS sensing  
6
logic 1 enables interrupt on detecting a DMA status change  
logic 1 enables interrupt on detecting a high-speed status change  
logic 1 enables interrupt on detecting a resume state  
logic 1 enables interrupt on detecting a suspend state  
logic 1 enables interrupt on detecting a pseudo SOF  
logic 1 enables interrupt on detecting an SOF  
5
IEHS_STA  
IERESM  
IESUSP  
IEPSOF  
IESOF  
4
3
2
1
0
IEBRST  
logic 1 enables interrupt on detecting a bus reset  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
104 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10.4 Data flow registers  
10.4.1 Endpoint Index register  
The Endpoint Index register selects a target endpoint for register access by the  
microcontroller. The register consists of 1 byte, and the bit allocation is shown in  
Table 109.  
The following registers are indexed:  
Buffer Length  
DcBufferStatus  
Control Function  
Data Port  
Endpoint MaxPacketSize  
Endpoint Type  
For example, to access the OUT data buffer of endpoint 1 using the Data Port register, the  
Endpoint Index register must be written first with 02h.  
Remark: The Endpoint Index register and the DMA Endpoint register must not point to the  
same endpoint, irrespective of IN and OUT.  
Table 109. Endpoint Index register (address 022Ch) bit allocation  
Bit  
7
6
5
EP0SETUP  
1
4
3
2
1
0
DIR  
0
Symbol  
Reset  
reserved[1]  
ENDPIDX[3:0]  
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
unchanged  
R/W  
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 110. Endpoint Index register (address 022Ch) bit description  
Bit  
7 to 6  
5
Symbol  
Description  
-
reserved  
EP0SETUP  
Endpoint 0 Set up: Selects the SETUP buffer for endpoint 0.  
0 — Data buffer  
1 — SETUP buffer  
Must be logic 0 for access to endpoints other than set-up token buffer.  
4 to 1  
0
ENDPIDX[3:0] Endpoint Index: Selects the target endpoint for register access of buffer length, buffer status,  
control function, data port, endpoint type and MaxPacketSize.  
DIR  
Direction bit: Sets the target endpoint as IN or OUT.  
0 — Target endpoint refers to OUT (RX) FIFO  
1 — Target endpoint refers to IN (TX) FIFO  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
105 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 111. Addressing of endpoint buffers  
Buffer name  
SETUP  
EP0SETUP  
ENDPIDX  
00h  
DIR  
0
1
0
0
0
0
Control OUT  
Control IN  
Data OUT  
Data IN  
00h  
0
00h  
1
0Xh  
0
0Xh  
1
10.4.2 Control Function register  
The Control Function register performs the buffer management on endpoints. It consists of  
1 byte, and the bit configuration is given in Table 112. The register bits can stall, clear or  
validate any enabled data endpoint. Before accessing this register, the Endpoint Index  
register must first be written to specify the target endpoint.  
Table 112. Control Function register (address 0228h) bit allocation  
Bit  
7
6
5
4
CLBUF  
0
3
VENDP  
0
2
DSEN  
0
1
0
STALL  
0
Symbol  
Reset  
reserved[1]  
STATUS  
0
0
0
0
0
0
0
0
Bus reset  
Access  
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
W
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 113. Control Function register (address 0228h) bit description  
Bit Symbol Description  
7 to 5 - reserved  
4
CLBUF  
Clear Buffer: Logic 1 clears the TX or RX buffer of the indexed endpoint. The TX or RX buffer is  
automatically cleared once the endpoint is completely read. This bit is set only when it is necessary to  
forcefully clear the buffer.  
Remark: If using double buffer, to clear both the buffers issue the CLBUF command two times.  
3
2
VENDP  
DSEN  
Validate Endpoint: Logic 1 validates data in the TX FIFO of an IN endpoint for sending on the next IN  
token. In general, the endpoint is automatically validated when its FIFO byte count has reached the  
endpoint MaxPacketSize. This bit is set only when it is necessary to validate the endpoint with the FIFO  
byte count that is below the Endpoint MaxPacketSize.  
Data Stage Enable: This bit controls the response of the SAF1761 to a control transfer. After the  
completion of the set-up stage, firmware must determine whether a data stage is required. For control  
OUT, firmware will set this bit and the SAF1761 goes into the data stage. Otherwise, the SAF1761 will  
NAK the data stage transfer. For control IN, firmware will set this bit before writing data to the TX FIFO  
and validate the endpoint. If no data stage is required, firmware can immediately set the STATUS bit after  
the set-up stage.  
Remark: The DSEN bit is cleared once the OUT token is acknowledged by the device and the IN token  
is acknowledged by the PC host. This bit cannot be read back and reading this bit will return logic 0.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
106 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 113. Control Function register (address 0228h) bit description …continued  
Bit  
Symbol Description  
1
STATUS Status Acknowledge: Only applicable for control IN and OUT.  
This bit controls the generation of ACK or NAK during the status stage of a SETUP transfer. It is  
automatically cleared when the status stage is completed and a SETUP token is received. No interrupt  
signal will be generated.  
0 — Sends NAK  
1 — Sends an empty packet following the IN token (peripheral-to-host) or ACK following the OUT token  
(host-to-peripheral)  
Remark: The STATUS bit is cleared to zero once the zero-length packet is acknowledged by the device  
or the PC host.  
Remark: Data transfers preceding the status stage must first be fully completed before the STATUS bit  
can be set.  
0
STALL  
Stall Endpoint: Logic 1 stalls the indexed endpoint. This bit is not applicable for isochronous transfers.  
Remark: Stalling a data endpoint will confuse the Data Toggle bit about the stalled endpoint because the  
internal logic picks up from where it is stalled. Therefore, the Data Toggle bit must be reset by disabling  
and re-enabling the corresponding endpoint (by setting bit ENABLE to logic 0, followed by logic 1 in the  
Endpoint Type register) to reset the PID.  
10.4.3 Data Port register  
This register provides direct access for a microcontroller to the FIFO of the indexed  
endpoint.  
Peripheral to host (IN endpoint): After each write, an internal counter is automatically  
incremented, by two in 16-bit mode and four in 32-bit mode, to the next location in the TX  
FIFO. When all bytes have been written (FIFO byte count = endpoint MaxPacketSize), the  
buffer is automatically validated. The data packet will then be sent on the next IN token.  
Whenever required, the Control Function register (bit VENDP) can validate the endpoint  
whose byte count is less than MaxPacketSize.  
Remark: The buffer can automatically be validated using the Buffer Length register.  
Host to peripheral (OUT endpoint): After each read, an internal counter is automatically  
decremented, by two in 16-bit mode and four in 32-bit mode, to the next location in the RX  
FIFO. When all bytes have been read, the buffer contents are automatically cleared. A  
new data packet can then be received on the next OUT token. Buffer contents can also be  
cleared through the Control Function register (bit CLBUF), whenever it is necessary to  
forcefully clear contents.  
The Data Port register description when the SAF1761 is in 32-bit mode is given in  
Table 114.  
Table 114. Data Port register (address 0220h) bit description  
Bit  
Symbol  
Access Value  
Description  
31 to 0 DATAPORT R/W  
[31:0]  
0000 0000h  
Data Port: A 500 ns delay starting from the reception of the endpoint  
interrupt may be required for the first read from the data port.  
The Data Port register description when the SAF1761 is in 16-bit mode is given in  
Table 115.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
107 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 115. Data Port register (address 0220h) bit description  
Bit  
Symbol  
Access Value  
R/W 0000 0000h  
Description  
15 to 0  
DATAPORT  
[15:0]  
Data Port: A 500 ns delay starting from the reception of the endpoint  
interrupt may be required for the first read from the data port.  
10.4.4 Buffer Length register  
This register determines the current packet size (DATACOUNT) of the indexed endpoint  
FIFO. The bit description is given in Table 116.  
The Buffer Length register is automatically loaded with the FIFO size, when the Endpoint  
MaxPacketSize register is written (see Table 120). A smaller value can be written when  
required. After a bus reset, the Buffer Length register is made zero.  
IN endpoint: When the data transfer is performed in multiples of MaxPacketSize, the  
Buffer Length register is not significant. This register is useful only when transferring data  
that is not a multiple of MaxPacketSize. The following two examples demonstrate the  
significance of the Buffer Length register.  
Example 1: Consider that the transfer size is 512 bytes and the MaxPacketSize is  
programmed as 64 bytes, the Buffer Length register need not be filled. This is because  
the transfer size is a multiple of MaxPacketSize, and MaxPacketSize packets will be  
automatically validated because the last packet is also of MaxPacketSize.  
Example 2: Consider that the transfer size is 510 bytes and the MaxPacketSize is  
programmed as 64 bytes, the Buffer Length register should be filled with 62 bytes just  
before the microcontroller writes the last packet of 62 bytes. This ensures that the last  
packet, which is a short packet of 62 bytes, is automatically validated.  
Use the VENDP bit in the Control register if you are not using the Buffer Length register.  
This is applicable only to PIO mode access.  
OUT endpoint: The DATACOUNT value is automatically initialized to the number of data  
bytes sent by the host on each ACK.  
Remark: When using a 16-bit microprocessor bus, the last byte of an odd-sized packet is  
output as the lower byte (LSByte).  
Table 116. Buffer Length register (address 021Ch) bit description  
Bit  
Symbol  
Access Value  
Description  
15 to 0 DATACOUNT R/W  
[15:0]  
0000h  
Data Count: Determines the current packet size of the indexed endpoint  
FIFO.  
10.4.5 DcBufferStatus register  
This register is accessed using an index. The endpoint index must first be set before  
accessing this register for the corresponding endpoint. It reflects the status of the endpoint  
FIFO. Table 117 shows the bit allocation of the DcBufferStatus register.  
Remark: This register is not applicable to the control endpoint.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
108 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Remark: For the endpoint IN data transfer, firmware must ensure a 200 ns delay between  
writing of the data packet and reading the DcBufferStatus register. For the endpoint OUT  
data transfer, firmware must also ensure a 200 ns delay between the reception of the  
endpoint interrupt and reading the DcBufferStatus register.  
Table 117. DcBufferStatus - Device Controller Buffer Status register (address 021Eh) bit allocation  
Bit  
7
6
5
4
3
2
1
0
Symbol  
Reset  
reserved[1]  
BUF1  
BUF0  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R
R
[1] The reserved bits should always be written with the reset value.  
Table 118. DcBufferStatus - Device Controller Buffer Status register (address 021Eh) bit description  
Bit  
Symbol  
-
Description  
7 to 2  
1 to 0  
reserved  
BUF[1:0]  
Buffer:  
00 — The buffers are not filled.  
01 — One of the buffers is filled.  
10 — One of the buffers is filled.  
11 — Both buffers are filled.  
10.4.6 Endpoint MaxPacketSize register  
This register determines the maximum packet size for all endpoints, except set-up buffer,  
control IN and control OUT. The register contains 2 bytes, and the bit allocation is given in  
Table 119.  
Each time the register is written, the Buffer Length register of the corresponding endpoint  
is re-initialized to the FFOSZ field value. NTRANS bits control the number of transactions  
allowed in a single microframe for high-speed isochronous and interrupt endpoints only.  
Table 119. Endpoint MaxPacketSize register (address 0204h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
reserved[1]  
NTRANS[1:0]  
FFOSZ[10:8]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
7
R/W  
6
R/W  
5
R/W  
4
R/W  
3
R/W  
2
R/W  
1
R/W  
0
Symbol  
Reset  
FFOSZ[7:0]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
109 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 120. Endpoint MaxPacketSize register (address 0204h) bit description  
Bit  
Symbol  
Description  
15 to 13  
-
reserved  
12 to 11 NTRANS[1:0]  
Number of Transactions: High-Speed (HS) mode only.  
00 — One packet per microframe  
01 — Two packets per microframe  
10 — Three packets per microframe  
11 — reserved  
These bits are applicable only for isochronous or interrupt transactions.  
10 to 0  
FFOSZ[10:0]  
FIFO Size: Sets the FIFO size, in bytes, for the indexed endpoint. Applies to both high-speed  
and full-speed operations.  
The SAF1761 supports all the transfers given in Ref. 1 “Universal Serial Bus Specification  
Rev. 2.0”.  
Each programmable FIFO can be independently configured using its Endpoint  
MaxPacketSize register (R/W: 04h), but the total physical size of all enabled endpoints (IN  
plus OUT), including set-up token buffer, control IN and control OUT, must not exceed  
8192 bytes.  
10.4.7 Endpoint Type register  
This register sets the endpoint type of the indexed endpoint: isochronous, bulk or  
interrupt. It also serves to enable the endpoint and configure it for double buffering.  
Automatic generation of an empty packet for a zero-length TX buffer can be disabled  
using bit NOEMPKT. The register contains 2 bytes. See Table 121.  
Table 121. Endpoint Type register (address 0208h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
0
0
R/W  
7
R/W  
R/W  
5
R/W  
R/W  
R/W  
R/W  
1
R/W  
0
6
4
3
2
Symbol  
Reset  
reserved[1]  
NOEMPKT  
ENABLE  
DBLBUF  
ENDPTYP[1:0]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
110 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 122. Endpoint Type register (address 0208h) bit description  
Bit  
Symbol  
Description  
15 to 5  
4
-
reserved  
NOEMPKT  
No Empty Packet: Logic 0 causes the SAF1761 to return a null length packet for the IN token  
after the DMA IN transfer is complete. Set to logic 1 to disable the generation of the null length  
packet.  
3
ENABLE  
Endpoint Enable: Logic 1 enables the FIFO of the indexed endpoint. The memory size is  
allocated as specified in the Endpoint MaxPacketSize register. Logic 0 disables the FIFO.  
Remark: Stalling a data endpoint will confuse the Data Toggle bit on the stalled endpoint  
because the internal logic picks up from where it has stalled. Therefore, the Data Toggle bit  
must be reset by disabling and re-enabling the corresponding endpoint (by setting bit ENABLE  
to logic 0, followed by logic 1 in the Endpoint Type register) to reset the PID.  
2
DBLBUF  
Double Buffering: Logic 1 enables double buffering for the indexed endpoint. Logic 0 disables  
double buffering.  
1 to 0  
ENDPTYP[1:0] Endpoint Type: These bits select the endpoint type as follows.  
00 — Not used  
01 — Isochronous  
10 — Bulk  
11 — Interrupt  
10.5 DMA registers  
The Generic DMA (GDMA) transfer can be done by writing the proper opcode in the DMA  
Command register. The control bits are given in Table 123.  
10.5.1 GDMA read or write (opcode = 00h/01h) for Generic DMA slave mode  
The GDMA (slave) can operate in counter mode. RD_N and WR_N are DMA data strobe  
signals. These signals are also used as data strobe signals during the PIO access. An  
internal multiplex will redirect these signals to the DMA Controller for the DMA transfer or  
to registers for the PIO access.  
In counter mode, the DIS_XFER_CNT bit in the DcDMAConfiguration register must be set  
to logic 0. The DMA Transfer Counter register must be programmed before any DMA  
command is issued. The DMA transfer counter is set by writing from the LSByte to the  
MSByte (address: 234h to 237h). The DMA transfer count is internally updated only after  
the MSByte is written. Once the DMA transfer is started, the transfer counter starts  
decrementing and on reaching 0, the DMA_XFER_OK bit is set and an interrupt is  
generated by the SAF1761.  
The DMA transfer starts once the DMA command is issued. Any of the following three  
ways will terminate this DMA transfer:  
Detecting an internal EOT (short packet on an OUT token)  
Resetting the DMA  
GDMA stop command  
There are two interrupts that are programmable to differentiate the method of DMA  
termination: the INT_EOT and DMA_XFER_OK bits in the DMA Interrupt Reason register.  
For details, see Table 135.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
111 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 123. Control bits for GDMA read or write (opcode = 00h/01h)  
Control bits  
Mode register  
DMACLKON  
Description  
Reference  
Table 101  
Table 130  
Set DMACLKON to logic 1  
DcDMAConfiguration register  
MODE[1:0]  
Determines the active read or write data strobe signals  
WIDTH  
Selects the DMA bus width: 16-bit or 32-bit  
Disables the use of the DMA Transfer Counter  
DIS_XFER_CNT  
DMA Hardware register  
DMA_XFER_EN  
Enables DMA transfer  
Table 132  
DACK_POL,  
DREQ_POL  
Select the polarity of the DMA handshake signals  
Remark: The DMA bus defaults to 3-state, until a DMA command is executed. All the  
other control signals are not 3-state.  
10.5.2 DMA Command register  
The DMA Command register is a 1-byte register (for bit allocation, see Table 124) that  
initiates all DMA transfer activities on the DMA controller. The register is write-only:  
reading it will return FFh.  
Remark: The DMA bus will be in 3-state until a DMA command is executed.  
Table 124. DMA Command register (address 0230h) bit allocation  
Bit  
7
6
5
4
3
2
1
0
Symbol  
Reset  
DMA_CMD[7:0]  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Bus reset  
Access  
W
W
W
W
W
W
W
W
Table 125. DMA Command register (address 0230h) bit description  
Bit  
Symbol  
Description  
7 to 0  
DMA_CMD[7:0] DMA command code; see Table 126.  
Table 126. DMA commands  
Code  
Name  
Description  
00h  
GDMA Read  
Generic DMA IN token transfer: Data is transferred from the external DMA bus to the  
internal buffer.  
01h  
GDMA Write  
-
Generic DMA OUT token transfer: Data is transferred from the internal buffer to the  
external DMA bus.  
02h to 0Dh  
0Eh  
reserved  
Validate Buffer Validate Buffer (for debugging only): Request from the microcontroller to validate the  
endpoint buffer, following a DMA-to-USB data transfer.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
112 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 126. DMA commands …continued  
Code  
Name  
Description  
0Fh  
Clear Buffer  
Clear Buffer: Request from the microcontroller to clear the endpoint buffer, after a  
DMA-to-USB data transfer. Logic 1 clears the TX buffer of the indexed endpoint; the RX  
buffer is not affected. The TX buffer is automatically cleared once data is sent on the USB  
bus. This bit is set only when it is necessary to forcefully clear the buffer.  
Remark: If using double buffer, to clear both the buffers issue the Clear Buffer command  
two times, that is, set and clear this bit two times.  
10h  
11h  
-
reserved  
Reset DMA  
Reset DMA: Initializes the DMA core to its power-on reset state.  
Remark: When the DMA core is reset during the Reset DMA command, the DREQ, DACK,  
RD_N and WR_N handshake pins will temporarily be asserted. This can confuse the  
external DMA controller. To prevent this, start the external DMA controller only after the  
DMA reset.  
12h  
13h  
-
reserved  
GDMA Stop  
GDMA stop: This command stops the GDMA data transfer. Any data in the OUT endpoint  
that is not transferred by the DMA will remain in the buffer. The FIFO data for the IN endpoint  
will be written to the endpoint buffer. An interrupt bit will be set to indicate that the DMA Stop  
command is complete.  
14h to FFh  
-
reserved  
10.5.3 DMA Transfer Counter register  
This 4 bytes register sets up the total byte count for a DMA transfer (DMACR). It indicates  
the remaining number of bytes left for transfer. The bit allocation is given in Table 127.  
For IN endpoint — Because there is a FIFO in the SAF1761 DMA controller, some data  
may remain in the FIFO during the DMA transfer. The maximum FIFO size is 8 bytes, and  
the maximum delay time for the data to be shifted to endpoint buffer is 60 ns.  
For OUT endpoint — Data will not be cleared for the endpoint buffer, until all the data has  
been read from the DMA FIFO.  
Table 127. DMA Transfer Counter register (address 0234h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
DMACR4 = DMACR[31:24]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
23  
R/W  
22  
R/W  
21  
R/W  
20  
R/W  
19  
R/W  
18  
R/W  
17  
R/W  
16  
Symbol  
Reset  
DMACR3 = DMACR[23:16]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
15  
R/W  
14  
R/W  
13  
R/W  
12  
R/W  
11  
R/W  
10  
R/W  
9
R/W  
8
Symbol  
Reset  
DMACR2 = DMACR[15:8]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
113 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Bit  
7
6
5
4
3
2
1
0
Symbol  
Reset  
DMACR1 = DMACR[7:0]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
Table 128. DMA Transfer Counter register (address 0234h) bit description  
Bit  
Symbol  
Description  
31 to 24  
23 to 16  
15 to 8  
7 to 0  
DMACR4, DMACR[31:24]  
DMACR3, DMACR[23:16]  
DMACR2, DMACR[15:8]  
DMACR1, DMACR[7:0]  
DMA Counter 4: DMA transfer counter byte 4  
DMA Counter 3: DMA transfer counter byte 3  
DMA Counter 2: DMA transfer counter byte 2  
DMA Counter 1: DMA transfer counter byte 1  
10.5.4 DcDMAConfiguration register  
This register defines the DMA configuration for GDMA mode. The DcDMAConfiguration  
register consists of 2 bytes. The bit allocation is given in Table 129.  
Table 129. DcDMAConfiguration - Device Controller Direct Memory Access Configuration register (address 0238h)  
bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
Bus reset  
Access  
Bit  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
R/W  
0
R/W  
R/W  
7
R/W  
6
R/W  
R/W  
3
R/W  
2
R/W  
0
5
4
1
Symbol  
DIS_  
reserved[1]  
MODE[1:0]  
reserved  
WIDTH  
XFER_CNT  
Reset  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 130. DcDMAConfiguration - Device Controller Direct Memory Access Configuration register (address 0238h)  
bit description  
Bit  
Symbol  
Description  
15 to 8  
7
-
reserved  
DIS_XFER_CNT Disable Transfer Counter: Write logic 0 to perform DMA operation. Logic 1 disables the  
DMA transfer counter (see Table 127).  
6 to 4  
-
reserved  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
114 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 130. DcDMAConfiguration - Device Controller Direct Memory Access Configuration register (address 0238h)  
bit description …continued  
Bit  
Symbol  
Description  
3 to 2  
MODE[1:0]  
Mode:  
00 — WR_N slave strobes data from the DMA bus into the SAF1761; RD_N slave puts  
data from the SAF1761 on the DMA bus  
01, 10, 11 — reserved  
1
0
-
reserved  
WIDTH  
Width: This bit selects the DMA bus width for GDMA.  
0 — 32-bit data bus  
1 — 16-bit data bus  
10.5.5 DMA Hardware register  
The DMA Hardware register consists of 1 byte. The bit allocation is shown in Table 131.  
This register determines the polarity of bus control signals (DACK and DREQ).  
Table 131. DMA Hardware register (address 023Ch) bit allocation  
Bit  
7
6
5
4
3
2
1
0
Symbol  
reserved[1]  
DMA_  
XFER_EN  
reserved[1]  
DACK_  
POL  
DREQ_  
POL  
reserved[1]  
Reset  
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 132. DMA Hardware register (address 023Ch) bit description  
Bit  
7 to 6  
5
Symbol  
Description  
-
reserved  
DMA_XFER_EN DMA transfer enable: Write logic 1 to enable DMA transfer. Logic 0 disables the DMA  
transfer.  
4
3
-
reserved  
DACK_POL  
DACK Polarity: Selects the DMA acknowledgment polarity.  
0 — DACK is active LOW  
1 — DACK is active HIGH  
2
DREQ_POL  
-
DREQ Polarity: Selects the DMA request polarity.  
0 — DREQ is active LOW  
1 — DREQ is active HIGH  
reserved  
1 to 0  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
115 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10.5.6 DMA Interrupt Reason register  
This 2-byte register shows the source(s) of DMA interrupt. Each bit is refreshed after a  
DMA command is executed. An interrupt source is cleared by writing logic 1 to the  
corresponding bit. On detecting the interrupt, the external microprocessor must read the  
DMA Interrupt Reason register and mask it with the corresponding bits in the DMA  
Interrupt Enable register to determine the source of the interrupt.  
The bit allocation is given in Table 133.  
Table 133. DMA Interrupt Reason register (address 0250h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved  
GDMA_  
STOP  
reserved  
INT_EOT  
reserved[1]  
DMA_  
XFER_OK  
Reset  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
7
R/W  
6
R/W  
5
R/W  
4
R/W  
3
R/W  
2
R/W  
1
R/W  
0
Symbol  
Reset  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 134. DMA Interrupt Reason register (address 0250h) bit description  
Bit  
Symbol  
Description  
15 to 13  
12  
-
reserved  
GDMA_STOP  
GDMA Stop: When the GDMA_STOP command is issued to DMA Command registers, it  
means that the DMA transfer has successfully terminated.  
11  
10  
9
-
reserved  
INT_EOT  
-
Internal EOT: Logic 1 indicates that an internal EOT is detected; see Table 135.  
reserved  
8
DMA_XFER_OK DMA Transfer OK: Logic 1 indicates that the DMA transfer has been completed, that is,  
DMA transfer counter has become zero.  
7 to 0  
-
reserved  
Table 135. Internal EOT-functional relation with the DMA_XFER_OK bit  
INT_EOT DMA_XFER_OK Description  
1
1
0
0
1
1
During the DMA transfer, there is a premature termination with short packet.  
DMA transfer is completed with a short packet and the DMA transfer counter has reached 0.  
DMA transfer is completed without any short packet and the DMA transfer counter has  
reached 0.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
116 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10.5.7 DMA Interrupt Enable register  
This 2 bytes register controls the interrupt generation of the source bits in the DMA  
Interrupt Reason register. The bit allocation is given in Table 136. The bit description is  
given in Table 134.  
Logic 1 enables the interrupt generation. The values after a (bus) reset are logic 0  
(disabled).  
Table 136. DMA Interrupt Enable register (address 0254h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
reserved[1]  
IE_GDMA_ reserved[1]  
STOP  
IE_INT_  
EOT  
reserved[1]  
IE_DMA_  
XFER_OK  
Reset  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
7
R/W  
6
R/W  
5
R/W  
4
R/W  
3
R/W  
2
R/W  
1
R/W  
0
Symbol  
Reset  
reserved[1]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
10.5.8 DMA Endpoint register  
This 1 byte register selects a USB endpoint FIFO as the source or destination for DMA  
transfers. The bit allocation is given in Table 137.  
Table 137. DMA Endpoint register (address 0258h) bit allocation  
Bit  
7
6
5
4
3
2
1
0
Symbol  
Reset  
reserved[1]  
EPIDX[2:0]  
DMADIR  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 138. DMA Endpoint register (address 0258h) bit description  
Bit  
Symbol  
-
Description  
7 to 4  
3 to 1  
0
reserved  
EPIDX[2:0]  
DMADIR  
Selects the indicated endpoint for DMA access  
DMA Direction:  
0 — Selects the RX/OUT FIFO for DMA write transfers  
1 — Selects the TX/IN FIFO for DMA read transfers  
The DMA Endpoint register must not reference the endpoint that is indexed by the  
Endpoint Index register (022Ch) at any time. Doing so will result in data corruption.  
Therefore, if the DMA Endpoint register is unused, point it to an unused endpoint. If the  
DMA Endpoint register, however, is pointed to an active endpoint, the firmware must not  
reference the same endpoint on the Endpoint Index register.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
117 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
10.5.9 DMA Burst Counter register  
The bit allocation of the register is given in Table 139.  
Table 139. DMA Burst Counter register (address 0264h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
reserved[1]  
BURSTCOUNTER[12:8]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R/W  
7
R/W  
6
R/W  
5
R/W  
4
R/W  
R/W  
R/W  
1
R/W  
0
3
2
Symbol  
Reset  
BURSTCOUNTER[7:0]  
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
Bus reset  
Access  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 140. DMA Burst Counter register (address 0264h) bit description  
Bit  
Symbol  
-
Description  
15 to 13  
12 to 0  
reserved  
BURST  
Burst Counter: This register defines the burst length. The counter must be programmed to  
COUNTER[12:0] be a multiple of two in 16-bit mode and four in 32-bit mode.  
The value of the burst counter must be programmed so that the buffer counter is a factor of  
the burst counter. In 16-bit mode, DREQ will drop at every DMA read or write cycle when the  
burst counter equals 2. In 32-bit mode, DREQ will drop at every DMA read or write cycle  
when the burst counter equals 4.  
10.6 General registers  
10.6.1 DcInterrupt register  
The DcInterrupt register consists of 4 bytes. The bit allocation is given in Table 141.  
When a bit is set in the DcInterrupt register, it indicates that the hardware condition for an  
interrupt has occurred. When the DcInterrupt register content is non-zero, the INT output  
will be asserted. On detecting the interrupt, the external microprocessor must read the  
DcInterrupt register to determine the source of the interrupt.  
Each endpoint buffer has a dedicated interrupt bit (EPnTX, EPnRX). In addition, various  
bus states can generate an interrupt: resume, suspend, pseudo SOF, SOF and bus reset.  
The DMA controller has only one interrupt bit: the source for a DMA interrupt is shown in  
the DMA Interrupt Reason register.  
Each interrupt bit can individually be cleared by writing logic 1. The DMA Interrupt bit can  
be cleared by writing logic 1 to the related interrupt source bit in the DMA Interrupt  
Reason register and writing logic 1 to the DMA bit of the DcInterrupt register.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
118 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 141. DcInterrupt - Device Controller Interrupt register (address 0218h) bit allocation  
Bit  
31  
30  
29  
28  
27  
26  
25  
24  
Symbol  
Reset  
reserved[1]  
EP7TX  
EP7RX  
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
0
R/W  
23  
0
R/W  
22  
0
0
R/W  
19  
0
R/W  
18  
0
R/W  
16  
R/W  
R/W  
R/W  
17  
21  
20  
Symbol  
Reset  
EP6TX  
0
EP6RX  
0
EP5TX  
EP5RX  
EP4TX  
0
EP4RX  
0
EP3TX  
0
EP3RX  
0
0
0
Bus reset  
Access  
Bit  
0
0
0
0
0
0
0
0
R/W  
15  
R/W  
14  
R/W  
R/W  
R/W  
11  
R/W  
10  
R/W  
9
R/W  
8
13  
12  
Symbol  
Reset  
EP2TX  
0
EP2RX  
0
EP1TX  
EP1RX  
EP0TX  
0
EP0RX  
0
reserved[1] EP0SETUP  
0
0
0
0
0
Bus reset  
Access  
Bit  
0
0
0
0
0
0
0
R/W  
7
R/W  
6
R/W  
R/W  
R/W  
3
R/W  
2
R/W  
1
R/W  
5
4
0
Symbol  
Reset  
VBUS  
0
DMA  
0
HS_STAT  
RESUME  
SUSP  
0
PSOF  
0
SOF  
0
BRESET  
0
0
0
0
0
1
Bus reset  
Access  
0
0
0
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 142. DcInterrupt - Device Controller Interrupt register (address 0218h) bit description  
Bit  
31 to 26  
25  
Symbol  
-
Description  
reserved  
EP7TX  
EP7RX  
EP6TX  
EP6RX  
EP5TX  
EP5RX  
EP4TX  
EP4RX  
EP3TX  
EP3RX  
EP2TX  
EP2RX  
EP1TX  
EP1RX  
EP0TX  
EP0RX  
logic 1 indicates the endpoint 7 TX buffer as interrupt source  
logic 1 indicates the endpoint 7 RX buffer as interrupt source  
logic 1 indicates the endpoint 6 TX buffer as interrupt source  
logic 1 indicates the endpoint 6 RX buffer as interrupt source  
logic 1 indicates the endpoint 5 TX buffer as interrupt source  
logic 1 indicates the endpoint 5 RX buffer as interrupt source  
logic 1 indicates the endpoint 4 TX buffer as interrupt source  
logic 1 indicates the endpoint 4 RX buffer as interrupt source  
logic 1 indicates the endpoint 3 TX buffer as interrupt source  
logic 1 indicates the endpoint 3 RX buffer as interrupt source  
logic 1 indicates the endpoint 2 TX buffer as interrupt source  
logic 1 indicates the endpoint 2 RX buffer as interrupt source  
logic 1 indicates the endpoint 1 TX buffer as interrupt source  
logic 1 indicates the endpoint 1 RX buffer as interrupt source  
logic 1 indicates the endpoint 0 data TX buffer as interrupt source  
logic 1 indicates the endpoint 0 data RX buffer as interrupt source  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
10  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
119 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 142. DcInterrupt - Device Controller Interrupt register (address 0218h) bit description …continued  
Bit  
9
Symbol  
-
Description  
reserved  
8
EP0SETUP  
VBUS  
logic 1 indicates that a SETUP token was received on endpoint 0  
7
Logic 1 indicates a transition from LOW to HIGH on VBUS.  
When implementing a pure host or peripheral, the OTG_DISABLE bit in the OTG Control  
register (374h) must be set to logic 1 so that the VBUS bit is updated with the correct value.  
6
5
DMA  
DMA status: Logic 1 indicates a change in the DMA Interrupt Reason register.  
HS_STAT  
High-Speed Status: Logic 1 indicates a change from full-speed to high-speed mode (HS  
connection). This bit is not set when the system goes into the full-speed suspend.  
4
3
2
RESUME  
SUSP  
Resume status: Logic 1 indicates that a status change from suspend to resume (active) was  
detected.  
Suspend status: Logic 1 indicates that a status change from active to suspend was detected  
on the bus.  
PSOF  
Pseudo SOF interrupt: Logic 1 indicates that a pseudo SOF or μSOF was received. Pseudo  
SOF is an internally generated clock signal (full-speed: 1 ms period, high-speed: 125 μs  
period) that is not synchronized to the USB bus SOF or μSOF.  
1
0
SOF  
SOF interrupt: Logic 1 indicates that a SOF or μSOF was received.  
Bus Reset: Logic 1 indicates that a USB bus reset was detected.  
BRESET  
10.6.2 DcChipID register  
This read-only register contains the chip identification and hardware version numbers.  
The firmware must check this information to determine functions and features supported.  
The register contains 3 bytes, and the bit allocation is shown in Table 143.  
Table 143. DcChipID - Device Controller Chip Identifier register (address 0270h) bit description  
Bit  
Symbol  
Access  
Value  
Description  
31 to 0  
CHIPID[31:0]  
R
0001 1582h Chip ID: This registers represents the hardware version number  
(0001h) and the chip ID (1582h) for the peripheral controller.  
10.6.3 Frame Number register  
This read-only register contains the frame number of the last successfully received  
Start-Of-Frame (SOF). The register contains 2 bytes, and the bit allocation is given in  
Table 144.  
Table 144. Frame Number register (address 0274h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
reserved  
MICROSOF[2:0]  
SOFR[10:8]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
R
7
R
6
R
5
R
4
R
3
R
2
R
1
R
0
Symbol  
Reset  
SOFR[7:0]  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Bus reset  
Access  
R
R
R
R
R
R
R
R
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
120 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 145. Frame Number register (address 0274h) bit description  
Bit  
Symbol  
Description  
15 to 14  
-
reserved  
13 to 11 MICROSOF[2:0]  
10 to 0 SOFR[10:0]  
microframe number  
frame number  
10.6.4 DcScratch register  
This 16-bit register can be used by the firmware to save and restore information. For  
example, the device status before it enters the suspend state; see Table 146.  
Table 146. DcScratch - Device Controller Scratch register (address 0278h) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
SFIRH[7:0]  
0
0
0
0
0
0
0
0
Bus reset  
Access  
Bit  
unchanged  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
7
6
5
4
3
2
1
0
Symbol  
Reset  
SFIRL[7:0]  
0
0
0
0
0
0
0
0
Bus reset  
Access  
unchanged  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
Table 147. DcScratch - Device Controller Scratch register (address 0278h) bit description  
Bit  
Symbol  
Description  
15 to 8  
7 to 0  
SFIRH[7:0]  
SFIRL[7:0]  
Scratch firmware information register (higher byte)  
Scratch firmware information register (lower byte)  
10.6.5 Unlock Device register  
To protect registers from getting corrupted when the SAF1761 goes into suspend, the  
write operation is disabled. In this case, when the chip resumes, the Unlock Device  
command must first be issued to this register before attempting to write to the rest of the  
registers. This is done by writing unlock code (AA37h) to this register. The bit allocation of  
the Unlock Device register is given in Table 148.  
Table 148. Unlock Device register (address 027Ch) bit allocation  
Bit  
15  
14  
13  
12  
11  
10  
9
8
Symbol  
Reset  
ULCODE[15:8] = AAh  
not applicable  
Bus reset  
Access  
Bit  
not applicable  
W
W
W
W
W
W
W
W
7
6
5
4
3
2
1
0
Symbol  
Reset  
ULCODE[7:0] = 37h  
not applicable  
Bus reset  
Access  
not applicable  
W
W
W
W
W
W
W
W
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
121 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 149. Unlock Device register (address 027Ch) bit description  
Bit  
Symbol  
Description  
15 to 0  
ULCODE[15:0]  
Unlock Code: Writing data AA37h unlocks internal registers and FIFOs for writing, following  
a resume.  
10.6.6 Interrupt Pulse Width register  
Table 150 shows the bit description of the register.  
Table 150. Interrupt Pulse Width register (address 0280h) bit description  
Bit  
Symbol  
Access Value Description  
15 to 0  
INTR_PULSE_ R/W  
WIDTH[15:0]  
001Eh Interrupt Pulse Width: The interrupt signal pulse width is configurable  
while it is in pulse signaling mode. The minimum pulse width is 3.33 ns  
when this register is set to logic 1. The power-on reset value of 1Eh allows  
a pulse of 1 μs to be generated.  
10.6.7 Test Mode register  
This 1 byte register allows the firmware to set the DP and DM pins to predetermined  
states for testing purposes. The bit allocation is given in Table 151.  
Remark: Only one bit can be set to logic 1 at a time.  
Table 151. Test Mode register (address 0284h) bit allocation  
Bit  
7
FORCEHS  
0
6
5
4
FORCEFS  
0
3
PRBS  
0
2
1
JSTATE  
0
0
Symbol  
Reset  
reserved[1]  
KSTATE  
SE0_NAK  
0
0
0
0
0
0
0
0
Bus reset  
Access  
unchanged  
R/W  
unchanged  
R/W  
0
0
R/W  
R/W  
R/W  
R/W  
R/W  
R/W  
[1] The reserved bits should always be written with the reset value.  
Table 152. Test Mode register (address 0284h) bit description  
Bit  
Symbol  
Description  
7
FORCEHS  
Force High-Speed: Logic 1[1] forces the hardware to high-speed mode only and disables  
the chirp detection logic.  
6 to 5  
4
-
reserved.  
FORCEFS  
Force Full-Speed: Logic 1[1] forces the physical layer to full-speed mode only and disables  
the chirp detection logic.  
3
2
1
0
PRBS  
Logic 1[2] sets pins DP and DM to toggle in a predetermined random pattern.  
K State: Writing logic 1[2] sets the DP and DM pins to the K state.  
J State: Writing logic 1[2] sets the DP and DM pins to the J state.  
KSTATE  
JSTATE  
SE0_NAK  
SE0 NAK: Writing logic 1[2] sets pins DP and DM to a high-speed quiescent state. The  
device only responds to a valid high-speed IN token with a NAK.  
[1] Either FORCEHS or FORCEFS must be set at a time.  
[2] Of the four bits, PRBS, KSTATE, JSTATE and SE0_NAK, only one bit must be set at a time.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
122 of 165  
 
 
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
11. Power consumption  
Table 153. Power consumption, typical values  
Number of ports working  
ICC  
One port working (high-speed)  
VCC(5V0) = 5.0 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 5.0 V, VCC(I/O) = 1.8 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 1.8 V  
Two ports working (high-speed)  
VCC(5V0) = 5.0 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 5.0 V, VCC(I/O) = 1.8 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 1.8 V  
Three ports working (high-speed)  
VCC(5V0) = 5.0 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 3.3 V  
VCC(5V0) = 5.0 V, VCC(I/O) = 1.8 V  
VCC(5V0) = 3.3 V, VCC(I/O) = 1.8 V  
90 mA  
77 mA  
82 mA  
77 mA  
110 mA  
97 mA  
102 mA  
97 mA  
130 mA  
117 mA  
122 mA  
117 mA  
The idle operating current, ICC, that is, when the SAF1761 is in operational mode,  
initialized and without any devices connected, is 70 mA. The additional current  
consumption on ICC is below 1 mA per port in the case of full-speed and low-speed  
devices.  
Deep-sleep suspend mode ensures the lowest power consumption when VCC(5V0) is  
always supplied to the SAF1761. In this case, the suspend current, ICC(susp), is typically  
about 150 μA at ambient temperature of +25 °C. The suspend current may increase if the  
ambient temperature increases.  
In hybrid mode, when VCC(5V0) is disconnected ICC(I/O) will generally be below 100 μA. The  
average value is 60 μA to 70 μA.  
Under the condition of constant read and write accesses occurring on the 32-bit data bus,  
the maximum ICC(I/O) drawn from VCC(I/O) is measured as 25 mA, when the NXP SAF1761  
evaluation board is connected to a BSQUARE PXA255 development platform. This  
current will vary depending on the platform because of the different access timing, the  
type of data patterns written on the data bus, and loading on the data bus.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
123 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
12. Limiting values  
Table 154. Limiting values  
In accordance with the Absolute Maximum Rating System (IEC 60134).  
Symbol  
VCC(I/O)  
VCC(5V0)  
VCC(C_IN)  
VESD  
Parameter  
Conditions  
Min  
0.5  
0.5  
-
Max  
+4.6  
+5.6  
+4.6  
Unit  
V
input/output supply voltage  
supply voltage (5.0 V)  
charge pump supply voltage  
electrostatic discharge voltage  
V
V
[1]  
[2]  
human body model  
pin 123, 124, 125, 126  
all other pins  
V
1750  
2000  
+1750  
+2000  
V
V
charge device model  
corner pins  
750  
500  
40  
+750  
+500  
+125  
V
all other pins  
V
Tstg  
storage temperature  
°C  
[1] Class 2 according to JEDEC JESD22-A114.  
[2] Class III following JEDEC JESD22-C101.  
13. Recommended operating conditions  
Table 155. Recommended operating conditions  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
3.6  
Unit  
VCC(I/O)  
input/output supply voltage  
VCC(I/O) = 3.3 V  
VCC(I/O) = 1.8 V  
3.0  
1.65  
3
3.3  
V
1.8  
1.95  
5.5  
V
VCC(5V0)  
VCC(C_IN)  
Tamb  
supply voltage (5.0 V)  
charge pump supply voltage  
ambient temperature  
-
-
-
-
V
3.15  
40  
40  
3.6  
V
+85  
+125  
°C  
°C  
Tj  
junction temperature  
[1]  
ICC(susp)  
suspend supply current  
VCC(5V0) = 3.3 V  
Tamb = 25 °C  
Tamb = 40 °C  
Tamb = 85 °C  
-
-
-
150  
300  
1
-
-
-
μA  
μA  
mA  
[1] Deep-sleep suspend current.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
124 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
14. Static characteristics  
Table 156. Static characteristics: digital pins  
All digital pins[1], except pins ID, PSW1_N, PSW2_N, PSW3_N and BAT_ON_N.  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
VCC(I/O) = 1.65 V to 1.95 V  
VIH  
VIL  
HIGH-level input voltage  
1.2  
-
-
-
-
-
-
V
V
V
V
LOW-level input voltage  
hysteresis voltage  
0.4  
0.7  
Vhys  
VOL  
0.4  
-
LOW-level output voltage  
IOL = 3 mA  
0.22 ×  
VCC(I/O)  
VOH  
HIGH-level output voltage  
0.8 ×  
VCC(I/O)  
-
-
V
ILI  
input leakage current  
input capacitance  
VI = 0 V to VCC(I/O)  
-
-
-
1
-
μA  
Cin  
2.75  
pF  
VCC(I/O) = 3.0 V to 3.6 V  
VIH  
VIL  
HIGH-level input voltage  
2.0  
-
-
V
LOW-level input voltage  
hysteresis voltage  
-
-
0.8  
0.7  
0.4  
-
V
Vhys  
VOL  
VOH  
ILI  
0.4  
-
V
LOW-level output voltage  
HIGH-level output voltage  
input leakage current  
input capacitance  
IOL = 3 mA  
-
-
V
2.4  
-
V
VI = 0 V to VCC(I/O)  
-
-
-
1
μA  
pF  
Cin  
2.75  
-
[1] Includes pins OC1_N/VBUS, OC2_N and OC3_N when used as digital overcurrent pins.  
Table 157. Static characteristics: pins PSW1_N, PSW2_N and PSW3_N  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
VOL  
Parameter  
Conditions  
Min  
Typ  
Max  
0.4  
-
Unit  
V
LOW-level output voltage IOL = 8 mA; pull-up to VCC(5V0)  
HIGH-level output voltage pull-up to VCC(I/O)  
-
-
-
VOH  
VCC(I/O)  
V
Table 158. Static characteristics: POR  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Vtrip(H)  
Vtrip(L)  
tPORP  
Parameter  
Conditions  
Min  
1.0  
Typ  
1.2  
1.1  
-
Max  
1.4  
1.3  
-
Unit  
V
HIGH-level trip voltage  
LOW-level trip voltage  
0.95  
200  
V
internal POR pulse width after REG1V8 > Vtrip(H)  
ns  
Table 159. Static characteristics: pin REF5V  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
VIH  
HIGH-level input voltage  
-
5
-
V
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
125 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 160. Static characteristics: USB interface block (pins DM1 to DM3 and DP1 to DP3)  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
Input levels for high-speed  
VHSSQ  
high-speed squelch detection  
threshold voltage (differential signal  
amplitude)  
squelch detected  
-
-
-
100  
-
mV  
mV  
no squelch  
detected  
150  
VHSDSC  
high-speed disconnect detection  
threshold voltage (differential signal detected  
amplitude)  
disconnect  
625  
-
-
-
-
-
mV  
mV  
mV  
disconnect not  
detected  
525  
+500  
VHSCM  
high-speed data signaling common  
mode voltage range (guideline for  
receiver)  
50  
Output levels for high-speed  
VHSOI  
high-speed idle level voltage  
10  
-
-
+10  
440  
mV  
mV  
VHSOH  
high-speed data signaling  
HIGH-level voltage  
360  
VHSOL  
high-speed data signaling  
LOW-level voltage  
10  
-
+10  
mV  
[1]  
[1]  
VCHIRPJ  
VCHIRPK  
chirp J level (differential voltage)  
chirp K level (differential voltage)  
700  
-
-
1100  
mV  
mV  
900  
500  
Input levels for full-speed and low-speed  
VIH  
HIGH-level input voltage  
drive  
2.0  
2.7  
-
-
-
V
V
VIHZ  
HIGH-level input voltage (floating)  
for low-/full-speed  
3.6  
VIL  
LOW-level input voltage  
-
-
-
-
0.8  
-
V
V
V
VDI  
VCM  
differential input sensitivity voltage  
|VDP VDM  
|
0.2  
0.8  
differential common mode voltage  
range  
2.5  
Output levels for full-speed and low-speed  
VOH  
HIGH-level output voltage  
LOW-level output voltage  
SE1 output voltage  
2.8  
0
-
-
-
-
3.6  
0.3  
-
V
V
V
V
VOL  
VOSE1  
VCRS  
0.8  
1.3  
output signal crossover voltage  
2.0  
[1] The HS termination resistor is disabled, and the pull-up resistor is connected. Only during reset, when both the hub and the device are  
capable of the high-speed operation.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
126 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 161. Static characteristics: VBUS comparators  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min[1]  
4.4  
Typ  
4.5  
1.6  
Max[2]  
4.6  
Unit  
V
VA_VBUS_VLD  
VB_SESS_VLD  
A-device VBUS valid voltage  
B-device session valid voltage  
for A-device and  
B-device  
0.8  
2.0  
V
Vhys(B_SESS_VLD) B-device session valid hysteresis voltage  
VB_SESS_END B-device session end voltage  
70  
150  
0.5  
210  
0.8  
mV  
V
0.2  
[1] Minimum trigger voltage at extreme low temperature (40 °C).  
[2] Minimum trigger voltage at extreme high temperature (+85 °C).  
Table 162. Static characteristics: VBUS resistors  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
RUP(VBUS)  
pull-up resistance on pin VBUS  
connect to REG3V3  
when VBUS_CHRG = 1  
281  
656  
40  
-
680  
-
Ω
RDN(VBUS)  
pull-down resistance on pin VBUS connect to ground when  
VBUS_DISCHRG = 1  
800  
58.5  
197  
-
Ω
RI(idle)(VBUS)(A)  
RI(idle)(VBUS)(B)  
idle input resistance on pin VBUS ID pin LOW  
(A-device)  
100  
280  
kΩ  
kΩ  
idle input resistance on pin VBUS ID pin HIGH  
(B-device)  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
127 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15. Dynamic characteristics  
Table 163. Dynamic characteristics: system clock timing  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
Crystal oscillator  
Conditions  
Min  
Typ  
Max  
Unit  
[1][2]  
fclk  
clock frequency  
crystal  
-
-
12  
12  
-
-
MHz  
MHz  
[2]  
oscillator  
External clock input  
tJ  
external clock jitter  
-
-
-
-
-
-
500  
ps  
%
V
δ
clock duty cycle  
input voltage on pin XTAL1  
rise time  
50  
-
Vi(XTAL1)  
VCC(I/O)  
-
tr  
tf  
-
-
3
3
ns  
ns  
fall time  
[1] Recommended values for external capacitors when using a crystal are 22 pF to 27 pF.  
[2] Recommended accuracy of the clock frequency is 50 × 106 for the crystal and oscillator. The oscillator used depends on VCC(I/O)  
.
Table 164. Dynamic characteristics: CPU interface block  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
SR  
slew rate  
standard load (rise, fall)  
1
-
4
V/ns  
Table 165. Dynamic characteristics: high-speed source electrical characteristics  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
Driver characteristics  
tHSR  
rise time (10 % to 90 %)  
500  
500  
40.5  
-
-
ps  
ps  
Ω
tHSF  
fall time (10 % to 90 %)  
-
-
ZHSDRV  
driver output impedance (which  
also serves as high-speed  
termination)  
includes the RS  
resistor  
45  
49.5  
Clock timing  
tHSDRAT  
high-speed data rate  
microframe interval  
479.76  
124.9375  
1
-
-
-
480.24  
125.0625  
8.33  
Mbit/s  
μs  
tHSFRAM  
tHSRFI  
consecutive microframe interval  
difference  
ns  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
128 of 165  
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 166. Dynamic characteristics: full-speed source electrical characteristics  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
Driver characteristics  
tFR  
rise time  
fall time  
CL = 50 pF; 10 % to  
4
-
-
-
20  
ns  
ns  
%
90 % of |VOH VOL  
|
tFF  
CL = 50 pF; 90 % to  
4
20  
10 % of |VOH VOL  
full-speed timing  
low-speed timing  
|
tFRFM  
differential rise and fall time  
matching  
90  
111.1  
Data timing: see Figure 16  
tFDEOP  
source jitter for differential  
2  
-
+5  
ns  
transition to SE0 transition  
source SE0 interval of EOP  
receiver SE0 interval of EOP  
tFEOPT  
tFEOPR  
tLDEOP  
160  
82  
-
-
-
175  
-
ns  
ns  
ns  
upstream facing port source  
jitter for differential transition to  
SE0 transition  
40  
+100  
tLEOPT  
tLEOPR  
tFST  
source SE0 interval of EOP  
receiver SE0 interval of EOP  
1.25  
670  
-
-
-
-
1.5  
-
μs  
ns  
ns  
width of SE0 interval during  
differential transition  
14  
Table 167. Dynamic characteristics: low-speed source electrical characteristics  
VCC(I/O) = 1.65 V to 3.6 V; Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Conditions  
Min  
Typ  
Max  
Unit  
Driver characteristics  
tLR  
transition time: rise time  
75  
75  
90  
-
-
-
300  
300  
125  
ns  
ns  
%
tLF  
transition time: fall time  
tLRFM  
rise and fall time matching  
T
PERIOD  
+3.3 V  
crossover point  
extended  
crossover point  
differential  
data lines  
0 V  
differential data to  
SE0/EOP skew  
source EOP width: t  
, t  
FEOPT LEOPT  
N × T  
+ t  
FDEOP  
+ t  
LDEOP  
PERIOD  
PERIOD  
receiver EOP width: t  
, t  
FEOPR LEOPR  
N × T  
004aaa929  
TPERIOD is the bit duration corresponding with the USB data rate.  
Fig 16. USB source differential data-to-EOP transition skew and EOP width  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
129 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.1 Host timing  
15.1.1 PIO timing  
15.1.1.1 Register or memory write  
t
h31  
A[17:1]  
address 01  
address 02  
t
su21  
t
h21  
CS_N  
t
su31  
t
w11  
WR_N  
t
su11  
t
h11  
DATA  
data 01  
data 02  
004aaa527  
Fig 17. Register or memory write  
Table 168. Register or memory write  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
Parameter  
Min  
Max  
Unit  
VCC(I/O) = 1.65 V to 1.95 V  
th11  
data hold after WR_N HIGH  
2
-
-
-
-
-
-
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
th21  
CS_N hold after WR_N HIGH  
1
th31  
address hold after WR_N HIGH  
WR_N pulse width  
2
tw11  
tsu11  
tsu21  
tsu31  
17  
5
data set-up time before WR_N HIGH  
address set-up time before WR_N HIGH  
CS_N set-up time before WR_N HIGH  
5
5
VCC(I/O) = 3.3 V to 3.6 V  
th11  
data hold after WR_N HIGH  
2
-
-
-
-
-
-
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
th21  
CS_N hold after WR_N HIGH  
1
th31  
address hold after WR_N HIGH  
WR_N pulse width  
2
tw11  
tsu11  
tsu21  
tsu31  
17  
5
data set-up time before WR_N HIGH  
address set-up time before WR_N HIGH  
CS_N set-up time before WR_N HIGH  
5
5
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
130 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.1.1.2 Register read  
t
su12  
A[17:1]  
address 01  
address 02  
t
su22  
CS_N  
RD_N  
t
d22  
t
w12  
DATA  
004aaa524  
t
d12  
Fig 18. Register read  
Table 169. Register read  
amb = 40 °C to +85 °C; unless otherwise specified.  
T
Symbol Parameter  
VCC(I/O) = 1.65 V to 1.95 V  
Min  
Max  
Unit  
tsu12  
tsu22  
tw12  
td12  
address set-up time before RD_N LOW  
0
-
ns  
ns  
ns  
ns  
ns  
CS_N set-up time before RD_N LOW  
RD_N pulse width  
0
-
> td12  
-
data valid time after RD_N LOW  
data valid time after RD_N HIGH  
-
-
35  
1
td22  
VCC(I/O) = 3.3 V to 3.6 V  
tsu12  
tsu22  
tw12  
td12  
address set-up time before RD_N LOW  
0
-
ns  
ns  
ns  
ns  
ns  
CS_N set-up time before RD_N LOW  
RD_N pulse width  
0
-
> td12  
-
data valid time after RD_N LOW  
data valid time after RD_N HIGH  
-
-
22  
1
td22  
15.1.1.3 Register access  
CS_N  
WR_N  
t
WHWL  
RD_N  
t
t
WHRL  
t
RHRL  
RHWL  
004aaa983  
Fig 19. Register access  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
131 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 170. Register access  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
tWHRL  
tRHRL  
Parameter  
Min  
25[1]  
25[1]  
25  
Max  
Unit  
ns  
WR_N HIGH to RD_N LOW time  
RD_N HIGH to RD_N LOW time  
RD_N HIGH to WR_N LOW time  
WR_N HIGH to WR_N LOW time  
-
-
-
-
ns  
tRHWL  
tWHWL  
ns  
25[1]  
ns  
[1] For EHCI operational registers, minimum value is 195 ns.  
15.1.1.4 Memory read  
A[17:1]  
address = 33C  
data  
address 1  
address 2  
address 3  
data 3  
t
su23  
DATA  
data 1  
data 2  
CS_N  
t
t
d13  
WR_N  
t
p13  
d23  
RD_N  
004aaa523  
T
cy13  
t
w13  
t
su13  
Fig 20. Memory read  
Table 171. Memory read  
T
amb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
VCC(I/O) = 1.65 V to 1.95 V  
Min  
Max  
Unit  
tp13  
initial pre-fetch time  
90  
40  
-
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Tcy13  
td13  
memory RD_N cycle time  
-
data valid time after RD_N LOW  
data available time after RD_N HIGH  
RD_N pulse width  
31  
1
-
td23  
-
tw13  
tsu13  
tsu23  
32  
0
CS_N set-up time before RD_N LOW  
address set-up time before RD_N LOW  
-
0
-
VCC(I/O) = 3.3 V to 3.6 V  
tp13  
initial pre-fetch time  
90  
36  
-
-
ns  
ns  
ns  
ns  
Tcy13  
td13  
memory RD_N cycle time  
-
data valid time after RD_N LOW  
data available time after RD_N HIGH  
20  
1
td23  
-
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
132 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 171. Memory read …continued  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
tw13  
Parameter  
Min  
21  
0
Max  
Unit  
ns  
RD_N pulse width  
-
-
-
tsu13  
CS_N set-up time before RD_N LOW  
address set-up time before RD_N LOW  
ns  
tsu23  
0
ns  
15.1.2 DMA timing  
In the following sections:  
Polarity of DACK is active HIGH  
Polarity of DREQ is active HIGH  
15.1.2.1 Single cycle: DMA read  
t
a44  
DREQ  
DACK  
RD_N  
DATA  
t
t
a34  
a14  
t
w14  
td14  
t
a24  
t
h14  
004aaa530  
Fig 21. DMA read (single cycle)  
Table 172. DMA read (single cycle)  
T
amb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
VCC(I/O) = 1.65 V to 1.95 V  
Min  
Max  
Unit  
ta14  
ta24  
td14  
tw14  
ta34  
ta44  
th14  
DACK assertion time after DREQ assertion  
0
-
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
RD_N assertion time after DACK assertion  
data valid time after RD_N assertion  
RD_N pulse width  
0
-
24  
-
> td14  
-
DREQ de-assertion time after RD_N assertion  
29  
56  
5
DACK de-assertion to next DREQ assertion time -  
data hold time after RD_N de-asserts  
-
VCC(I/O) = 3.3 V to 3.6 V  
ta14  
ta24  
td14  
tw14  
DACK assertion time after DREQ assertion  
0
-
ns  
ns  
ns  
ns  
RD_N assertion time after DACK assertion  
data valid time after RD_N assertion  
RD_N pulse width  
0
-
-
20  
-
> td14  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
133 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 172. DMA read (single cycle) …continued  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
ta34  
Parameter  
Min  
Max  
18  
56  
5
Unit  
ns  
DREQ de-assertion time after RD_N assertion  
-
ta44  
DACK de-assertion to next DREQ assertion time -  
data hold time after RD_N de-asserts  
ns  
th14  
-
ns  
15.1.2.2 Single cycle: DMA write  
t
DREQ  
cy15  
t
a15  
t
a35  
DACK  
t
w15  
t
t
a25  
h25  
WR_N  
DATA  
t
su15  
t
h15  
data  
data 1  
004aaa525  
DREQ and DACK are active HIGH.  
Fig 22. DMA write (single cycle)  
Table 173. DMA write (single cycle)  
T
amb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
VCC(I/O) = 1.65 V to 1.95 V  
Min  
Max  
Unit  
ta15  
ta25  
th15  
th25  
tsu15  
ta35  
tcy15  
DACK assertion time after DREQ assertion  
0
1
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
WR_N assertion time after DACK assertion  
data hold time after WR_N de-assertion  
DACK hold time after WR_N de-assertion  
data set-up time before WR_N de-assertion  
DREQ de-assertion time after WR_N assertion  
-
3
-
0
-
5.5  
-
-
28  
82  
last DACK strobe de-assertion to next DREQ  
assertion time  
-
tw15  
WR_N pulse width  
22  
-
ns  
VCC(I/O) = 3.3 V to 3.6 V  
ta15  
ta25  
th15  
th25  
tsu15  
ta35  
tcy15  
DACK assertion time after DREQ assertion  
0
1
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
WR_N assertion time after DACK assertion  
data hold time after WR_N de-assertion  
DACK hold time after WR_N de-assertion  
data set-up time before WR_N de-assertion  
DREQ de-assertion time after WR_N assertion  
-
2
-
0
-
5.5  
-
-
16  
82  
last DACK strobe de-assertion to next DREQ  
assertion time  
-
tw15  
WR_N pulse width  
22  
-
ns  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
134 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.1.2.3 Multi-cycle: DMA read  
t
t
a46  
a36  
DREQ  
DACK  
t
a16  
t
T
a26  
cy16  
t
w16  
RD_N  
DATA  
t
h16  
data n-1  
data n  
data 1  
data 0  
004aaa531  
t
d16  
DREQ and DACK are active HIGH.  
Fig 23. DMA read (multi-cycle burst)  
Table 174. DMA read (multi-cycle burst)  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
Min  
Max  
Unit  
VCC(I/O) = 1.65 V to 1.95 V  
ta16  
ta26  
td16  
tw16  
Tcy16  
ta36  
DACK assertion after DREQ assertion time  
RD_N assertion after DACK assertion time  
data valid time after RD_N assertion  
RD_N pulse width  
0
-
ns  
ns  
ns  
ns  
ns  
ns  
0
-
-
31  
-
38  
46  
-
read-to-read cycle time  
-
DREQ de-assertion time after last burst RD_N  
de-assertion  
30  
ta46  
th16  
DACK de-assertion to next DREQ assertion time  
data hold time after RD_N de-asserts  
-
-
82  
5
ns  
ns  
VCC(I/O) = 3.3 V to 3.6 V  
ta16  
ta26  
td16  
tw16  
Tcy16  
ta36  
DACK assertion after DREQ assertion time  
0
-
ns  
ns  
ns  
ns  
ns  
ns  
RD_N assertion after DACK assertion time  
data valid time after RD_N assertion  
RD_N pulse width  
0
-
-
16  
-
17  
38  
-
read-to-read cycle time  
-
DREQ de-assertion time after last burst RD_N  
de-assertion  
20  
ta46  
th16  
DACK de-assertion to next DREQ assertion time  
data hold time after RD_N de-asserts  
-
-
82  
5
ns  
ns  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
135 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.1.2.4 Multi-cycle: DMA write  
t
a57  
DREQ  
DACK  
WR_N  
DATA  
t
a17  
t
h27  
t
t
T
a37  
su17  
cy17  
t
w17  
t
a47  
t
a27  
t
h17  
data n-1  
data 1  
data 2  
data n  
004aaa526  
Fig 24. DMA write (multi-cycle burst)  
Table 175. DMA write (multi-cycle burst)  
amb = 40 °C to +85 °C; unless otherwise specified.  
T
Symbol Parameter  
Min  
Max  
Unit  
VCC(I/O) = 1.65 V to 1.95 V  
Tcy17  
tsu17  
th17  
DMA write cycle time  
51  
5
-
ns  
ns  
ns  
ns  
ns  
ns  
data set-up time before WR_N de-assertion  
data hold time after WR_N de-assertion  
DACK assertion time after DREQ assertion  
WR_N assertion time after DACK assertion  
-
2
-
ta17  
0
-
ta27  
2
-
ta37  
DREQ de-assertion time at last strobe (WR_N)  
assertion  
-
28  
th27  
ta47  
tw17  
ta57  
DACK hold time after WR_N de-assertion  
0
-
ns  
ns  
ns  
ns  
strobe de-assertion to next strobe assertion time 34  
-
WR_N pulse width  
17  
-
-
DACK de-assertion to next DREQ assertion time  
82  
VCC(I/O) = 3.3 V to 3.6 V  
Tcy17  
tsu17  
th17  
DMA write cycle time  
51  
5
-
ns  
ns  
ns  
ns  
ns  
ns  
data set-up time before WR_N de-assertion  
data hold time after WR_N de-assertion  
DACK assertion time after DREQ assertion  
WR_N assertion time after DACK assertion  
-
2
-
ta17  
0
-
ta27  
1
-
ta37  
DREQ de-assertion time at last strobe (WR_N)  
assertion  
-
16  
th27  
ta47  
tw17  
ta57  
DACK hold time after WR_N de-assertion  
0
-
ns  
ns  
ns  
ns  
strobe de-assertion to next strobe assertion time 34  
-
WR_N pulse width  
17  
-
-
DACK de-assertion to next DREQ assertion time  
82  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
136 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.2 Peripheral timing  
15.2.1 PIO timing  
15.2.1.1 PIO register read or write  
t
d58  
t
d68  
t
d38  
t
d48  
CS_N  
t
h28  
t
h18  
AD[17:1]  
t
d18  
t
d28  
(read) DATA[31:0]  
RD_N  
t
t
su18  
w18  
t
t
h38  
su28  
(write) DATA[31:0]  
WR_N  
t
su38  
t
w28  
004aaa529  
Fig 25. SAF1761 register access timing: separate address and data buses (8051 style)  
Table 176. PIO register read or write  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
VCC(I/O) = 1.65 V to 1.95 V  
Reading  
Min  
Max  
Unit  
tw18  
tsu18  
th18  
RD_N LOW pulse width  
> td18  
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
address set-up time before RD_N LOW  
address hold time after RD_N HIGH  
RD_N LOW to data valid delay  
0
0
-
-
-
td18  
33  
1
-
td28  
RD_N HIGH to data outputs 3-state delay  
RD_N HIGH to CS_N HIGH delay  
CS_N LOW to RD_N LOW delay  
-
td38  
0
0
td48  
-
Writing  
tw28  
tsu28  
th28  
WR_N LOW pulse width  
15  
0
-
-
-
-
-
-
ns  
ns  
ns  
ns  
ns  
ns  
address set-up time before WR_N LOW  
address hold time after WR_N HIGH  
data set-up time before WR_N HIGH  
data hold time after WR_N HIGH  
WR_N HIGH to CS_N HIGH delay  
0
tsu38  
th38  
5
2
td58  
1
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
137 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 176. PIO register read or write …continued  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
Min  
Max  
Unit  
td68  
CS_N LOW to WR_N LOW delay  
0
-
ns  
VCC(I/O) = 3.3 V to 3.6 V  
Reading  
tw18  
tsu18  
th18  
RD_N LOW pulse width  
> td18  
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
address set-up time before RD_N LOW  
address hold time after RD_N HIGH  
RD_N LOW to data valid delay  
0
0
-
-
-
td18  
21  
1
-
td28  
RD_N HIGH to data outputs 3-state delay  
RD_N HIGH to CS_N HIGH delay  
CS_N LOW to RD_N LOW delay  
0
0
0
td38  
td48  
-
Writing  
tw28  
tsu28  
th28  
WR_N LOW pulse width  
15  
0
-
-
-
-
-
-
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
address set-up time before WR_N LOW  
address hold time after WR_N HIGH  
data set-up time before WR_N HIGH  
data hold time after WR_N HIGH  
WR_N HIGH to CS_N HIGH delay  
CS_N LOW to WR_N LOW delay  
1
tsu38  
th38  
5
2
td58  
1
td68  
0
15.2.1.2 PIO register access  
CS_N  
WR_N  
RD_N  
t
WHWL  
t
t
WHRL  
t
RHWL  
RHRL  
004aaa984  
Fig 26. PIO register access  
Table 177. Register access  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol  
tWHRL  
tRHWL  
tWHWL  
tRHRL  
Parameter  
Min  
86  
Max  
Unit  
WR_N HIGH to RD_N LOW time  
RD_N HIGH to WR_N LOW time  
WR_N HIGH to WR_N LOW time  
RD_N HIGH to RD_N LOW time  
-
-
-
-
ns  
ns  
ns  
ns  
86  
86[1]  
86[1]  
[1] For the Data Port register, the minimum value is 25 ns.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
138 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
15.2.2 DMA timing  
15.2.2.1 DMA read or write  
(2)  
DREQ  
t
su19  
t
h19  
(1)  
t
T
w19  
DACK  
cy19  
t
t
d19  
su39  
RD_N/WR_N  
t
w29  
t
a19  
t
t
d29  
h29  
[31  
]
]
(read) DATA :0  
t
t
h39  
su29  
[31  
(write) DATA :0  
004aaa528  
DREQ is continuously asserted until the last transfer is done or the FIFO is full.  
Data strobes: RD_N (read) and WR_N (write).  
(1) Programmable polarity: shown as active LOW.  
(2) Programmable polarity: shown as active HIGH.  
Fig 27. DMA read or write  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
139 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 178. DMA read or write  
Tamb = 40 °C to +85 °C; unless otherwise specified.  
Symbol Parameter  
Min  
Max  
Unit  
VCC(I/O) = 1.65 V to 1.95 V  
Tcy19  
tsu19  
td19  
read or write cycle time  
75  
10  
33.33  
0
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
DREQ set-up time before first DACK on  
DREQ on delay after last strobe off  
DREQ hold time after last strobe on  
RD_N/WR_N pulse width  
-
-
th19  
53  
tw19  
tw29  
td29  
40  
36  
-
600  
RD_N/WR_N recovery time  
-
read data valid delay after strobe on  
read data hold time after strobe off  
write data hold time after strobe off  
write data set-up time before strobe off  
DACK set-up time before RD_N/WR_N assertion  
30  
5
-
th29  
-
th39  
1
tsu29  
tsu39  
ta19  
10  
0
-
-
DACK de-assertion after RD_N/WR_N  
de-assertion  
3
-
VCC(I/O) = 3.3 V to 3.6 V  
Tcy19  
tsu19  
td19  
read or write cycle time  
75  
10  
33.33  
0
-
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
DREQ set-up time before first DACK on  
DREQ on delay after last strobe off  
DREQ hold time after last strobe on  
RD_N/WR_N pulse width  
-
-
th19  
53  
tw19  
tw29  
td29  
39  
36  
-
600  
RD_N/WR_N recovery time  
-
read data valid delay after strobe on  
read data hold time after strobe off  
write data hold time after strobe off  
write data set-up time before strobe off  
DACK set-up time before RD_N/WR_N assertion  
20  
5
-
th29  
-
th39  
1
tsu29  
tsu39  
ta19  
10  
0
-
-
DACK de-assertion after RD_N/WR_N  
de-assertion  
3
-
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
140 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
16. Package outline  
LQFP128: plastic low profile quad flat package; 128 leads; body 14 x 20 x 1.4 mm  
SOT425-1  
y
X
A
102  
103  
65  
64  
Z
E
e
H
A
E
2
A
E
(A )  
3
A
1
θ
w M  
p
L
L
p
b
pin 1 index  
detail X  
39  
38  
128  
1
v
M
A
Z
w M  
D
b
p
e
D
B
H
v
M
B
D
0
5
10 mm  
scale  
DIMENSIONS (mm are the original dimensions)  
A
(1)  
(1)  
(1)  
(1)  
UNIT  
A
A
A
b
c
D
E
e
H
D
H
E
L
L
v
w
y
Z
Z
E
θ
1
2
3
p
p
D
max.  
7o  
0o  
0.15 1.45  
0.05 1.35  
0.27 0.20 20.1 14.1  
0.17 0.09 19.9 13.9  
22.15 16.15  
21.85 15.85  
0.75  
0.45  
0.81 0.81  
0.59 0.59  
mm  
1.6  
0.25  
1
0.2 0.12 0.1  
0.5  
Note  
1. Plastic or metal protrusions of 0.25 mm maximum per side are not included.  
REFERENCES  
OUTLINE  
EUROPEAN  
PROJECTION  
ISSUE DATE  
VERSION  
IEC  
JEDEC  
JEITA  
00-01-19  
03-02-20  
SOT425-1  
136E28  
MS-026  
Fig 28. Package outline SOT425-1 (LQFP128)  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
141 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
17. Soldering of SMD packages  
This text provides a very brief insight into a complex technology. A more in-depth account  
of soldering ICs can be found in Application Note AN10365 “Surface mount reflow  
soldering description”.  
17.1 Introduction to soldering  
Soldering is one of the most common methods through which packages are attached to  
Printed Circuit Boards (PCBs), to form electrical circuits. The soldered joint provides both  
the mechanical and the electrical connection. There is no single soldering method that is  
ideal for all IC packages. Wave soldering is often preferred when through-hole and  
Surface Mount Devices (SMDs) are mixed on one printed wiring board; however, it is not  
suitable for fine pitch SMDs. Reflow soldering is ideal for the small pitches and high  
densities that come with increased miniaturization.  
17.2 Wave and reflow soldering  
Wave soldering is a joining technology in which the joints are made by solder coming from  
a standing wave of liquid solder. The wave soldering process is suitable for the following:  
Through-hole components  
Leaded or leadless SMDs, which are glued to the surface of the printed circuit board  
Not all SMDs can be wave soldered. Packages with solder balls, and some leadless  
packages which have solder lands underneath the body, cannot be wave soldered. Also,  
leaded SMDs with leads having a pitch smaller than ~0.6 mm cannot be wave soldered,  
due to an increased probability of bridging.  
The reflow soldering process involves applying solder paste to a board, followed by  
component placement and exposure to a temperature profile. Leaded packages,  
packages with solder balls, and leadless packages are all reflow solderable.  
Key characteristics in both wave and reflow soldering are:  
Board specifications, including the board finish, solder masks and vias  
Package footprints, including solder thieves and orientation  
The moisture sensitivity level of the packages  
Package placement  
Inspection and repair  
Lead-free soldering versus SnPb soldering  
17.3 Wave soldering  
Key characteristics in wave soldering are:  
Process issues, such as application of adhesive and flux, clinching of leads, board  
transport, the solder wave parameters, and the time during which components are  
exposed to the wave  
Solder bath specifications, including temperature and impurities  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
142 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
17.4 Reflow soldering  
Key characteristics in reflow soldering are:  
Lead-free versus SnPb soldering; note that a lead-free reflow process usually leads to  
higher minimum peak temperatures (see Figure 29) than a SnPb process, thus  
reducing the process window  
Solder paste printing issues including smearing, release, and adjusting the process  
window for a mix of large and small components on one board  
Reflow temperature profile; this profile includes preheat, reflow (in which the board is  
heated to the peak temperature) and cooling down. It is imperative that the peak  
temperature is high enough for the solder to make reliable solder joints (a solder paste  
characteristic). In addition, the peak temperature must be low enough that the  
packages and/or boards are not damaged. The peak temperature of the package  
depends on package thickness and volume and is classified in accordance with  
Table 179 and 180  
Table 179. SnPb eutectic process (from J-STD-020C)  
Package thickness (mm) Package reflow temperature (°C)  
Volume (mm3)  
< 350  
235  
350  
220  
< 2.5  
2.5  
220  
220  
Table 180. Lead-free process (from J-STD-020C)  
Package thickness (mm) Package reflow temperature (°C)  
Volume (mm3)  
< 350  
260  
350 to 2000  
> 2000  
260  
< 1.6  
260  
250  
245  
1.6 to 2.5  
> 2.5  
260  
245  
250  
245  
Moisture sensitivity precautions, as indicated on the packing, must be respected at all  
times.  
Studies have shown that small packages reach higher temperatures during reflow  
soldering, see Figure 29.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
143 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
maximum peak temperature  
= MSL limit, damage level  
temperature  
minimum peak temperature  
= minimum soldering temperature  
peak  
temperature  
time  
001aac844  
MSL: Moisture Sensitivity Level  
Fig 29. Temperature profiles for large and small components  
For further information on temperature profiles, refer to Application Note AN10365  
“Surface mount reflow soldering description”.  
18. Appendix  
18.1 Errata added on 2009-04-20  
18.1.1 Problem description  
When the SAF1761 is programmed to perform infinite retries on Not Acknowledged  
(NAK) IN tokens, the SAF1761 does not generate the retry IN tokens on its own.  
According to the SAF1761 data sheet, if register RL is programmed as zero, NakCnt is  
ignored. This means that irrespective of the value of NakCnt, the SAF1761 must retry  
indefinitely because there is no NakCnt to limit the number of retries for a NAK IN token.  
The SAF1761 hardware, however, does not retry the NAK IN token.  
18.1.2 Implication  
After an IN token is seen on the USB bus and is NAK-ed by the downstream device, the  
SAF1761 will not perform any automatic retry. Instead an interrupt will be generated in the  
ATL_IRQ bit of the HcInterrupt register (310h), and the software must refresh the IN token  
Proprietary Transfer Descriptor (PTD) for the retry to occur on the USB bus. This causes  
the software to constantly service this retry, unless the application instructs it to stop  
retrying.  
18.1.3 Workaround  
18.1.3.1 Software retry mechanism  
Set program register RL = 1111b and NakCnt = 1111b. In this case, interrupt will be  
generated when NakCnt reaches zero and the software has to reload the transfer  
descriptor.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
144 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.1.3.2 Hardware retry mechanism  
Set program register RL = 0000b, NakCnt = 0000b and Cerr = 10b. In this case, interrupt  
will not be generated for NAKs and hardware will retry indefinitely, until the device  
responds with a data or an ACK.  
18.2 Errata added on 2009-04-20  
18.2.1 Problem description  
When at least two USB devices are simultaneously running, it is observed that sometimes  
the INT corresponding to one of the USB devices stops occurring. This may be observed  
sometimes with USB-to-serial or USB-to-network devices.  
The problem is not noticed when only USB mass storage devices are running.  
18.2.2 Implication  
This issue is because of the clearing of the respective Done Map bit on reading the ATL  
PTD Done Map register when an INT is generated by another PTD completion, but is not  
found set on that read access. In this situation, the respective Done Map bit will remain  
reset and no further INT will be asserted, so the data transfer corresponding to that USB  
device will stop.  
18.2.3 Workaround  
An SOF INT can be used instead of an ATL INT with polling on Done bits. A time-out can  
be implemented and if a certain Done bit is never set, verification of the PTD completion  
can be done by reading PTD contents (valid bit).  
18.3 Errata added on 2009-04-20  
18.3.1 Problem description  
The DMA Transfer Counter register of the Peripheral Controller is decremented by  
4 bytes or 2 bytes even when it sees a short packet, which is not a multiple of 4 bytes or  
2 bytes. Because of the extra count decremented and written to the buffer, the buffer does  
not reflect the correct amount of data. The Peripheral Controller recognizes how many  
data bytes are received in either of these ways:  
Option 1: The host informs the peripheral about the number of bytes that will be  
transferred before sending the data bytes. The mass storage class supports this type  
of transfer. This option is properly handled even if the transfer counter is programmed  
in odd numbers.  
Option 2: The peripheral does not know beforehand how many bytes will be received.  
On receiving a short packet or a zero-length packet, the peripheral checks data bytes  
number from the USB chip DMA counter after DMA completion. An example is a  
printer application. The printing class supports this type of transfer; see Figure 30.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
145 of 165  
 
 
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
DREQ  
DACK  
DATA  
LINES  
4 bytes  
4 bytes  
4 bytes  
4 bytes  
RD  
001aak084  
The Peripheral Controller DMA counter shows an even number of bytes (for example, 16 byte)  
instead of the correct number of transferred bytes (for example, 13 byte).  
Fig 30. Peripheral Controller recognizing the number of bytes received  
During a short packet transfer, the counter will always be decremented by 4 bytes or  
2 bytes, depending on the bus width setting although other operations are not affected.  
The problem occurs when sending the last byte. The Peripheral Controller DMA Transfer  
Counter register will still be decremented by 4 bytes or 2 bytes, depending on the settings  
of the bus width even though only 1 byte of data is sent. This may complicate the count  
and therefore, the count that exists in DMA will not be accurate.  
18.3.2 Implication  
The implication is serious in certain applications in which the empty packet or the short  
packet is considered as an error condition or termination of the transfer. For example, in  
certain printer class implementations, the empty packet is considered as an error  
condition and the Host Controller will try to send a command to rectify the error, which  
cannot be seen by the firmware. This is because the microcontroller has already set and  
enabled the DMA bit, activating the DMA transfer, and has also disabled endpoint  
interrupts to reduce overhead. Because of this, whatever the Host Controller sends for  
error recovery will not be seen and the system stops responding.  
18.3.3 Workaround  
None  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
146 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.4 Errata added on 2009-04-20  
While the SAF1761 is resuming operations from deep-sleep suspend, the clock does not  
start again.  
18.4.1 Problem description  
When the SAF1761 is put into deep-sleep suspend mode, the chip can automatically  
wake up by any one of the following methods; suspend mode here means the host and  
the device are suspended and the clock is turned off (see Figure 31):  
When the SAF1761 Peripheral Controller is connected to the USB Host Controller  
Any access to the SAF1761 registers by the microprocessor or microcontroller  
When a device is connected to the downstream port of the SAF1761  
When an attached device, with the remote wake-up feature, initiates a resume on the  
USB bus  
If the HC_SUSPEND/WAKEUP_N and DC_SUSPEND/WAKEUP_N pins are pulled  
LOW to wake up from suspend.  
With any one of the preceding events, the SAF1761 USB controller wakes-up from  
suspend and the clock starts functioning, and all functionalities work normally.  
When the SAF1761 is suspended for the second time, the clock stops and the SAF1761  
enters into deep sleep mode but it cannot be woken-up again by any of the preceding  
events. The clock is not getting started when the SAF1761 device gets connected to the  
Host Controller (see Figure 32). The device connection to the host causes the  
DC_SUSPEND/WAKEUP_N pin to go LOW, but the clock is not started. The clock never  
turns on and the SAF1761 can never be resumed from the suspended state.  
Ch1  
1
Ch2  
Ch3  
2
Ch4  
3
4
Ch1 2.00 V  
Ch2 2.00 V  
M
1.00 s  
Ch2  
2.08 V  
Ch3 200 mV  
Ch4 200 mV  
001aak150  
CH1 = XTAL1, CH2 = DC_SUSPEND/WAKEUP_N, CH3 = CS_N and CH4 =  
HC_SUSPEND/WAKEUP_N  
Fig 31. Waveform for deep-sleep suspend  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
147 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Ch1  
1
2
Ch2  
Ch4  
Ch3  
3
4
Ch1 2.00 V  
Ch2 2.00 V  
M
1.00 s  
Ch2  
2.08 V  
Ch3 200 mV  
Ch4 200 mV  
001aak151  
CH1 = XTAL1, CH2 = DC_SUSPEND/WAKEUP_N, CH3 = CS_N and CH4 =  
HC_SUSPEND/WAKEUP_N  
Fig 32. Waveform for DC_SUSPEND/WAKEUP_N pin goes LOW but the clock is not  
started  
18.4.2 Implication  
For low-power applications, the SAF1761 can be put into the suspend state on both the  
Host Controller and Peripheral Controller sides. But to enter deep-sleep suspend mode,  
the clock must be turned off so that the current consumption can be reduced to less than  
400 μA. For such applications, this issue is serious because the SAF1761 can no longer  
be resumed, and the only way to recover is to remove and re-apply power to the chip.  
18.4.3 Workaround  
The problem can be worked around by connecting the CLKIN pin to GNDD (digital  
ground). At the system level, ensure that the VCC(5V0) and VCC(I/O) supplies are available  
at the same time to the SAF1761 (i.e. both VCC(5V0) and VCC(I/O) are connected to the  
same supply of 3.3 V). Alternatively, VCC(I/O) can be available before VCC(5V0). Otherwise,  
this workaround will be ineffective.  
18.5 Errata added on 2009-04-20  
The value written to the Endpoint Index (022Ch) and Control Function (0228h)  
registers cannot be read-back correctly.  
18.5.1 Problem description  
If there is a RD_N pulse, occurring in less than 60 ns after WR_N to the Endpoint Index or  
Control Function register, data corruption occurs, irrespective of the CS_N signal. The  
data corruption problem occurs intermittently.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
148 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.5.2 Implication  
Moderate  
18.5.3 Workaround  
After performing a write access to the Endpoint Index or Control Function register, the  
RD_N signal can only be asserted 60 ns after the WR_N signal is de-asserted (see  
Figure 33).  
CS_N  
WR_N  
RD_N  
> 60 ns  
endpoint index  
A[17:1]  
register  
001aak085  
Fig 33. Timing diagram for reading Endpoint Index register after performing a write  
access  
18.6 Errata added on 2009-04-20  
18.6.1 Problem description  
When a low-speed or full-speed device is attached, after some time, the low-speed or  
full-speed device suddenly gets disconnected.  
The following sequence is observed when the problem occurs:  
The hub class driver detects a change of port status on the problematic port (through  
the interrupt endpoint of the hub).  
When a Get Port Status command is sent to the problematic port, the Port Enable bit  
of the Port Status is cleared. This indicates that a port error has occurred. However,  
the current connection status still indicates that a device is present on the port.  
The hub driver sends a Port Reset command because of the clearing of the port  
enable bit. This causes the disconnection of the attached device and its renumeration.  
Before the hub driver detects the port status change, all active transfers on the  
problematic port are halted.  
Low-speed or full-speed devices connected to other ports are not affected when the  
problem occurs.  
The problem occurs with low-speed or full-speed devices.  
When low-speed or full-speed devices are connected through a high-speed hub, the  
problem will not occur.  
During testing, it is observed that the problem always occurs on the port on which the  
device was last attached.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
149 of 165  
 
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.6.2 Implication  
The implication will be serious if the device is getting disconnected during the data  
transfer.  
18.6.3 Workaround  
The software workaround will check if a port has suddenly been disabled (Port Enable bit  
cleared) when a device is still connected to the port. Once it detects this condition, the  
software workaround will perform the necessary steps to re-enable the port and  
reschedule any halted transfer because of the error condition.  
The following actions are taken by the software once the error condition is detected:  
Increment the count of the variable that keeps the number of times the ports have  
been force enabled.  
Determine which active PTDs (ATL and INTL) are scheduled to the affected port and  
suspend them.  
Determine the speed of the device connected to the affected port.  
Put the internal hub in Force Configure mode.  
Force enable the affected port (this will set the Port Enable bit of the affected port to 1  
again).  
Remove the force enable on the affected port.  
Remark: If the force enable is set, the particular port will always be enabled even if  
the device connected has been removed.  
Put the internal hub back to normal mode (exit from the force configure mode).  
Re-active all the suspended PTDs.  
There are two conditions when the software workaround will be invoked and appropriate  
actions will be taken to determine if it truly is a problematic behavior (see Section 18.6.3.1,  
Section 18.6.3.2 and Section 18.6.3.3).  
18.6.3.1 Condition 1  
Condition 1 refers to the condition when Port Enable/Disable Change event is detected  
in the Hub Class driver. To determine and resolve the problematic condition, the following  
steps are taken:  
Determine if the hub event has occurred on one of the internal hubs three ports and if  
the connected device is either full-speed or low-speed.  
Determine if the port enable bit is cleared when a device is still connected on the port.  
Ensure that the port has not been force enabled three consecutive times by checking  
the variable that keeps track of the number of times the port has been force enabled.  
Otherwise, reset the port if it has been force enabled three consecutive times.  
Invoke the software workaround.  
Check the Port Status again to see if the port has recovered. See also Section 18.6.3.3.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
150 of 165  
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.6.3.2 Condition 2  
Condition 2 refers to the condition when a HALT occurs during PTD processing without  
other bus errors (that is, babble, transaction error).  
To determine and resolve the problematic condition, the following steps are taken:  
Check the completion status once a PTD scheduled towards a full-speed or  
low-speed device and connected through the internal hub is completed.  
If the PTD has been completed successfully, clear the variable that keeps track of the  
number of the times the port has been force enabled.  
If the PTD has been completed with a HALT condition, get the port status of the port  
on which it is connected to the internal hub.  
Determine if the Port Enable bit is cleared when a device is still connected to the port.  
Ensure that the port has not been force enabled three consecutive times by checking  
the variable that keeps track of the number of times the port has been force enabled.  
Otherwise, reset the port if it has been force enabled three consecutive times.  
Invoke the software workaround.  
See also Section 18.6.3.3.  
18.6.3.3 Remarks  
Because of this erratum, Keep-Alive EOP will not appear on the USB bus for more than  
3 ms and the device will enter the suspend state. After implementing the above mentioned  
workaround, Keep-Alive EOP will start and the device will wake up to continue the  
function. In rare cases, because of the device implementation, there is a possibility that  
the device may not accept further requests from the host after the workaround. In such  
cases, application must perform the following partial enumeration steps to make the  
device work:  
1. Port power off  
2. Port power on  
3. Get descriptor  
4. Set interface  
As SAF1761 has individual port power control mechanism, above sequence will be  
effective if the full-speed or low-speed device is directly connected to SAF1761 ports.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
151 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.7 Errata added on 2009-04-20  
18.7.1 Problem description  
VBUSSTAT bit of the Mode Register (020Ch) is not getting set in SAF1761, if port 1 is  
configured as a peripheral and VBUS is below 4.5 V.  
18.7.2 Implication  
If SAF1761 peripheral is connected to bus-powered hub, there is a possibility of the VBUS  
becoming less than 4.5 V; in such cases, VBUSSTAT bit in the MODE register of  
SAF1761 doesn’t get set. Because of this, there is no way for the SAF1761 peripheral to  
detect that a PC host controller or a hub is attached to it and thus the SAF1761 peripheral  
will not pull high the DP line; In turn, the USB host will never detect the SAF1761  
peripheral.  
18.7.3 Workaround  
The Peripheral Software driver needs to be modified to poll A_B_SESS_VLD bit in the  
OTG Status Register (0x0378) instead of VBUSSTAT of the Mode Register (020Ch) to  
detect the presence of the SAF1761 peripheral connection with USB Host. This bit has  
lower trigger voltage.  
To enable the setting of the A_B_SESS_VLD bit with VBUS, software needs to enable  
OTG functionality during the initialization of the SAF1761, see pseudo code below.  
1761_Init()  
{
Write32(0x0374, 0x0000400);  
//OTG disabled need to check by removing this step in init  
Write32(0x0374, 0x0400000); // OTG enabled  
Write32(0x0374, 0x00160080); //Peripheral is enabled  
}
Poll the A_B_SESS_VLD or Vbus_VLD bit to detect the connection with host and then  
enable the DP pull up.  
Connect_Thread()  
{
UINT16 OTG_Stat_Reg  
OTG_Stat_Reg Read (0x0378);  
0x0002)  
= 0;  
=
If (OTG_Stat_Reg  
{
&
//Enable the soft-connect bit  
Write32 (0x0374, 0x00000001);  
}
}
Remark: Please take note of a limitation during SUSPEND; with this workaround  
implementation, the SAF1761 Peripheral controller can enter into suspend. But it can  
come out of suspend only with the Bus Reset from the host controller and cannot be  
resumed using a normal RESUME signal.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
152 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
19. Abbreviations  
Table 181. Abbreviations  
Acronym  
ACK  
ASIC  
ATL  
Description  
ACKnowledgment  
Application-Specific Integrated Circuit  
Asynchronous Transfer List  
Analog Transceiver  
Binary Coded Decimal  
Central Processing Unit  
Complete Split  
ATX  
BCD  
CPU  
CS  
DC  
Device Controller  
DMA  
EHCI  
EMI  
Direct Memory Access  
Enhanced Host Controller Interface  
ElectroMagnetic Interference  
End-Of-Packet  
EOP  
EOT  
ESR  
FIFO  
FLS  
End-Of-Transfer  
Effective Series Resistance  
First In, First Out  
Frame List Size  
GDMA  
GPIO  
GPS  
HC  
Generic DMA  
General-Purpose I/O  
Global Positioning System  
Host Controller  
HNP  
HS  
Host Negotiation Protocol  
High-Speed  
HW  
HardWare  
ID  
IDentification  
IEC  
International Electrotechnical Commission  
INTerrupt  
INT  
IRQ  
Interrupt ReQuest  
ISO  
ISOchronous  
ISR  
Interrupt Service Routine  
isochronous Transfer Descriptor  
Isochronous Transfer List  
Input and Output  
iTD  
ITL  
I/O  
LS  
Line Status  
LSByte  
MSByte  
NAK  
NYET  
OC  
Least Significant Byte  
Most Significant Byte  
Not AcKnowledged  
Not YET  
OverCurrent  
OHCI  
Open Host Controller Interface  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
153 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 181. Abbreviations …continued  
Acronym  
Description  
OTG  
PC  
On-The-Go  
Personal Computer  
Peripheral Component Interconnect  
Packet IDentifier  
PCI  
PID  
PIO  
Programmed I/O  
PLL  
Phase-Locked Loop  
Positive-channel Metal-Oxide Semiconductor  
Power-On Reset  
PMOS  
POR  
PORP  
PPC  
pTD  
PTD  
RAM  
RISC  
R/S  
Power-On Reset Pulse  
Port Power Control  
periodic Transfer Descriptor  
Proprietary Transfer Descriptor  
Random Access Memory  
Reduced Instruction Set Computer  
Run/Stop  
R/W  
SE0  
SE1  
SIE  
Read/Write  
Single Ended 0  
Single Ended 1  
Serial Interface Engine  
split isochronous Transfer Descriptor  
Start-Of-Frame  
siTD  
SOF  
SRAM  
SRP  
SS  
Static RAM  
Session Request Protocol  
Start Split  
SW  
SoftWare  
TD  
Transfer Descriptor  
Transaction Translator  
Universal Serial Bus  
crystal OSCillator[1]  
TT  
USB  
XOSC  
[1] Letter X became a synonym for “crystal”.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
154 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
20. Glossary  
Bulk transfer — One of the four USB transfer types. It is an aperiodic, large burst  
communication, typically used for a transfer, which works with any available bandwidth. A  
bulk transfer can also be delayed until more bandwidth becomes available.  
Endpoint — A uniquely addressable portion of an USB device that is the source or sink of  
information in a communication flow between the host and the device.  
LazyClock — A slow clock frequency that is kept running while the chip is in suspend  
mode.  
Microframe — A 125 μs time base established on high-speed buses.  
MP3 — Compressed audio format using MPEG layer 3.  
μSOF — Microframe SOF, a handy unit: 1 μSOF = 125 μs.  
Opcode — Operation code. The portion of an instruction word that specifies what kind of  
instruction it is and which operation to perform.  
RX — Receive buffer in the context of this data sheet.  
TX — Transmit buffer in the context of this data sheet.  
21. References  
[1] Universal Serial Bus Specification Rev. 2.0  
[2] Enhanced Host Controller Interface Specification for Universal Serial Bus Rev. 1.0  
[3] On-The-Go Supplement to the USB Specification Rev. 1.3  
22. Revision history  
Table 182. Revision history  
Document ID  
SAF1761 v.2  
Modifications:  
SAF1761_1  
Release date  
Data sheet status  
Change notice  
Supersedes  
20120619  
Product data sheet  
-
SAF1761 v.1  
Limit application to automotive use  
20091118 Product data sheet  
-
-
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
155 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
23. Legal information  
23.1 Data sheet status  
Document status[1][2]  
Product status[3]  
Development  
Definition  
Objective [short] data sheet  
This document contains data from the objective specification for product development.  
This document contains data from the preliminary specification.  
This document contains the product specification.  
Preliminary [short] data sheet Qualification  
Product [short] data sheet Production  
[1]  
[2]  
[3]  
Please consult the most recently issued document before initiating or completing a design.  
The term ‘short data sheet’ is explained in section “Definitions”.  
The product status of device(s) described in this document may have changed since this document was published and may differ in case of multiple devices. The latest product status  
information is available on the Internet at URL http://www.nxp.com.  
Suitability for use in automotive applications — This NXP  
23.2 Definitions  
Semiconductors product has been qualified for use in automotive  
applications. Unless otherwise agreed in writing, the product is not designed,  
authorized or warranted to be suitable for use in life support, life-critical or  
safety-critical systems or equipment, nor in applications where failure or  
malfunction of an NXP Semiconductors product can reasonably be expected  
to result in personal injury, death or severe property or environmental  
damage. NXP Semiconductors and its suppliers accept no liability for  
inclusion and/or use of NXP Semiconductors products in such equipment or  
applications and therefore such inclusion and/or use is at the customer's own  
risk.  
Draft — The document is a draft version only. The content is still under  
internal review and subject to formal approval, which may result in  
modifications or additions. NXP Semiconductors does not give any  
representations or warranties as to the accuracy or completeness of  
information included herein and shall have no liability for the consequences of  
use of such information.  
Short data sheet — A short data sheet is an extract from a full data sheet  
with the same product type number(s) and title. A short data sheet is intended  
for quick reference only and should not be relied upon to contain detailed and  
full information. For detailed and full information see the relevant full data  
sheet, which is available on request via the local NXP Semiconductors sales  
office. In case of any inconsistency or conflict with the short data sheet, the  
full data sheet shall prevail.  
Applications — Applications that are described herein for any of these  
products are for illustrative purposes only. NXP Semiconductors makes no  
representation or warranty that such applications will be suitable for the  
specified use without further testing or modification.  
Customers are responsible for the design and operation of their applications  
and products using NXP Semiconductors products, and NXP Semiconductors  
accepts no liability for any assistance with applications or customer product  
design. It is customer’s sole responsibility to determine whether the NXP  
Semiconductors product is suitable and fit for the customer’s applications and  
products planned, as well as for the planned application and use of  
customer’s third party customer(s). Customers should provide appropriate  
design and operating safeguards to minimize the risks associated with their  
applications and products.  
Product specification — The information and data provided in a Product  
data sheet shall define the specification of the product as agreed between  
NXP Semiconductors and its customer, unless NXP Semiconductors and  
customer have explicitly agreed otherwise in writing. In no event however,  
shall an agreement be valid in which the NXP Semiconductors product is  
deemed to offer functions and qualities beyond those described in the  
Product data sheet.  
NXP Semiconductors does not accept any liability related to any default,  
damage, costs or problem which is based on any weakness or default in the  
customer’s applications or products, or the application or use by customer’s  
third party customer(s). Customer is responsible for doing all necessary  
testing for the customer’s applications and products using NXP  
Semiconductors products in order to avoid a default of the applications and  
the products or of the application or use by customer’s third party  
customer(s). NXP does not accept any liability in this respect.  
23.3 Disclaimers  
Limited warranty and liability — Information in this document is believed to  
be accurate and reliable. However, NXP Semiconductors does not give any  
representations or warranties, expressed or implied, as to the accuracy or  
completeness of such information and shall have no liability for the  
consequences of use of such information. NXP Semiconductors takes no  
responsibility for the content in this document if provided by an information  
source outside of NXP Semiconductors.  
Limiting values — Stress above one or more limiting values (as defined in  
the Absolute Maximum Ratings System of IEC 60134) will cause permanent  
damage to the device. Limiting values are stress ratings only and (proper)  
operation of the device at these or any other conditions above those given in  
the Recommended operating conditions section (if present) or the  
Characteristics sections of this document is not warranted. Constant or  
repeated exposure to limiting values will permanently and irreversibly affect  
the quality and reliability of the device.  
In no event shall NXP Semiconductors be liable for any indirect, incidental,  
punitive, special or consequential damages (including - without limitation - lost  
profits, lost savings, business interruption, costs related to the removal or  
replacement of any products or rework charges) whether or not such  
damages are based on tort (including negligence), warranty, breach of  
contract or any other legal theory.  
Notwithstanding any damages that customer might incur for any reason  
whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards  
customer for the products described herein shall be limited in accordance  
with the Terms and conditions of commercial sale of NXP Semiconductors.  
Terms and conditions of commercial sale — NXP Semiconductors  
products are sold subject to the general terms and conditions of commercial  
sale, as published at http://www.nxp.com/profile/terms, unless otherwise  
agreed in a valid written individual agreement. In case an individual  
agreement is concluded only the terms and conditions of the respective  
agreement shall apply. NXP Semiconductors hereby expressly objects to  
applying the customer’s general terms and conditions with regard to the  
purchase of NXP Semiconductors products by customer.  
Right to make changes — NXP Semiconductors reserves the right to make  
changes to information published in this document, including without  
limitation specifications and product descriptions, at any time and without  
notice. This document supersedes and replaces all information supplied prior  
to the publication hereof.  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
156 of 165  
 
 
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
No offer to sell or license — Nothing in this document may be interpreted or  
construed as an offer to sell products that is open for acceptance or the grant,  
conveyance or implication of any license under any copyrights, patents or  
other industrial or intellectual property rights.  
Translations — A non-English (translated) version of a document is for  
reference only. The English version shall prevail in case of any discrepancy  
between the translated and English versions.  
Export control — This document as well as the item(s) described herein  
may be subject to export control regulations. Export might require a prior  
authorization from competent authorities.  
23.4 Trademarks  
Notice: All referenced brands, product names, service names and trademarks  
are the property of their respective owners.  
24. Contact information  
For more information, please visit: http://www.nxp.com  
For sales office addresses, please send an email to: salesaddresses@nxp.com  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
157 of 165  
 
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
25. Tables  
Table 1. Ordering information . . . . . . . . . . . . . . . . . . . . .3  
Table 2. Pin description . . . . . . . . . . . . . . . . . . . . . . . . . .5  
Table 3. Port connection scenarios . . . . . . . . . . . . . . . .14  
Table 4. Memory address . . . . . . . . . . . . . . . . . . . . . . .17  
Table 5. Using the IRQ Mask AND or IRQ Mask OR  
registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Table 6. Hybrid mode . . . . . . . . . . . . . . . . . . . . . . . . . .26  
Table 7. Pin status during hybrid mode . . . . . . . . . . . . .27  
Table 8. Host controller-specific register overview . . . .29  
Table 9. CAPLENGTH - Capability Length register  
(address 0000h) bit description . . . . . . . . . . . .30  
Table 10. HCIVERSION - Host Controller Interface Version  
Number register (address 0002h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .30  
Table 11. HCSPARAMS - Host Controller Structural  
Parameters register (address 0004h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31  
Table 12. HCSPARAMS - Host Controller Structural  
Parameters register (address 0004h) bit  
Table 26. ISO PTD Skip Map register (address 0134h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38  
Table 27. ISO PTD Last PTD register (address 0138h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38  
Table 28. INT PTD Done Map register (address 0140h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39  
Table 29. INT PTD Skip Map register (address 0144h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39  
Table 30. INT PTD Last PTD register (address 0148h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39  
Table 31. ATL PTD Done Map register (address 0150h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
Table 32. ATL PTD Skip Map register (address 0154h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
Table 33. ATL PTD Last PTD register (address 0158h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
Table 34. HW Mode Control - Hardware Mode Control  
register (address 0300h) bit allocation . . . . . . 41  
Table 35. HW Mode Control - Hardware Mode Control  
register (address 0300h) bit description . . . . . 41  
Table 36. HcChipID - Host Controller Chip Identifier register  
(address 0304h) bit description . . . . . . . . . . . . 42  
Table 37. HcScratch - Host Controller Scratch register  
(address 0308h) bit description . . . . . . . . . . . . 43  
Table 38. SW Reset - Software Reset register (address  
030Ch) bit allocation . . . . . . . . . . . . . . . . . . . . 43  
Table 39. SW Reset - Software Reset register (address  
030Ch) bit description . . . . . . . . . . . . . . . . . . . 43  
Table 40. HcDMAConfiguration - Host Controller Direct  
Memory Access Configuration register (address  
0330h) bit allocation . . . . . . . . . . . . . . . . . . . . 44  
Table 41. HcDMAConfiguration - Host Controller Direct  
Memory Access Configuration register (address  
0330h) bit description . . . . . . . . . . . . . . . . . . . 44  
Table 42. HcBufferStatus - Host Controller Buffer Status  
register (address 0334h) bit allocation . . . . . . 45  
Table 43. HcBufferStatus - Host Controller Buffer Status  
register (address 0334h) bit description . . . . . 45  
Table 44. ATL Done Timeout register (address 0338h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
Table 45. Memory register (address 033Ch)  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . .31  
Table 13. HCCPARAMS - Host Controller Capability  
Parameters register (address 0008h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32  
Table 14. HCCPARAMS - Host Controller Capability  
Parameters register (address 0008h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . .32  
Table 15. USBCMD - USB Command register (address  
0020h) bit allocation . . . . . . . . . . . . . . . . . . . .33  
Table 16. USBCMD - USB Command register (address  
0020h) bit description . . . . . . . . . . . . . . . . . . .33  
Table 17. USBSTS - USB Status register (address 0024h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . .34  
Table 18. USBSTS - USB Status register (address 0024h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .34  
Table 19. FRINDEX - Frame Index register (address:  
002Ch) bit allocation . . . . . . . . . . . . . . . . . . . .35  
Table 20. FRINDEX - Frame Index register (address:  
002Ch) bit description . . . . . . . . . . . . . . . . . . .35  
Table 21. CONFIGFLAG - Configure Flag register (address  
0060h) bit allocation . . . . . . . . . . . . . . . . . . . .36  
Table 22. CONFIGFLAG - Configure Flag register (address  
0060h) bit description . . . . . . . . . . . . . . . . . . .36  
Table 23. PORTSC1 - Port Status and Control 1 register  
(address 0064h) bit allocation . . . . . . . . . . . . .37  
Table 24. PORTSC1 - Port Status and Control 1 register  
(address 0064h) bit description . . . . . . . . . . . .37  
Table 25. ISO PTD Done Map register (address 0130h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . .38  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
Table 46. Memory register (address 033Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . . 46  
Table 47. Edge Interrupt Count register (address 0340h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
Table 48. Edge Interrupt Count register (address 0340h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
continued >>  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
158 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 49. DMA Start Address register (address 0344h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Table 50. DMA Start Address register (address 0344h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . .48  
Table 51. Power-Down Control register (address 0354h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Table 52. Power-Down Control register (address 0354h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . .49  
Table 53. HcInterrupt - Host Controller Interrupt register  
(address 0310h) bit allocation . . . . . . . . . . . . .51  
Table 54. HcInterrupt - Host Controller Interrupt register  
(address 0310h) bit description . . . . . . . . . . . .52  
Table 55. HcInterruptEnable - Host Controller Interrupt  
Enable register (address 0314h) bit allocation 53  
Table 56. HcInterruptEnable - Host Controller Interrupt  
Enable register (address 0314h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . . 79  
Table 77. Microframe description . . . . . . . . . . . . . . . . . . 81  
Table 78. SE description . . . . . . . . . . . . . . . . . . . . . . . . . 81  
Table 79. OTG controller-specific register overview . . . . 88  
Table 80. Address mapping of registers: 32-bit data bus  
mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88  
Table 81. Address mapping of registers: 16-bit data bus  
mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89  
Table 82. Vendor ID - Vendor Identifier (address 0370h)  
register: bit description . . . . . . . . . . . . . . . . . . 90  
Table 83. Product ID - Product Identifier register (address  
0372h) bit description . . . . . . . . . . . . . . . . . . . 90  
Table 84. OTG Control register (address set: 0374h, clear:  
0376h) bit allocation . . . . . . . . . . . . . . . . . . . . 90  
Table 85. OTG Control register (address set: 0374h, clear:  
0376h) bit description . . . . . . . . . . . . . . . . . . . 90  
Table 86. OTG Status register (address 0378h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .53  
Table 57. ISO IRQ Mask OR register (address 0318h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .54  
Table 58. INT IRQ Mask OR register (address 031Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .54  
Table 59. ATL IRQ Mask OR register (address 0320h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .55  
Table 60. ISO IRQ Mask AND register (address 0324h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .55  
Table 61. INT IRQ Mask AND register (address 0328h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .55  
Table 62. ATL IRQ Mask AND register (address 032Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .55  
Table 63. High-speed bulk IN and OUT: bit allocation . . .58  
Table 64. High-speed bulk IN and OUT: bit description . .59  
Table 65. High-speed isochronous IN and OUT:  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . .62  
Table 66. High-speed isochronous IN and OUT:  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .63  
Table 67. High-speed interrupt IN and OUT:  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . .66  
Table 68. High-speed interrupt IN and OUT:  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .67  
Table 69. Microframe description . . . . . . . . . . . . . . . . . .69  
Table 70. Start and complete split for bulk: bit allocation .70  
Table 71. Start and complete split for bulk:  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .71  
Table 72. SE description . . . . . . . . . . . . . . . . . . . . . . . . .73  
Table 73. Start and complete split for isochronous:  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . .74  
Table 74. Start and complete split for isochronous:  
bit description . . . . . . . . . . . . . . . . . . . . . . . . .75  
Table 75. Start and complete split for interrupt:  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . .78  
Table 76. Start and complete split for interrupt:  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . . 92  
Table 87. OTG Status register (address 0378h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . . 92  
Table 88. OTG Interrupt Latch register (address set: 037Ch,  
clear: 037Eh) bit allocation . . . . . . . . . . . . . . . 92  
Table 89. OTG Interrupt Latch register (address set: 037Ch,  
clear: 037Eh) bit description . . . . . . . . . . . . . . 93  
Table 90. OTG Interrupt Enable Fall register (address set:  
0380h, clear: 0382h) bit allocation . . . . . . . . . 93  
Table 91. OTG Interrupt Enable Fall register (address set:  
0380h, clear: 0382h) bit description . . . . . . . . 93  
Table 92. OTG Interrupt Enable Rise register (address set:  
0384h, clear: 0386h) bit allocation . . . . . . . . . 94  
Table 93. OTG Interrupt Enable Rise register (address set:  
0384h, clear: 0386h) bit description . . . . . . . . 94  
Table 94. OTG Timer register (address low word set: 0388h,  
low word clear: 038Ah; high word set: 038Ch, high  
word clear: 038Eh) bit allocation . . . . . . . . . . . 95  
Table 95. OTG Timer register (address low word set: 0388h,  
low word clear: 038Ah; high word set: 038Ch, high  
word clear: 038Eh) bit description . . . . . . . . . . 95  
Table 96. Endpoint access and programmability . . . . . . 98  
Table 97. Peripheral controller-specific register overview 99  
Table 98. Address register (address 0200h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 100  
Table 99. Address register (address 0200h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 100  
Table 100. Mode register (address 020Ch) bit allocation 100  
Table 101. Mode register (address 020Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 101  
Table 102. Interrupt Configuration register (address 0210h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 102  
Table 103. Interrupt Configuration register (address 0210h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 102  
continued >>  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
159 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 104. Debug mode settings . . . . . . . . . . . . . . . . . .102  
Table 105. Debug register (address 0212h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .102  
Table 106. Debug register (address 0212h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .103  
Table 107. DcInterruptEnable - Device Controller Interrupt  
Enable register (address 0214h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .103  
Table 108. DcInterruptEnable - Device Controller Interrupt  
Enable register (address 0214h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .104  
Table 109. Endpoint Index register (address 022Ch)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .105  
Table 110. Endpoint Index register (address 022Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .105  
Table 111. Addressing of endpoint buffers . . . . . . . . . . .106  
Table 112. Control Function register (address 0228h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .106  
Table 113. Control Function register (address 0228h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .106  
Table 114. Data Port register (address 0220h)  
0238h) bit allocation . . . . . . . . . . . . . . . . . . . 114  
Table 130. DcDMAConfiguration - Device Controller Direct  
Memory Access Configuration register (address  
0238h) bit description . . . . . . . . . . . . . . . . . . 114  
Table 131. DMA Hardware register (address 023Ch)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 115  
Table 132. DMA Hardware register (address 023Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 115  
Table 133. DMA Interrupt Reason register (address 0250h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 116  
Table 134. DMA Interrupt Reason register (address 0250h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 116  
Table 135. Internal EOT-functional relation with the  
DMA_XFER_OK bit . . . . . . . . . . . . . . . . . . . 116  
Table 136. DMA Interrupt Enable register (address 0254h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 117  
Table 137. DMA Endpoint register (address 0258h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 117  
Table 138. DMA Endpoint register (address 0258h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 117  
Table 139. DMA Burst Counter register (address 0264h) bit  
allocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118  
Table 140. DMA Burst Counter register (address 0264h) bit  
description . . . . . . . . . . . . . . . . . . . . . . . . . . . 118  
Table 141. DcInterrupt - Device Controller Interrupt register  
(address 0218h) bit allocation . . . . . . . . . . . . 119  
Table 142. DcInterrupt - Device Controller Interrupt register  
(address 0218h) bit description . . . . . . . . . . . 119  
Table 143. DcChipID - Device Controller Chip Identifier  
register (address 0270h) bit description . . . . 120  
Table 144. Frame Number register (address 0274h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 120  
Table 145. Frame Number register (address 0274h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 121  
Table 146. DcScratch - Device Controller Scratch register  
(address 0278h) bit allocation . . . . . . . . . . . . 121  
Table 147. DcScratch - Device Controller Scratch register  
(address 0278h) bit description . . . . . . . . . . . 121  
Table 148. Unlock Device register (address 027Ch)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 121  
Table 149. Unlock Device register (address 027Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 122  
Table 150. Interrupt Pulse Width register (address 0280h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 122  
Table 151. Test Mode register (address 0284h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .107  
Table 115. Data Port register (address 0220h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .108  
Table 116. Buffer Length register (address 021Ch)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .108  
Table 117. DcBufferStatus - Device Controller Buffer Status  
register (address 021Eh) bit allocation . . . . .109  
Table 118. DcBufferStatus - Device Controller Buffer Status  
register (address 021Eh) bit description . . . .109  
Table 119. Endpoint MaxPacketSize register (address  
0204h) bit allocation . . . . . . . . . . . . . . . . . . .109  
Table 120. Endpoint MaxPacketSize register (address  
0204h) bit description . . . . . . . . . . . . . . . . . .110  
Table 121. Endpoint Type register (address 0208h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .110  
Table 122. Endpoint Type register (address 0208h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 111  
Table 123. Control bits for GDMA read or write (opcode =  
00h/01h) . . . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Table 124. DMA Command register (address 0230h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .112  
Table 125. DMA Command register (address 0230h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .112  
Table 126. DMA commands . . . . . . . . . . . . . . . . . . . . . .112  
Table 127. DMA Transfer Counter register (address 0234h)  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . .113  
Table 128. DMA Transfer Counter register (address 0234h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . .114  
Table 129. DcDMAConfiguration - Device Controller Direct  
Memory Access Configuration register (address  
bit allocation . . . . . . . . . . . . . . . . . . . . . . . . . 122  
Table 152. Test Mode register (address 0284h)  
bit description . . . . . . . . . . . . . . . . . . . . . . . . 122  
Table 153. Power consumption, typical values . . . . . . . 123  
Table 154. Limiting values . . . . . . . . . . . . . . . . . . . . . . . 124  
Table 155. Recommended operating conditions . . . . . . 124  
continued >>  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
160 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
Table 156. Static characteristics: digital pins . . . . . . . . .125  
Table 157. Static characteristics: pins PSW1_N,  
PSW2_N and PSW3_N . . . . . . . . . . . . . . . . .125  
Table 158. Static characteristics: POR . . . . . . . . . . . . . .125  
Table 159. Static characteristics: pin REF5V . . . . . . . . .125  
Table 160. Static characteristics: USB interface block  
(pins DM1 to DM3 and DP1 to DP3) . . . . . . .126  
Table 161. Static characteristics: VBUS comparators . . .127  
Table 162. Static characteristics: VBUS resistors . . . . . . .127  
Table 163. Dynamic characteristics: system  
clock timing . . . . . . . . . . . . . . . . . . . . . . . . . .128  
Table 164. Dynamic characteristics: CPU interface  
block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128  
Table 165. Dynamic characteristics: high-speed source  
electrical characteristics . . . . . . . . . . . . . . . . .128  
Table 166. Dynamic characteristics: full-speed source  
electrical characteristics . . . . . . . . . . . . . . . . .129  
Table 167. Dynamic characteristics: low-speed source  
electrical characteristics . . . . . . . . . . . . . . . . .129  
Table 168. Register or memory write . . . . . . . . . . . . . . .130  
Table 169. Register read . . . . . . . . . . . . . . . . . . . . . . . .131  
Table 170. Register access . . . . . . . . . . . . . . . . . . . . . .132  
Table 171. Memory read . . . . . . . . . . . . . . . . . . . . . . . . .132  
Table 172. DMA read (single cycle) . . . . . . . . . . . . . . . .133  
Table 173. DMA write (single cycle) . . . . . . . . . . . . . . . .134  
Table 174. DMA read (multi-cycle burst) . . . . . . . . . . . .135  
Table 175. DMA write (multi-cycle burst) . . . . . . . . . . . .136  
Table 176. PIO register read or write . . . . . . . . . . . . . . .137  
Table 177. Register access . . . . . . . . . . . . . . . . . . . . . .138  
Table 178. DMA read or write . . . . . . . . . . . . . . . . . . . . .140  
Table 179. SnPb eutectic process (from J-STD-020C) . .143  
Table 180. Lead-free process (from J-STD-020C) . . . . .143  
Table 181. Abbreviations . . . . . . . . . . . . . . . . . . . . . . . .153  
Table 182. Revision history . . . . . . . . . . . . . . . . . . . . . . .155  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
161 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
26. Figures  
Fig 1. Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . .4  
Fig 2. Pin configuration (LQFP128); top view . . . . . . . . .5  
Fig 3. Internal hub . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
Fig 4. SAF1761 clock scheme. . . . . . . . . . . . . . . . . . . .13  
Fig 5. Memory segmentation and access block  
diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16  
Fig 6. Adjusting analog overcurrent detection limit  
(optional) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24  
Fig 7. SAF1761 power supply connection . . . . . . . . . . .25  
Fig 8. Most commonly used power supply connection .26  
Fig 9. Hybrid mode . . . . . . . . . . . . . . . . . . . . . . . . . . . .27  
Fig 10. Internal power-on reset timing . . . . . . . . . . . . . . .28  
Fig 11. Clock with respect to the external  
power-on reset. . . . . . . . . . . . . . . . . . . . . . . . . . .28  
Fig 12. NextPTD traversal rule. . . . . . . . . . . . . . . . . . . . .57  
Fig 13. HNP sequence of events . . . . . . . . . . . . . . . . . . .84  
Fig 14. Dual-role A-device state diagram. . . . . . . . . . . . .86  
Fig 15. Dual-role B-device state diagram. . . . . . . . . . . . .87  
Fig 16. USB source differential data-to-EOP  
transition skew and EOP width . . . . . . . . . . . . .129  
Fig 17. Register or memory write. . . . . . . . . . . . . . . . . .130  
Fig 18. Register read . . . . . . . . . . . . . . . . . . . . . . . . . . .131  
Fig 19. Register access . . . . . . . . . . . . . . . . . . . . . . . . .131  
Fig 20. Memory read . . . . . . . . . . . . . . . . . . . . . . . . . . .132  
Fig 21. DMA read (single cycle). . . . . . . . . . . . . . . . . . .133  
Fig 22. DMA write (single cycle) . . . . . . . . . . . . . . . . . .134  
Fig 23. DMA read (multi-cycle burst) . . . . . . . . . . . . . . .135  
Fig 24. DMA write (multi-cycle burst). . . . . . . . . . . . . . .136  
Fig 25. SAF1761 register access timing: separate  
address and data buses (8051 style). . . . . . . . .137  
Fig 26. PIO register access . . . . . . . . . . . . . . . . . . . . . .138  
Fig 27. DMA read or write . . . . . . . . . . . . . . . . . . . . . . .139  
Fig 28. Package outline SOT425-1 (LQFP128). . . . . . .141  
Fig 29. Temperature profiles for large and small  
components . . . . . . . . . . . . . . . . . . . . . . . . . . . .144  
Fig 30. Peripheral Controller recognizing the number  
of bytes received . . . . . . . . . . . . . . . . . . . . . . . .146  
Fig 31. Waveform for deep-sleep suspend . . . . . . . . . .147  
Fig 32. Waveform for DC_SUSPEND/WAKEUP_N  
pin goes LOW but the clock is not started . . . . .148  
Fig 33. Timing diagram for reading Endpoint Index  
register after performing a write access. . . . . . .149  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
162 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
27. Contents  
1
2
3
4
5
General description . . . . . . . . . . . . . . . . . . . . . . 1  
8.2.10  
8.2.11  
8.2.12  
8.2.13  
8.2.14  
8.2.15  
8.3  
8.3.1  
8.3.2  
8.3.3  
8.3.4  
8.3.5  
8.3.6  
8.3.7  
8.3.8  
8.3.9  
8.3.10  
8.3.11  
8.4  
8.4.1  
8.4.2  
8.4.3  
8.4.4  
8.4.5  
8.4.6  
8.4.7  
8.4.8  
8.5  
8.5.1  
8.5.2  
8.5.3  
8.5.4  
8.5.5  
8.5.6  
INT PTD Done Map register . . . . . . . . . . . . . 39  
INT PTD Skip Map register . . . . . . . . . . . . . . 39  
INT PTD Last PTD register . . . . . . . . . . . . . . 39  
ATL PTD Done Map register . . . . . . . . . . . . . 40  
ATL PTD Skip Map register . . . . . . . . . . . . . . 40  
ATL PTD Last PTD register . . . . . . . . . . . . . . 40  
Configuration registers. . . . . . . . . . . . . . . . . . 41  
HW Mode Control register . . . . . . . . . . . . . . . 41  
HcChipID register. . . . . . . . . . . . . . . . . . . . . . 42  
HcScratch register . . . . . . . . . . . . . . . . . . . . . 43  
SW Reset register . . . . . . . . . . . . . . . . . . . . . 43  
HcDMAConfiguration register . . . . . . . . . . . . 44  
HcBufferStatus register . . . . . . . . . . . . . . . . . 45  
ATL Done Timeout register . . . . . . . . . . . . . . 46  
Memory register. . . . . . . . . . . . . . . . . . . . . . . 46  
Edge Interrupt Count register. . . . . . . . . . . . . 47  
DMA Start Address register . . . . . . . . . . . . . . 48  
Power-Down Control register. . . . . . . . . . . . . 49  
Interrupt registers. . . . . . . . . . . . . . . . . . . . . . 51  
HcInterrupt register . . . . . . . . . . . . . . . . . . . . 51  
HcInterruptEnable register. . . . . . . . . . . . . . . 53  
ISO IRQ Mask OR register . . . . . . . . . . . . . . 54  
INT IRQ Mask OR register. . . . . . . . . . . . . . . 54  
ATL IRQ Mask OR register . . . . . . . . . . . . . . 55  
ISO IRQ Mask AND register . . . . . . . . . . . . . 55  
INT IRQ Mask AND register. . . . . . . . . . . . . . 55  
ATL IRQ Mask AND register . . . . . . . . . . . . . 55  
Proprietary Transfer Descriptor (PTD) . . . . . . 56  
High-speed bulk IN and OUT. . . . . . . . . . . . . 57  
High-speed isochronous IN and OUT . . . . . . 61  
High-speed interrupt IN and OUT . . . . . . . . . 65  
Start and complete split for bulk. . . . . . . . . . . 69  
Start and complete split for isochronous . . . . 73  
Start and complete split for interrupt . . . . . . . 77  
Features and benefits . . . . . . . . . . . . . . . . . . . . 1  
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3  
Ordering information. . . . . . . . . . . . . . . . . . . . . 3  
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 4  
6
6.1  
6.2  
Pinning information. . . . . . . . . . . . . . . . . . . . . . 5  
Pinning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5  
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . 5  
7
7.1  
Functional description . . . . . . . . . . . . . . . . . . 12  
SAF1761 internal architecture: advanced  
NXP slave host controller and hub . . . . . . . . . 12  
Internal clock scheme and port selection . . . . 13  
Host controller buffer memory block. . . . . . . . 14  
General considerations. . . . . . . . . . . . . . . . . . 14  
Structure of the SAF1761 host controller  
7.1.1  
7.2  
7.2.1  
7.2.2  
memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Accessing the SAF1761 host controller  
7.3  
memory: PIO and DMA . . . . . . . . . . . . . . . . . 17  
PIO mode access, memory read cycle. . . . . . 17  
PIO mode access, memory write cycle. . . . . . 18  
PIO mode access, register read cycle . . . . . . 18  
PIO mode access, register write cycle . . . . . . 18  
DMA mode, read and write operations . . . . . . 18  
Interrupts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20  
Phase-Locked Loop (PLL) clock multiplier . . . 22  
Power management . . . . . . . . . . . . . . . . . . . . 22  
Overcurrent detection. . . . . . . . . . . . . . . . . . . 23  
Power supply . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Hybrid mode . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
Power-On Reset (POR) . . . . . . . . . . . . . . . . . 28  
7.3.1  
7.3.2  
7.3.3  
7.3.4  
7.3.5  
7.4  
7.5  
7.6  
7.7  
7.8  
7.8.1  
7.9  
8
8.1  
Host controller . . . . . . . . . . . . . . . . . . . . . . . . . 29  
EHCI capability registers . . . . . . . . . . . . . . . . 30  
CAPLENGTH register. . . . . . . . . . . . . . . . . . . 30  
HCIVERSION register . . . . . . . . . . . . . . . . . . 30  
HCSPARAMS register . . . . . . . . . . . . . . . . . . 31  
HCCPARAMS register . . . . . . . . . . . . . . . . . . 32  
EHCI operational registers . . . . . . . . . . . . . . . 33  
USBCMD register . . . . . . . . . . . . . . . . . . . . . . 33  
USBSTS register . . . . . . . . . . . . . . . . . . . . . . 34  
USBINTR register. . . . . . . . . . . . . . . . . . . . . . 35  
FRINDEX register. . . . . . . . . . . . . . . . . . . . . . 35  
CONFIGFLAG register . . . . . . . . . . . . . . . . . . 36  
PORTSC1 register . . . . . . . . . . . . . . . . . . . . . 36  
ISO PTD Done Map register. . . . . . . . . . . . . . 38  
ISO PTD Skip Map register . . . . . . . . . . . . . . 38  
ISO PTD Last PTD register . . . . . . . . . . . . . . 38  
8.1.1  
8.1.2  
8.1.3  
8.1.4  
8.2  
8.2.1  
8.2.2  
8.2.3  
8.2.4  
8.2.5  
8.2.6  
8.2.7  
8.2.8  
8.2.9  
9
9.1  
9.2  
9.3  
9.3.1  
9.3.2  
9.4  
9.4.1  
9.4.2  
9.4.3  
9.5  
9.5.1  
9.5.1.1  
9.5.1.2  
OTG controller . . . . . . . . . . . . . . . . . . . . . . . . 82  
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 82  
Dual-role device. . . . . . . . . . . . . . . . . . . . . . . 82  
Session Request Protocol (SRP). . . . . . . . . . 83  
B-device initiating SRP . . . . . . . . . . . . . . . . . 83  
A-device responding to SRP . . . . . . . . . . . . . 83  
Host Negotiation Protocol (HNP) . . . . . . . . . . 84  
Sequence of HNP events. . . . . . . . . . . . . . . . 84  
OTG state diagrams. . . . . . . . . . . . . . . . . . . . 85  
HNP implementation and OTG state machine 87  
OTG controller registers. . . . . . . . . . . . . . . . . 88  
Device Identification registers . . . . . . . . . . . . 90  
Vendor ID register . . . . . . . . . . . . . . . . . . . . . 90  
Product ID register (R: 0372h). . . . . . . . . . . . 90  
continued >>  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
163 of 165  
 
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
9.5.2  
9.5.2.1  
9.5.3  
9.5.3.1  
9.5.3.2  
9.5.3.3  
9.5.3.4  
9.5.4  
OTG Control register . . . . . . . . . . . . . . . . . . . 90  
10.6.7  
11  
Test Mode register . . . . . . . . . . . . . . . . . . . . 122  
Power consumption . . . . . . . . . . . . . . . . . . . 123  
Limiting values . . . . . . . . . . . . . . . . . . . . . . . 124  
Recommended operating conditions . . . . . 124  
Static characteristics . . . . . . . . . . . . . . . . . . 125  
OTG Control register . . . . . . . . . . . . . . . . . . . 90  
OTG Interrupt registers. . . . . . . . . . . . . . . . . . 92  
OTG Status register . . . . . . . . . . . . . . . . . . . . 92  
OTG Interrupt Latch register. . . . . . . . . . . . . . 92  
OTG Interrupt Enable Fall register . . . . . . . . . 93  
OTG Interrupt Enable Rise register . . . . . . . . 94  
OTG Timer register. . . . . . . . . . . . . . . . . . . . . 95  
OTG Timer register. . . . . . . . . . . . . . . . . . . . . 95  
12  
13  
14  
15  
15.1  
15.1.1  
Dynamic characteristics. . . . . . . . . . . . . . . . 128  
Host timing. . . . . . . . . . . . . . . . . . . . . . . . . . 130  
PIO timing . . . . . . . . . . . . . . . . . . . . . . . . . . 130  
9.5.4.1  
15.1.1.1 Register or memory write. . . . . . . . . . . . . . . 130  
15.1.1.2 Register read . . . . . . . . . . . . . . . . . . . . . . . . 131  
15.1.1.3 Register access . . . . . . . . . . . . . . . . . . . . . . 131  
15.1.1.4 Memory read . . . . . . . . . . . . . . . . . . . . . . . . 132  
10  
10.1  
10.1.1  
Peripheral controller . . . . . . . . . . . . . . . . . . . . 96  
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . 96  
Direct Memory Access (DMA) . . . . . . . . . . . . 96  
10.1.1.1 DMA for the IN endpoint . . . . . . . . . . . . . . . . . 96  
10.1.1.2 DMA for the OUT endpoint . . . . . . . . . . . . . . . 96  
10.1.1.3 DMA initialization . . . . . . . . . . . . . . . . . . . . . . 96  
10.1.1.4 Starting DMA. . . . . . . . . . . . . . . . . . . . . . . . . . 97  
10.1.1.5 DMA stop and interrupt handling . . . . . . . . . . 97  
15.1.2  
DMA timing . . . . . . . . . . . . . . . . . . . . . . . . . 133  
15.1.2.1 Single cycle: DMA read . . . . . . . . . . . . . . . . 133  
15.1.2.2 Single cycle: DMA write . . . . . . . . . . . . . . . . 134  
15.1.2.3 Multi-cycle: DMA read . . . . . . . . . . . . . . . . . 135  
15.1.2.4 Multi-cycle: DMA write . . . . . . . . . . . . . . . . . 136  
10.2  
10.3  
Endpoint description . . . . . . . . . . . . . . . . . . . . 98  
Peripheral controller-specific registers . . . . . . 99  
Address register . . . . . . . . . . . . . . . . . . . . . . . 99  
Mode register . . . . . . . . . . . . . . . . . . . . . . . . 100  
Interrupt Configuration register. . . . . . . . . . . 101  
Debug register . . . . . . . . . . . . . . . . . . . . . . . 102  
DcInterruptEnable register . . . . . . . . . . . . . . 103  
Data flow registers . . . . . . . . . . . . . . . . . . . . 105  
Endpoint Index register. . . . . . . . . . . . . . . . . 105  
Control Function register . . . . . . . . . . . . . . . 106  
Data Port register . . . . . . . . . . . . . . . . . . . . . 107  
Buffer Length register . . . . . . . . . . . . . . . . . . 108  
DcBufferStatus register. . . . . . . . . . . . . . . . . 108  
Endpoint MaxPacketSize register. . . . . . . . . 109  
Endpoint Type register . . . . . . . . . . . . . . . . . 110  
DMA registers. . . . . . . . . . . . . . . . . . . . . . . . 111  
GDMA read or write (opcode = 00h/01h)  
for Generic DMA slave mode . . . . . . . . . . . . 111  
DMA Command register . . . . . . . . . . . . . . . . 112  
DMA Transfer Counter register. . . . . . . . . . . 113  
DcDMAConfiguration register. . . . . . . . . . . . 114  
DMA Hardware register . . . . . . . . . . . . . . . . 115  
DMA Interrupt Reason register. . . . . . . . . . . 116  
DMA Interrupt Enable register . . . . . . . . . . . 117  
DMA Endpoint register . . . . . . . . . . . . . . . . . 117  
DMA Burst Counter register . . . . . . . . . . . . . 118  
General registers . . . . . . . . . . . . . . . . . . . . . 118  
DcInterrupt register. . . . . . . . . . . . . . . . . . . . 118  
DcChipID register . . . . . . . . . . . . . . . . . . . . . 120  
Frame Number register. . . . . . . . . . . . . . . . . 120  
DcScratch register . . . . . . . . . . . . . . . . . . . . 121  
Unlock Device register . . . . . . . . . . . . . . . . . 121  
Interrupt Pulse Width register . . . . . . . . . . . . 122  
15.2  
15.2.1  
Peripheral timing . . . . . . . . . . . . . . . . . . . . . 137  
PIO timing . . . . . . . . . . . . . . . . . . . . . . . . . . 137  
10.3.1  
10.3.2  
10.3.3  
10.3.4  
10.3.5  
10.4  
10.4.1  
10.4.2  
10.4.3  
10.4.4  
10.4.5  
10.4.6  
10.4.7  
10.5  
15.2.1.1 PIO register read or write. . . . . . . . . . . . . . . 137  
15.2.1.2 PIO register access . . . . . . . . . . . . . . . . . . . 138  
15.2.2  
DMA timing . . . . . . . . . . . . . . . . . . . . . . . . . 139  
15.2.2.1 DMA read or write . . . . . . . . . . . . . . . . . . . . 139  
16  
Package outline. . . . . . . . . . . . . . . . . . . . . . . 141  
17  
Soldering of SMD packages. . . . . . . . . . . . . 142  
Introduction to soldering. . . . . . . . . . . . . . . . 142  
Wave and reflow soldering. . . . . . . . . . . . . . 142  
Wave soldering . . . . . . . . . . . . . . . . . . . . . . 142  
Reflow soldering . . . . . . . . . . . . . . . . . . . . . 143  
17.1  
17.2  
17.3  
17.4  
18  
18.1  
18.1.1  
18.1.2  
18.1.3  
Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144  
Errata added on 2009-04-20 . . . . . . . . . . . . 144  
Problem description . . . . . . . . . . . . . . . . . . . 144  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 144  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 144  
10.5.1  
10.5.2  
10.5.3  
10.5.4  
10.5.5  
10.5.6  
10.5.7  
10.5.8  
10.5.9  
10.6  
10.6.1  
10.6.2  
10.6.3  
10.6.4  
10.6.5  
10.6.6  
18.1.3.1 Software retry mechanism . . . . . . . . . . . . . . 144  
18.1.3.2 Hardware retry mechanism . . . . . . . . . . . . . 145  
18.2  
Errata added on 2009-04-20 . . . . . . . . . . . . 145  
Problem description . . . . . . . . . . . . . . . . . . . 145  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 145  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 145  
Errata added on 2009-04-20 . . . . . . . . . . . . 145  
Problem description . . . . . . . . . . . . . . . . . . . 145  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 146  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 146  
Errata added on 2009-04-20 . . . . . . . . . . . . 147  
Problem description . . . . . . . . . . . . . . . . . . . 147  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 148  
Errata added on 2009-04-20 . . . . . . . . . . . . 148  
18.2.1  
18.2.2  
18.2.3  
18.3  
18.3.1  
18.3.2  
18.3.3  
18.4  
18.4.1  
18.4.2  
18.4.3  
18.5  
continued >>  
SAF1761  
All information provided in this document is subject to legal disclaimers.  
© NXP B.V. 2012. All rights reserved.  
Product data sheet  
Rev. 2 — 19 June 2012  
164 of 165  
SAF1761  
NXP Semiconductors  
Hi-Speed USB OTG controller  
18.5.1  
18.5.2  
18.5.3  
18.6  
18.6.1  
18.6.2  
18.6.3  
Problem description . . . . . . . . . . . . . . . . . . . 148  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 149  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 149  
Errata added on 2009-04-20. . . . . . . . . . . . . 149  
Problem description . . . . . . . . . . . . . . . . . . . 149  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 150  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 150  
18.6.3.1 Condition 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 150  
18.6.3.2 Condition 2 . . . . . . . . . . . . . . . . . . . . . . . . . . 151  
18.6.3.3 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151  
18.7  
Errata added on 2009-04-20. . . . . . . . . . . . . 152  
Problem description . . . . . . . . . . . . . . . . . . . 152  
Implication . . . . . . . . . . . . . . . . . . . . . . . . . . 152  
Workaround . . . . . . . . . . . . . . . . . . . . . . . . . 152  
18.7.1  
18.7.2  
18.7.3  
19  
20  
21  
22  
Abbreviations. . . . . . . . . . . . . . . . . . . . . . . . . 153  
Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155  
References . . . . . . . . . . . . . . . . . . . . . . . . . . . 155  
Revision history. . . . . . . . . . . . . . . . . . . . . . . 155  
23  
Legal information. . . . . . . . . . . . . . . . . . . . . . 156  
Data sheet status . . . . . . . . . . . . . . . . . . . . . 156  
Definitions. . . . . . . . . . . . . . . . . . . . . . . . . . . 156  
Disclaimers. . . . . . . . . . . . . . . . . . . . . . . . . . 156  
Trademarks. . . . . . . . . . . . . . . . . . . . . . . . . . 157  
23.1  
23.2  
23.3  
23.4  
24  
25  
26  
27  
Contact information. . . . . . . . . . . . . . . . . . . . 157  
Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158  
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162  
Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163  
Please be aware that important notices concerning this document and the product(s)  
described herein, have been included in section ‘Legal information’.  
© NXP B.V. 2012.  
All rights reserved.  
For more information, please visit: http://www.nxp.com  
For sales office addresses, please send an email to: salesaddresses@nxp.com  
Date of release: 19 June 2012  
Document identifier: SAF1761  

相关型号:

SI9130DB

5- and 3.3-V Step-Down Synchronous Converters

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

SI9135LG-T1

SMBus Multi-Output Power-Supply Controller

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

SI9135LG-T1-E3

SMBus Multi-Output Power-Supply Controller

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

SI9135_11

SMBus Multi-Output Power-Supply Controller

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

SI9136_11

Multi-Output Power-Supply Controller

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

SI9130CG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

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

SI9130LG-T1-E3

Pin-Programmable Dual Controller - Portable PCs

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

SI9130_11

Pin-Programmable Dual Controller - Portable PCs

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

SI9137

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

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

SI9137DB

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

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

SI9137LG

Multi-Output, Sequence Selectable Power-Supply Controller for Mobile Applications

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

SI9122E

500-kHz Half-Bridge DC/DC Controller with Integrated Secondary Synchronous Rectification Drivers

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