Page 1
® EZ-USB FX3™ Technical Reference Manual Document Number: 001-76074 Rev. *F May 9, 2019 Cypress Semiconductor 198 Champion Court San Jose, CA 95134-1709 www.cypress.com...
Page 2
High-Risk Device whose failure to perform can be reasonably expected to cause, directly or indirectly, the failure of the High-Risk Device, or to affect its safety or effectiveness. Cypress is not liable, in whole or in part, and you shall and hereby do release Cypress from any claim, damage, or other liability arising from any use of a Cypress product as a Critical Component in a High-Risk Device.
To provide high-bandwidth access to USB 3.0 data, FX3 contains a hardware unit called General Programmable Interface, Generation 2 (GPIF II). GPIF II is an enhanced version of the GPIF in FX2LP™, Cypress's USB 2.0 product. GPIF II provides easy and glueless connectivity to popular interfaces such as asynchronous SRAM and asynchronous and synchronous address and data multiplexed interfaces.
The link layer is responsible for maintaining a reliable and robust communication channel between the host and the device. The Link Training and Status State Machine (LTSSM) at the core of the USB 3.0 link layer establishes the link connectivity EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The example on the right indicates the packet sequence necessary to perform two back-to-back SuperSpeed IN transactions, which require only five packets to be exchanged: 1. SuperSpeed uses an ACK header (1) to initiate an IN transaction. 2. The SuperSpeed device returns the data packet (2). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 22
3. The second data packet (3) initiates the second transaction and delivers data to the device. 4. Device acknowledges receipt of data via an ACK packet (4), completing the sequence. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(that is, a second ACK packet with NumP=4). In this burst example, the host continues to request additional data by keeping the NumP value at 4. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
"ERDY" (ready) packet saying that now it is ready to transmit the data. So the host does not need to continue polling. This can significantly reduce SuperSpeed traffic and improve link power management. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
3 ms, and exit requires more than 20 ms. SuperSpeed power management provides finer granularity when entering low-power states and reduces entry and exit times. The device can also initiate the low-power link states when it is idle. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
19.2, 26, 38.4, and 52 MHz ❐ 19.2-MHz crystal input support ❐ Ultra low-power in core power-down mode ■ Less than 60 μA with VBATT on and 20 μA with VBATT off ❐ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 27
121-ball BGA, 10 x 10 mm, 0.8 mm pitch *All serial interfaces might not be available under all configuration options. Refer to the pin description section in the datasheet for details. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FX3 interrupts are managed through the standard ARM PrimeCell Vectored Interrupt Controller (PL192) block. This interrupt controller provides vectored interrupt support with configurable priorities for all interrupt sources. Examples of the FX3 firmware are available with the Cypress EZ-USB FX3 Development Kit. For more information about the CPU subsystem, refer to the...
■ bidirectional. Cypress's GPIF II Designer tool enables GPIF II designs to be developed quickly and includes examples of common interfaces. For more information about the GPIF II block, refer to the General Programmable Interface II (GPIF II) chapter on page 120.
MMC system specification, MMCA Technical Committee, version 4.41 ■ SD specification, version 3.0 ■ SDIO host controller compliant with SDIO Specification version 3.00 ■ Both storage ports support the following features: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
2. FX3 CPU Subsystem The EZ-USB FX3 device has an embedded 32-bit ARM926EJ-S core that delivers a processing capability up to 220 MIPS. This ARM core is coupled with instruction and data caches, Tightly Coupled Memories (TCM), and a PL192 vectored interrupt controller (VIC).
(AHB) interfaces for internal instruction and data accesses. It also has separate instruction and data TCM interfaces. Note: The 32-bit ARM instruction set is commonly used in the FX3 SDK from Cypress, as this makes it more convenient to address all of the available device memory.
Run-time stack regions need to be set up for all these modes at system startup. The following code snippet shows how this can be done using ARM assembly language code. This code is provided by the Cypress FX3 firmware library, and rarely needs to be modified.
2.3.1.2 Processor Registers Table 2-2 shows the registers provided by the ARM9 processor core. The CPSR register is used to switch between various processor modes. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The data cache on the ARM core can be enabled only if the MMU is enabled. However, most FX3 designs do not use any secondary storage and do not need a virtual memory system. FX3 provides a fixed set of page tables that maps each physical address to the equivalent virtual address. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The controller is connected to the CPU on the AHB bus and allows you to perform the interrupt configuration through a set of memory mapped registers. Table 2-4 shows the various interrupt sources on the FX3 device, along with their vector numbers. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 41
FIQ), and all the DMA interrupts should be allotted the next high priority level. To enable a specific interrupt source, the firmware has to do the following: Point the VIC_VEC_ADDRESS register to the ISR. ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
CPU clock frequency is 192 MHz or 208 MHz, depending on the clock source. Note: While the multipliers used to derive the system clock are programmable, Cypress strongly recommends the use of the previously mentioned default frequencies. The device has not been tested for proper functioning at other frequencies.
Hint: As a single interrupt vector is used for both timers, the ISR needs to check the INTR bits in the WATCHDOG_CS register to identify the timer that triggered the interrupt. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Guaranteed and bounded memory access latency for both CPU and DMA accesses ■ Block Diagram Figure 3-1 shows a block diagram of the memory and system interconnect on the FX3 device. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Single Cycle ARM TCM Access (32 bit x 200 MHz) ITCM DTCM (16 KB) (8 KB) Functional Overview 3.3.1 Memory Regions Figure 3-2 shows the memory map of the FX3 device. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 46
The first 12 KB of this region is reserved for storing DMA-related data structures (descriptors) that are used by the FX3 hardware. The remainder of the System RAM can be used as required by the application. Figure 3-2 shows the commonly used subdivisions for the RAM region. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FX3 supports low-power operating modes in which the device clocks can be turned off and most of the blocks can be powered off. Table 3-1 shows the state of various FX3 blocks in the different power modes. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Hint: It is recommended that all DMA buffers be located in a separate memory region within the system RAM. It is also recommended that each DMA buffer occupy an integral number of cache lines (32 bytes) to ensure that an adjacent DMA buffer is not corrupted by a data transfer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Memory region reserved for DMA data buffers used by the application; as larger DMA buffers can improve data transfer throughput, it DMA buffer is recommended that as much memory as is possible be allocated to this section EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 50
The memory map for the firmware application is specified through a linker script file. The format of the linker script file used by the standard GNU C compiler for ARM processors is documented here. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
However, only one pin from a group can use the complex I/O functions. The rest of the pins in the group are used as block I/O or simple GPIO. Refer to Table 7 in the EZ-USB FX3 datasheet for the GPIO configuration options.
Page 52
* 24- or 32-bit GPIF II bus width is not supported by all FX3 chips. If the FX3 chip does not support more than a 16-bit bus width, then alternate functions are not applicable. Refer to the EZ-USB FX3 datasheet for more details.
O_COMPLEX is used to set the complex GPIO override. Refer to GPIO on page 192 for more details on GPIO configuration. GCTL_GPIO_COMPLEX on page 243. The FX3 SDK API CyU3PDeviceGpioOverride is used to configure the CY_U3P_GCTL_GPIO_COMPLEX register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Programmable dividers generate clocks in GCTL (except the blocks that contain their own PLL, for example, USB block). All generated clocks have a configurable divide capability and on/off programmability. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 55
CPU clock. Independent 4-bit dividers are provided for both the DMA and MMIO bus clocks. The frequency of the MMIO clock, however, must be an integer divide of the DMA clock frequency. It is not recommended to EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
LFPS detection on USB 3.0 RX lines, USB connect event, and watchdog timer-timeout event. The always-on global configuration block runs off the standby clock and is turned off only in the lowest power state (core power down). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
CPU resets the CPU program counter. The firmware does not need to be reloaded following a CPU reset. ■ Whole device reset is identical to hard reset. The firmware must be reloaded following a whole device reset. ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Buses (AHB, as defined by the ARM System Architecture) are used to interconnect the system elements. The EZ-USB FX3 device architecture includes a DMA fabric that is used to route data between various peripheral interfaces and/ or the system memory of the device.
The DMA adapter is essentially a local DMA controller that initiates DMA transactions to and from the system memory on behalf of the peripheral that it services. With hardware synchronization between DMA adapters, data transfers can occur seamlessly between peripherals. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
A typical dma_bus_clk_i frequency is set to one-half the CPU clock during device initialization. For example, if the CPU clock is set to 192 MHz, the register setting GCTL_CPU_CLK_CFG.DMA_DIV=1 (divider = 2) will result in a 96 MHz of dma_bus_clk_i frequency. Table 5-1 summarizes the DMA clock information. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Descriptors are data structures that keep track of the resources (memory buffers and sockets) used for a DMA transfer. This data structure is directly interpreted by the DMA hardware on FX3, and has to be located in a specific memory region of the EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 62
This data structure contains the fields that make up a DMA descriptor on the FX3 device. Each structure member is composed of multiple fields as shown below. Refer to the sock_regs.h header file for the definitions used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The ARM 926EJ-S core on the device also includes an 8 KB data cache. The data cache is four-way set associative with a cache-line size of 32 bytes and two dirty bits (one for each 16-byte region) per cache line. The EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Whenever the CPU wants to commit a buffer containing data for an egress DMA operation, it can clean the region from the cache and then initiate the DMA operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SCK_SIZE on page 607 sets the amount of data to be transferred. A zero value in this register means the data amount is infinite. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 66
0x30 … 0x78 Reserved 0x7C Reserved ACTIVE_DSCR EVENT For detailed field description, see the following: SCK_DSCR on page 605 ■ SCK_SIZE on page 607 ■ SCK_COUNT on page 608 ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 67
UNIT field in the status value. */ uvint32_t xferCount; /**< The completed transfer count for this socket. */ uvint32_t status; /**< Socket configuration and status register. */ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
EVENT(s) will occur. This is normally the case when the socket is waiting for firmware to generate an event, that is, the socket is not coupled to another socket in another adapter. In this case it is not necessary to first suspend the socket. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This section explains in a high level how DMA descriptors, buffers, and sockets are tied together to achieve the required DMA operation, with the help of an example peripheral-to-peripheral DMA operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 70
DMA data read transfers may resume. Go to step (1) 5. If no descriptor is available the socket is suspended. When the software extends the descriptor list and explicitly 'resumes', the IP block operation continues. Go to step (3). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
When a DMA interrupt occurs, the CPU is notified by VIC with the DMA interrupt line specific to the peripheral, as shown in Table 5-4. Then the CPU can check the peripheral's global SCK_INTR register to find the socket number that needs attention. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
In this case, the consumer socket goes to the stall state and waits for the buffer to become available upon a produce event. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It also considers the software drivers for the ingress and egress peripherals (that are mutually independent) and the higher level s/w that manages the endpoint. Figure 5-11. Peripheral - Peripheral DMA Transfer EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 75
(((epNum & 0x0F) == 0) && (IsNewCtrlRqtReceived ())) /* This request has been aborted due to a new control request. Just reset the USB socket and return an error. */ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This mode should only be used to handle special case stream requirements or to implement processing of the actual data by the CPU such as DSP applications. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
DMA Features on page 58, it is called a manual DMA channel. For more details on DMA channels and types of DMA channels supported, refer DMA Engine section in FX3 Programmer’s Manual. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The FX3 USB 2.0 embedded host is simpler than a full-featured PC-based controller. Embedded USB hosts are defined to support a limited peripheral list and to operate with limited memory (compared to a PC). In essence, the host controller EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
VBUS sensing for connection detection ■ Sampling of the USB_ID input for detection of A-device or B-device connection ■ Charging and discharging of DP line for starting a session as B-device ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GCTL_UIB_CORE_CLK.CLK_EN. 6.6.1.2 Interrupt Requests The UIB block has three global interrupt sources to the VIC, listed in Table 6-2, which are shared among USB 3.0, USB 2.0, and OTG controllers. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
6-2, the rows (device or host, protocol, link, physical) represent the communication layers of the SuperSpeed interconnect, namely: Physical (PHY) layer ■ Link layer ■ Protocol layer ■ The FX3 USB 3.0 function controller design follows the same basic SuperSpeed architecture. ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
10-bit symbols, and decoded and descrambled, producing 8-bit data that is then sent to the link layer for further processing. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The protocol provides for the device to direct which data stream is active on the pipe. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The TP handles most of the protocol described in chapter 8 of the USB specification. It receives the USB basic protocol commands from the host and generates the appropriate sequence of responses by synchronizing the frame timer, receiving/ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SETUP packets (to endpoint 0) are received by the SIE and reported to the TP. The SETUP data is stored in registers DEV_SETUPDAT0 and DEV_SETUPDAT0 1. The SUDAV bit in the DEV_CTL_INTR register is set, as is the SUTOK bit if the EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note that USB 3.0 PHY on the FX3 needs to be turned off when VBus is removed or a host disconnect is discovered by other means. If the 3.0 PHY is left turned on, the 3.0 link startup is liable to fail when connected again to the host. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
= USB3LNK->lnk_ltssm_state & CY_U3P_UIB_LTSSM_STATE_MASK; while ((UIB->otg_ctrl & CY_U3P_UIB_SSDEV_ENABLE) && (state == CY_U3P_UIB_LNK_STATE_POLLING_LFPS)) CyU3PThreadRelinquish (); state = USB3LNK->lnk_ltssm_state & CY_U3P_UIB_LTSSM_STATE_MASK; if (state == CY_U3P_UIB_LNK_STATE_COMP) if (!glUibDeviceInfo.ssCmdSeen) CyU3PUsbAddToEventLog (CYU3P_USB_LOG_USBSS_DISCONNECT); CyU3PUsbSSDisConnecthandler (); return; EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 97
/* Control EP transfer size is 512 bytes. */ /* Propagate the event to the application. */ if (glUsbEvtCb != NULL) glUsbEvtCb (CY_U3P_USB_EVENT_CONNECT, 0x01); /* Configure the EPs for super-speed operation. */ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
CyU3PEventSet (&glUibEvent, CY_U3P_UIB_EVT_TRY_UX_EXIT, CYU3P_EVENT_OR); status = 0; else /* If USB-SS is enabled, set a flag indicating that the 3.0 PHY should * be turned on at the next bus reset. */ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
USB 2.0 host endpoint interrupts are located in UIB_HOST_EP_INTR. UIB_INTR.HOST_EP_INT is the logical OR of the interrupt sources in UIB_HOST_EP_INTR. USB charger detect interrupts are located in UIB_CHGDET_INTR. UIB_INTR.CHGDET_INT is the logical OR of the interrupt sources in UIB_CHGDET_INTR. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The periodic list pointer points to the first entry in the periodic list. It always starts from the lowest address of each scheduler memory. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
TOWNER bit to 1. At this point, the connect signal to the EHCI interface is cleared, and the EHCI interface sees a discon- nect and generates another interrupt request. 6.9.11.2 Host Disconnect These steps are followed when the device is disconnected from the host: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Setup transaction: N number of OUT data transactions followed by 1 IN token (ZLP) Setup transaction: N number of IN data transactions followed by 1 OUT token (ZLP) Setup transaction: 1 IN token (ZLP) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 111
6.9.11.3.1.6 Status Phase (OUT) Once an EP0 OUT ZLP has been successfully received by the device, the scheduler deactivates the EP0 entry if the trns_mode of the scheduler entry is "0". EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The FX3 OTG controller needs to be initialized before it can handle OTG events. The following code example implements the OTG controller start and stop sequence. CyU3PReturnStatus_t CyU3POtgStart ( CyU3POtgConfig_t *cfg) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 113
/* Enable and set the EPM clock to bus clock (100MHz). */ GCTL->uib_core_clk = (CY_U3P_GCTL_UIBCLK_CLK_EN | CY_U3P_GCTL_UIB_CORE_CLK_DEFAULT); GCTLAON->control |= CY_U3P_GCTL_USB_POWER_EN; CyU3PBusyWait (100); CyU3PUsbPowerOn (); /* Enable OTG and charger detection interrupts. */ UIB->otg_intr = ~CY_U3P_UIB_OTG_INTR_DEFAULT; UIB->otg_intr_mask = CY_U3P_UIB_OTG_TIMER_TIMEOUT; EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 114
/* Enable and set the EPM clock to bus clock (100MHz). */ GCTL->uib_core_clk = (CY_U3P_GCTL_UIBCLK_CLK_EN | CY_U3P_GCTL_UIB_CORE_CLK_DEFAULT); GCTLAON->control |= CY_U3P_GCTL_USB_POWER_EN; CyU3PBusyWait (100); CyU3PUsbPowerOn (); UIB->otg_ctrl = CY_U3P_UIB_OTG_CTRL_DEFAULT; GCTL->iomatrix &= ~CY_U3P_CARKIT; UIB->chgdet_ctrl = CY_U3P_UIB_CARKIT; EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
* Here we are first configuring the PHY as a device and doing a DP * pull-up to send a high. To send a low, the PHY is configured as host EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 117
UIB->ehci_configflag = CY_U3P_UIB_CF; CyU3PBusyWait (10); if (CyU3POtgIsDeviceMode ()) UIB->otg_ctrl &= CY_U3P_UIB_OTG_ENABLE; UIB->otg_ctrl |= CY_U3P_UIB_DEV_ENABLE; /* Enable and set the EPM clock to bus clock (100MHz). */ GCTL->uib_core_clk = (CY_U3P_GCTL_UIBCLK_CLK_EN | CY_U3P_GCTL_UIB_CORE_CLK_DEFAULT); EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
An OTG A-device acts as the host initially in a USB session. To allow a peripheral to assume the role of a host, the initial host must first configure the peripheral to enable HNP support through USB commands (SetFeature(b_hnp_enable)). To start the EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 119
3. Disable the USB device logic and enable the USB host logic. 4. Wait for a connect interrupt from the USB host logic. 5. Generate a USB bus reset and begin enumerating the peripheral. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
7. General Programmable Interface II (GPIF II) EZ-USB FX3 integrates a high-performance interface, GPIF II, which enables functionality similar to but more advanced than the FX2LP GPIF and Slave FIFO interfaces. GPIF II is a programmable state machine that provides the flexibility to design a variety of interfaces to outside entities.
Interrupt or control signal The GPIF II control signals (CTL[12:0]) can be configured as outputs to control the external peripheral device, or as inputs to read the status from an external peripheral device. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Actions can be internal, such as reading or writing to a buffer. They can also be external, such as driving an output high or low. Table 7-2 lists the GPIF II actions. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 123
This action is generally used with COUNT_CTRL and the CTRL_CNT_HIT trigger. The count value can also be programmed by the firmware application using CyU3PGpifInitCtrlCounter(). The value programmed into the register at the time of execution of the state machine will be used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
These options are made available to satisfy certain protocols when the data on the bus may lead a strobe signal that indicates data availability. Figure 7-4. IN_DATA Action Settings Dialog Box The following parameters are associated with this action: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
See the firmware API CyU3PGpifWriteDataWords(). Note that the option for selecting the source as the thread number is available only when the source is the DMA channel with the addressing mode selected as Thread selected by State machine (Number of address lines =0). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Figure 7-7. DR_ADDR Action Settings Dialog Box The following parameters are associated with this action: Address Source-Register/AddressCounter/ThreadSocket. ■ Thread Number-Thread0 to 3 (available only when number of address bits is set to 0). ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
30 ns. The GPIO driven using the action is deasserted during the transition to the next state. Figure 7-9. DR_GPIO Action Settings Dialog Box The following parameters are associated with this action: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This action loads the counter with initial settings. The initial settings are loaded when the state machine starts. This value needs to be the same in all states within a given state machine diagram. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Multiple values are not allowed. Figure 7-12. LD_CTRL_COUNT Action Settings Dialog Box The following parameters are associated with this action: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Comparison value-Value against which to compare the address. ■ Comparator mask event-When you deselect this parameter, it will cause an event to be generated to the firmware applica- ■ tion on a comparator match. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
7.4.1.15 Action - CMP_CTRL This action compares the control bits with the specified comparison value. Figure 7-15. CMP_CTRL Action Settings Dialog Box The following parameters are associated with this action: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
On assertion from the external processor on the DACK pin of FX3 ■ On deassertion from the external processor on the DACK pin of FX3 ■ From the state machine using the DR_DRQ action ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
They are the control input signals to GPIF II and are driven by an external device. The transition conditions are formed with these signals. The left transition condition is (!CE&&!RE) (a read operation), and the right EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
You can also make minor customizations to these designs to suit the target environment. A detailed description of the tool and its use is provided in the GPIF II Designer User Guide, which is available when you install the tool with the EZ-USB FX3 Software Development Kit.
In this mode, all the sockets are connected to a single thread inside the GPIF II. PP_MODE=0 enables all four threads described in the previous section, as shown in Figure 7-18. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 136
Then when data access begins, the data is automatically routed through thread 0, to and from whichever socket number was specified earlier in the register, as shown in Figure 7-19. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note that in this case, the corresponding GPIF_THREAD_CONFIG(x) register must be programmed using the API with the active socket to be accessed. Thread_in_state: Thread address from GPIF II state ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
7-20). As you select and deselect options, the center panel changes to reflect a "living schematic" of the interface. This saves you the trouble of figuring out the FX3 pin mapping because the FX3 signals are labeled in the FX3 block. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 139
It is not possible to implement both modes in a single configuration. If an address bus is part of the electrical interface, this will serve as an input for slave mode designs and as an output for master mode designs. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 140
DACK input signal. DACK: DMA Acknowledge. This is not a separate special function, but an input that is used to control the behavior of the DRQ signal. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Add a State A right-click anywhere on the canvas displays the State Machine menu. Select Add State to add a state to the canvas as shown in the figure below. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Position the mouse cursor inside the source state, from which the transition will originate. The cursor changes its shape to “+.” Press the left mouse button, drag the mouse cursor to the destination state, and release it. The result of this step is shown in the figure below. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
IDs generated by the tool are generated by the tool as part of the header generation. The Repeat Count property indicates the number of clock cycles to continue inside the state before evaluating any outgoing transition equation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
You can simulate the state machine to view the relative timing and value of the signals in the form of a timing diagram. Select the state machine path whose behavior is to be simulated. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 145
A saved scenario can be selected from this menu and modified or deleted. The Timing Simulation menu allows you to delete or modify the scenario. Figure 7-28. Modify Scenario Dialog Box EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Cypress Support for assistance. 7.7.1 Mirror States The mirror state machine technique uses a GPIF II feature that facilitates state machine designs that do not conform to the previously described rules. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The GPIF hardware allows up to eight mirror state machines to be created, so that the active mirror is selected based on the current value of up to three input signals. The input signals that are used to select the active mirror state machine are called "global triggers." EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The ZLP state, where a zero-length write operation is handled (no data, only end-of-packet signaling). This transition is triggered by END asserting while RD and WR are both deasserted. The COMMIT action is associated with this state. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
7-36. Here Sx and Sy are dummy states that have been inserted to meet the constraint that each state can have only two outgoing transitions. Figure 7-36. GPIF II Implementation for Multiple Transitions Avoiding Mirror States EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
An existing project can be opened by choosing the File menu item Open Project. The start page also provides links to open the most recently used projects. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 152
No special function signals are needed for this example design. No input, output, and flags are used. ■ Figure 7-37 shows a screen shot of the Interface Definition window with the previous settings. Figure 7-37. Interface Definition Window for Example Project EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
When the DMA_RDY_TH0 flag asserts, the GPIF II state machine moves to the READDATA state. It performs an IN_DATA action in this state. The IN_DATA action reads the data available on the data bus and places it in the DMA buffer of socket 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
USB host. So you need to use the consumer socket of the PIB and the producer socket of the UIB. This project allocates four buffers for this data path, and each buffer is 16384 bytes. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
When GPIF II tries to read data from the DMA buffer after it is emptied, then a PIB underrun error is flagged for the corresponding thread. The bit fields of the PIB error indicator register let you know if a PIB error is flagged. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The IN_DATA action reads the data available on the data bus and places it in the GPIF INGRESS register corresponding to socket 0. IN_DATA action settings are shown in Figure 7-43. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 157
The DR_DATA action drives the data available in the GPIF EGRESS register that corresponds to thread 1 onto the GPIF II data bus. The OUT_DATA action settings are shown in Figure 7-45. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The packet end signal. It must be asserted to send a short packet to the USB host. Four DMA flags (FLAGA, FLAGB, FLAGC, and FLAGD) are provided to the external peripheral to manage the data flow. Figure 7-46 shows the FLAGA settings. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 159
The WaterMark value needs to be set using the CyU3PGpifSocketConfigure API. With this API, the active socket for each thread and its properties can be selected by the user at run time. Figure 7-48 shows the FLAGC settings. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 160
Figure 7-48. FLAGC Settings Figure 7-49 shows the FLAGD settings. Figure 7-49. FLAGD Settings A screen shot of the Interface Definition window with the previous settings is shown in Figure 7-50. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FIFO buffers. The external master drives the 2-bit address on the ADDR lines and asserts the read or write strobes. FX3 asserts the FLAG signals to indicate the empty or full condition of the buffer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FLAG Usage: FLAG signals are monitored by the external processor for flow control. FLAG signals are FX3 outputs that may be configured to show empty/full/partial status for a dedicated thread or the current thread being addressed. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 163
3 cycle latency from SLWR# to FLAG CFLG FLAGB dedicated thread FLAG for Am (1 = Not Full 0= Full) (Am) (Am) D (Am) Data IN High-Z (An) PKTEND SLOE (HIGH) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FLAG Usage: FLAG signals are monitored by the external processor for flow control. FLAG signals are FX3 outputs that may be configured to show empty/full/partial status for a dedicated thread or the current thread being addressed. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
AN65974 - Designing with the EZ-USB FX3 Slave FIFO Interface. Figure 7-54. Slave FIFO Interface Flowchart 7.16.4 GPIF II State Machine of Slave FIFO Interface Figure 7-55 shows the GPIF II state machine of the Slave FIFO interface. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 166
General Programmable Interface II (GPIF II) Figure 7-55. GPIF II State Machine of the Slave FIFO Interface EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
DMA sockets, but only two sockets can be active or enabled at a time for a block. All eight DMA sockets can be active together. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
All the resets need to be deasserted for the block to be operational. I2C Interface 8.1.1 I2C Block Features The I2C block offers the following features: Operates in master mode ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FX3 can function in multimaster I2C bus environments, as it is capable of carrying out negotiations with other masters on the bus using SDA-based arbitration. Additionally, FX3 supports the repeated START feature to communicate with multiple slave EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
DMA_MODE bit of the I2C_CONFIG register determines whether the I2C core is configured for DMA mode or register mode transfers. 8.2.3.1 Programming Model The FX3 I2C controller divides I2C transactions into two phases. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
2. Program the I2C Byte count register to indicate the number of bytes to be transferred in the data phase. If you want the data phase to continue without any limit on the number of bytes, then program 0xFFFFFFFF. In this case, the data phase EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
DMA-based transfers from FX3. APIs to perform read and write accesses to an I2C device are provided with the FX3 SDK. Refer to the Cyu3i2c.c file, which is located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\lpp_source (after FX3 SDK installation) for the source code of I2C-related APIs. Refer to FX3APIGuide.pdf located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc for more details on FX3 APIs.
Complies with the Motorola SPI specification in chapter 8 of the MC68HC11 reference manual ■ Supports register-based and DMA-based transfers ■ Supports programmable data unit length of 4 bit, 8 bit,16 bit, and 32 bit, MSB or LSB first ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Provides the Chip Select (CS#) signal ■ Provides SPI clock up to 33 MHz ■ FX3 can boot from SPI flash/ EEPROM (refer to AN76405 - EZ-USB FX3 Boot Options for more information) ■ 8.3.2 SPI Interface Overview The SPI bus is a synchronous serial data link interface, named by Motorola, which operates in full duplex mode. Devices communicate in master/slave mode where the master device initiates the data frame and provides the clock.
FX3 SS# output pin). The DESELCT bit in SPI_CONFIG has to be set while accessing nondefault slaves, logically disconnecting the default slave. The firmware can assert and deassert the GPIO line to select alternate slaves. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SPI_RX_BYTE_COUNT), then an end of transfer is indicated to the DMA adapter by setting the RX_DONE or TX_DONE flag to 1 respectively (of SPI_STATUS and SPI_INTR) in DMA-based transfers. As SPI protocol is very simple, no special error handling is required apart from handling FIFO overflow and underflow. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FX3. APIs to perform read and write accesses to an SPI device are provided with the FX3 SDK. Refer to the Cyu3spi.c file located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\lpp_source (after FX3 SDK installation) for the source code of SPI-related APIs. Refer to FX3APIGuide.pdf located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc for more details on FX3 APIs.
External interface devices must be used to convert the logic level signals of the UART to and from the external voltage signaling standards, such as RS-232, RS-422, and RS-485. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The UART_TX_BYTE_COUNT register specifies the number of bytes to be written out during DMA transfer. The UART_RX_BYTE_COUNT register is used to read the number of bytes received. Register mode transfers are always treated as infinite-length transfers. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This section shows the example codes to receive and transfer data from the FX3 UART block APIs to access the UART block are provided with the FX3 SDK. Refer to the Cyu3uart.c file located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\lpp_source (after FX3 SDK installation) for the source code of UART-related APIs. Refer to FX3APIGuide.pdf located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc for more details on FX3 APIs.
Page 186
RX_DONE event. The received data is printed back on the HyperTerminal and the DMA buffer is cleared for receiving the next set of data from the HyperTerminal. void uartIntrCb(CyU3PUartEvt_t evt, CyU3PUartError_t error) if (evt == CY_U3P_UART_EVENT_RX_DONE) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1. When Pause is asserted, transmit the current word pair, and then stop the data flow into the I2S block and transmit zeros. However, receive the data and buffer it for the previous request(s). Pause has priority over Mute if both are asserted. 2. Assert the PAUSED bit in the I2S_STATUS register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SDK\1.3\firmware\lpp_source (after FX3 SDK installation) for the source code of the UART=related APIs. Refer to FX3APIGuide.pdf located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc for more details about the FX3 APIs. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
/* Identify the usb speed. Once that is identified, create a DMA channel and start the transfer on this. Based on the Bus Speed configure the endpoint packet size */ switch (usbSpeed) case CY_U3P_FULL_SPEED: size = 64; break; case CY_U3P_HIGH_SPEED: size = 512; EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 191
CyU3PDmaChannelCreate (&glI2sRightCh, CY_U3P_DMA_TYPE_AUTO, &dmaCfg); /* Flush the Endpoint memory */ CyU3PUsbFlushEp(CY_FX_EP_PRODUCER_1); CyU3PUsbFlushEp(CY_FX_EP_PRODUCER_2); /* Set DMA Channel transfer size to infinite. */ status = CyU3PDmaChannelSetXfer (&glI2sLeftCh, 0); status = CyU3PDmaChannelSetXfer (&glI2sRightCh, 0); EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIO. It uses the values from three registers. TIMER is the value of the PIN_TIMER register, THRESHOLD is the value of the PIN_THRESHOLD register, and MODE is from the PIN_STATUS register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This section shows an example code to configure and use FX3 GPIOs.. APIs to access the GPIO block are provided with the FX3 SDK. Refer to the Cyu3gpio.c file located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\lpp_source (after FX3 SDK installation) for the source code of GPIO-related APIs. Refer to FX3APIGuide.pdf located at C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc for more details on the FX3 APIs.
FAST clock. The frequency of this clock is determined by the simpleDiv value. The FAST clock is configured as half of the system clock, and the SLOW clock is disabled (set to zero). Interrupt callback can be registered using CyU3PGpioInit, but this example does not use it. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 195
/* Set the GPIO 21 to high */ CyU3PGpioSetValue (21, CyTrue); GPIO[21] can be driven low by changing the second parameter of the CyU3PGpioSetValue API. /* Set the GPIO 21 to low */ CyU3PGpioSetValue (21, CyFalse); EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SPI, UART, I2C, I2S, and GPIO. The SIB generates commands and accepts responses at the SD/MMC interface based on the configuration provided by the firmware. SIB contains two storage port controllers (S0 and S1) that can be independently configured to support different protocols. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 198
DMA adapter is the thread. A thread controller converts the simple request-data interface from the core to the required transactions on the DMA adapter. The DMA data enters the DMA adapter through two distinct pipes, named Thread EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
UART + SPI + I2S interface. ■ Figure 9-2 shows the dual-SD/MMC/SDIO configuration, and Table 9-1 shows the S-port mapping in all configurations. Figure 9-2. Dual-SD/SDIO/MMC Configuration FX3S SDIO S0_DAT[7:0] S0_CMD S0_CLK S1_CLK S1_CMD S1_DAT[7:0] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 200
8 bytes and greater than or equal to 16 bytes. The FAST_IO (CMD39) command should be used to transfer small amounts data from/to SDIO devices. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
MMC card as an example. Similar operations apply to the SD protocol as well, with a change in data bus width. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 202
*Note: Bus width for the block read operation in the SD card would be 4 bits using the DAT0-3 lines. Figure 9-5. "No Response" and "No Data" Operations* * Source: eMMC Specification 4.3 For more details, refer to the SD/MMC specification. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1. Storage driver that identifies and initializes the storage peripherals connected to FX3S, as well as interrupt services asso- ciated with the storage interface 2. A set of APIs (storage API library) that allows users to query peripheral properties and perform data transfers to/from these peripherals EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For bit definitions, refer to SDMMC_CMD_IDX register on page 632, SDMMC_CMD_RESP_FMT register on page 641, SDMMC_CMD_ARG0 register on page 633 SDMMC_CMD_ARG1 register on page 634. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 207
/* Run through each of the units present and check how many data partitions are present. We skip all boot partitions in this application. for (j = 0; j < glDevInfo[i].numUnits; j++) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The SIB events are based on the bits of the SD/MMC/SDIO interrupt request register (SDMMC_INTR). These bits are set to 1 whenever a bit in SDMMC_STATUS changes from 0 to 1. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 209
= 0; glMscResidue = 0; glSensePtr[portId] = CY_FX_MSC_SENSE_OK; CyU3PEventSet (&glMscAppEvent, CY_FX_MSC_SIBCB_EVENT_FLAG, CYU3P_EVENT_OR); if (evt == CY_U3P_SIB_EVENT_INSERT) uint8_t i = 0; CyU3PDebugPrint (2, "Insert event on port %d\r\n", portId); EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
/**< S-port socket number 1. */ CY_U3P_SIB_SOCKET_2, /**< S-port socket number 2. */ CY_U3P_SIB_SOCKET_3, /**< S-port socket number 3. */ CY_U3P_SIB_SOCKET_4, /**< S-port socket number 4. */ CY_U3P_SIB_SOCKET_5, /**< S-port socket number 5. */ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 211
The socket number to be passed as a parameter to the function CyU3PSibReadWriteRequest is the offset with respect to CY_U3P_SIB_SOCKET_0. For example, if CY_U3P_SIB_SOCKET_1 is used to create the DMA channel, then the socket EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Function Number and the Register Address to the host. The data byte is returned in the response, R5. If this bit is set to 1, the command will write the bytes in the Write Data field to the I/O location EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 214
CMD52 command transmission is initiated in the same manner as explained in 9.5.1.5 Sending SD/MMC/SDIO Commands on page 206. The 1-byte response data of the CMD52 read register command is contained in the lower 8 bits of the SDMMC_RESP_REG register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 215
Address field. Data is transferred on the DAT[0] or DAT[3:0] lines as defined for SD memory cards. Figure 9-9. IO_RW_EXTENDED Command Command Function Block Register Byte/ Block Index CRC7 Flag Number Mode Code Address Count 110101b * Source: SDIO Specification, version 2.0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 216
Inside this API, the block length and number of blocks, calculated from the parameters passed to it, are set in the appropriate registers: SDMMC_BLOCKLEN and SDMMC_BLOCK_COUNT. The logic for the same is as follows. if (blockmode == CY_U3P_SDIO_RW_BLOCK_MODE) noOfBlocks = transferCount; EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 217
= ((length+511)/512)*512; /* make sure that size is 512 aligned */ dmaBuffer.size size; dmaBuffer.buffer = buff; dmaBuffer.count = 0; dmaBuffer.status = 0; status = CyU3PDmaChannelSetupRecvBuffer (&glChHandleSdiotoCpu, &dmaBuffer); if (status != CY_U3P_SUCCESS) ERROR_PRINT (6, "CyU3PDmaChannelSetupSendBuffer error status = %d\r\n", status); EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The interrupt period ends at the next clock from the end bit of a command that transfers data block(s) using DAT[x] lines. It resumes two clocks after the completion of the last data block transfer in a transaction. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
VIO2 power domain (see Table 9-1); if S0 and S1 are at different voltage levels, the pin cannot be used as S1_INS. Figure 9-11 depicts this mechanism. Figure 9-11. Card Detection Using GPIO EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
To eliminate this limitation, the SDIO specification adds the read-wait control to enable the host to issue CMD52 during a multiple read cycle. Read-wait uses the DAT[2] line to allow the host to signal the card to temporarily halt the sending of read EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SDMMC DLL control register. Increment these values from 0 until a point where the tuning data reception does not lead to a CRC16 error. When the phase values exceed the maximum possible value (15), all 16 phase values possible have returned CRC16 errors and hence a fatal error is reported. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Once all boot data is read, the host pulls the CMD line HIGH, as illustrated in Figure 9-13. Figure 9-13. Normal Boot* * Source: eMMC Specification, version 4.3 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 225
0XF0F0F0F0). As in the case of normal boot, the termination can occur during block boundary or data transfer. The condition for termination described previously for normal boot is the same for alternate boot. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 226
Storage Ports Figure 9-15. Alternate Boot * Source: eMMC Specification, version 4.3 The flow chart shown in Figure 9-16 depicts the alternate boot operation flow. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
0xFC00 GCTL Global Controller register map 0x5FC00 0x0400 ARM CPU register map (BIST only) Detailed descriptions of all the registers in each IP block are provided in the following sections. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Gray, empty cells indicate reserved bits. Do not read from or write to these bits. ■ EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
VIC_IRQ_STATUS IRQ Status after Masking IRQ_STATUS[23:16] VIC_IRQ_STATUS IRQ Status after Masking IRQ_STATUS[15:8] VIC_IRQ_STATUS IRQ Status after Masking IRQ_STATUS[7:0] Name Description 31:0 IRQ_STATUS[31:0] IRQ interrupt is raised by the following source: EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FIQ Status after Masking FIQ_STATUS[23:16] VIC_FIQ_STATUS FIQ Status after Masking FIQ_STATUS[15:8] VIC_FIQ_STATUS FIQ Status after Masking FIQ_STATUS[7:0] Name Description 31:0 FIQ_STATUS[31:0] FIQ interrupt is raised at the line corresponding to the bit position. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
IRQ Status before Masking RAW_STATUS[15:8] VIC_RAW_STATUS IRQ Status before Masking RAW_STATUS[7:0] Name Description 31:0 RAW_STATUS[31:0] FIQ/IRQ interrupt is raised at the line corresponding to the bit position regardless of its masked (disable) state. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Designate the line corresponding to the bit position as FIQ. The software ensures that this register is a power of 2 (one FIQ only). It writes to this register only after disabling the inter- rupts it intends to change. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
31:0 INT_ENABLE[31:0] Enable the interrupt at this bit position. All interrupts are disabled at reset. Software cannot write 0 here to disable interrupts. Use the VIC_INT_CLEAR register for this purpose. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register disables the interrupt line and masks it if it was designated IRQ. Name Description 31:0 INT_CLEAR[31:0] Disable the interrupt at this bit position. Mask it if it is designated IRQ. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Per-Priority Interrupt Mask Register PRIO_MASK[7:0] 0xFFFF This register allows you to mask interrupts on a per-priority basis. Name Description 15:0 PRIO_MASK[15:0] Unmasked Interrupt at the priority level = bit position is masked. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The firmware accesses this register only after disabling the corresponding interrupt. Holds the address to the ISR for interrupt number = the position of this register in the bank of 32 registers. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
16 priorities to the interrupt number. This equals the position of this register in the bank of 32 reg- isters. When any two interrupts with the same priority arrive at the VIC, the one connected to the lower numbered line wins. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Upon completion, the soft- ware writes any value to this register, which clears the active interrupt. software does not access this register at any other time. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Carkit UART configuration: Use LPP_UART (LPP_UART not available to S1) Use PIB_CTL11/PIB_CTL12 pins for carkit UART (enabling the USB2 PHY for Carkit UART operation must be done separately in UIB_PHY*). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 242
GCTL_GPIO_COMPLEX takes precedence over GCTL_GPIO_SIMPLE. Name Description 60:0 OVERRIDE[60:0 When bit <n> is set, the corresponding pin maps to simple GPIO <n>. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 244
When bit <n> is set, the corresponding pin maps to complex GPIO_PIN <n> Mod 8. If multiple pins are mapped onto the same GPIO_PIN the behavior of the hardware is undefined. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
C fast-mode 1.2 to 1.5 V, standard-mode 1.2 to 3.6 V (open-drain only) C fast-mode plus (open-drain only) S1LDS[1:0] Drive strength for GPIOs, VIO4 power domain continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 246
Drive strength for GPIOs, VIO3 power domain S0DS[1:0] Drive strength for GPIOs, VIO2 power domain PDS[1:0] Drive strength for P-Port, VIO1 power domain Quarter strength Three quarter strength Half strength Full strength EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 248
Firmware should not enable WPU and WPD simultaneously on a given I/O. A weak pull-up or weak pull-down takes about 5 µs to be effective at the pads. Name Description 59:0 WPU[59:0] When set, a weak pull-up is connected for the pin associated with the corresponding GPIO #. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 250
Firmware should not enable WPU and WPD simultaneously on a given I/O. A weak pull-up or weak pull-down takes about 5 µs to be effective at the pads. Name Description 59:0 WPD[59:0] When set, a weak pull-down is connected for the pin associated with the corresponding GPIO #. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Enables regulator to output different voltages for the carkit mode. NOT ALLOWED for chip-level carkit UART mode because the regulator 2.5-V supply output is dis- abled, which is not supported by the USB2.0 PHY. Regulator operates normally. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 252
Indicates all I/O power domains for this block are powered and active. Any time needed for internal voltages to stabilize cells to become active has passed before this bit asserts. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt request. Must be cleared by firmware. USB25REG Interrupt request. Must be cleared by firmware. USB33REG Interrupt request. Must be cleared by firmware. VIO5 Interrupt request. Must be cleared by firmware. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 254
Interrupt request. Must be cleared by firmware. VIO3 Interrupt request. Must be cleared by firmware. VIO2 Interrupt request. Must be cleared by firmware. VIO1 Interrupt request. Must be cleared by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set to 1 to report interrupt to CPU. Note CVDDQ is required for chip operation (clock and reset). This interrupt will never trigger when it is observable. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 256
Set to 1 to report interrupt to CPU VIO3 Set to 1 to report interrupt to CPU VIO2 Set to 1 to report interrupt to CPU VIO1 Set to 1 to report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register is a software interrupt register with 31b argument. Name Description SWINT Software interrupt request. Must be set by issuer and cleared by ISR. 30:0 ARGUMENT[30:0] 31-bit argument that can be set by issuer, read by ISR. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
PLL charge pump configuration 2.5 µA 5 µA 7.5 µA 10 µA The charge pump bit setting varies depending on both the refclk frequency and the configuration divider bits. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 259
PLL input reference divider configuration. This field must be 0. OUTDIV PLL output divider configuration. This field must be 0. FBDIV PLL feedback divider configuration. This field must be 0x14. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 16. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This field drives a simple clock mux; the actual presence and configuration of the clock inputs used is defined in the appropriate registers. Note In GTM test mode, make sure the USB2 PHY clock is running for at least 40 µs before selecting EPMCLK_SRC = 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Clock divider value. This determines how much to divide the PLL system clock. The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 1024. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note Do not change HALFDIV after CLK_EN is set to 1 at least once, without first applying a hard- ware reset. It can be set together with CLK_EN in a single register write. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 264
Note Any two writes to GCTL_GPIO_FAST_CLK and GPIO_SLOW_CLK must be spaced at least 35cy @ busclk apart. This holds for back-to-back writes to the same register as well as writes to both of these registers in either order. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note Any two writes to GCTL_GPIO_FAST_CLK and GPIO_SLOW_CLK must be spaced at least 35cy @ busclk apart. This holds for back-to-back writes to the same register as well as writes to both of these registers in either order. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Clock divider value. This determines how much to divide the PLL system clock. The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 4096. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Clock divider value. This determines how much to divide the PLL system clock. The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 65536. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Clock divider value. This determines how much to divide the PLL system clock. The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 65536. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Clock divider value. This determines how much to divide the PLL system clock. The actual divider is DIV + 1. Zero (divide by 1) is illegal and results in undefined behavior. In other words, the range of divider values is 2 to 32768. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This wakeup source does not work from standby mode. This wakeup source works from sus- pend only when an external 32-kHz clock source is present. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 271
This wakeup source works from suspend only when an external 32-kHz clock source is present. EN_PIB_CTRL0 Enables wakeup from the PIB CTL0 pin (CE# typically). Wakeup occurs on any change on this pin after wakeup. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Wakeup when HIGH POL_UART_CTS Polarity of the UART_CTS signal: Wakeup when LOW Wakeup when HIGH POL_GPIO[44] Polarity of the GPIO[44] signal: Wakeup when LOW Wakeup when HIGH continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 273
Wakeup when HIGH (Not required for SDIO interrupt wakeup) POL_GPIO[34] Polarity of the GPIO[34] signal: Wakeup when LOW (Applicable for SDIO interrupt wakeup) Wakeup when HIGH (Not required for SDIO interrupt wakeup) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates that this wakeup source was the reason for system wakeup from standby/suspend mode. GCTL_WAKEUP_EN for more information. EV_UIB_DM Indicates that this wakeup source was the reason for system wakeup from standby/suspend mode. GCTL_WAKEUP_EN for more information. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 275
Indicates that this wakeup source was the reason for system wakeup from standby/suspend mode. GCTL_WAKEUP_EN for more information. EV_PIB_CTRL0 Indicates that this wakeup source was the reason for system wakeup from standby/suspend mode. GCTL_WAKEUP_EN for more information. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note that states 2 and 3 only override the output value driven to a fixed value, but do not change the drive mode of a pin from off to on. In other words, pins that are currently inputs remain inputs and are not forced to drive. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
CPU while the system is powered-up. Refer to the GCTL_WAKEUP_EVENT register when the WDOG timer is used to wake up the system from a power-down state. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 278
Free-running mode, counter wraps around after 32 bits. Interrupt mode, interrupt when COUNTER & ~((~0)<<BITS) = 0. Reset mode, full chip RESET when COUNTER & ~((~0)<<BITS) = 0. Disable - counter does not run EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The CPU should not write the same value to this register successively; instead, it should alter the value. If the CPU wants to write value x, every interval, it must write x, x – 1, x, x – 1, … in successive intervals. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The CPU should not write the same value to this register successively; instead, it should alter the value. If the CPU wants to write value x, every interval, it must write x, x – 1, x, x – 1, … in successive intervals. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Disabled Enabled PP_CFGMODE Variable indicating initialization mode to Application processor (PP_CONFIG.CFGMODE). Cleared by firmware after P-Port is properly initialized and ready to transact. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 282
Provides a device ID. This field is visible in PP_INIT registers. This must be provided by Boot ROM. To prevent spoofing, this register is not writable when GCTL_CON- TROL.BOOTROM_EN = 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates that AP has written to PP_WR_THRESHOLD register. CONFIG_CHANGE AP has written a new value into PP_CONFIG. CLOCK_LOST PIB_CLK is no longer present. See PIB_CLOCK_DETECT for more details. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 284
PP_EVENT.WR_MB_EMPTY to assert. RD_MB_EMPTY Indicates that the RD_MAILBOX is empty and a new message can be written. This bit sets when AP writes PP_EVENT.RD_MB_FULL = 0. It must be cleared by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Mask for corresponding interrupt in PIB_INTR CONFIG_CHANGE Mask for corresponding interrupt in PIB_INTR CLOCK_LOST Mask for corresponding interrupt in PIB_INTR DLL_LOST_LOCK Mask for corresponding interrupt in PIB_INTR continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 286
PIB_INTR_MASK (continued) DLL_LOCKED Mask for corresponding interrupt in PIB_INTR GPIF_INTERRUPT Mask for corresponding interrupt in PIB_INTR WR_MB_FULL Mask for corresponding interrupt in PIB_INTR RD_MB_EMPTY Mask for corresponding interrupt in PIB_INTR EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates latest clock presence measurement 19:16 INTF_CYCLES[3:0] Minimum number of positive edges required on PIBCLK pin to declare clock presence during each measurement period. 15:0 BUS_CYCLES[15:0] Number of busclk cycles for each measurement period. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 289
Writing to the high word of this register sets the PP_EVENT.RD_MB_FULL flag. The procedure to use is described as part of the socket-based link controller section. Name Description 63:0 PP_RD_MAILBOX[63:0] Mailbox message from FX3 to the application processor EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 291
Reading from these registers has no side effect. The procedure to use is described as part of the socket- based link controller section. Name Description 63:0 PP_WR_MAILBOX[63:0] Mailbox message from the application processor to FX3 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Attempt to push to the active address thread which is not dma_ready SERIAL_PARITY_ERROR Received data in serial mode has parity error INVALID_STATE_ERROR State machine has transitioned to an invalid state continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 293
Adapter unable to service read request though buffer is available TH3_READ_FORCE_END 0x2D A read socket is wrapped up TH3_READ_BURST_ERR 0x2E A read socket with burstsize > 0 is switched before the 8-byte boundary EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register specifies how EOP is set in descriptors of ingress P-port sockets and how EOP is interpreted for egress P-port sockets. Name Description 31:0 PIB_EOP_EOT_CFG[31:0] This register specifies how EOP bits are set or interpreted for ingress and egress sockets, respec- tively. Stream mode behavior Packet mode behavior EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Hardware does not reset the DLL when DLL code overrun/underrun occurs Hardware resets the DLL when DLL code overrun/underrun occurs DLL_RESET_N Resets the DLL DLL is reset DLL is not reset continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 296
DLL is not in phase lock DLL has achieved phase lock HIGH_FREQ 23 to 80 MHz 70 to 230 MHz ENABLE Drives the DLLEN input DLL is disabled (internally power gated) DLL is enabled EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The CPU writes to this field during initialization. The value written to this register is made available by hardware in PP_WR_THRESHOLD register. When AP writes to the PP_WR_THRESHOLD register this register is updated with the new value and WR_THRESHOLD interrupt is provided. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The CPU writes to this field during initialization. The value written to this register is made available by hardware in the PP_RD_THRESHOLD register. When AP writes to the PP_RD_THRESHOLD regis- ter, this register is updated with the new value and the RD_THRESHOLD interrupt is provided. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
These registers are located in the CPU/Interconnect power and clock domains and are accessible even when power/clock of the block is switched off. Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words, reading ACTIVE = 1 indicates that the block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
PP_MODE = 1. If A7OVERRIDE = 1, register accesses are determined by beta (pp_access) instead. THREAD_IN_STATE Normal operation The thread number for an operation comes from the state description rather than the THREAD_CONFIG register (see GPIF_Modes for more information) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 302
Inverted clock polarity (clock on negative edge) DATA_COMP_ENABLE Disable the data comparator Enable the data comparator ADDR_COMP_ENABLE Disable the address comparator Enable the address comparator CTRL_COMP_ENABLE Disable the control comparator Enable the control comparator EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Normal operation of INT pin Override INT pin and connect to CTRL[15] DRQ_ASSERT_MODE Do nothing Assert DRQ on rising edge of DMA_READY. Typical case, DRQ_MODE = 2, this bit 1. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 304
DQ is 24b wide DQ is 32b wide PIN_COUNT[1:0] Number of pins allocated to GPIF interface. Needs to be consistent with GCTL_IOMATRIX: 47-pin interface 43-pin interface 35-pin interface 31-pin interface EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
STATE7 indicates Lambda number to be used for state number bit 7 STATE6 indicates Lambda number to be used for state number bit 6 STATE5 indicates Lambda number to be used for state number bit 5 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The active socket of thread DATA_THREAD is changed (full 5 bits) DOUT_SELECT Connect DOUT to the socket pointed to by AIN_DATA or EGRESS_DATA register (as determined by beta 'register_access') Connect DOUT to DATA_COUNTER continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 307
Direction controlled by the alpha: “dq_oen” Reserved Note that CTRL[2] can be OE, controlling the data output drivers directly, overriding what's specified here (this field should be set to 0 if that is used) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
CPU tried to access waveform memory without clearing WAVEFORM_VALID CTRL_COMP_HIT Control comparator hits DATA_COMP_HIT Data comparator hits ADDR_COMP_HIT Address comparator hits CTRL_COUNT_HIT Control counter is at limit continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 309
Indicates that the SWITCH_TIMEOUT was reached (see WAVEFORM_SWITCH). This bit clears when a new WAVEFORM_SWTICH is initiated. GPIF_INTR Indicates that GPIF state machine has raised an interrupt. GPIF_DONE GPIF has reached the DONE state. Nonsticky. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt request corresponding to same bit in GPIF_STATUS DATA_COUNT_HIT Interrupt request corresponding to same bit in GPIF_STATUS ADDR_COUNT_HIT Interrupt request corresponding to same bit in GPIF_STATUS continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 311
Interrupt request corresponding to same bit in GPIF_STATUS SWITCH_TIMEOUT Interrupt request corresponding to same bit in GPIF_STATUS GPIF_INTR Interrupt request corresponding to same bit in GPIF_STATUS GPIF_DONE Interrupt request corresponding to same bit in GPIF_STATUS EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Mask bit that controls reporting of corresponding bit in GPIF_INTR DATA_COUNT_HIT Mask bit that controls reporting of corresponding bit in GPIF_INTR ADDR_COUNT_HIT Mask bit that controls reporting of corresponding bit in GPIF_INTR continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 313
Mask bit that controls reporting of corresponding bit in GPIF_INTR GPIF_INTR Mask bit that controls reporting of corresponding bit in GPIF_INTR GPIF_DONE Mask bit that controls reporting of corresponding bit in GPIF_INTR EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Two bits specify type of each bit in the 16-bit CTRL/ADDR Bus. Settings specified here may be overridden by GPIF_BUS_- CONFIG bits. Name Description 31:0 DIRECTION[31:0] Bit at (bit_number/2) has following direction: Input Output Bidirectional I/O Open drain I/O EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Control Bus Default Values Register DEFAULT[7:0] Reset/initialization value for the CTRL[15:0] signals. Name Description 15:0 DEFAULT[15:0] One bit for each CTRL signal indicating default value Asserted (see POLARITY) Deasserted (see POLARITY) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Control Bus SIgnal Polarity Register POLARITY[7:0] Polarity of each of the CTRL[15:0] signals. Name Description 15:0 POLARITY[15:0] One bit for each CTRL signal indicating polarity Asserted when 1 Asserted when 0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Description 15:0 TOGGLE[15:0] One bit for each CTRL signal indicating toggle mode Normal mode, set value from alpha/beta Toggle mode, toggle value when alpha/beta is 1, do nothing when 0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Partial flag for thread 0–3 Empty/Full flag for current thread Partial flag for current thread PP_DRQR5 signal (see PP_DRQR5_MASK) 27–31 Connected to logic 0 (cannot be used together with CTRL_BUS_TOGGLE) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Software writes one to reset/load the counter RELOAD Saturate on reaching the limit Reload on reaching the limit DOWN_UP Down count Up count ENABLE This counter is not used. This counter is used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Control Counter Reset Register RESET_LOAD[7:0] Configures the reset/load value of the control counter. Name Description 15:0 RESET_LOAD[15:0] Reset counter to this value. Reload to this value when limit is reached if specified. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Control Counter Reset Register LIMIT[15:8] GPIF_CTRL_COUNT_LIMIT Control Counter Reset Register LIMIT[7:0] 0xFFFF Configures the limit value of the control counter. Name Description 15:0 LIMIT[15:0] Stop counting when counter reaches this value EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Hardware write 0 to signal that counter has reset Software writes one to reset/load the counter RELOAD Saturate on reaching the limit Reload on reaching the limit ENABLE This counter is not used. This counter is used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Address Counter Reset Register RESET_LOAD[7:0] Sets the reset/reload value of the data counter. Name Description 31:0 RESET_LOAD[31:0] Reset counter to this value. Reload to this value when limit is reached if specified. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Configures the first 16-bit state counter. Name Description SW_RESET Hardware write 0 to signal that counter has reset Software writes one to reset/load the counter ENABLE This counter is not used. This counter is used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
LIMIT[7:0] 0xFFFF Configures the reset/load and limit values of counters. Name Description 15:0 LIMIT[15:0] Generate an output tick, reset and start counting again if enabled when this limit is reached. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Hardware write 0 to signal that counter has reset Software writes one to reset/load the counter RELOAD Saturate on reaching the limit Reload on reaching the limit ENABLE This counter is not used. This counter is used. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Data Counter Reset Register RESET_LOAD[7:0] Sets the reset/reload value of the data counter. Name Description 31:0 RESET_LOAD[31:0] Reset counter to this value. Reload to this value when limit is reached if specified. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Data Counter Limit Register LIMIT[7:0] 0xFFFF Sets the limit value of the data counter. Name Description 31:0 LIMIT[31:0] Reload data counter if this limit is reached and reload is enabled. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Control Comparator Value Register VALUE[15:8] GPIF_CTRL_COMP_VALUE Control Comparator Value Register VALUE[7:0] Sets the target value for the 16-bit control-bus comparator. Name Description 15:0 VALUE[15:0] Output true when CTRL bus matches this value EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Sets the comparison mask for the 16-bit control-bus comparator. Name Description 15:0 MASK[15:0] Bit at this bit position is a don't-care for comparison Bit at this bit position in the CTRL bus is to be used in comparison EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Data Counter Limit Register VALUE[15:8] GPIF_DATA_COUNT_LIMIT Data Counter Limit Register VALUE[7:0] Sets the target value for the 32-bit data comparator. Name Description 31:0 VALUE[31:0] Output true when Data bus matches this value. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Sets the comparison mask for the 32-bit data comparator. Name Description 31:0 MASK[31:0] Bit at this bit position is a don't-care for comparison Bit at this bit position in the Data bus is to be used in comparison EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Address Comparator Value Register VALUE[15:8] GPIF_ADDR_COMP_VALUE Address Comparator Value Register VALUE[7:0] Sets the target value for the 32-bit address comparator. Name Description 31:0 VALUE[31:0] Output true when Data bus matches this value. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Sets the comparison mask for the 32-bit data comparator. Name Description 31:0 MASK[31:0] Bit at this bit position is a don't-care for comparison Bit at this bit position in the CTRL bus is to be used in comparison EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Software writes 1 to indicate a valid word is present in the address register. Hardware writes 0 to indi- cate that the data is used and new word can be written. IN_DATA_VALID[3:0] Indicates data available in INGRESS_DATA. Cleared by software when data processed. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Holds ingress data for the active socket in a thread. Name Description 31:0 DATA[31:0] Ingress Data. This register will hold only one word of GPIF_BUS_CONFIG.BUS_WIDTH. No packing/ unpacking is done. MSBs will be 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Holds egress data for the active socket in a thread. Name Description 31:0 DATA[31:0] Egress data. This register will hold only one word of GPIF_BUS_CONFIG.BUS_WIDTH. No packing/ unpacking is done. MSBs are ignored. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(as measured from the end of the burst) (3). Any additional group latency between the APs dma controller logic and the interface pins in both directions. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 342
Can be modified by hardware as result of PP_DMA_XFER accesses (only for thread 0) Can be modified by hardware as result of alpha 'sample AIN' (all threads. Hardware can only modify bits [4:2] of this field) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIF_LAMBDA_STAT Lambda Status Register LAMBDA[15:8] GPIF_LAMBDA_STAT Lambda Status Register LAMBDA[7:0] 0x10000000 Provides the current state of the 32 Lambdas (inputs). Name Description 31:0 LAMBDA[31:0] Current value of the Lambda inputs EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIF_ALPHA_STAT Alpha Status Register GPIF_ALPHA_STAT Alpha Status Register ALPHA[7:0] Provides the current state of the 8 Alphas (state machine early outputs). Name Description ALPHA[7:0] Current value of the Alpha signals EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Beta Status Register BETA[15:8] GPIF_BETA_STAT Beta Status Register BETA[7:0] Provides the current state of the 32 Betas (state machine late outputs). Name Description 31:0 BETA[31:0] Current value of the Beta signals EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
An error occurred PAUSE Write 1 here to pause GPIF. 0 to resume where left off. WAVEFORM_VALID Waveforms are no longer valid, stop operation and return outputs to default state EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 347
GPIF_WAVEFORM_CTRL_STAT 0xE0014118 The waveform memory is consistent and valid. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Timeout for reaching TERMINAL STATE. Force switch on timeout. Timeout for hanging in current state. Timer resets on each transition. SWITCH_NOW Do not wait for TERMINAL_STATE, switch right away continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 349
10.7.40 GPIF_WAVEFORM_SWITCH (continued) DONE_ENABLE Enable checking for DONE_STATE and generation of GPIF_DONE. WAVEFORM_SWITCH Software sets this bit after programming the switch register. Hardware clears it after the switch is complete. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Waveform Timeout Register RESET_LOAD[7:0] Defines the timeout counter (in the number of state machine clock) for waveform switching. Effective only when TIME- OUT_ENABLE is set. Name Description 31:0 RESET_LOAD[31:0] Timeout value EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
BETA_DEASSERT does not apply. Betas remain asserted throughout the state. BETA_DEASSERT from the waveform descriptor applies to this beta. This is not honored for external betas, which always behave as if apply_deassert = 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Truth table for transition function. Bit position X contains output when the 4 inputs constitute the value X in binary. For example, bit 2 = 1 means in3 = 0, in2 = 0, in1 = 1 and in0 = 0 will evaluate true for this function. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
UNUSED GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register VALID BETA_DEASSERT REPEAT_COUNT[7:2] GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register REPEAT_COUNT[1:0] Beta[31:26] GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register Beta[25:18] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 354
GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register Alpha_Left[1:0] f1[4:0] f0[4] GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register f0[3:0] Fd[4:1] GPIF_LEFT_WAVEFORM Left Edge Waveform Memory Register Fd[0] Fc[4:0] Fb[4:3] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 355
Fc[4:0] Third input index. 17:13 Fb[4:0] Second input index. 12:8 Fa[4:0] Index to select the first input for transition functions out of 32 choices. NEXT_STATE[7:0] Next state on left transition EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
UNUSED GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register VALID BETA_DEASSERT REPEAT_COUNT[7:2] GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register REPEAT_COUNT[1:0] Beta[31:26] GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register Beta[25:18] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 357
GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register Alpha_Left[1:0] f1[4:0] f0[4] GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register f0[3:0] Fd[4:1] GPIF_RIGHT_WAVEFORM Right Edge Waveform Memory Register Fd[0] Fc[4:0] Fb[4:3] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 358
Fc[4:0] Third input index. 17:13 Fb[4:0] Second input index. 12:8 Fa[4:0] Index to select the first input for transition functions out of 32 choices. NEXT_STATE[7:0] Next state on left transition EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Provides device ID information. This must be provided by boot ROM. This register is not writable when GCTL_CON- TROL.BOOTROM_EN = 0 to prevent spoofing. Name Description 15:0 DEVICE_ID[15:0] Provides a device ID. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates system woke up through a power-on-reset or RESET# pin reset sequence. If firmware does not clear this bit it will stay 1 even through software reset, standby and suspend sequences. This bit is a shadow bit of GCTL_CONTROL. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
After that DRQ may reassert depending on other settings. Burst mode, DRQ will deassert when BURSTSIZE words are transferred and will not reas- sert until DACK is deasserted. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 362
PIB_CONFIG. BURSTSIZE Size of DMA bursts; only relevant when DRQMODE=1. 0–14 DMA burst size is 2BURSTSIZE words DMA burst size is infinite (DRQ deasserts on last cycle of transfer) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIF_INT Forward EVENT onto INT line SOCK_AGG_BH Forward EVENT onto INT line SOCK_AGG_BL Forward EVENT onto INT line SOCK_AGG_AH Forward EVENT onto INT line SOCK_AGG_AL Forward EVENT onto INT line EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
These registers contain a mask that indicates which sockets affect the SOCK_AGG_A and SOCK_AGG_B values, respec- tively. Name Description 31:0 SOCK_MASK[31:0] For socket <x>, bit <x> indicates: Socket does not affect SOCK_AGG_A/B Socket does affect SOCK_AGG_A/B EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
P-Port BROS document. This register is also visible to firmware as PIB_ER- ROR. Name Description 14:10 GPIF_ERR_CODE[4:0] Mirror of corresponding field in PIB_ERROR PIB_ERR_CODE[5:0] Mirror of corresponding field in PIB_ERROR EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Read (Transfer from FX3 – Egress direction) Write (Transfer to FX3 – Ingress direction) DMA_ENABLE Disable ongoing transfer. If no transfer is ongoing ignore disable Enable data transfer DMA_SOCK[7:0] Processor specified socket number for data transfer EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The value read from this register is not valid unless DMA_XFER.SIZE_VALID is true. Name Description 15:0 DMA_SIZE[15:0] Size of DMA transfer. Number of bytes available for read/write when read, number of bytes to be read/written when written. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 370
PIB_INTR.WR_MB_FULL is set. The expected action is that firmware reads the message and then clears PIB_INTR.WR_M- B_FULL, which will set PP_EVENT.WR_MB_EMPTY to signal AP for the next message (if needed). Name Description 63:0 WR_MAILBOX[63:0] Write mailbox message from AP EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
These registers together form a 32-bit address for accessing the FX3 internal MMIO space. The address can point to any internal FX3 register. The bits PP_MMIO.MMIO_RD, PP_MMIO.MMIO_WR, PP_MMIO.MMIO_DONE are used to control the operation. Name Description 31:0 MMIO_ADDR[31:0] Address in MMIO register space to be used for access. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Reading from these registers will return the data from the last MMIO_RD operation or the data written by Application Proces- sor, whichever is more recent. Name Description 31:0 MMIO_DATA[31:0] 32-bit data word for read or write transaction EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
No MMIO operation is pending MMIO operation is being executed MMIO_WR No action Initiate write of MMIO_DATA to MMIO_ADDR MMIO_RD No action Initiate read from MMIO_ADDR, place data in MMIO_DATA EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The error code is indicated in PP_ERROR.PIB_ERR_CODE GPIF_INT State machine raised host interrupt SOCK_AGG_BH SOCK_STAT_B[15:8] is all zeroes At least one bit set in SOCK_STAT_B[15:8] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 375
At least one bit set in SOCK_STAT_B[7:0] SOCK_AGG_AH SOCK_STAT_A[15:8] is all zeroes At least one bit set in SOCK_STAT_A[15:8] SOCK_AGG_AL SOCK_STAT_A[7:0] is all zeroes At least one bit set in SOCK_STAT_A[7:0] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 377
FULL is set. The expected action is that the Application Processor reads the message and interprets it and then clears PP_EVENT.RD_MB_FULL, which sets PIB_INTR.RD_MB_EMPTY to signal firmware for the next message (if needed). Name Description 63:0 RD_MAILBOX[63:0] Read mailbox message to AP EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SOCK_STAT[31:0] For socket <x>, bit <x> indicates: Socket has no active descriptor or descriptor is not available (empty for write, occupied for read) Socket is available for reading or writing EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
PMMC P-Port space only! No registers exist in the PP space, only the socket registers are read for this from the adapter. The value of PP_BUF_SIZE_CNT is valid only if the PP_SOCK_STAT indicates ready for the corresponding socket. Name Description 15:0 SIZE_CNT[15:0] Buffer size of the corresponding write socket (0..31) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SuperSpeed Protocol Layer Interrupt LNK_INT SuperSpeed Link Controller Interrupt CHGDET_INT USB Charger Detect Interrupt OTG_INT USB OTG Interrupt DEV_CTL_INT Device USB Control Interrupt DEV_EP_INT Device EP Interrupt continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:8 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words, reading active = 1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Vdat source enable for charger detect CHGRDET MIPS PHY Charger Detector Output (0 = host detected, 1 = charger detected) CHGRMODE MIPS PHY Charger Detector Mode continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 387
MIPS PHY Enable Sampling of ID line by PHY VLOAD Vendor Control Register Load Active Low ONCLOCK Enable 480-MHz Clock Output in Suspend DATABUS16_8 Data Bus Size RSVD 16-bit (only 16-bit mode is tested) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FS Driver Rise/Fall Time Control 19:18 LSRFTSEL[1:0] LS Driver Rise/Fall Time Control 17:16 ICPCTRL[1:0] PLL Charge Pump Current Control 15:14 HSTEDVSEL[1:0] Reference Voltage for High Speed Transmission continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 389
10:9 HSDEDVSEL[1:0] Reference Voltage for High Speed Disconnect HSDRVSLOPE[3:0] HS Driver Slope Control HSDRVAMPLITUDE[1:0] HS Driver Amplitude Control HSDRVTIMINGN[1:0] HS NMOS Driver Timing Control HSDRVTIMINGP HS PMOS Driver Timing Control EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Allow device to ACK SETUP data/status phase packets 25:23 TEST_MODE[2:0] USB Test Mode Normal operation Test_J Test_K Test_SE0_NAK Test_Packet [USB 2.0, §7.1.20, p 169; §9.4.9, Table 9−7, p 259] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 392
During the USB RESET, this register will be cleared to zero. 15:8 COUNT[7:0] Number of errors detected To clear the error count write 0 to these bits. Error interrupt limit (COUNT ERR_LIMIT will cause UIB_ERR_INTR.ERRLIMIT interrupt) ERR_LIMIT[7:0] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
MICROFRAME contains a count 0-7 which indicates which of the eight 125-microsecond microf- rames last occurred. This register is active only when FX3 is operating at High Speed (480 Mbps). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set SIGRSUME = 1 to drive the “K” state onto the USB bus. This should be done only by a device that is capable of remote wakeup, and then only during the SUSPEND state. To signal RESUME, set SIGRSUME = 1, waits 10-15 ms, then set SIGRSUME = 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 396
8-byte (2-long word) Storage for USB SETUP data on endpoint0. Name Description 63:48 SETUP_LENGTH[15:0] Setup data field 47:32 SETUP_INDEX[15:0] Setup data field 31:16 SETUP_VALUE[15:0] Setup data field 15:8 SETUP_REQUEST[7:0] Setup data field SETUP_REQUEST_TYPE[7:0] Setup data field EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Write ‘1’ to set data toggle to ‘1’. When both R and S are set, behavior is undefined. Write ‘1’ to reset data toggle to ‘0’. When both R and S are set, behavior is undefined. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt mask for SHORT bit ZERO_MASK Interrupt mask for ZERO bit DONE_MASK Interrupt mask for DONE bit BNAK_MASK Interrupt mask for BNAK bit COMMIT_MASK Interrupt mask for COMMIT bit continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 400
The End Point Type (Control on EP0 only) Control Isochronous Bulk Interrupt PAYLOAD[9:0] Max number of bytes transferred for each token Value 0 means 1024. Power up default value is 64. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
0). The value in this register is used only for generating the DONE interrupt for the endpoint, and does not affect the actual data transfers. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt mask for SHORT bit ZERO_MASK Interrupt mask for ZERO bit DONE_MASK Interrupt mask for DONE bit BNAK_MASK Interrupt mask for BNAK bit COMMIT_MASK Interrupt mask for COMMIT bit continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 403
The End Point Type (Control on EP0 only) Control Isochronous Bulk Interrupt PAYLOAD[9:0] Max number of bytes transferred for each token Value 0 means 1024. Power up default value is 64. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
23:0 BYTES_REMAINING[23:0] Number of bytes remaining in the transfer. This value will never go negative (if more bytes are trans- ferred than remaining in counter, counter value stays at 0). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set when the host has initiated USB RESET (2.5 µs single ended 0 on bus) SUSP Set when the host suspends the USB bus (USB SUSPEND) Set whenever a SOF occurs EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set when the host has initiated USB RESET (2.5 µs single ended 0 on bus) SUSP Set when the host suspends the USB (USB SUSPEND) Set whenever a SOF occurs EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
DEV_EPO_CS register. Name Description 31:16 EP_OUT[15:0] Bit <16+x> is set if any interrupts in EPO_CS[x] are active 15:8 EP_IN[15:0] Bit <x> is set if any interrupt in EPI_CS[x] are active EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
OTG_ID_CHANGE CHANGE R/W1C R/W1C Name Description CHG_DET_CHANGE USB Charger Detect Change Interrupt OTG_ID_CHANGE OTG ID Change Interrupt Indicates that the decoded value of the USB OTG ID signal has changed. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Behavior depends on settings of HOST_ENABLE, and DEV_ENABLE fields and is defined in the HOST_ENABLE field. DEV_ENABLE Enables the USB 1.1/2.0 device function. Behavior depends on settings of HOST_ENABLE, and SSDEV_ENABLE fields and is defined in the HOST_ENABLE field. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 414
VBUS_VALID Vbus Valid Vbus < 4.4V Vbus > 4.7V D– line state D+ line state DP_PD_EN D+ line state DM_PD_EN D– Pull-down Enable DP_PU_EN D+ Pull-up Enable OTG_ENABLE OTG Enable EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
A B-Device initiated SRP by pulsing the D+ signal. B_END_SESS_INT B_END_SESS Interrupt Set when B_END_SESS goes active B_SESS_VALID_INT B_SESS_VALID Change Interrupt Set when B_SESS_VALID changes. A_SESS_VALID_INT A_SESS_VALID Change Interrupt Set when A_SESS_VALID changes. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
General timer register to create OTG timeouts. This counter decrements down at 32-kHz standby clock. Name Description 31:0 OTG_TIMER_LOAD_VAL[31:0] Initial counter value. After OTG_TIMER_LOAD_VAL clocks, OTG_TIMER_TIMEOUT will trigger. Disable counter by writing 0 to this register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
If an under run occurs and the URUN_REPAIR_EN is set and this register bit is set, then EPM will start a timer (16-bit counter). If the repair is not complete after 65535*epm clock, EPM will raise the UIB_INTR.EPM_URUN_TIMEOUT interrupt. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 419
These bits are cleared when the Protocol Layer 'activates' an End Point (as opposed to 'reactivating' it). In SuperSpeed mode all bits are cleared at once, in High-Speed mode only the bit for the Endpoint being activated is cleared. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This will reset the EPM Mux. EPM_FLUSH This will flush both the Egress and Ingress EPM. 27:16 WRITE_PTR[11:0] Write pointer of the ingress buffer. 11:0 READ_PTR[11:0] Read pointer of the ingress buffer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(number of packets) is added to NUM_PACKETS in the IEPM_ENDPOINT register. 14:0 MULT_EN[14:0] Mult Enable for EP1-15. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
26:11 EEPM_BYTE_COUNT[15:0] Number of bytes in the current buffer 10:0 PACKET_SIZE[10:0] Maximum packet size for this end-point. Typically this value is 1024, 512, 64, 1023 (last 2 for USB2 only). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
If the computed number of packets available is larger than 16, this number will be assumed to be 16 in the protocol block. 10:0 PACKET_SIZE[10:0] Maximum packet size for this end-point. Typically this value is 1024, 512, 64, 1023 (last 2 for USB2 only). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Endpoint number for this packet End of Transfer. Set for by the protocol layer short and zero length packets; forwarded to DMA Adapter. 10:0 BYTES[10:0] Number of bytes in the packet EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register contains device address to which host wishes to communicate. Host sends this address to device using set_address command. This address also used by SIE to append this address with different tokens. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt Requests for IN endpoints 0..15 when the EP is deactivated by Host Controller. 15:8 EPO_IRQ_TOP[15:0] Interrupt Requests for OUT endpoints 0..15 when the EP is deactivated by Host Controller. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register contains interrupt status bit for 32 EPs. CPU reads this register to determine, which EP has triggered interrupt. Name Description 31:16 EPI_IRQ_MASK[15:0] Report IN endpoint interrupt to CPU 15:8 EPO_IRQ_MASK[15:0] Report OUT endpoint interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Write ‘1’ to set data toggle to ‘1’ When both R and S are set, behavior is undefined. Write ‘1’ to reset data toggle to ‘0’. When both R and S are set, behavior is undefined. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This bit is set by software to indicate that periodic schedule is changed, and the scheduler may flip to the alternate schedule at the next frame boundary. This bit is cleared by hardware upon switching to new schedule. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 431
BULK_CNTRL_PTR0[7:0] Asynchronous list pointer 0. Indicates the first Async schedule entry number in schedule 0. This pointer is used for the lower portion of the scheduler memory (schedule entry location 0-95). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
ASYNC_SLEEP_TIMMER*sie clock. Per EHCI spec the sleep time should be 10 µs. ASYNC_SLEEP_EN This bit will enable the sleep feature for the EHCI. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Response Base Address Register BASE_ADDRESS[7:0] Name Description 31:0 BASE_ADDRESS[31:0] Base address where scheduler responses are written into memory. Responses are written in order of completion, wrapping at end of buffer (see UIB_HOST_RESP_CS) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Response entry which, when written, would constitute an overflow error. MAX_ENTRY Maximum number of entries scheduler responses are written into memory. Responses are written in order of completion, wrapping at end of buffer (see UIB_HOST_RESP_CS) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This indicates if the OUT-EP is active or not. If there is a new schedule entry, this register needs to be Updated after the ASYNC_SHDL_CHNG or PERI_SHDL_CHNG is being set. Software should first clear the corresponding active bit upon HOST_EP_INTR interrupt and then read HOST_EP_DEAC- TIVATE to clear it. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
ControlListEnable IsochronousEnable Note PLE and IE must both be set to 1 for the periodic list to be enabled. There is no difference in behavior between these two bits. PeriodicListEnable EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The HC sets this bit to one after it has stopped executing as a result of the Run/Stop bit being set to 0 by software. Run/Stop (Replacing the OwnerShipChangeRequest) Stop 17:16 SchedulingOverrunCount EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register can be used to enable any of the OHCI interrupts. To clear an interrupt enable bit, write to UIB_OHCI_INTER- RUPT_DISABLE. Name Description Master Interrupt Enable RHSC RootHubStatusChange FrameNumberOverflow ResumeDetected StartofFrame SchedulingOverrun EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register can be used to disable any of the OHCI interrupts. To clear an interrupt enable bit, write to UIB_OHCI_INTER- RUPT_ENABLE. Name Description Master Interrupt Enable RHSC RootHubStatusChange FrameNumberOverflow ResumeDetected StartofFrame SchedulingOverrun EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Current Value of Remaining Frame Count Register 0xE0032040 OHCI_FM_INTERVAL OHCI Frame Control Information Register OHCI_FM_INTERVAL OHCI Frame Control Information Register FR[14:8] OHCI_FM_INTERVAL OHCI Frame Control Information Register FR[7:0] Name Description FrameRemainingToggle 14:0 FR[14:0] FrameRemaining EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Full Speed Frame Number Register 0xE0032044 OHCI_FM_NUMBER Full Speed Frame Number Register OHCI_FM_NUMBER Full Speed Frame Number Register FN[15:8] OHCI_FM_NUMBER Full Speed Frame Number Register FN[7:0] Name Description 15:0 FN[15:0] FrameNumber EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Periodic Schedule Start Register PS[7:0] 0x6977 Value indicating time where HC should start executing periodic schedule. Name Description 15:0 PS[15:0] PeriodicStart The Default is: 90% * FI = 90% * 0x752F = 0x6977 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
LSTHRESHOLD Register OHCI_LS_THRESHOLD LSTHRESHOLD Register LST[11:8] OHCI_LS_THRESHOLD LSTHRESHOLD Register LST[7:0] 0x628 Value which is compared to the FrameRemaining field prior to initiating a Low Speed. Name Description 11:0 LST[11:0] LSThreshold EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Host Logic that it should do a resume and then go clear the PSS bit. There is no real functionality being added, this is only trying to emulate the OHCI interface better. PRSC PortResetStatusChange PSSC PortSuspendStatusChange PESC PortEnableStatusChange ConnectStatusChange continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Isochronous Scheduling Threshold (In this implementation the scheduler will cache 1 micro-frame worth of data. Appropriate value will be programmed to ensure correct functionality). ASYNC_PARK_CAP Asynchronous Schedule Park Capability ADDR_64_BIT_CAP 64-bit Addressing Capability EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note This field does not assert for SETUP+IN(STATUS) qTDs with no data phase. The workaround is to use the HOST_EP_INTR[0] along with the transaction response that gets written into SRAM for HCD. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Frame Index Register FRINDEX[7:0] Name Description 13:0 FRINDEX[13:0] The value indicates the Frame on which the scheduler is operating. This value is also used to achieve interrupt endpoint polling duration. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
PORT_CONNECT RESUME R/W1C R/W0C R/W1C R/W1S R/W1S Name Description PORT_RESET_FW Port Reset (virtual register of PORT_RESET from firmware) PORT_RESUME_HW Hardware Initiated Resume Active PORT_OWNER Port Owner continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 457
Port Reset, and also whether the attached device is High-Speed (PORT_EN == 1). PORT_SUSPEND Suspend F_PORT_RESUME Force Port Resume PORT_EN_C Port Enable/Disable Change PORT_EN Port Enabled/Disabled PORT_CONNECT_C Connect Status Change PORT_CONNECT Current Connect Status EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register defines when the Scheduler should update its internal active bits with the HOST_ACTIVE_EP register per each Name Description 31:16 EOF2[15:0] Update at Micro-frame boundary Update at Frame boundary 15:0 EOF1[15:0] Update at Micro-frame boundary Update at Frame boundary EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Scratch Write state2 SCRATCH_WRITE1 Scratch Write state1 SHDL_WRITE Scheduler write state LAST_EVAL Last Eval State WAIT_TP_STUPD Wait for TP status state EXECUTE Execute State ASYNC_SLEEP Async Sleep state continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SHDL_OHCI Scheduler Memory Register, OHCI Format EP0_CODE[1:0] BYPASS_ERROR MMULT[1:0] RESP_RATE[7:5] SHDL_OHCI Scheduler Memory Register, OHCI Format RESP_RATE[4:0] POLLING_RATE[7:5] SHDL_OHCI Scheduler Memory Register, OHCI Format POLLING_RATE[4:0] MAX_PKT_SIZE[10:8] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 465
In result, the MMIO address for lower section would be x400-x57C and for upper portion would be x580- x6FC. Software can update the appropriate portion of the memory based on the PERI_SHDL_STATUS/ASYNC_SHDL_STA- TUS bits in the UIB_HOST_SHDL_CS register. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 466
Should be programmed to zero for OHCI. Nak Count Reload (RL). This field contains a value, which is used by the host controller to reload the Nak Counter field. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 467
[3:0]: EP number, Values: 0-15 [4]: EP Direction, 1: OUT, 0: IN The direction bit is not used for EP0. Scheduler uses the EP0_code to determine the direction of the EP0 transaction. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SHDL_EHCI Scheduler Memory Register, EHCI Format EP0_CODE[1:0] BYPASS_ERROR MMULT[1:0] RESP_RATE[7:5] SHDL_EHCI Scheduler Memory Register, EHCI Format RESP_RATE[4:0] POLLING_RATE[7:5] SHDL_EHCI Scheduler Memory Register, EHCI Format POLLING_RATE[4:0] MAX_PKT_SIZE[10:8] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 469
In result, the MMIO address for lower section would be x800-x97C and for upper portion would be x980- xAFC. Software can update the appropriate portion of the memory based on the PERI_SHDL_STATUS/ASYNC_SHDL_STA- TUS bits in the UIB_HOST_SHDL_CS register. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 470
Do issue ping token for high-speed OUT 22:19 RL[3:0] Nak Count Reload (RL). This field contains a value, which is used by the host controller to reload the Nak Counter field. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 471
[3:0]: EP number, Values: 0-15 [4]: EP Direction, 1: OUT, 0: IN The direction bit is not used for EP0. Scheduler uses the EP0_code to determine the direction of the EP0 transaction. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Enable host LDN detection (see USB ECN#001) FORCE_POWER_PRESENT Force PowerPresent from PHY On LCW_IGNORE_RSVD Check reserved bits in Link Control Word are 0 (LCW) Ignore reserved bits in Link Control Word (LCW) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
U2_INACTIVITY_TIMEOUT U2 Inactivity Timeout Interrupt PHY_ERROR PHY Error Count Threshold Reached LINK_ERROR Link Error Count Threshold Reached BAD_LCW Illegal LCW received (see LNK_CONTROL_WORD for details) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 474
LGO_U3 Received Interrupt LGO_U2 LGO_U2 Received Interrupt LGO_U1 LGO_U1 Received Interrupt LCRD LCRD Received Interrupt LBAD LBAD Received Interrupt LRTY LRTY Received Interrupt LGOOD LGOOD Received Interrupt LTSSM_STATE_CHG LTSSM State Change Interrupt EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
U2_INACTIVITY_TIMEOUT U2 Inactivity Timeout Interrupt PHY_ERROR PHY Error Count Threshold Reached LINK_ERROR Link Error Count Threshold Reached BAD_LCW Illegal LCW received (see LNK_CONTROL_WORD for details) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 476
LGO_U3 Received Interrupt LGO_U2 LGO_U2 Received Interrupt LGO_U1 LGO_U1 Received Interrupt LCRD LCRD Received Interrupt LBAD LBAD Received Interrupt LRTY LRTY Received Interrupt LGOOD LGOOD Received Interrupt LTSSM_STATE_CHG LTSSM State Change Interrupt EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Rx Header Buffer Credit Advertisement CREDIT_HP_TIMER Timeout Count Enable CREDIT_HP_TIMER timeout before receipt of LCRD_x Link Command during Rx Header Buffer Credit Advertisement [USB 3.0: §7.3.7, p 7−30…7−31] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 478
Received Rx Header Sequence Number does not match what is expected. [USB 3.0: §7.3.3.3, p 7−28] HP_TIMEOUT_EN PENDING_HP_TIMER Timeout Count Enable Header Packet acknowledgement has not been received by PENDING_HP_TIMEOUT. [USB 3.0: §7.2.4.1.10, p 7−21] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
HDR_ADV_LCRD_EV Indicates this error (see LNK_ERROR_CONF for description) occurred since this bit was last cleared by firmware. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 480
Indicates this error (see LNK_ERROR_CONF for description) occurred since this bit was last cleared by firmware. HP_TIMEOUT_EV Indicates this error (see LNK_ERROR_CONF for description) occurred since this bit was last cleared by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The Link Error Count keeps track of the number of errors for which the Link Layer Block had to transition to the Recovery State before resuming normal operation. Counting of errors in each class can be enabled through the LINK_ERROR_CONF register. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Threshold values for asserting Error Count Interrupts. These values are the error count limits after which the respective inter- rupts are generated. Name Description 31:16 PHY_ERROR_THRESHOLD[15:0] PHY Error Count Threshold for Interrupt Generation 15:0 LINK_ERROR_THRESHOLD[15:0] Link Error Count Threshold for Interrupt Generation EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
RX_ERROR_CRC5_EV Indicates this error (see LNK_PHY_ERROR_CONF for description) occurred since this bit was last cleared by firmware. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 488
Indicates this error (see LNK_PHY_ERROR_CONF for description) occurred since this bit was last cleared by firmware. PHY_ERROR_DECODE_EV Indicates this error (see LNK_PHY_ERROR_CONF for description) occurred since this bit was last cleared by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
When host requests transition to U2, automatically accept (send LAU) or rejects (send LXU) depend- ing on pending activity. The interrupt RX_U2 is still raised for firmware to monitor, take additional power saving actions. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 490
LCW is transmitted. TX_U1 Transmit LGO_U1 - Request to go to U1 Power State (send LGO_U1). This bit is cleared by hard- ware when the LCW is transmitted. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Link Training Status State Machine (LTSSM) State Register LTSSM_STATE[5:0] USB 3.0 interface link layer state control and status Name Description LTSSM_STATE[5:0] LTSSM State. See USBLNK_LTSSM Tab in USB-RegMap.xls for more details. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
LFPS Sequence detected since last cleared by CPU RESET_DET LFPS Sequence detected since last cleared by CPU PING_DET LFPS Sequence detected since last cleared by CPU POLLING_DET LFPS Sequence detected since last cleared by CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Logic is not disabled. Logic is disabled. SEQ_NUM_CONFIG This bit indicates if the seq numbers are EP based or Stream ID (Socket) based EP based Stream ID (Socket) based continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 503
During the USB enumeration process, the host sends a device a unique 7-bit address, which the USB core copies into this register. The USB Core will automatically respond only to its assigned address. During the USB RESET, this register will be cleared to zero. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set whenever a LMP port capability is received but the Link Speed is not ‘1’ or Num HP buf- fer is not ‘4’ or bit zero of the Direction is not ‘1’. STATUS_STAGE Set when host completes Status Stage of a Control Transfer continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 505
LMP was sent back. LMP_RCV_EV A LMP was received and placed in PROT_LMP_PACKET_RX. The LMP may have been recognized and processed as well (leading to other interrupts in this register). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Report interrupt to CPU LMP_INVALID_PORT_CAP_EN Report interrupt to CPU STATUS_STAGE Report interrupt to CPU HOST_ERR_EN Report interrupt to CPU SUTOK_EN Report interrupt to CPU ITP_EN Report interrupt to CPU continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 507
TIMEOUT_PORT_CFG_EN Report interrupt to CPU TIMEOUT_PORT_CAP_EN Report interrupt to CPU LMP_PORT_CFG_EN Report interrupt to CPU LMP_PORT_CAP_EN Report interrupt to CPU LMP_UNKNOWN_EN Report interrupt to CPU LMP_RCV_EN Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The delta value in the last ITP received 13:0 SS_MICROFRAME[13:0] MICROFRAME counter which indicates which of the 8 125-microsecond micro-frames last occurred. This is based on ITPs received from Host EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
ITP Time Free Running Counter COUNTER24[7:0] This register contains a free running counter running at 125MHz (spread clock) and is used for the PROT_ITP_TIMESTAMP time stamps. Name Description 23:0 COUNTER24[23:0] Current counter value. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register contains a time-stamp of the last ITP received that can be used to calculate BIA messages when needed. Name Description 31:24 MICROFRAME_LSB[7:0] LSBs of MICROFRAME field of ITP when timestamp was taken. 23:0 TIMESTAMP[23:0] Timestamp from a free running counter at 125MHz of the last ITP reception. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Received SETUP Packet Data Register SETUP_INDEX[7:0] PROT_SETUP_DAT Received SETUP Packet Data Register SETUP_VALUE[15:8] PROT_SETUP_DAT Received SETUP Packet Data Register SETUP_VALUE[7:0] PROT_SETUP_DAT Received SETUP Packet Data Register SETUP_REQUEST[15:8] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 512
8-byte (2-long word) Storage for USB SETUP data received on EP0 Name Description 63:48 SETUP_LENGTH[15:0] Setup data field 47:32 SETUP_INDEX[15:0] Setup data field 31:16 SETUP_VALUE[15:0] Setup data field 15:8 SETUP_REQUEST[7:0] Setup data field SETUP_REQUEST_TYPE[7:0] Setup data field EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
3. Then software should poll for SEQ_VALID to go 1 to and that will return the End-point’s sequence numbers. To write the sequence number field: 1. Software should poll for SEQ_VALID to be 1 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 514
Returned as part of a read operation. 12:8 SEQUENCE_NUMBER[4:0] Packet sequence number of next packet to receive/transmit. Set by hardware if COMMAND=0, set by software when COMMAND=1. ENDPOINT[3:0] Endpoint Number EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
EPI_CS/EPO_CS registers. Name Description 31:16 EP_OUT[15:0] Bit <16+x> indicates an interrupt from EPO_CS[x] 15:0 EP_IN[15:0] Bit <x> indicates an interrupt from EPI_CS[x] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Endpoint Interrupt Mask EP_IN[7:0] Per endpoint masking of interrupt reporting. Name Description 31:16 EP_OUT[15:0] Bit <16+x> masks any interrupt from EPO_CS[x] 15:0 EP_IN[15:0] Bit <x> masks any interrupt from EPI_CS[x] EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt mask for FIRST_ACK_NUMP_0 bit STREAM_ERROR_MASK Interrupt mask for STREAM_ERROR bit DBTERM_MASK Interrupt mask for DBTERM bit HBTERM_MASK Interrupt mask for HBTERM bit OOSERR_MASK Interrupt mask for OOSERR bit continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 518
Set VALID=1 to activate an endpoint, and VALID=0 to de-activate it. All USB endpoints default to invalid. An endpoint whose VALID bit is 0 does not respond to any USB traffic. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Number of packets to be sent per service interval. Maximum can be 48 (Max burst size* Mult field) TYPE[1:0] Endpoint type (EP0 supports CONTROL only) BULK CONTROL (only valid for EP0) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Disabled Prime Pipe DFR Prime Pipe Idle Start Stream Move Data Error 15:0 STREAM_ID[15:0] The StreamID of the current stream activated (or requested to be activated) by the protocol layer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Stream is unmapped (not in use by the corresponding EP's SPSM). 19:16 EP_NUMBER[3:0] The Endpoint number of the stream connected to the corresponding socket by firmware. 15:0 STREAM_ID[15:0] The StreamID of the stream connected to the corresponding socket by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Interrupt mask for DBTERM bit HBTERM_MASK Interrupt mask for HBTERM bit OOSERR_MASK Interrupt mask for OOSERR bit SHORT_MASK Interrupt mask for SHORT bit ZERO_MASK Interrupt mask for ZERO bit continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 523
Set VALID=1 to activate an endpoint, and VALID=0 to de-activate it. All USB endpoints default to invalid. An endpoint whose VALID bit is 0 does not respond to any USB traffic. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Number of packets to be sent per service interval. Maximum can be 48 (Max burst size* Mult field) TYPE[1:0] Endpoint type (EP0 supports CONTROL only) BULK CONTROL (only valid for EP0) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Disabled Prime Pipe DFR Prime Pipe Idle Start Stream Move Data Error 15:0 STREAM_ID[15:0] The StreamID of the current stream activated (or requested to be activated) by the protocol layer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Stream is unmapped (not in use by the corresponding EP's SPSM). 19:16 EP_NUMBER[3:0] The Endpoint number of the stream connected to the corresponding socket by firmware. 15:0 STREAM_ID[15:0] The StreamID of the stream connected to the corresponding socket by firmware. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:8 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
In other words, reading active = 1 indicates block is initialized and ready for operation. This bit is a copy of UIB_POWER.active. Preferably use UIB_POWER register instead. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Do nothing Clear transmit FIFO (After TX_CLEAR is set, software must wait for TX*_DONE before clearing it) 12:11 MODE[1:0] I2S Mode Left Justified Mode Right Justified Mode. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 530
A small, integral, but undefined number of samples will be transmitted after this bit is set to 1 (to ensure no hanging samples). When one of the descriptors is modified in socket, no samples from the old descriptor will be output (all FIFO's will be cleared). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
No data is currently available for output, but socket does not indicate empty. Only relevant when DMA_MODE=1. Non sticky. PAUSED Output is paused (PAUSE has taken effect). Non sticky continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 532
MODE=1 this is defined as socket is EOT and shift register empty. Note that this field will only assert after a transmission was started - it's power up state is 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set by hardware when corresponding STATUS asserts, cleared by software. TXL_SPACE Set by hardware when corresponding STATUS asserts, cleared by software. TXL_DONE Set by hardware when corresponding STATUS asserts, cleared by software. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
TXR_HALF Report interrupt to CPU TXR_SPACE Report interrupt to CPU TXR_DONE Report interrupt to CPU TXL_HALF Report interrupt to CPU TXL_SPACE Report interrupt to CPU TXL_DONE Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It will result in ERROR if the FIFO is full. The size of the transmit FIFO is configured at design time. Name Description 31:0 DATA[31:0] Sample to be written to the peripheral in registered mode. Number of bits taken depends on sample size (see I2S_CONFIG), other bits are ignored. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It will result in ERROR if the FIFO is full. The size of the transmit FIFO is configured at design time. Name Description 31:0 DATA[31:0] Sample to be written to the peripheral in registered mode. Number of bits taken depends on sample size (see I2S_CONFIG), other bits are ignored. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Counter increments by one for every sample written on output. Counts L+R as one sample in stereo mode. This counter is more reliable to implement a software PLL because of more periodic behavior. This counter will be reset to 0 when I2S_CONFIG.ENABLE=0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates sockets used for DMA based operation. Left and right socket must be different for stereo operation. Name Description 15:8 RIGHT_SOCKET[7:0] Socket number for right data samples Supported 8-.. Reserved LEFT_SOCKET[7:0] Socket number for left data samples Supported 8-.. Reserved EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(After TX_CLEAR is set, software must wait for TX_DONE before clearing it) RX_CLEAR Use only when ENABLE=0; behavior undefined when ENABLE=1 Do nothing Clear receive FIFO (Software must wait for RX_DATA=0 before clearing this bit again) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 542
Continue transmission even if NAK is received. It is strongly advised to use this bit for debugging purposes only. This bit is overridden in preamble repeat feature. DMA_MODE Register-based transfers DMA-based transfers EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Indicates the block is busy transmitting data. This field may remain asserted after the block is sus- pended and must be polled before changing any configuration values. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 544
Indicates data is available in the RX FIFO (only relevant when DMA_MODE=0). This bit is updated immediately after reads from INGRESS_DATA register. Non sticky RX_DONE Indicates receive operation completed. Non sticky, Does not need software intervention to clear it. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set by hardware when corresponding STATUS asserts, cleared by software. RX_DATA Set by hardware when corresponding STATUS asserts, cleared by software. RX_DONE Set by hardware when corresponding STATUS asserts, cleared by software. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
TX_HALF Report interrupt to CPU TX_SPACE Report interrupt to CPU TX_DONE Report interrupt to CPU RX_HALF Report interrupt to CPU RX_DATA Report interrupt to CPU RX_DONE Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Bus timeout interval. 0xFFFF_FFFFF means no timeout, otherwise, count the number of core clock cycles. Name Description 31:0 TIMEOUT[31:0] Number of core clocks SCK can be held low by the slave byte transmission before triggering a time- out error. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Bus timeout interval for DMA. 0xFFFF means no timeout, otherwise, count the number of core clock cycles of DMA not being ready before raising error. Name Description 15:0 TIMEOUT16[15:0] Number of core clocks DMA has to be not ready before the condition is reported as error condition. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
If bit <x> is 1, issue a stop after byte <x> of the preamble (if both START and STOP are set, STOP will take priority). START[7:0] If bit <x> is 1, issue a start after byte <x> of the preamble. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
C Preamble Data Register DATA[47:40] I2C_PREAMBLE_DATA C Preamble Data Register DATA[39:32] I2C_PREAMBLE_DATA C Preamble Data Register DATA[31:24] I2C_PREAMBLE_DATA C Preamble Data Register DATA[23:16] I2C_PREAMBLE_DATA C Preamble Data Register DATA[15:8] continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 551
Contains the bytes that precede the data phase of the I2C command. This includes the slave address, R/W command, possi- ble internal address and repeated start command. The number of bytes used is indicated in I2C_COMMAND. Name Description 63:0 DATA[63:0] Command and initial data bytes. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The only exception is if timeout is enabled and happens during byte transmission, in which case preamble will stop at the end of the current byte. Data phase is not entered if preamble repeat feature is enabled. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
After command, the hardware will idle if no valid preamble exists, will play preamble if it does exist. Valid preamble is indicated by preamble valid bit. Data phase is not entered if preamble repeat fea- ture is enabled. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 554
PREAMBLE_LEN[3:0] Number of bytes in preamble. For preamble length = 1, set this to 1 etc. From 1 through 8. 0 and val- ues > 8 are not supported. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
ERROR if the FIFO is full. The size of the transmit FIFO is configured at design time. Name Description DATA[7:0] Data byte to be written to the peripheral in registered mode. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It will result in ERROR if the FIFO is empty. The size of the receive FIFO is configured at design time. Name Description DATA[7:0] Data byte read from the peripheral when DMA_MODE=0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register is for hardware’s internal use for clock synchronization in F/S mode. It appears here in the MMIO space for debug purposes. Name Description 31:0 CLOCK_LOW_COUNT[31:0] Indicates the low period of the last clock pulse on the I C bus, measured using the I C core clock. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Number of bytes in the data phase of the transfer. Perform transfers in terms of fixed byte count and perform dummy transactions at the end if required to complete the byte count. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
5. If timeout happens while transmitting the 1 st bit of the 11th byte, this value will be 11 and so on. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
C Socket Register EGRESS_SOCKET[7:0] Indicates sockets used for DMA based operation. Name Description 15:8 INGRESS_SOCKET[7:0] Socket number for ingress data Supported 8-.. Reserved EGRESS_SOCKET[7:0] Socket number for egress data Supported 8-.. Reserved EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(After TX_CLEAR is set, software must wait for TX_DONE before clearing it) RX_CLEAR Do nothing Clear receive FIFO (Software must wait for RX_DATA=0 before clearing this bit again) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 564
Connect the value being transmitted to the receive buffer. Disable external transmit and receive. TX_ENABLE Transmitter disable, do not transmit data Transmitter enabled RX_ENABLE Receiver disabled, ignore incoming data Receive enabled EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
A protocol error has occurred with cause ERROR_CODE. Must be cleared by software. Sticky BREAK Break condition is detected. Non sticky. CTS_TOGGLE Set when CTS toggles. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 566
Indicates receive operation completed. Only relevant when DMA_MODE=1). Receive operation is complete when transfer size bytes in socket have been received. Non sticky. Does not need software intervention to clear it. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set by hardware when corresponding STATUS asserts, cleared by software. RX_DATA Set by hardware when corresponding STATUS asserts, cleared by software. RX_DONE Set by hardware when corresponding STATUS asserts, cleared by software. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
TX_HALF Report interrupt to CPU TX_SPACE Report interrupt to CPU TX_DONE Report interrupt to CPU RX_HALF Report interrupt to CPU RX_DATA Report interrupt to CPU RX_DONE Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
ERROR if the FIFO is full. The size of the transmit FIFO is configured at design time. Name Description DATA[7:0] Data byte to be written to the peripheral in registered mode. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It will result in ERROR if the FIFO is empty. The size of the receive FIFO is configured at design time. Name Description DATA[7:0] Data byte read from the peripheral when DMA_MODE=0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
UART Socket Register EGRESS_SOCKET[7:0] Indicates sockets used for DMA based operation. Name Description 15:8 INGRESS_SOCKET[7:0] Socket number for ingress data Supported 8-.. Reserved EGRESS_SOCKET[7:0] Socket number for egress data Supported 8-.. Reserved EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
BYTE_COUNT. BYTE_COUNT will stay 0 in this case (not decrement). Name Description 31:0 BYTE_COUNT[31:0] Number of bytes left to receive 0xFFFFFFFF indicates infinite (counter will not decrement) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
On transmit a command will complete (TX_DONE) when BYTE_COUNT=0. No more bytes will be sent until BYTE_COUNT is modified again. Any EOP signalling from the DMA adapter will be ignored. Name Description 31:0 BYTE_COUNT[31:0] Number of bytes left to transmit 0xFFFFFFFF indicates infinite (counter will not decrement) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
(After TX_CLEAR is set, software must wait for TX_DONE before clearing it) RX_CLEAR Use only when ENABLE=0; behavior undefined when ENABLE=1 Do nothing Clear receive FIFO (Software must wait for RX_DATA=0 before clearing this bit again) continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 577
Modify only when ENABLE=0. ENDIAN MSB First LSB First DMA_MODE Register-based transfers DMA-based transfers TX_ENABLE Transmitter disable, do not transmit data Transmitter enabled RX_ENABLE Receiver disabled, ignore incoming data Receive enabled EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This bit is updated immediately after writes to EGRESS_DATA register. Non sticky. TX_SPACE Indicates space is available in the TX FIFO. This bit is updated immediately after writes to EGRESS_- DATA register. Non sticky. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 579
Indicates receive operation completed. Only relevant when DMA_MODE=1). Receive operation is complete when transfer size bytes in socket have been received. Non sticky. Does not need software intervention to clear it. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set by hardware when corresponding STATUS asserts, cleared by software. RX_DATA Set by hardware when corresponding STATUS asserts, cleared by software. RX_DONE Set by hardware when corresponding STATUS asserts, cleared by software. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
TX_HALF Report interrupt to CPU TX_SPACE Report interrupt to CPU TX_DONE Report interrupt to CPU RX_HALF Report interrupt to CPU RX_DATA Report interrupt to CPU RX_DONE Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
It will result in ERROR if the FIFO is full. The size of the transmit FIFO is configured at design time. Name Description 31:0 DATA32[31:0] Data word to be written to the peripheral in registered mode. Only the least significant SPI_CONF.WL bits are used. Other bits are ignored. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FIFO has data available. It will result in ERROR if the FIFO is empty. The size of the receive FIFO is configured at design time. Name Description 31:0 DATA32[31:0] Data word read from the peripheral when DMA_MODE=0. Only the least significant SPI_CONF.WL bits are provided. Other bits are set to 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SPI Socket Register EGRESS_SOCKET[7:0] Indicates sockets used for DMA based operation. Name Description 15:8 INGRESS_SOCKET[7:0] Socket number for ingress data Supported 8-.. Reserved EGRESS_SOCKET[7:0] Socket number for egress data Supported 8-.. Reserved EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
BYTE_COUNT. BYTE_COUNT will stay 0 in this case (not decrement). Words can consist of 4-32 bits. Name Description 31:0 WORD_COUNT[31:0] Number of words left to read or write 0xFFFFFFFF indicates infinite (counter will not decrement) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Any EOP signalling from the DMA adapter will be ignored. Words can consist of 4-32 bits. Name Description 31:0 WORD_COUNT[31:0] Number of words left to read or write 0xFFFFFFFF indicates infinite (counter will not decrement) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Registers edge triggered interrupt condition. Only relevant when INTRMODE=1,2,3,6,7. When INTR- MODE=4,5 pin status is fed directly to interrupt controller; condition can be observed through IN_VALUE in this case. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 590
Output driver is tristated Output driver is active (weak/strong is determined in IO Matrix) IN_VALUE Present input measurement High OUT_VALUE Output value used for output drive (if DRIVE_EN=1) Driven Low Driven High EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIO_INVALUE0 GPIO Input Value Vector INVALUE0[7:0] One bit for each GPIO pin indicating interrupt status Name Description 31:0 INVALUE0[31:0] If bit <x> is set, IN_VALUE is active for GPIO <x>. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
GPIO_INVALUE1 GPIO Input Value Vector INVALUE1[7:0] One bit for each GPIO pin indicating interrupt status Name Description 28:0 INVALUE1[28:0] If bit <x> is set, IN_VALUE is active for GPIO <x+32>. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
INTR0[15:8] GPIO_INTR0 GPIO Interrupt Vector INTR0[7:0] One bit for each GPIO pin indicating interrupt status Name Description 31:0 INTR0[31:0] If bit <x> is set, INTR is active for GPIO <x>. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
INTR1[15:8] GPIO_INTR1 GPIO Interrupt Vector INTR1[7:0] One bit for each GPIO pin indicating interrupt status Name Description 28:0 INTR1[28:0] If bit <x> is set, INTR is active for GPIO <x+32>. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Set by hardware when corresponding STATUS asserts, cleared by software. INTR1 Set by hardware when corresponding STATUS asserts, cleared by software. INTR0 Set by hardware when corresponding STATUS asserts, cleared by software. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Registers edge triggered interrupt condition. Only relevant when INTRMODE=1,2,3,6,7. When INTR- MODE=4,5 pin status is fed directly to interrupt controller; condition can be observed through IN_VALUE in this case. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 599
Output driver is tristated Output driver is active (weak/strong is determined in IO Matrix) IN_VALUE Present input measurement High OUT_VALUE Output value used for output drive (if DRIVE_EN=1) Driven Low Driven High EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note that each GPIO has its own independent timer/counter Name Description 31:0 TIMER[31:0] 32-bit timer-counter value. Use MODE=SAMPLE_NOW (in PIN_STATUS register) to sample the timer into PIN_THRESHOLD. When TIMER reaches GPIO_PERIOD it resets to 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Note that each GPIO has its own independent timer/counter. Note: In FX3 PIN_PERIOD must be 1 or greater. Name Description 31:0 PERIOD[31:0] 32-bit period for GPIO_TIMER (counter resets to 0 when PERIOD=TIMER) EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
A 32-bit threshold or measurement. Usage depends on MODE field in PIN_STATUS register. Note that each GPIO has its own independent timer/counter. Name Description 31:0 THRESHOLD[31:0] 32-bit threshold or measurement for counter. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Name Description 31:16 BLOCK_VERSION[15:0] Version number for the IP 15:0 BLOCK_ID[15:0] A unique number identifying the IP in the memory space EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
For blocks that must perform initialization after reset before becoming operational, this signal will remain deasserted until initialization is complete. In other words reading active=1 indicates block is initialized and ready for operation. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 606
Descriptor number of currently active descriptor. A value of 0xFFFF designates no (more) active descriptors available. When activating a socket CPU will write number of first descriptor in here. Only modify this field when go_suspend=1 or go_enable=0 EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Valid data bytes remaining in the last buffer beyond the transfer size will be read by socket and passed on to the core. Firmware must ensure that no additional bytes beyond the transfer size are present in the last buffer. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This count is updated only when a descriptor is completed and the socket proceeds to the next one. Exception: When socket suspends with PARTIAL_BUF=1, this value is (incorrectly) incremented by 1 (UNIT=1) or DSCR_SIZE.BYTE_COUNT (UNIT=0). Firmware must correct this before resuming the socket. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
4. If so, make corrections as necessary (complicated) 5. Clear any pending suspend interrupts (SCK_INTR[9:5]) 6. GO_SUSPEND=0 Note that the socket resumes only when SCK_INTR[9:5]=0 and GO_SUSPEND=0. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 610
A socket can only be resumed by changing go_suspend from 1 to 0. If the socket is suspended while go_suspend=0, it must first be set and then again cleared. ZLP_RCVD Indicates the socket received a ZLP continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 611
This value is used to create a signal to the IP Cores that indicates at least one buffer is available beyond the current one (sck_more_buf_avl). EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
When asserting EOP to the adapter on ingress, the trans_count is not updated unless the socket actually suspends (see SUSP_TRANS). Note that the socket resumes only when SCK_INTR[9:5]=0 and GO_SUSPEND=0. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 613
CONSUME_EVENT Indicates that a consume event is received or transmitted since last cleared. PRODUCE_EVENT Indicates that a produce event is received or transmitted since last cleared. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1: Report interrupt to CPU SUSPEND 1: Report interrupt to CPU STALL 1: Report interrupt to CPU DSCR_NOT_AVL 1: Report interrupt to CPU DSCR_IS_LOW 1: Report interrupt to CPU continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 615
SCK_INTR_MASK 0x14 10.25.6 SCK_INTR_MASK (continued) CONSUME_EVENT 1: Report interrupt to CPU PRODUCE_EVENT 1: Report interrupt to CPU EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
This register is only modified by the adapter when being read from memory. This register is not intended to be modified by software directly. Name Description 31:0 BUFFER_ADDR[31:0] The base address of the buffer where data is written. This address is not necessarily word-aligned to allow for header/trailer/length modification. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The socket number of the producing socket to which the consume event will be sent. If prod_ip and prod_sck matches the socket's IP and socket number then the matching socket becomes consuming socket. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 618
The socket number of the consuming socket to which the produce event will be sent. If cons_ip and cons_sck matches the socket's IP and socket number then the matching socket becomes consuming socket. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Descriptor number of the next task for producer. A value of 0xFFFF signals end of this list. 15:0 RD_NEXT_DSCR[15:0] Descriptor number of the next task for consumer. A value of 0xFFFF signals end of this list. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
A producer will interpret this as: Buffer is ready to be filled Buffer is occupied, wait until empty BUFFER_ERROR Indicates the buffer data is valid (0) or in error (1). continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 621
A marker that is provided by software and can be observed by the IP. Its meaning is defined by the IP that uses it. This bit has no effect on the other DMA mechanisms. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Type of event Consume event descriptor is marked empty - BUFFER_OCCUPIED=0) Produce event descriptor is marked full = BUFFER_OCCUPIED=1) 15:0 ACTIVE_DSCR[15:0] The active descriptor number for which the event is sent. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 628
Socket <x> asserts interrupt when bit <x> is set in this vector. Multiple bits may be set to 1 simultaneously. This register is only as wide as the number of sockets in the adapter; 256 is just the maximum width. All other bits always return 0. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
0..IG_ONLY-1: Sockets capable of both in and egress IG_ONLY..TTL_SOCKETS-1: Ingress sockets only TTL_SOCKETS[7:0] Total number of sockets in this adapter. This number is different for each instance of the adapter and varies with the core IP needs. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
0xE0027F00 BLOCK_VERSION[15:8] BLOCK_VERSION[7:0] BLOCK_ID[15:8] BLOCK_ID[7:0] Name Description 16:31 BLOCK_VERSION Version number for the SIB block IP. Set to 0x0001. 0:15 BLOCK_ID Block ID for the SIB IP. Set to 0x0002. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Active LOW reset signal for all logic in the block. After setting this bit to 1, firmware will poll and wait for the 'active' bit to assert. ACTIVE Indicates whether the block is powered up and active. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
There are two copies of this register corresponding to the two storage ports. The address of each register is calculated as 0xe0020000 + (port * 0x0400). SDMMC_CMD_IDX SDMMC Command Index 0xE0020000 CMD[5:0] Name Description 6-bit command index. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
32 bits. There are two copies of this register corresponding to the two storage ports. The address of each register is calculated as 0xe0020008 + (port * 0x0400). SDMMC_CMD_ARG1 SDMMC Command Argument 1 0xE0020008 ARG[63:56] ARG[55:48] ARG[47:40] ARG[39:32] Name Description 31:0 Upper 32 bits of the command argument. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
0xe002000C + (port * 0x0400). SDMMC_RESP_IDX SDMMC Response Index 0xE002000C ST_BIT TR_BIT CMD[5:0] Name Description ST_BIT Start-bit: As received in response. TR_BIT Transmission bit: As received in response. Command index. As received in response EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Non-zero values indicate the size in bits CMDFRMT Command length minus 1, in bits, that includes command index bits and argument bits. This length does not include start, transmit, CRC7 and end bits. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
There are two copies of this register corresponding to the two storage ports. The address of each register is calculated as 0xe0020028 + (port * 0x0400). SDMMC_BLOCK_COUNT SDMMC Block Count 0xE0020028 NOBD[31:24] NOBD[23:16] NOBD[15:8] NOBD[7:0] Name Description 31:0 NOBD Number of data blocks to be transferred. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
SDMMC Block Length 0xE002002C DATABLKS[31:24] DATABLKS[23:16] DATABLKS[15:8] DATABLKS[7:0] Name Description 31:0 DATABLKS Data block size in bytes. LSB is ignored for DDR mode of operation, because block length needs to be even. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1: SDMMC interface clock can be stopped only at the end of data block transfer. Clock is not stopped in the middle of a block data transfer. It is recommended that this bit should be set to 1. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 645
Setting this bit causes the SIB internal clock to be driven out on the pad bypassing the DLL. It is rec- ommended that this bit should always be set to 1. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1: Enable the SIB state machine to wait for busy before sending first block of data. 0: SIB state machine pushes 1st block of data without checking busy status. RD_CRC_EN 1: Check CRC16 on incoming blocks of data. 0: Ignore CRC16 checking on incoming data. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FW writes ‘1’ to clear the RDDCARD bit so that the next command can be issued. This bit is cleared by HW when RDDCARD is cleared. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 648
FW writes ‘1’ to initiate sending of command. HW writes ‘0’ when command is sent and the response, if any, is received. FW may clear this bit on response timeout by writing 1 to CLR_SNDCMD bit. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
COMMAND_SM_BUSY 1: Command state machine is busy. 0: Command state machine is idle. 26:24 CRCFC 3-bit CRC response received from the card following a data write. continued in next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 650
This bit is cleared when the FW writes ‘1’ to SDMMC_CS.SNDCMD again. CMDSENT HW sets this bit to ‘1’ when a command is sent. This bit is cleared when the FW writes ‘1’ to SDMMC_CS.SNDCMD again. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FW writes 1 to clear the interrupt. BOOT_ACK HW writes 1 to indicate that a BOOT acknowledgement is received. FW writes 1 to clear the interrupt. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 652
HW writes 1 to indicate that a command response is received. FW writes 1 to clear the interrupt. CMDSENT HW writes 1 to indicate that a command is sent to the target device. FW writes 1 to clear the interrupt. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
1: Enable interrupt due to DLL lock loss. 0: Disable interrupt due to DLL lock loss. BOOT_ACK 1: Enable interrupt due to BOOT acknowledgement. 0: Disable interrupt due to BOOT acknowledgement. continued on next page EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 654
RCVDRES 1: Enable interrupt due to response reception. 0: Disable interrupt due to response reception. CMDSENT 1: Enable interrupt due to command transmission. 0: Disable interrupt due to command transmission. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
NCR_MAX Specifies the timeout period for which the SIB will wait to receive a response, in terms of number of cycles from end bit of command. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
NWR_MIN Specifies the minimum number of clock cycles between end bit of response and start bit of write data. NCC_MIN Specifies the minimum number of clock cycles between consecutive commands. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
The address of each register is calculated as 0xe0020050 + (port * 0x0400). SDMMC_NAC SDMMC Read Timeout Register 0xE0020050 RDTMOUT[29:22] RDTMOUT[21:14] RDTMOUT[13:6] RDTMOUT[5:0] Name Description 31:2 RDTMOUT Specifies the timeout duration in clock cycles to be applied to data read operations. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
FW writes ‘1’ to assert the eMMC4.4 card HW reset using the SxMMCRST pin. FW writes ‘0’ to de-assert reset after tRSTW (1 usec) and waits for tRSCA (200 usec) before issuing commands. EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 659
0: Use when clock frequency is less than 70 MHz. 1: Use when clock frequency is greater than 70 MHz. ENABLE 1: Enable the SIB DLL 0: Disable the SIB DLL EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Page 660
Added hyperlinks to application notes Updated Figure 6-1 6569868 05/09/2019 SHEA Removed reference to EZ-Detect and Charger Detect Removed reference to the Battery Charging Specification Deleted the CRC Configuration Register EZ-USB FX3 Technical Reference Manual, Document Number: 001-76074 Rev. *F...
Need help?
Do you have a question about the EZ-USB FX3 and is the answer not in the manual?
Questions and answers