UM10503 All information provided in this document is subject to legal disclaimers. © NXP B.V. 2012. All rights reserved.User manual Rev. 1.3 — 6 July 2012 608 of 1269NXP Semiconductors UM10503Chapter 24: LPC43xx USB1 Host/Device controllerRemark: Writes to the ULPI through the viewport can substantially harm standard USBoperations. Currently no usage model has been defined where software should need toexecute writes directly to the ULPI – see exception regarding optional features below.Remark: Executing read operations though the ULPI viewport should have no harmfulside effects to standard USB operations.There are two operations that can be performed with the ULPI Viewport, wake-up andread /write operations. The wakeup operation is used to put the ULPI interface into normaloperation mode and reenable the clock if necessary. A wakeup operation is requiredbefore accessing the registers when the ULPI interface is operating in low power mode,serial mode, or carkit mode. The ULPI state can be determined by reading the sync. statebit (ULPISS). If this bit is a one, then ULPI interface is running in normal operation modeand can accept read/write operations. If the ULPISS indicates a 0 then read/writeoperations will not be able execute. Undefined behavior will result if ULPISS = 0 and aread or write operation is performed. To execute a wakeup operation, write all 32 bits ofthe ULPI Viewport where ULPIPORT is constructed appropriately and the ULPIWU bit is a1 and ULPIRUN bit is a 0. Poll the ULPI Viewport until ULPIWU is zero for the operation tocomplete.To execute a read or write operation, write all 32-bits of the ULPI Viewport whereULPIDATWR, ULPIADDR, ULPIPORT, ULPIRW are constructed appropriately and theULPIRUN bit is a 1. Poll the ULPI Viewport until ULPIRUN is zero for the operation tocomplete. Once ULPIRUN is zero, the ULPIDATRD will be valid if the operation was aread.The polling method above could also be replaced and interrupt driven using the ULPIinterrupt defined in the USBSTS and USBINTR registers. When a wakeup or read/writeoperation complete, the ULPI interrupt will be set.Table 477. USB ULPI viewport register (ULPIVIEWPORT - address 0x4000 7170) bit descriptionBit Symbol Value Description Access Resetvalue7:0 ULPIDATWR When a write operation is commanded, the data to be sent is writtento this field.R/W 015:8 ULPIDATRD After a read operation completes, the result is placed in this field. R 023:16 ULPIADDR When a read or write operation is commanded, the address of theoperation is written to this field.R/W 026:24 ULPIPORT For the wakeup or read/write operation to be executed, this valuemust be written as 0.R/W 00027 ULPISS ULPI sync state. This bit represents the state of the ULPI interface. R 00 In another state (ie. carkit, serial, low power)1 Normal Sync. State.28 - - Reserved - -