User Manual

UM10360 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2010. All rights reserved.
User manual Rev. 2 — 19 August 2010 824 of 840
continued >>
NXP Semiconductors
UM10360
Chapter 35: Supplementary information
12.4.2 Software interface. . . . . . . . . . . . . . . . . . . . . 271
12.4.2.1 Register map . . . . . . . . . . . . . . . . . . . . . . . . 271
12.4.2.2 USB Host Register Definitions. . . . . . . . . . . 272
Chapter 13: LPC17xx USB OTG
13.1 How to read this chapter. . . . . . . . . . . . . . . . 273
13.2 Basic configuration . . . . . . . . . . . . . . . . . . . . 273
13.3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.4 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
13.5 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 274
13.6 Modes of operation . . . . . . . . . . . . . . . . . . . . 274
13.7 Pin configuration . . . . . . . . . . . . . . . . . . . . . . 275
13.7.1 Connecting the USB port to an external OTG
transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . 275
13.7.2 Connecting USB as a host . . . . . . . . . . . . . . 276
13.7.3 Connecting USB as device. . . . . . . . . . . . . . 276
13.8 Register description . . . . . . . . . . . . . . . . . . . 277
13.8.1 USB Interrupt Status Register (USBIntSt -
0x5000 C1C0) . . . . . . . . . . . . . . . . . . . . . . . 277
13.8.2 OTG Interrupt Status Register (OTGIntSt -
0x5000 C100) . . . . . . . . . . . . . . . . . . . . . . . . 278
13.8.3 OTG Interrupt Enable Register (OTGIntEn -
0x5000 C104) . . . . . . . . . . . . . . . . . . . . . . . . 278
13.8.4 OTG Interrupt Set Register (OTGIntSet -
0x5000 C20C) . . . . . . . . . . . . . . . . . . . . . . . 278
13.8.5 OTG Interrupt Clear Register (OTGIntClr -
0x5000 C10C) . . . . . . . . . . . . . . . . . . . . . . . 279
13.8.6 OTG Status and Control Register (OTGStCtrl -
0x5000 C110) . . . . . . . . . . . . . . . . . . . . . . . . 279
13.8.7 OTG Timer Register (OTGTmr - 0x5000
C114) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
13.8.8 OTG Clock Control Register (OTGClkCtrl -
0x5000 CFF4). . . . . . . . . . . . . . . . . . . . . . . . 280
13.8.9 OTG Clock Status Register (OTGClkSt -
0x5000 CFF8). . . . . . . . . . . . . . . . . . . . . . . . 281
13.8.10 I2C Receive Register (I2C_RX - 0x5000
C300) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
13.8.11 I2C Transmit Register (I2C_TX - 0x5000
C300) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.8.12 I2C Status Register (I2C_STS - 0x5000
C304) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13.8.13 I2C Control Register (I2C_CTL - 0x5000
C308) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
13.8.14 I2C Clock High Register (I2C_CLKHI -
0x5000 C30C) . . . . . . . . . . . . . . . . . . . . . . . 285
13.8.15 I2C Clock Low Register (I2C_CLKLO -
0x5000 C310) . . . . . . . . . . . . . . . . . . . . . . . 285
13.8.16 Interrupt handling. . . . . . . . . . . . . . . . . . . . . 285
13.9 HNP support . . . . . . . . . . . . . . . . . . . . . . . . . 286
13.9.1 B-device: peripheral to host switching . . . . . 287
Remove D+ pull-up . . . . . . . . . . . . . . . . . . . . 289
Add D+ pull-up . . . . . . . . . . . . . . . . . . . . . . . . 290
13.9.2 A-device: host to peripheral HNP switching. 290
Set BDIS_ACON_EN in external OTG
transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Clear BDIS_ACON_EN in external OTG trans-
ceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Discharge V
BUS
. . . . . . . . . . . . . . . . . . . . . . . 293
Load and enable OTG timer . . . . . . . . . . . . . 294
Stop OTG timer . . . . . . . . . . . . . . . . . . . . . . . 294
Suspend host on port 1 . . . . . . . . . . . . . . . . . 294
13.10 Clocking and power management. . . . . . . . 294
13.10.1 Device clock request signals . . . . . . . . . . . . 295
13.10.1.1 Host clock request signals . . . . . . . . . . . . . . 296
13.10.2 Power-down mode support . . . . . . . . . . . . . 296
13.11 USB OTG controller initialization . . . . . . . . 296
Chapter 14: LPC17xx UART0/2/3
14.1 Basic configuration . . . . . . . . . . . . . . . . . . . . 298
14.2 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
14.3 Pin description. . . . . . . . . . . . . . . . . . . . . . . . 299
14.4 Register description . . . . . . . . . . . . . . . . . . . 299
14.4.1 UARTn Receiver Buffer Register (U0RBR -
0x4000 C000, U2RBR - 0x4009 8000, U3RBR -
0x4009 C000 when DLAB = 0). . . . . . . . . . . 301
14.4.2 UARTn Transmit Holding Register (U0THR -
0x4000 C000, U2THR - 0x4009 8000, U3THR -
0x4009 C000 when DLAB = 0). . . . . . . . . . . 301
14.4.3 UARTn Divisor Latch LSB register (U0DLL -
0x4000 C000, U2DLL - 0x4009 8000, U3DLL -
0x4009 C000 when DLAB = 1) and UARTn Divisor
Latch MSB register (U0DLM - 0x4000 C004,
U2DLL - 0x4009 8004, U3DLL - 0x4009 C004
when DLAB = 1). . . . . . . . . . . . . . . . . . . . . . 301
14.4.4 UARTn Interrupt Enable Register (U0IER -
0x4000 C004, U2IER - 0x4009 8004, U3IER -
0x4009 C004 when DLAB = 0) . . . . . . . . . . 302
14.4.5 UARTn Interrupt Identification Register (U0IIR -
0x4000 C008, U2IIR - 0x4009 8008, U3IIR -
0x4009 C008) . . . . . . . . . . . . . . . . . . . . . . . 303