CYPRESS CY7C67200

CY7C67200
EZ-OTG™ Programmable USB
On-The-Go
EZ-OTG Features
• Single-chip programmable USB dual-role (Host/Peripheral)
controller with two configurable Serial Interface Engines
(SIEs) and two USB ports
• Supports USB OTG protocol
• On-chip 48-MHz 16-bit processor with dynamically
switchable clock speed
• Configurable IO block supports a variety of IO options or up
to 25 bits of General Purpose IO (GPIO)
• 4K × 16 internal mask ROM contains built-in BIOS that
supports a communication-ready state with access to I2C™
EEPROM interface, external ROM, UART, or USB
• 8K x 16 internal RAM for code and data buffering
• 16-bit parallel host port interface (HPI) with DMA/Mailbox
data path for an external processor to directly access all
on-chip memory and control on-chip SIEs
• Fast serial port supports from 9600 baud to 2.0M baud
Block Diagram
CY7C67200
SPI supports both master and slave
Supports 12 MHz external crystal or clock
2.7V to 3.6V power supply voltage
Package option: 48-pin FBGA
Typical Applications
EZ-OTG is a very powerful and flexible dual-role USB
controller that supports a wide variety of applications. It is
primarily intended to enable USB OTG capability in applications such as:
• Cellular phones
• PDAs and pocket PCs
• Video and digital still cameras
• MP3 players
• Mass storage devices
CY7C67200
Timer 0
Control
Timer 1
UART I/F
Watchdog
CY16
16-bit RISC CORE
I2C
EEPROM I/F
Vbus, ID
OTG
USB-A
D+,D-
HSS I/F
SIE1
HOST/
Peripheral
USB Ports
SPI I/F
USB-A
D+,D-
SIE2
X1
X2
PLL
4Kx16
ROM BIOS
8Kx16
RAM
•
GPIO [24:0]
GPIO
Mobile
Power
Booster
Cypress Semiconductor Corporation
Document #: 38-08014 Rev. *G
HPI I/F
SHARED INPUT/OUTPUT PINS
nRESET
•
•
•
•
198 Champion Court
•
San Jose, CA 95134-1709
•
408-943-2600
Revised November 14, 2006
[+] Feedback
CY7C67200
Introduction
Interrupts
EZ-OTG™ (CY7C67200) is Cypress Semiconductor’s first
USB On-The-Go (OTG) host/peripheral controller. EZ-OTG is
designed to easily interface to most high-performance CPUs
to add USB host functionality. EZ-OTG has its own 16-bit RISC
processor to act as a coprocessor or operate in standalone
mode. EZ-OTG also has a programmable IO interface block
allowing a wide range of interface options.
EZ-OTG provides 128 interrupt vectors. The first 48 vectors
are hardware interrupts and the following 80 vectors are
software interrupts.
General Timers and Watchdog Timer
EZ-OTG has two built-in programmable timers and a
watchdog timer. All three timers can generate an interrupt to
the EZ-OTG.
Processor Core Functional Overview
Power Management
An overview of the processor core components are presented
in this section.
EZ-OTG has one main power-saving mode, Sleep. Sleep
mode pauses all operations and provides the lowest power
state.
Processor
EZ-OTG has a general purpose 16-bit embedded RISC
processor that runs at 48 MHz.
Interface Descriptions
Clocking
EZ-OTG requires a 12 MHz source for clocking. Either an
external crystal or TTL-level oscillator may be used. EZ-OTG
has an internal PLL that produces a 48 MHz internal clock from
the 12 MHz source.
EZ-OTG has a variety of interface options for connectivity, with
several interface options available. See Table 1 to understand
how the interfaces share pins and can coexist. Below are
some general guidelines:
• I2C EEPROM and OTG do not conflict with any interfaces
• HPI is mutually exclusive to HSS, SPI, and UART
Memory
EZ-OTG has a built-in 4K × 16 masked ROM and an 8K × 16
internal RAM. The masked ROM contains the EZ-OTG BIOS.
The internal RAM can be used for program code or data.
Table 1. Interface Options for GPIO Pins
GPIO Pins
GPIO31
GPIO30
GPIO29
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
HPI
HSS
SPI
UART
I2C
SCL/SDA
SCL/SDA
OTG
OTGID
INT
nRD
nWR
nCS
A1
A0
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
Document #: 38-08014 Rev. *G
CTS
RTS
RXD
TXD
MOSI
SCK
nSSI
MISO
TX
RX
Page 2 of 78
[+] Feedback
CY7C67200
USB Interface
OTG Interface
EZ-OTG has two built-in Host/Peripheral SIEs that each have
a single USB transceiver, meeting the USB 2.0 specification
requirements for full and low speed (high speed is not supported). In Host mode, EZ-OTG supports two downstream ports;
each supports control, interrupt, bulk, and isochronous transfers. In Peripheral mode, EZ-OTG supports one peripheral
port with eight endpoints for each of the two SIEs. Endpoint 0
is dedicated as the control endpoint and only supports control
transfers. Endpoints 1 though 7 support Interrupt, bulk (up to
64 bytes per packet), or isochronous transfers (up to 1023
bytes per packet size). EZ-OTG also supports a combination
of Host and Peripheral ports simultaneously, as shown in
Table 2.
EZ-OTG has one USB port that is compatible with the USB
On-The-Go supplement to the USB 2.0 specification. The USB
OTG port has various hardware features to support Session
Request Protocol (SRP) and Host Negotiation Protocol (HNP).
OTG is only supported on USB PORT 1A.
Table 2. USB Port Configuration Options
Port Configurations
Port 1A
Port 2A
OTG Features
• Internal Charge Pump to supply and control VBUS
• VBUS Valid Status (above 4.4V)
• VBUS Status for 2.4V < VBUS < 0.8V
• ID Pin Status
• Switchable 2-Kohm internal discharge resistor on VBUS
• Switchable 500-ohm internal pull-up resistor on VBUS
• Individually switchable internal pull-up and pull-down
resistors on the USB data lines
OTG
OTG
–
OTG + 1 Host
OTG
Host
OTG + 1 Peripheral
OTG
Peripheral
Table 4. OTG Interface Pins
1 Host + 1 Peripheral
Host
Peripheral
Pin Name
1 Host + 1 Peripheral
OTG Pins
Pin Number
Peripheral
Host
DM1A
F2
2 Hosts
Host
Host
DP1A
E3
1 Host
Host
–
OTGVBUS
C1
1 Host
–
Host
OTGID
F4
2 Peripherals
Peripheral
Peripheral
CSwitchA
D1
1 Peripheral
Peripheral
–
CSwitchB
D2
1 Peripheral
–
Peripheral
General Purpose IO Interface
USB Features
• USB 2.0 compatible for full and low speed
• Up to two downstream USB host ports
• Up to two upstream USB peripheral ports
• Configurable endpoint buffers (pointer and length), must
reside in internal RAM
• Up to eight available peripheral endpoints (1 control
endpoint)
• Supports Control, Interrupt, Bulk, and Isochronous transfers
• Internal DMA channels for each endpoint
• Internal pull up and pull down resistors
• Internal Series termination resistors on USB data lines
EZ-OTG has up to 25 GPIO signals available. Several other
optional interfaces use GPIO pins as well and may reduce the
overall number of available GPIOs.
GPIO Description
All Inputs are sampled asynchronously with state changes occurring at a rate of up to two 48 MHz clock cycles. GPIO pins
are latched directly into registers, a single flip-flop.
Unused Pin Descriptions
Unused USB pins must be tri-stated with the D+ line pulled
high through the internal pull-up resistor and the D– line pulled
low through the internal pull-down resistor.
USB Pins
Unused GPIO pins must be configured as outputs and driven
low.
Table 3. USB Interface Pins
UART Interface
Pin Name
DM1A
Pin Number
F2
DP1A
E3
DM2A
C2
DP2A
D3
Document #: 38-08014 Rev. *G
EZ-OTG has a built-in UART interface. The UART interface
supports data rates from 900 to 115.2K baud. It can be used
as a development port or for other interface requirements. The
UART interface is exposed through GPIO pins.
Page 3 of 78
[+] Feedback
CY7C67200
UART Features
• Supports baud rates of 900 to 115.2K
• 8-N-1
• Individual bit transfer for non-byte aligned serial communication in PIO mode
• Programmable delay timing for the active/inactive master
SPI clock
• Auto or manual control for master mode slave select signal
• Complete access to internal memory
UART Pins
Table 5. UART Interface Pins
Pin Name
Pin Number
TX
B5
RX
B4
I2C EEPROM Interface
I2C EEPROM Features
• Supports EEPROMs up to 64 KB (512K bit)
• Auto-detection of EEPROM size
I2C EEPROM Pins
Table 6. I2C EEPROM Interface Pins
Pin Number
SMALL EEPROM
SCK
H3
SDA
F3
LARGE EEPROM
SCK
F3
SDA
H3
Serial Peripheral Interface
EZ-OTG provides an SPI interface for added connectivity.
EZ-OTG may be configured as either an SPI master or SPI
slave. The SPI interface can be exposed through GPIO pins
or the External Memory port.
SPI Features
• Master or slave mode operation
• DMA block transfer and PIO byte transfer modes
• Full duplex or half duplex data communication
• 8-byte receive FIFO and 8-byte transmit FIFO
• Selectable master SPI clock rates from 250 kHz to 12 MHz
• Selectable master SPI clock phase and polarity
• Slave SPI signaling synchronization and filtering
• Slave SPI clock rates up to 2 MHz
• Maskable interrupts for block and byte transfer modes
Document #: 38-08014 Rev. *G
The SPI port has a few different pin location options as shown
in Table 7. The pin location is selectable via the GPIO Control
register [0xC006].
Table 7. SPI Interface Pins
EZ-OTG provides a master-only I2C interface for external serial EEPROMs. The serial EEPROM can be used to store application-specific code and data. This I2C interface is only to
be used for loading code out of EEPROM, it is not a general
I2C interface. The I2C EEPROM interface is a BIOS implementation and is exposed through GPIO pins. Refer to the
BIOS documentation for additional details on this interface.
Pin Name
SPI Pins
Pin Name
Pin Number
nSSI
F6 or C6
SCK
D5
MOSI
D4
MISO
C5
High-Speed Serial Interface
EZ-OTG provides an HSS interface. The HSS interface is a
programmable serial connection with baud rate from 9600
baud to 2M baud. The HSS interface supports both byte and
block mode operations as well as hardware and software
handshaking. Complete control of EZ-OTG can be accomplished through this interface via an extensible API and communication protocol. The HSS interface can be exposed
through GPIO pins or the External Memory port.
HSS Features
• 8-bit, no parity code
• Programmable baud rate from 9600 baud to 2M baud
• Selectable 1- or 2-stop bit on transmit
• Programmable intercharacter gap timing for Block Transmit
• 8-byte receive FIFO
• Glitch filter on receive
• Block mode transfer directly to/from EZ-OTG internal
memory (DMA transfer)
• Selectable CTS/RTS hardware signal handshake protocol
• Selectable XON/XOFF software handshake protocol
• Programmable Receive interrupt, Block Transfer Done
interrupts
• Complete access to internal memory
HSS Pins
Table 8. HSS Interface Pins
Pin Name
Pin Number
CTS
F6
RTS
E4
RX
E5
TX
E6
Page 4 of 78
[+] Feedback
CY7C67200
Table 9. HPI Interface Pins [1, 2] (continued)
Host Port Interface (HPI)
EZ-OTG has an HPI interface. The HPI interface provides
DMA access to the EZ-OTG internal memory by an external
host, plus a bidirectional mailbox register for supporting
high-level communication protocols. This port is designed to
be the primary high-speed connection to a host processor.
Complete control of EZ-OTG can be accomplished through
this interface via an extensible API and communication
protocol. Other than the hardware communication protocols, a
host processor has identical control over EZ-Host whether
connecting to the HPI or HSS port. The HPI interface is
exposed through GPIO pins.
Note It should be noted that for up to 3 ms after BIOS starts
executing, GPIO[24:19] and GPIO[15:8] will be driven as
outputs for a test mode. If these pins need to be used as inputs,
a series resistor is required (10 ohm to 48 ohm is recommended). Refer to BIOS documentation for addition details.
See section “Reset Pin” on page 9.
HPI Features
• 16-bit data bus interface
• 16 MB/s throughput
• Auto-increment of address pointer for fast block mode
transfers
• Direct memory access (DMA) to internal memory
• Bidirectional Mailbox register
• Byte Swapping
• Complete access to internal memory
• Complete control of SIEs through HPI
• Dedicated HPI Status register
Pin Name
Pin Number
D7
B5
D6
B4
D5
C4
D4
B3
D3
A3
D2
C3
D1
A2
D0
B2
The two HPI address pins are used to address one of four
possible HPI port registers as shown in Table 10 below.
Table 10.HPI Addressing
HPI A[1:0]
A1
A0
HPI Data
0
0
HPI Mailbox
0
1
HPI Address
1
0
HPI Status
1
1
Charge Pump Interface
VBUS for the USB On-The-Go (OTG) port can be produced by
EZ-OTG using its built-in charge pump and some external
components. The circuit connections should look similar to
Figure 1 below.
Figure 1. Charge Pump
HPI Pins
D2
D1
Table 9. HPI Interface Pins [1, 2]
CSWITCHA
Pin Name
Pin Number
INT
H4
nRD
G4
nWR
H5
nCS
G5
A1
H6
A0
F5
D15
F6
D14
E4
D13
E5
D12
E6
D11
D4
D10
D5
D9
C6
D8
C5
CY7C67200
CSWITCHB
C1
VBUS
OTGVBUS
C2
Component details:
• D1 and D2: Schottky diodes with a current rating greater
than 60 mA.
• C1: Ceramic capacitor with a capacitance of 0.1 µF.
• C2: Capacitor value must be no more that 6.5 µF since that
is the maximum capacitance allowed by the USB OTG
specification for a dual-role device. The minimum value of
C2 is 1 µF. There are no restrictions on the type of capacitor
for C2.
If the VBUS charge pump circuit is not to be used,
CSWITCHA, CSWITCHB, and OTGVBUS can be left unconnected.
Notes
1. HPI_INT is for the Outgoing Mailbox Interrupt.
2. HPI strobes are negative logic sampled on rising edge.
Document #: 38-08014 Rev. *G
Page 5 of 78
[+] Feedback
CY7C67200
Charge Pump Features
• Meets OTG Supplement Requirements, see Table 41, “DC
Characteristics: Charge Pump,” on page 66.
Figure 3. Power Supply Connection Without Booster
BOOSTVcc
3.0V to 3.6V
Power Supply
Charge Pump Pins
Table 11.Charge Pump Interface Pins
Pin Name
Pin Number
OTGVBUS
C1
CSwitchA
D1
CSwitchB
D2
VSWITCH
VCC
AVCC
Booster Interface
EZ-OTG has an on-chip power booster circuit for use with
power supplies that range between 2.7V and 3.6V. The
booster circuit boosts the power to 3.3V nominal to supply
power for the entire chip. The booster circuit requires an
external inductor, diode, and capacitor. During power down
mode, the circuit is disabled to save power. Figure 2 shows
how to connect the booster circuit.
Figure 2. Power Supply Connection With Booster
Booster Pins
Table 12.Charge Pump Interface Pins
Pin Name
Pin Number
BOOSTVcc
F1
VSWITCH
E2
BOOSTVcc
L1
2.7V to 3.6V
Power Supply
VSWITCH
D1
Crystal Interface
The recommended crystal circuit to be used with EZ-OTG is
shown in Figure 4. If an oscillator is used instead of a crystal
circuit, connect it to XTALIN and leave XTALOUT unconnected. For further information on the crystal requirements,
see Table 39, “Crystal Requirements,” on page 65.
3.3V
VCC
AVCC
Figure 4. Crystal Interface
C1
XTALIN
Component details:
• L1: Inductor with inductance of 10 µH and a current rating
of at least 250 mA
• D1: Schottky diode with a current rating of at least 250 mA
• C1: Tantalum or ceramic capacitor with a capacitance of at
least 2.2 µF
CY7C67200
Y1
XTALOUT
C1 = 22 pF
12MHz
Parallel Resonant
Fundamental Mode
500uW
20-33pf ±5%
C2 = 22 pF
Figure 3 shows how to connect the power supply when the
booster circuit is not being used.
Document #: 38-08014 Rev. *G
Page 6 of 78
[+] Feedback
CY7C67200
Crystal Pins
Operational Modes
Table 13.Crystal Pins
There are two modes of operation: Coprocessor and
Standalone.
Pin Name
Pin Number
XTALIN
G3
Coprocessor Mode
XTALOUT
G2
EZ-OTG can act as a coprocessor to an external host
processor. In this mode, an external host processor drives
EZ-OTG and is the main processor rather then EZ-OTG’s own
16-bit internal CPU. An external host processor may interface
to EZ-OTG through one of the following three interfaces in
coprocessor mode:
• HPI mode, a 16-bit parallel interface with up to 16 MBytes
transfer rate
• HSS mode, a serial interface with up to 2M baud transfer
rate
• SPI mode, a serial interface with up to 2 Mbits/s transfer
rate.
Boot Configuration Interface
EZ-OTG can boot into any one of four modes. The mode it
boots into is determined by the TTL voltage level of
GPIO[31:30] at the time nRESET is deasserted. Table 14
shows the different boot pin combinations possible. After a
reset pin event occurs, the BIOS bootup procedure executes
for up to 3 ms. GPIO[31:30] are sampled by the BIOS during
bootup only. After bootup these pins are available to the application as GPIOs.
Table 14.Boot Configuration Interface
0
0
Host Port Interface (HPI)
At bootup GPIO[31:30] determine which of these three interfaces are used for coprocessor mode. Refer to Table 14 for
details. Bootloading begins from the selected interface after
POR + 3 ms of BIOS bootup.
0
1
High Speed Serial (HSS)
Standalone Mode
1
0
Serial Peripheral Interface (SPI, slave
mode)
1
1
I2C EEPROM (Standalone Mode)
In standalone mode, there is no external processor connected
to EZ-OTG. Instead, EZ-OTG’s own internal 16-bit CPU is the
main processor and firmware is typically downloaded from an
EEPROM. Optionally, firmware may also be downloaded via
USB. Refer to Table 14 for booting into standalone mode.
GPIO31
(Pin 39)
GPIO30
(Pin 40)
Boot Mode
GPIO[31:30] must be pulled high or low, as needed, using
resistors tied to VCC or GND with resistor values between 5K
ohm and 15K ohm. GPIO[31:30] must not be tied directly to
VCC or GND. Note that in Standalone mode, the pull ups on
those two pins are used for the serial I2C EEPROM (if implemented). The resistors used for these pull ups must conform
to the serial EEPROM manufacturer's requirements.
If any mode other then standalone is chosen, EZ-OTG will be
in coprocessor mode. The device will power up with the appropriate communication interface enabled according to its boot
pins and wait idle until a coprocessor communicates with it.
See the BIOS documentation for greater detail on the boot
process.
Document #: 38-08014 Rev. *G
After booting into standalone mode (GPIO[31:30] = ‘11’), the
following pins are affected:
• GPIO[31:30] are configured as output pins to examine the
EEPROM contents.
• GPIO[28:27] are enabled for debug UART mode.
• GPIO[29] is configured as OTGID for OTG applications on
PORT1A.
— If OTGID is logic 1 then PORT1A (OTG) is configured
as a USB peripheral.
— If OTGID is logic 0 then PORT1A (OTG) is configured
as a USB host.
• Ports 1B, 2A, and 2B default as USB peripheral ports.
• All other pins remain INPUT pins.
Page 7 of 78
[+] Feedback
CY7C67200
Minimum Hardware Requirements for Standalone Mode – Peripheral Only
Figure 5. Minimum Standalone Hardware Configuration – Peripheral Only
EZ-OTG
CY7C67200
VCC, AVCC,
BoostVCC
VReg
Standard-B
or Mini-B
VBus
D+
Reset
Logic
nRESET
DPlus
DMinus
DGND
SHIELD
Bootstrap Options
Vcc Vcc
10k 10k
GPIO[30]
SCL*
GPIO[31]
SDA*
Int. 16k x8
Code / Data
VCC
A0
A1
A2
Up to 64k x8
EEPROM
Bootloading Firmware
VCC
WP
SCL
GND
Reserved
SDA
22pf
XIN
GND, AGND,
BoostGND
12MHz
XOUT
22pf
* Parallel Resonant
Fundamental Mode
500uW
20-33pf ±5%
*Bootloading begins after POR + 3ms BIOS bootup
*GPIO[31:30]
Up to 2k x8
>2k x8 to 64k x8
31
30
SCL SDA
SDA SCL
Power Savings and Reset Description
The EZ-OTG modes and reset conditions are described in this
section.
Power Savings Mode Description
EZ-OTG has one main power savings mode, Sleep. For
detailed information on Sleep mode; See section “Sleep”.
Sleep mode is used for USB applications to support USB
suspend and non USB applications as the main chip power
down mode.
In addition, EZ-OTG is capable of slowing down the CPU clock
speed through the CPU Speed register [0xC008] without
affecting other peripheral timing. Reducing the CPU clock
speed from 48 MHz to 24 MHz reduces the overall current
draw by around 8 mA while reducing it from 48 MHz to 3 MHz
reduces the overall current draw by approximately 15 mA.
Document #: 38-08014 Rev. *G
Sleep
Sleep mode is the main chip power down mode and is also
used for USB suspend. Sleep mode is entered by setting the
Sleep Enable (bit 1) of the Power Control register [0xC00A].
During Sleep mode (USB Suspend) the following events and
states are true:
• GPIO pins maintain their configuration during sleep (in
suspend).
• External Memory Address pins are driven low.
• XTALOUT is turned off.
• Internal PLL is turned off.
• Firmware must disable the charge pump (OTG Control
register [0xC098]) causing OTGVBUS to drop below 0.2V.
Otherwise OTGVBUS will only drop to VCC – (2 schottky
diode drops).
• Booster circuit is turned off.
• USB transceivers is turned off.
• CPU suspends until a programmable wakeup event.
Page 8 of 78
[+] Feedback
CY7C67200
External (Remote) Wakeup Source
There are several possible events available to wake EZ-OTG
from Sleep mode as shown in Table 15. These may also be
used as remote wakeup options for USB applications. See
section “Power Control Register [0xC00A] [R/W]” on page 13.
Upon wakeup, code begins executing within 200 ms, the time
it takes the PLL to stabilize.
Table 15.wakeup Sources[3, 4]
Wakeup Source (if enabled)
USB Resume
Event
D+/D– Signaling
OTGVBUS
Level
OTGID
Any Edge
HPI
Read
HSS
Read
SPI
Read
IRQ0 (GPIO 24)
Any Edge
Power-On Reset (POR) Description
The length of the power-on-reset event can be defined by (VCC
ramp to valid) + (Crystal start up). A typical application might
utilize a 12-ms power-on-reset event = ~7 ms + ~5 ms, respectively.
Reset Pin
The Reset pin is active low and requires a minimum pulse
duration of sixteen 12-MHz clock cycles (1.3 ms). A reset
event restores all registers to their default POR settings. Code
execution then begins 200 ms later at 0xFF00 with an immediate jump to 0xE000, the start of BIOS.
registers, USB control registers, the stack, and other BIOS
variables. The upper internal memory space contains EZ-OTG
control registers from 0xC000 to 0xC0FF and the BIOS ROM
itself from 0xE000 to 0xFFFF. For more information on the
reserved lower memory or the BIOS ROM, refer to the
Programmers documentation and the BIOS documentation.
During development with the EZ-OTG toolset, the lower area
of User's space (0x04A4 to 0x1000) should be left available to
load the GDB stub. The GDB stub is required to allow the
toolset debug access into EZ-OTG.
Figure 6. Memory Map
Internal Memory
HW INTs
0x0000 - 0x00FF
SW INTs
0x0100 - 0x011F
0x0120 - 0x013F
0x0140 - 0x0148
0x014A - 0x01FF
Primary Registers
Swap Registers
HPI Int / Mailbox
LCP Variables
0x0200- 0x02FF
USB Registers
0x0300- 0x030F
0x0310- 0x03FF
0x0400- 0x04A2
Slave Setup Packet
BIOS Stack
USB Slave & OTG
0x04A4- 0x3FFF
USER SPACE
~15K
0xC000- 0xC0FF
Control Registers
0xE000- 0xFFFF
BIOS
Note It should be noted that for up to 3 ms after BIOS starts
executing, GPIO[24:19] and GPIO[15:8] will be driven as outputs for a test mode. If these pins need to be used as inputs,
a series resistor is required (10 ohm to 48 ohm is recommended). Refer to BIOS documentation for addition details.
USB Reset
A USB Reset affects registers 0xC090 and 0xC0B0, all other
registers remain unchanged.
Memory Map
Memory map information is presented in this section.
Mapping
The EZ-OTG has just over 24 KB of addressable memory
mapped from 0x0000 to 0xFFFF. This 24 KB contains both
program and data space and is byte addressable. Figure 6.
shows the various memory region address locations.
Internal Memory
Of the internal memory, 15 KB is allocated for user’s program
and data code. The lower memory space from 0x0000 to
0x04A2 is reserved for interrupt vectors, general purpose
Notes
3. Read data will be discarded (dummy data).
4. HPI_INT will assert on a USB Resume.registers
Document #: 38-08014 Rev. *G
Page 9 of 78
[+] Feedback
CY7C67200
Registers
Table 16.Processor Control Registers
Some registers have different functions for a read vs. a write
access or USB host vs. USB device mode. Therefore,
registers of this type have multiple definitions for the same
address.
Address
R/W
CPU Flags Register
Register Name
0xC000
R
Register Bank Register
0xC002
R/W
The default register values listed in this data sheet may be
altered to some other value during BIOS initialization. Refer to
the BIOS documentation for Register initialization information.
Hardware Revision Register
0xC004
R
CPU Speed Register
0xC008
R/W
Power Control Register
0xC00A
R/W
Processor Control Registers
Interrupt Enable Register
0xC00E
R/W
There are eight registers dedicated to general processor
control. Each of these registers is covered in this section and
is summarized in Table 16.
Breakpoint Register
0xC014
R/W
USB Diagnostic Register
0xC03C
W
CPU Flags Register [0xC000] [R]
Figure 7. CPU Flags Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
...Reserved
Field
4
3
2
1
0
Global
Interrupt
Enable
Negative
Flag
Overflow
Flag
Carry
Flag
Zero
Flag
Read/Write
-
-
-
R
R
R
R
R
Default
0
0
0
X
X
X
X
X
Register Description
The CPU Flags register is a read only register that gives
processor flags status.
Global Interrupt Enable (Bit 4)
The Global Interrupt Enable bit indicates if the Global Interrupts are enabled.
1: Enabled
0: Disabled
Negative Flag (Bit 3)
The Negative Flag bit indicates if an arithmetic operation
results in a negative answer.
1: MS result bit is ‘1’
0: MS result bit is not ‘1’
Overflow Flag (Bit 2)
The Overflow Flag bit indicates if an overflow condition has
occurred. An overflow condition can occur if an arithmetic
Document #: 38-08014 Rev. *G
result was either larger than the destination operand size (for
addition) or smaller than the destination operand should allow
for subtraction.
1: Overflow occurred
0: Overflow did not occur
Carry Flag (Bit 1)
The Carry Flag bit indicates if an arithmetic operation resulted
in a carry for addition, or borrow for subtraction.
1: Carry/Borrow occurred
0: Carry/Borrow did not occur
Zero Flag (Bit 0)
The Zero Flag bit indicates if an instruction execution resulted
in a ‘0’.
1: Zero occurred
0: Zero did not occur
Page 10 of 78
[+] Feedback
CY7C67200
Bank Register [0xC002] [R/W]
Figure 8. Bank Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
1
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
Reserved
R/W
R/W
R/W
-
-
-
-
-
0
0
0
X
X
X
X
X
Register Description
.
Table 17.Bank Register Example
The Bank register maps registers R0–R15 into RAM. The
eleven MSBs of this register are used as a base address for
registers R0–R15. A register address is automatically
generated by:
1. Shifting the four LSBs of the register address left by 1
2. ORing the four shifted bits of the register address with the
12 MSBs of the Bank Register
3. Forcing the LSB to zero
Register
Hex Value
Bank
0x0100
R14
0x000E << 1 = 0x001C
RAM
0x011C
Location
Binary Value
0000 0001 0000 0000
0000 0000 0001 1100
0000 0001 0001 1100
Address (Bits [15:4])
The Address field is used as a base address for all register
addresses to start from.
For example, if the Bank register is left at its default value of
0x0100, and R2 is read, then the physical address 0x0102 will
be read. See Table 17 for details.
Reserved
All reserved bits must be written as ‘0’.
Hardware Revision Register [0xC004] [R]
Figure 9. Revision Register
Bit #
15
14
13
12
Field
11
10
9
8
Revision...
Read/Write
R
R
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
5
4
3
2
1
0
Bit #
7
6
Field
...Revision
Read/Write
R
R
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
Register Description
Revision (Bits [15:0])
The Hardware Revision register is a read-only register that
indicates the silicon revision number. The first silicon revision
is represented by 0x0101. This number is increased by one for
each new silicon revision.
The Revision field contains the silicon revision number.
Document #: 38-08014 Rev. *G
Page 11 of 78
[+] Feedback
CY7C67200
CPU Speed Register [0xC008] [R/W]
Figure 10. CPU Speed Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Reserved
CPU Speed
Read/Write
-
-
-
-
R/W
R/W
R/W
R/W
Default
0
0
0
0
1
1
1
1
Register Description
The CPU Speed register allows the processor to operate at a user selected speed. This register only affects the CPU; all other
peripheral timing is still based on the 48-MHz system clock (unless otherwise noted).
CPU Speed (Bits[3:0])
The CPU Speed field is a divisor that selects the operating speed of the processor as defined in Table 18.
Table 18.CPU Speed Definition
CPU Speed [3:0]
Processor Speed
0000
48 MHz/1
0001
48 MHz/2
0010
48 MHz/3
0011
48 MHz/4
0100
48 MHz/5
0101
48 MHz/6
0110
48 MHz/7
0111
48 MHz/8
1000
48 MHz/9
1001
48 MHz/10
1010
48 MHz/11
1011
48 MHz/12
1100
48 MHz/13
1101
48 MHz/14
1110
48 MHz/15
1111
48 MHz/16
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 12 of 78
[+] Feedback
CY7C67200
Power Control Register [0xC00A] [R/W]
Figure 11. Power Control Register
Bit #
15
14
13
Reserved
Host/Device 2
Wake Enable
Reserved
Read/Write
-
R/W
-
R/W
Default
0
0
0
0
Bit #
7
6
Field
HPI
Wake Enable
Field
Read/Write
Default
12
5
Reserved
11
10
9
8
Reserved
HSS
Wake Enable
SPI
Wake Enable
R/W
-
R/W
R/W
0
0
0
0
Host/Device 1
OTG
Wake Enable Wake Enable
4
3
2
1
0
GPI
Wake Enable
Reserved
Boost 3V
OK
Sleep
Enable
Halt
Enable
R/W
-
-
R/W
-
R
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
SPI Wake Enable (Bit 8)
The Power Control register controls the power-down and
wakeup options. Either the sleep mode or the halt mode
options can be selected. All other writable bits in this register
can be used as a wakeup source while in sleep mode.
The SPI Wake Enable bit enables or disables a wakeup
condition to occur on a falling SPI_nSS input transition. The
processor may take several hundreds of microseconds before
being operational after wakeup. Therefore, the incoming data
byte that causes the wakeup will be discarded.
Host/Device 2 Wake Enable (Bit 14)
The Host/Device 2 Wake Enable bit enables or disables a
wakeup condition to occur on an Host/Device 2 transition. This
wake up from the SIE port does not cause an interrupt to the
on-chip CPU.
1: Enable wakeup on Host/Device 2 transition.
0: Disable wakeup on Host/Device 2 transition.
Host/Device 1 Wake Enable (Bit 12)
The Host/Device 1 Wake Enable bit enables or disables a
wakeup condition to occur on an Host/Device 1 transition. This
wakeup from the SIE port does not cause an interrupt to the
on-chip CPU.
1: Enable wakeup on falling SPI nSS input transition
0: Disable SPI_nSS interrupt
HPI Wake Enable (Bit 7)
The HPI Wake Enable bit enables or disables a wakeup
condition to occur on an HPI interface read.
1: Enable wakeup on HPI interface read
0: Disable wakeup on HPI interface read
GPI Wake Enable (Bit 4)
The GPI Wake Enable bit enables or disables a wakeup
condition to occur on a GPIO(25:24) transition.
1: Enable wakeup on Host/Device 1 transition
1: Enable wakeup on GPIO(25:24) transition
0: Disable wakeup on Host/Device 1 transition
0: Disable wakeup on GPIO(25:24) transition
OTG Wake Enable (Bit 11)
Boost 3V OK (Bit 2)
The OTG Wake Enable bit enables or disables a wakeup
condition to occur on either an OTG VBUS_Valid or OTG ID
transition (IRQ20).
The Boost 3V OK bit is a read only bit that returns the status
of the OTG Boost circuit.
1: Enable wakeup on OTG VBUS valid or OTG ID transition
0: Disable wakeup on OTG VBUS valid or OTG ID transition
0: Boost circuit ok and internal voltage rails are at or above
3.0V
HSS Wake Enable (Bit 9)
Sleep Enable (Bit 1)
The HSS Wake Enable bit enables or disables a wakeup
condition to occur on an HSS Rx serial input transition. The
processor may take several hundreds of microseconds before
being operational after wakeup. Therefore, the incoming data
byte that causes the wakeup will be discarded.
Setting this bit to ‘1’ immediately initiates SLEEP mode. While
in SLEEP mode, the entire chip is paused achieving the lowest
standby power state. All operations are paused, the internal
clock is stopped, the booster circuit and OTG VBUS charge
pump are all powered down, and the USB transceivers are
powered down. All counters and timers are paused but will
retain their values. SLEEP mode exits by any activity selected
in this register. When SLEEP mode ends, instruction
execution resumes within 0.5 ms.
1: Enable wakeup on HSS Rx serial input transition
0: Disable wakeup on HSS Rx serial input transition
1: Boost circuit not ok and internal voltage rails are below 3.0V
1: Enable Sleep Mode
0: No Function
Document #: 38-08014 Rev. *G
Page 13 of 78
[+] Feedback
CY7C67200
immediately following the HALT instruction may be executed
before the waking interrupt is serviced (you may want to follow
the HALT instruction with two NOPs).
Halt Enable (Bit 0)
Setting this bit to ‘1’ immediately initiates HALT mode. While
in HALT mode, only the CPU is stopped. The internal clock still
runs and all peripherals still operate, including the USB
engines. The power savings using HALT in most cases will be
minimal, but in applications that are very CPU intensive the
incremental savings may provide some benefit.
1: Enable Halt Mode
0: No Function
Reserved
The HALT state is exited when any enabled interrupt is
triggered. Upon exiting the HALT state, one or two instructions
All reserved bits must be written as ‘0’.
Interrupt Enable Register [0xC00E] [R/W]
Figure 12. Interrupt Enable Register
Bit #
15
14
13
Reserved
Field
12
11
10
OTG
Interrupt
Enable
SPI
Interrupt
Enable
Reserved
9
8
Host/Device 2 Host/Device 1
Interrupt
Interrupt
Enable
Enable
Read/Write
-
-
-
R/W
R/W
-
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
In Mailbox
Interrupt
Enable
Out Mailbox
Interrupt
Enable
Reserved
Field
HSS
Interrupt
Enable
UART
Interrupt
Enable
GPIO
Interrupt
Enable
Timer 1
Interrupt
Enable
Timer 0
Interrupt
Enable
R/W
R/W
R/W
-
R/W
R/W
R/W
R/W
0
0
0
1
0
0
0
0
Read/Write
Default
Register Description
Host/Device 1 Interrupt Enable (Bit 8)
The Interrupt Enable Register allows control of the hardware
interrupt vectors.
The Host/Device 1 Interrupt Enable bit enables or disables all
of the following Host/Device 1 hardware interrupts: Host 1
USB Done, Host 1 USB SOF/EOP, Host 1
WakeUp/Insert/Remove, Device 1 Reset, Device 1 SOF/EOP
or WakeUp from USB, Device 1 Endpoint n.
OTG Interrupt Enable (Bit 12)
The OTG Interrupt Enable bit enables or disables the OTG
ID/OTG4.4V Valid hardware interrupt.
1: Enable OTG interrupt
0: Disable OTG interrupt
SPI Interrupt Enable (Bit 11)
The SPI Interrupt Enable bit enables or disables the following
three SPI hardware interrupts: SPI TX, SPI RX, and SPI DMA
Block Done.
1: Enable SPI interrupt
0: Disable SPI interrupt
Host/Device 2 Interrupt Enable (Bit 9)
The Host/Device 2 Interrupt Enable bit enables or disables all
of the following Host/Device 2 hardware interrupts: Host 2
USB Done, Host 2 USB SOF/EOP, Host 2
WakeUp/Insert/Remove, Device 2 Reset, Device 2 SOF/EOP
or WakeUp from USB, Device 2 Endpoint n.
1: Enable Host 2 and Device 2 interrupt
0: Disable Host 2 and Device 2 interrupt
1: Enable Host 1 and Device 1 interrupt
0: Disable Host 1 and Device 1 interrupt
HSS Interrupt Enable (Bit 7)
The HSS Interrupt Enable bit enables or disables the following
High-speed Serial Interface hardware interrupts: HSS Block
Done, and HSS RX Full.
1: Enable HSS interrupt
0: Disable HSS interrupt
In Mailbox Interrupt Enable (Bit 6)
The In Mailbox Interrupt Enable bit enables or disables the
HPI: Incoming Mailbox hardware interrupt.
1: Enable MBXI interrupt
0: Disable MBXI interrupt
Out Mailbox Interrupt Enable (Bit 5)
The Out Mailbox Interrupt Enable bit enables or disables the
HPI: Outgoing Mailbox hardware interrupt.
1: Enable MBXO interrupt
0: Disable MBXO interrupt
Document #: 38-08014 Rev. *G
Page 14 of 78
[+] Feedback
CY7C67200
UART Interrupt Enable (Bit 3)
Timer 1 Interrupt Enable (Bit 1)
The UART Interrupt Enable bit enables or disables the
following UART hardware interrupts: UART TX and UART RX.
1: Enable UART interrupt
The Timer 1 Interrupt Enable bit enables or disables the
TImer1 Interrupt Enable. When this bit is reset, all pending
Timer 1 interrupts are cleared.
0: Disable UART interrupt
1: Enable TM1 interrupt
0: Disable TM1 interrupt
GPIO Interrupt Enable (Bit 2)
The GPIO Interrupt Enable bit enables or disables the General
Purpose IO Pins Interrupt (See the GPIO Control Register).
When GPIO bit is reset, all pending GPIO interrupts are also
cleared.
Timer 0 Interrupt Enable (Bit 0)
1: Enable GPIO interrupt
1: Enable TM0 interrupt
0: Disable GPIO interrupt
0: Disable TM0 interrupt
The Timer 0 Interrupt Enable bit enables or disables the
TImer0 Interrupt Enable. When this bit is reset, all pending
Timer 0 interrupts are cleared.
Reserved
All reserved bits must be written as ‘0’.
Breakpoint Register [0xC014] [R/W]
Figure 13. Breakpoint Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
The Breakpoint Register holds the breakpoint address. When the program counter match this address, the INT127 interrupt
occurs. To clear this interrupt, a zero value must be written to this register.
Address (Bits [15:0])
The Address field is a 16-bit field containing the breakpoint address.
Document #: 38-08014 Rev. *G
Page 15 of 78
[+] Feedback
CY7C67200
USB Diagnostic Register [0xC03C] [R/W]
Figure 14. USB Diagnostic Register
Bit #
15
14
13
12
Reserved
Port 2A
Diagnostic
Enable
Reserved
Port 1A
Diagnostic
Enable
Read/Write
-
R/W
-
R/W
-
-
-
-
Default
0
0
0
0
0
0
0
0
2
1
0
Field
Bit #
11
10
9
8
Reserved...
7
6
5
4
3
...Reserved
Pull-down
Enable
LS Pull-up
Enable
FS Pull-up
Enable
Reserved
Read/Write
-
R/W
R/W
R/W
-
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Field
Force Select
Register Description
FS Pull-up Enable (Bit 4)
The USB Diagnostic Register provides control of diagnostic
modes. It is intended for use by device characterization tests,
not for normal operations. This register is Read/Write by the
on-chip CPU but is write-only via the HPI port.
The FS Pull-up Enable bit enables or disables a full-speed
pull-up resistor (pull up on D+) for testing.
Port 2A Diagnostic Enable (Bit 15)
The Port 2A Diagnostic Enable bit enables or disables Port 2A
for the test conditions selected in this register.
1: Apply any of the following enabled test conditions: J/K,
DCK, SE0, RSF, RSL, PRD
0: Do not apply test conditions
Port 1A Diagnostic Enable (Bit 15)
1: Enable full-speed pull-up resistor on D+
0: Pull-up resistor is not connected on D+
Force Select (Bits [2:0])
The Force Select field bit selects several different test
condition states on the data lines (D+/D–). See Table 19 for
details.
Table 19.Force Select Definition
Force Select [2:0]
Data Line State
1xx
Assert SE0
01x
Toggle JK
The Port 1A Diagnostic Enable bit enables or disables Port 1A
for the test conditions selected in this register.
1: Apply any of the following enabled test conditions: J/K,
DCK, SE0, RSF, RSL, PRD
001
Assert J
000
Assert K
0: Do not apply test conditions
Pull-down Enable (Bit 6)
The Pull-down Enable bit enables or disables full-speed
pull-down resistors (pull down on both D+ and D–) for testing.
1: Enable pull-down resistors on both D+ and D–
0: Disable pull-down resistors on both D+ and D–
LS Pull-up Enable (Bit 5)
The LS Pull-up Enable bit enables or disables a low-speed
pull-up resistor (pull up on D–) for testing.
Reserved
All reserved bits must be written as ‘0’.
Timer Registers
There are three registers dedicated to timer operations. Each
of these registers are discussed in this section and are
summarized in Table 20.
Table 20.Timer Registers
Address
R/W
1: Enable low-speed pull-up resistor on D–
Watchdog Timer Register
0xC00C
R/W
0: Pull-up resistor is not connected on D–
Timer 0 Register
0xC010
R/W
Timer 1 Register
0xC012
R/W
Document #: 38-08014 Rev. *G
Register Name
Page 16 of 78
[+] Feedback
CY7C67200
Watchdog Timer Register [0xC00C] [R/W]
Figure 15. Watchdog Timer Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Reserved...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
5
4
6
...Reserved
Timeout
Flag
Field
Read/Write
Default
3
Period
Select
2
1
0
Lock
Enable
WDT
Enable
Reset
Strobe
R/W
R/W
R/W
R/W
R/W
R/W
R/W
W
0
0
0
0
0
0
0
0
Register Description
Lock Enable (Bit 2)
The Watchdog Timer register provides status and control over
the Watchdog timer. The Watchdog timer can also interrupt the
processor.
The Lock Enable bit does not allow any writes to this register
until a reset. In doing so the Watchdog timer can be set up and
enabled permanently so that it can only be cleared on reset
(the WDT Enable bit is ignored).
Timeout Flag (Bit 5)
The Timeout Flag bit indicates if the Watchdog timer has
expired. The processor can read this bit after exiting a reset to
determine if a Watchdog timeout occurred. This bit is cleared
on the next external hardware reset.
1: Watchdog timer expired
WDT Enable (Bit 1)
The WDT Enable bit enables or disables the Watchdog timer.
0: Disable Watchdog timer operation
Period Select (Bits [4:3])
The Period Select field is defined in Table 21. If this time
expires before the Reset Strobe bit is set, the internal
processor is reset.
Table 21.Period Select Definition
Document #: 38-08014 Rev. *G
0: Watchdog timer not permanently set
1: Enable Watchdog timer operation
0: Watchdog timer did not expire
Period Select[4:3]
00
01
10
11
1: Watchdog timer permanently set
Reset Strobe (Bit 0)
The Reset Strobe is a write-only bit that resets the Watchdog
timer count. It must be set to ‘1’ before the count expires to
avoid a Watchdog trigger
1: Reset Count
WDT Period Value
1.4 ms
5.5 ms
22.0 ms
66.0 ms
Reserved
All reserved bits must be written as ‘0’.
Page 17 of 78
[+] Feedback
CY7C67200
Timer n Register [R/W]
• Timer 0 Register 0xC010
• Timer 1 Register 0xC012
Figure 16. Timer n Register
Bit #
15
14
13
12
Field
11
10
9
8
Count...
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
1
1
1
1
1
1
1
1
Bit #
7
6
5
4
3
2
1
0
Field
...Count
Read/Write
Default
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
1
1
1
1
1
1
1
1
Register Description
The Timer n Register sets the Timer n count. Both Timer 0 and Timer 1 decrement by one every 1-µs clock tick. Each can provide
an interrupt to the CPU when the timer reaches zero.
Count (Bits [15:0])
The Count field sets the Timer count.
General USB Registers
There is one set of registers dedicated to general USB control. This set consists of two identical registers, one for Host/Device
Port 1 and one for Host/Device Port 2. This register set has functions for both USB host and USB peripheral options and is covered
in this section and summarized in Table 22. USB Host-only registers are covered in Section “USB Host Only Registers” on page
19 and USB Device-only registers are covered in Section “USB Device Only Registers” on page 28.
Table 22.USB Registers
Register Name
Address (SIE1/SIE2)
R/W
USB n Control Register
0xC08A/0xC0AA
R/W
USB n Control Register [R/W]
• USB 1 Control Register 0xC08A
• USB 2 Control Register 0xC0AA
Figure 17. USB n Control Register
Bit #
15
14
Reserved
Field
13
12
11
10
9
8
Port A
D+ Status
Port A
D– Status
Reserved
LOA
Mode
Select
Reserved
Read/Write
-
-
R
R
-
R/W
R/W
-
Default
X
X
X
X
0
0
0
0
4
3
Bit #
7
Field
Port A
Resistors Enable
Read/Write
Default
6
5
Reserved
Port A
Force D± State
2
1
0
Suspend
Enable
Reserved
Port A
SOF/EOP Enable
R/W
-
-
R/W
R/W
R/W
-
R/W
0
0
0
0
0
0
0
0
Register Description
The USB n Control register is used in both host and device mode. It monitors and controls the SIE and the data lines of the USB
ports. This register can be accessed by the HPI interface.
Document #: 38-08014 Rev. *G
Page 18 of 78
[+] Feedback
CY7C67200
Port A D+ Status (Bit 13)
Table 24.Port A Force D± State
The Port A D+ Status bit is a read-only bit that indicates the
value of DATA+ on Port A.
1: D+ is high
0: D+ is low
Port A D– Status (Bit 12)
The Port A D– Status bit is a read-only bit that indicates the
value of DATA– on Port A.
Port A Force D± State
MSB
LSB
0
0
0
1
1
0
1
1
Function
Normal Operation
Force USB Reset, SE0 State
Force J-State
Force K-State
1: D– is high
Suspend Enable (Bit 2)
0: D– is low
The LOA bit selects the speed of Port A.
The Suspend Enable bit enables or disables the suspend
feature on both ports. When suspend is enabled the USB
transceivers are powered down and can not transmit or
received USB packets but can still monitor for a wakeup
condition.
1: Port A is set to Low-speed mode
1: Enable suspend
0: Port A is set to Full-speed mode
0: Disable suspend
Mode Select (Bit 9)
Port A SOF/EOP Enable (Bit 0)
The Mode Select bit sets the SIE for host or device operation.
When set for device operation only one USB port is supported.
The active port is selected by the Port Select bit in the Host n
Count Register.
1: Host mode
The Port A SOF/EOP Enable bit is only applicable in host
mode. In Device mode this bit must be written as ‘0’. In host
mode this bit enables or disables SOFs or EOPs for Port A.
Either SOFs or EOPs will be generated depending on the LOA
bit in the USB n Control Register when Port A is active.
0: Device mode
1: Enable SOFs or EOPs
Port A Resistors Enable (Bit 7)
0: Disable SOFs or EOPs
The Port A Resistors Enable bit enables or disables the
pull-up/pull-down resistors on Port A. When enabled, the
Mode Select bit and LOA bit of this register sets the
pull-up/pull-down resistors appropriately. When the Mode
Select is set for Host mode, the pull-down resistors on the data
lines (D+ and D–) are enabled. When the Mode Select is set
for Device mode, a single pull-up resistor on either D+ or D–,
determined by the LOA bit, will be enabled. See Table 23 for
details.
Reserved
LOA (Bit 10)
1: Enable pull-up/pull-down resistors
Table 23.USB Data Line Pull-up and Pull-down Resistors
L0A
X
X
Port n
Resistors
Enable
0
USB Host Only Registers
There are twelve sets of dedicated registers to USB host only
operation. Each set consists of two identical registers (unless
otherwise noted); one for Host Port 1 and one for Host Port 2.
These register sets are covered in this section and summarized in Table 25.
Table 25.USB Host Only Register
0: Disable pull-up/pull-down resistors
Mode
Select
All reserved bits must be written as ‘0’.
Function
Pull up/Pull down on D+ and
D– Disabled
Address
(Host 1/Host 2)
R/W
Host n Control Register
0xC080/0xC0A0
R/W
Host n Address Register
0xC082/0xC0A2
R/W
Host n Count Register
0xC084/0xC0A4
R/W
Host n Endpoint Status Register
0xC086/0xC0A6
R
Host n PID Register
0xC086/0xC0A6
W
Register Name
X
1
1
Pull down on D+ and D–
Enabled
Host n Count Result Register
0xC088/0xC0A8
R
1
0
1
Pull up on USB D– Enabled
Host n Device Address Register
0xC088/0xC0A8
W
0
0
1
Pull up on USB D+ Enabled
Host n Interrupt Enable Register
0xC08C/0xC0AC
R/W
Host n Status Register
0xC090/0xC0B0
R/W
Host n SOF/EOP Count Register
0xC092/0xC0B2
R/W
Host n SOF/EOP Counter
Register
0xC094/0xC0B4
R
Host n Frame Register
0xC096/0xC0B6
R
Port A Force D± State (Bits [4:3])
The Port A Force D± State field controls the forcing state of the
D+ D– data lines for Port A. This field forces the state of the
Port A data lines independent of the Port Select bit setting. See
Table 24 for details.
Document #: 38-08014 Rev. *G
Page 19 of 78
[+] Feedback
CY7C67200
Host n Control Register [R/W]
• Host 1 Control Register 0xC080
• Host 2 Control Register 0xC0A0
Figure 18. Host n Control Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
3
2
1
Bit #
7
6
5
4
Field
Preamble
Enable
Sequence
Select
Sync
Enable
ISO
Enable
R/W
R/W
R/W
R/W
-
-
-
R/W
0
0
0
0
0
0
0
0
Read/Write
Default
Register Description
The Host n Control register allows high-level USB transaction
control.
Preamble Enable (Bit 7)
Reserved
1: The next enabled packet will be transferred after the SOF
or EOP packet is transmitted
0: The next enabled packet will be transferred as soon as the
SIE is free
The Preamble Enable bit enables or disables the transmission
of a preamble packet before all low-speed packets. This bit
should only be set when communicating with a low-speed
device.
ISO Enable (Bit 4)
1: Enable Preamble packet
0: Disable Isochronous transaction
0: Disable Preamble packet
Sequence Select (Bit 6)
The Sequence Select bit sets the data toggle for the next
packet. This bit has no effect on receiving data packets;
sequence checking must be handled in firmware.
1: Send DATA1
0: Send DATA0
Sync Enable (Bit 5)
0
Arm
Enable
The ISO Enable bit enables or disables an Isochronous transaction.
1: Enable Isochronous transaction
Arm Enable (Bit 0)
The Arm Enable bit arms an endpoint and starts a transaction.
This bit is automatically cleared to ‘0’ when a transaction is
complete.
1: Arm endpoint and begin transaction
0: Endpoint disarmed
Reserved
All reserved bits must be written as ‘0’.
The Sync Enable bit synchronizes the transfer with the SOF
packet in full-speed mode and the EOP packet in low-speed
mode.
Document #: 38-08014 Rev. *G
Page 20 of 78
[+] Feedback
CY7C67200
Host n Address Register [R/W]
• Host 1 Address Register 0xC082
• Host 2 Address Register 0xC0A2
Figure 19. Host n Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
Address (Bits [15:0])
The Host n Address register is used as the base pointer into
memory space for the current host transactions.
The Address field sets the address pointer into internal RAM
or ROM.
Host n Count Register [R/W]
• Host 1 Count Register 0xC084
• Host 2 Count Register 0xC0A4
Figure 20. Host n Count Register
Bit #
15
14
13
12
11
10
9
Read/Write
-
-
-
-
-
-
R/W
Default
0
R/W
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Field
Reserved
Count...
Field
Read/Write
Default
8
...Count
Register Description
Count (Bits [9:0])
The Host n Count register is used to hold the number of bytes
(packet length) for the current transaction. The maximum
packet length is 1023 bytes in ISO mode. The Host Count
value is used to determine how many bytes to transmit, or the
maximum number of bytes to receive. If the number of
received bytes is greater then the Host Count value then an
overflow condition will be flagged by the Overflow bit in the
Host n Endpoint Status register.
The Count field sets the value for the current transaction data
packet length. This value is retained when switching between
host and device mode, and back again.
Document #: 38-08014 Rev. *G
Reserved
All reserved bits must be written as ‘0’.
Page 21 of 78
[+] Feedback
CY7C67200
Host n Endpoint Status Register [R]
• Host 1 Endpoint Status Register 0xC086
• Host 2 Endpoint Status Register 0xC0A6
Figure 21. Host n Endpoint Status Register
Bit #
15
14
13
12
Reserved
Field
11
10
Overflow
Flag
Underflow
Flag
9
8
Reserved
Read/Write
-
-
-
-
R
R
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Stall
Flag
NAK
Flag
Length
Exception
Flag
Reserved
Sequence
Status
Timeout
Flag
Error
Flag
ACK
Flag
Read/Write
R
R
R
-
R
R
R
R
Default
0
0
0
0
0
0
0
0
Field
Register Description
Length Exception Flag (Bit 5)
The Host n Endpoint Status register is a read-only register that
provides status for the last USB transaction.
The Length Exception Flag bit indicates the received data in
the data stage of the last transaction does not equal the
maximum Host Count specified in the Host n Count register. A
Length Exception can either mean an overflow or underflow
and the Overflow and Underflow flags (bits 11 and 10, respectively) should be checked to determine which event occurred.
Overflow Flag (Bit 11)
The Overflow Flag bit indicates that the received data in the
last data transaction exceeded the maximum length specified
in the Host n Count Register. The Overflow Flag should be
checked in response to a Length Exception signified by the
Length Exception Flag set to ‘1’.
1: An overflow or underflow condition occurred
0: An overflow or underflow condition did not occur
1: Overflow condition occurred
Sequence Status (Bit 3)
0: Overflow condition did not occur
The Sequence Status bit indicates the state of the last received
data toggle from the device. Firmware is responsible for
monitoring and handling the sequence status. The Sequence
bit is only valid if the ACK bit is set to ‘1’. The Sequence bit is
set to ‘0’ when an error is detected in the transaction and the
Error bit will be set.
Underflow Flag (Bit 10)
The Underflow Flag bit indicates that the received data in the
last data transaction was less then the maximum length
specified in the Host n Count register. The Underflow Flag
should be checked in response to a Length Exception signified
by the Length Exception Flag set to ‘1’.
1: Underflow condition occurred
0: Underflow condition did not occur
1: DATA1
0: DATA0
Timeout Flag (Bit 2)
The Stall Flag bit indicates that the peripheral device replied
with a Stall in the last transaction.
The Timeout Flag bit indicates if a timeout condition occurred
for the last transaction. A timeout condition can occur when a
device either takes too long to respond to a USB host request
or takes too long to respond with a handshake.
1: Device returned Stall
1: Timeout occurred
0: Device did not return Stall
0: Timeout did not occur
NAK Flag (Bit 6)
Error Flag (Bit 1)
The NAK Flag bit indicates that the peripheral device replied
with a NAK in the last transaction.
The Error Flag bit indicates a transaction failed for any reason
other than the following: Timeout, receiving a NAK, or
receiving a STALL. Overflow and Underflow are not
considered errors and do not affect this bit. CRC5 and CRC16
errors will result in an Error flag along with receiving incorrect
packet types.
Stall Flag (Bit 7)
1: Device returned NAK
0: Device did not return NAK
1: Error detected
0: No error detected
Document #: 38-08014 Rev. *G
Page 22 of 78
[+] Feedback
CY7C67200
1: For non-Isochronous transfers, the transaction was ACKed.
For Isochronous transfers, the transaction was completed
successfully.
ACK Flag (Bit 0)
The ACK Flag bit indicates two different conditions depending
on the transfer type. For non-Isochronous transfers, this bit
represents a transaction ending by receiving or sending an
ACK packet. For Isochronous transfers, this bit represents a
successful transaction that will not be represented by an ACK
packet.
0: For non-Isochronous transfers, the transaction was not
ACKed. For Isochronous transfers, the transaction was not
completed successfully.
Host n PID Register [W]
• Host 1 PID Register 0xC086
• Host 2 PID Register 0xC0A6
Figure 22. Host n PID Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
PID Select
Endpoint Select
Read/Write
W
W
W
W
W
W
W
W
Default
0
0
0
0
0
0
0
0
Register Description
Table 26.PID Select Definition (continued)
The Host n PID register is a write-only register that provides
the PID and Endpoint information to the USB SIE to be used
in the next transaction.
PID Select (Bits [7:4])
The PID Select field defined as in Table 26. ACK and NAK
tokens are automatically sent based on settings in the Host n
Control register and do not need to be written in this register.
Table 26.PID Select Definition
PID TYPE
PID Select [7:4]
PREAMBLE
1100 (C Hex)
NAK
1010 (A Hex)
STALL
1110 (E Hex)
DATA0
0011 (3 Hex)
DATA1
1011 (B Hex)
Endpoint Select (Bits [3:0])
set-up
1101 (D Hex)
The Endpoint field allows addressing of up to 16 different
endpoints.
IN
1001 (9 Hex)
Reserved
OUT
0001 (1 Hex)
All reserved bits must be written as ‘0’.
SOF
0101 (5 Hex)
PID TYPE
Document #: 38-08014 Rev. *G
PID Select [7:4]
Page 23 of 78
[+] Feedback
CY7C67200
Host n Count Result Register [R]
• Host 1 Count Result Register 0xC088
• Host 2 Count Result Register 0xC0A8
Figure 23. Host n Count Result Register
Bit #
15
14
13
12
Field
11
10
9
8
Result...
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Result
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
Result (Bits [15:0])
The Host n Count Result register is a read-only register that
contains the size difference in bytes between the Host Count
Value specified in the Host n Count register and the last packet
received. If an overflow or underflow condition occurs, that is
the received packet length differs from the value specified in
the Host n Count register, the Length Exception Flag bit in the
Host n Endpoint Status register will be set. The value in this
register is only valid when the Length Exception Flag bit is set
and the Error Flag bit is not set; both bits are in the Host n
Endpoint Status register.
The Result field contains the differences in bytes between the
received packet and the value specified in the Host n Count
register. If an overflow condition occurs, Result [15:10] is set
to ‘111111’, a 2’s complement value indicating the additional
byte count of the received packet. If an underflow condition
occurs, Result [15:0] indicates the excess byte count (number
of bytes not used).
Reserved
All reserved bits must be written as ‘0’.
Host n Device Address Register [W]
• Host 1 Device Address Register 0xC088
• Host 2 Device Address Register 0xC0A8
Figure 24. Host n Device Address Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Reserved
Address
Read/Write
-
W
W
W
W
W
W
W
Default
0
0
0
0
0
0
0
0
Register Description
Address (Bits [6:0])
The Host n Device Address register is a write-only register that
contains the USB Device Address that the host wishes to
communicate with.
The Address field contains the value of the USB address for
the next device that the host is going to communicate with.
This value must be written by firmware.
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 24 of 78
[+] Feedback
CY7C67200
Host n Interrupt Enable Register [R/W]
• Host 1 Interrupt Enable Register 0xC08C
• Host 2 Interrupt Enable Register 0xC0AC
Figure 25. Host n Interrupt Enable Register
Bit #
15
14
Field
VBUS
Interrupt Enable
ID Interrupt
Enable
R/W
R/W
-
-
-
-
R/W
-
0
0
0
0
0
0
0
0
Read/Write
Default
Bit #
13
12
11
10
Reserved
8
SOF/EOP
Interrupt Enable
Reserved
7
6
5
4
Reserved
Port A
Wake Interrupt Enable
Reserved
Port A Connect
Change
Interrupt Enable
Read/Write
-
R/W
-
R/W
-
-
-
R/W
Default
0
0
0
0
0
0
0
0
Field
3
9
2
1
Reserved
0
Done
Interrupt Enable
Register Description
Port A Wake Interrupt Enable (Bit 6)
The Host n Interrupt Enable register allows control over
host-related interrupts.
The Port A Wake Interrupt Enable bit enables or disables the
remote wakeup interrupt for Port A.
In this register a bit set to ‘1’ enables the corresponding
interrupt while ‘0’ disables the interrupt.
1: Enable remote wakeup interrupt for Port A
VBUS Interrupt Enable (Bit 15)
Port A Connect Change Interrupt Enable (Bit 4)
The VBUS Interrupt Enable bit enables or disables the OTG
VBUS interrupt. When enabled this interrupt triggers on both
the rising and falling edge of VBUS at the 4.4V status (only
supported in Port 1A). This bit is only available for Host 1 and
is a reserved bit in Host 2.
The Port A Connect Change Interrupt Enable bit enables or
disables the Connect Change interrupt on Port A. This
interrupt triggers when either a device is inserted (SE0 state
to J state) or a device is removed (J state to SE0 state).
1: Enable VBUS interrupt
0: Disable VBUS interrupt
ID Interrupt Enable (Bit 14)
The ID Interrupt Enable bit enables or disables the OTG ID
interrupt. When enabled this interrupt triggers on both the
rising and falling edge of the OTG ID pin (only supported in
Port 1A). This bit is only available for Host 1 and is a reserved
bit in Host 2.
1: Enable ID interrupt
0: Disable ID interrupt
SOF/EOP Interrupt Enable (Bit 9)
The SOF/EOP Interrupt Enable bit enables or disables the
SOF/EOP timer interrupt.
0: Disable remote wakeup interrupt for Port A
1: Enable Connect Change interrupt
0: Disable Connect Change interrupt
Done Interrupt Enable (Bit 0)
The Done Interrupt Enable bit enables or disables the USB
Transfer Done interrupt. The USB Transfer Done triggers
when either the host responds with an ACK, or a device
responds with any of the following: ACK, NAK, STALL, or
Timeout. This interrupt is used for both Port A and Port B.
1: Enable USB Transfer Done interrupt
0: Disable USB Transfer Done interrupt
Reserved
All reserved bits must be written as ‘0’.
1: Enable SOF/EOP timer interrupt
0: Disable SOF/EOP timer interrupt
Document #: 38-08014 Rev. *G
Page 25 of 78
[+] Feedback
CY7C67200
Host n Status Register [R/W]
• Host 1 Status Register 0xC090
• Host 2 Status Register 0xC0B0
Figure 26. Host n Status Register
Bit #
15
14
Field
VBUS
Interrupt Flag
ID Interrupt
Flag
R/W
R/W
-
-
-
-
R/W
-
X
X
X
X
X
X
X
X
Read/Write
Default
Bit #
13
12
11
10
Reserved
9
8
SOF/EOP
Interrupt Flag
Reserved
7
6
5
4
3
2
1
0
Reserved
Port A
Wake Interrupt
Flag
Reserved
Port A Connect
Change
Interrupt Flag
Reserved
Port A
SE0
Status
Reserved
Done
Interrupt Flag
Read/Write
-
R/W
-
R/W
-
R/W
-
R/W
Default
X
X
X
X
X
X
X
X
Field
Register Description
Port A Wake Interrupt Flag (Bit 6)
The Host n Status register provides status information for host
operation. Pending interrupts can be cleared by writing a ‘1’ to
the corresponding bit. This register can be accessed by the
HPI interface.
The Port A Wake Interrupt Flag bit indicates remote wakeup
on Port A.
VBUS Interrupt Flag (Bit 15)
The VBUS Interrupt Flag bit indicates the status of the OTG
VBUS interrupt (only for Port 1A). When enabled this interrupt
triggers on both the rising and falling edge of VBUS at 4.4V.
This bit is only available for Host 1 and is a reserved bit in
Host 2.
1: Interrupt triggered
0: Interrupt did not trigger
Port A Connect Change Interrupt Flag (Bit 4)
1: Interrupt triggered
The Port A Connect Change Interrupt Flag bit indicates the
status of the Connect Change interrupt on Port A. This bit
triggers ‘1’ on either a rising edge or falling edge of a USB
Reset condition (device inserted or removed). Together with
the Port A SE0 Status bit, it can be determined whether a
device was inserted or removed.
0: Interrupt did not trigger
1: Interrupt triggered
ID Interrupt Flag (Bit 14)
0: Interrupt did not trigger
The ID Interrupt Flag bit indicates the status of the OTG ID
interrupt (only for Port 1A). When enabled this interrupt
triggers on both the rising and falling edge of the OTG ID pin.
This bit is only available for Host 1 and is a reserved bit in
Host 2.
Port A SE0 Status (Bit 2)
1: Interrupt triggered
0: Interrupt did not trigger
SOF/EOP Interrupt Flag (Bit 9)
The SOF/EOP Interrupt Flag bit indicates the status of the
SOF/EOP Timer interrupt. This bit triggers ‘1’ when the
SOF/EOP timer expires.
1: Interrupt triggered
0: Interrupt did not trigger
The Port A SE0 Status bit indicates if Port A is in an SE0 state
or not. Together with the Port A Connect change Interrupt Flag
bit, it can be determined whether a device was inserted
(non-SE0 condition) or removed (SE0 condition).
1: SE0 condition
0: Non-SE0 condition
Done Interrupt Flag (Bit 0)
The Done Interrupt Flag bit indicates the status of the USB
Transfer Done interrupt. The USB Transfer Done triggers
when either the host responds with an ACK, or a device
responds with any of the following: ACK, NAK, STALL, or
Timeout. This interrupt is used for both Port A and Port B.
1: Interrupt triggered
0: Interrupt did not trigger
Document #: 38-08014 Rev. *G
Page 26 of 78
[+] Feedback
CY7C67200
Host n SOF/EOP Count Register [R/W]
• Host 1 SOF/EOP Count Register 0xC092
• Host 2 SOF/EOP Count Register 0xC0B2
Figure 27. Host n SOF/EOP Count Register
Bit #
15
Field
14
13
12
11
Reserved
10
9
8
Count...
Read/Write
-
-
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
1
0
1
1
1
0
Bit #
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
1
1
1
0
0
0
0
0
Field
Read/Write
Default
...Count
Register Description
Count (Bits [13:0])
The Host n SOF/EOP Count register contains the SOF/EOP
Count Value that is loaded into the SOF/EOP counter. This
value is loaded each time the SOF/EOP counter counts down
to zero. The default value set in this register at power-up is
0x2EE0, which will generate a 1-ms time frame. The
SOF/EOP counter is a down counter decremented at a
12-MHz rate. When this register is read, the value returned is
the programmed SOF/EOP count value.
The Count field sets the SOF/EOP counter duration.
Reserved
All reserved bits must be written as ‘0’.
Host n SOF/EOP Counter Register [R]
• Host 1 SOF/EOP Counter Register 0xC094
• Host 2 SOF/EOP Counter Register 0xC0B4
Figure 28. Host n SOF/EOP Counter Register
Bit #
15
Field
14
13
12
11
Reserved
10
9
8
Counter...
Read/Write
-
-
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Read/Write
R
R
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
Field
...Counter
Register Description
Counter (Bits [13:0])
The Host n SOF/EOP Counter register contains the current
value of the SOF/EOP down counter. This value can be used
to determine the time remaining in the current frame.
The Counter field contains the current value of the SOF/EOP
down counter.
Document #: 38-08014 Rev. *G
Page 27 of 78
[+] Feedback
CY7C67200
Host n Frame Register [R]
• Host 1 Frame Register 0xC096
• Host 2 Frame Register 0xC0B6
Figure 29. Host n Frame Register
Bit #
15
14
12
11
10
Read/Write
-
-
-
-
-
R
Default
0
R
R
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Field
13
Reserved
9
8
Frame...
Field
...Frame
Register Description
Reserved
The Host n Frame register maintains the next frame number
to be transmitted (current frame number + 1). This value is
updated after each SOF transmission. This register resets to
0x0000 after each CPU write to the Host n SOF/EOP Count
register (Host 1: 0xC092, Host 2: 0xC0B2).
All reserved bits must be written as ‘0’.
Frame (Bits [10:0])
The Frame field contains the next frame number to be transmitted.
USB Device Only Registers
There are ten sets of USB Device Only registers. All sets
consist of at least two registers, one for Device Port 1 and one
for Device Port 2. In addition, each Device port has eight
possible endpoints. This gives each endpoint register set eight
registers for each Device Port for a total of 16 registers per set.
The USB Device Only registers are covered in this section and
summarized in Table 27.
Table 27.USB Device Only Registers
Register Name
Device n Endpoint n Control Register
Address
(Device 1/Device 2)
0x02n0
R/W
R/W
Device n Endpoint n Address Register
0x02n2
R/W
Device n Endpoint n Count Register
0x02n4
R/W
Device n Endpoint n Status Register
0x02n6
R/W
Device n Endpoint n Count Result Register
0x02n8
R/W
Device n Interrupt Enable Register
0xC08C/0xC0AC
R/W
Device n Address Register
0xC08E/0xC0AE
R/W
Device n Status Register
0xC090/0xCB0
R/W
Device n Frame Number Register
0xC092/0xC0B2
R
Device n SOF/EOP Count Register
0xC094/0xC0B4
W
Device n Endpoint n Control Register [R/W]
• Device n Endpoint 0 Control Register [Device 1: 0x0200 Device 2: 0x0280]
• Device n Endpoint 1 Control Register [Device 1: 0x0210 Device 2: 0x0290]
• Device n Endpoint 2 Control Register [Device 1: 0x0220 Device 2: 0x02A0]
• Device n Endpoint 3 Control Register [Device 1: 0x0230 Device 2: 0x02B0]
• Device n Endpoint 4 Control Register [Device 1: 0x0240 Device 2: 0x02C0]
• Device n Endpoint 5 Control Register [Device 1: 0x0250 Device 2: 0x02D0]
• Device n Endpoint 6 Control Register [Device 1: 0x0260 Device 2: 0x02E0]
• Device n Endpoint 7 Control Register [Device 1: 0x0270 Device 2: 0x02F0]
Document #: 38-08014 Rev. *G
Page 28 of 78
[+] Feedback
CY7C67200
Figure 30. Device n Endpoint n Control Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Sequence
Select
Stall
Enable
ISO
Enable
NAK
Interrupt
Enable
Direction
Select
Enable
Arm
Enable
Field
IN/OUT
Ignore
Enable
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Read/Write
Default
Register Description
NAK Interrupt Enable (Bit 3)
The Device n Endpoint n Control register provides control over
a single EP in device mode. There are a total of eight
endpoints for each of the two ports. All endpoints have the
same definition for their Device n Endpoint n Control register.
The NAK Interrupt Enable bit enables and disables the generation of an Endpoint n interrupt when the device responds to
the host with a NAK. The Endpoint n Interrupt Enable bit in the
Device n Interrupt Enable register must also be set. When a
NAK is sent to the host, the corresponding EP Interrupt Flag
in the Device n Status register will be set. In addition, the NAK
Flag in the Device n Endpoint n Status register will be set.
IN/OUT Ignore Enable (Bit 6)
The IN/OUT Ignore Enable bit forces endpoint 0 (EP0) to
ignore all IN and OUT requests. This bit must be set so that
EP0 only excepts Setup packets at the start of each transfer.
This bit must be cleared to except IN/OUT transactions. This
bit only applies to EP0.
1: Ignore IN/OUT requests
0: Do not ignore IN/OUT requests
Sequence Select (Bit 6)
The Sequence Select bit determines whether a DATA0 or a
DATA1 will be sent for the next data toggle. This bit has no
effect on receiving data packets, sequence checking must be
handled in firmware.
1: Send a DATA1
0: Send a DATA0
Stall Enable (Bit 5)
The Stall Enable bit sends a Stall in response to the next
request (unless it is a setup request, which are always
ACKed). This is a sticky bit and continues to respond with
Stalls until cleared by firmware.
1: Enable NAK interrupt
0: Disable NAK interrupt
Direction Select (Bit 2)
The Direction Select bit needs to be set according to the
expected direction of the next data stage in the next transaction. If the data stage direction is different from what is set
in this bit, it will get NAKed and either the IN Exception Flag or
the OUT Exception Flag will be set in the Device n Endpoint n
Status register. If a setup packet is received and the Direction
Select bit is set incorrectly, the setup will be ACKed and the
Set-up Status Flag will be set (refer to the setup bit of the
Device n Endpoint n Status register for details).
1: OUT transfer (host to device)
0: IN transfer (device to host)
Enable (Bit 1)
0: Do not send Stall
The Enable bit must be set to allow transfers to the endpoint.
If Enable is set to ‘0’ then all USB traffic to this endpoint is
ignored. If Enable is set ‘1’ and Arm Enable (bit 0) is set ‘0’ then
NAKs will automatically be returned from this endpoint (except
setup packets, which are always ACKed as long as the Enable
bit is set).
ISO Enable (Bit 4)
1: Enable transfers to an endpoint
The ISO Enable bit enables and disables an Isochronous
transaction. This bit is only valid for EPs 1–7 and has no
function for EP0.
0: Do not allow transfers to an endpoint
1: Send Stall
Arm Enable (Bit 0)
1: Enable Isochronous transaction
The Arm Enable bit arms the endpoint to transfer or receive a
packet. This bit is cleared to ‘0’ when a transaction is complete.
0: Disable Isochronous transaction
1: Arm endpoint
0: Endpoint disarmed
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 29 of 78
[+] Feedback
CY7C67200
Device n Endpoint n Address Register [R/W]
• Device n Endpoint 0 Address Register [Device 1: 0x0202 Device 2: 0x0282]
• Device n Endpoint 1 Address Register [Device 1: 0x0212 Device 2: 0x0292]
• Device n Endpoint 2 Address Register [Device 1: 0x0222 Device 2: 0x02A2]
• Device n Endpoint 3 Address Register [Device 1: 0x0232 Device 2: 0x02B2]
• Device n Endpoint 4 Address Register [Device 1: 0x0242 Device 2: 0x02C2]
• Device n Endpoint 5 Address Register [Device 1: 0x0252 Device 2: 0x02D2]
• Device n Endpoint 6 Address Register [Device 1: 0x0262 Device 2: 0x02E2]
• Device n Endpoint 7 Address Register [Device 1: 0x0272 Device 2: 0x02F2]
Figure 31. Device n Endpoint n Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Register Description
The Device n Endpoint n Address register is used as the base pointer into memory space for the current Endpoint transaction.
There are a total of eight endpoints for each of the two ports. All endpoints have the same definition for their Device n Endpoint
n Address register.
Address (Bits [15:0])
The Address field sets the base address for the current transaction on a signal endpoint.
Device n Endpoint n Count Register [R/W]
• Device n Endpoint 0 Count Register [Device 1: 0x0204 Device 2: 0x0284]
• Device n Endpoint 1 Count Register [Device 1: 0x0214 Device 2: 0x0294]
• Device n Endpoint 2 Count Register [Device 1: 0x0224 Device 2: 0x02A4]
• Device n Endpoint 3 Count Register [Device 1: 0x0234 Device 2: 0x02B4]
• Device n Endpoint 4 Count Register [Device 1: 0x0244 Device 2: 0x02C4]
• Device n Endpoint 5 Count Register [Device 1: 0x0254 Device 2: 0x02D4]
• Device n Endpoint 6 Count Register [Device 1: 0x0264 Device 2: 0x02E4]
• Device n Endpoint 7 Count Register [Device 1: 0x0274 Device 2: 0x02F4]
Figure 32. Device n Endpoint n Count Register
Bit #
15
14
13
12
11
10
9
Read/Write
-
-
-
-
-
-
R/W
Default
X
R/W
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
Reserved
Count...
Field
Read/Write
Default
8
...Count
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Document #: 38-08014 Rev. *G
Page 30 of 78
[+] Feedback
CY7C67200
Register Description
The Device n Endpoint n Count register designates the maximum packet size that can be received from the host for OUT transfers
for a single endpoint. This register also designates the packet size to be sent to the host in response to the next IN token for a
single endpoint. The maximum packet length is 1023 bytes in ISO mode. There are a total of eight endpoints for each of the two
ports. All endpoints have the same definition for their Device n Endpoint n Count register.
Count (Bits [9:0])
The Count field sets the current transaction packet length for a single endpoint.
Reserved
All reserved bits must be written as ‘0’.
Device n Endpoint n Status Register [R/W]
• Device n Endpoint 0 Status Register [Device 1: 0x0206 Device 2: 0x0286]
• Device n Endpoint 1 Status Register [Device 1: 0x0216 Device 2: 0x0296]
• Device n Endpoint 2 Status Register [Device 1: 0x0226 Device 2: 0x02A6]
• Device n Endpoint 3 Status Register [Device 1: 0x0236 Device 2: 0x02B6]
• Device n Endpoint 4 Status Register [Device 1: 0x0246 Device 2: 0x02C6]
• Device n Endpoint 5 Status Register [Device 1: 0x0256 Device 2: 0x02D6]
• Device n Endpoint 6 Status Register [Device 1: 0x0266 Device 2: 0x02E6]
• Device n Endpoint 7 Status Register [Device 1: 0x0276 Device 2: 0x02F6]
Figure 33. Device n Endpoint n Status Register
Bit #
15
14
13
12
Reserved
Field
11
10
9
8
Overflow
Flag
Underflow
Flag
OUT
Exception Flag
IN
Exception Flag
Read/Write
-
-
-
-
R/W
R/W
R/W
R/W
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
Stall
Flag
NAK
Flag
Length
Exception Flag
Setup
Flag
Sequence
Flag
Timeout
Flag
Error
Flag
ACK
Flag
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Default
Register Description
Underflow Flag (Bit 10)
The Device n Endpoint n Status register provides packet status
information for the last transaction received or transmitted.
This register is updated in hardware and does not need to be
cleared by firmware. There are a total of eight endpoints for
each of the two ports. All endpoints have the same definition
for their Device n Endpoint n Status register.
The Underflow Flag bit indicates that the received data in the
last data transaction was less then the maximum length
specified in the Device n Endpoint n Count register. The
Underflow Flag should be checked in response to a Length
Exception signified by the Length Exception Flag set to ‘1’.
The Device n Endpoint n Status register is a memory-based
register that must be initialized to 0x0000 before USB Device
operations are initiated. After initialization, this register must
not be written to again.
0: Underflow condition did not occur
Overflow Flag (Bit 11)
The Overflow Flag bit indicates that the received data in the
last data transaction exceeded the maximum length specified
in the Device n Endpoint n Count register. The Overflow Flag
should be checked in response to a Length Exception signified
by the Length Exception Flag set to ‘1’.
1: Underflow condition occurred
OUT Exception Flag (Bit 9)
The OUT Exception Flag bit indicates when the device
received an OUT packet when armed for an IN.
1: Received OUT when armed for IN
0: Received IN when armed for IN
1: Overflow condition occurred
0: Overflow condition did not occur
Document #: 38-08014 Rev. *G
Page 31 of 78
[+] Feedback
CY7C67200
IN Exception Flag (Bit 8)
1: Setup packet was received
The IN Exception Flag bit indicates when the device received
an IN packet when armed for an OUT.
0: Setup packet was not received
1: Received IN when armed for OUT
0: Received OUT when armed for OUT
Stall Flag (Bit 7)
The Stall Flag bit indicates that a Stall packet was sent to the
host.
Sequence Flag (Bit 3)
The Sequence Flag bit indicates whether the last data toggle
received was a DATA1 or a DATA0. This bit has no effect on
receiving data packets; sequence checking must be handled
in firmware.
1: DATA1 was received
1: Stall packet was sent to the host
0: DATA0 was received
0: Stall packet was not sent
Timeout Flag (Bit 2)
NAK Flag (Bit 6)
The Timeout Flag bit indicates whether a timeout condition
occurred on the last transaction. On the device side, a timeout
can occur if the device sends a data packet in response to an
IN request but then does not receive a handshake packet in a
predetermined time. It can also occur if the device does not
receive the data stage of an OUT transfer in time.
The NAK Flag bit indicates that a NAK packet was sent to the
host.
1: NAK packet was sent to the host
0: NAK packet was not sent
Length Exception Flag (Bit 5)
The Length Exception Flag bit indicates the received data in
the data stage of the last transaction does not equal the
maximum Endpoint Count specified in the Device n Endpoint
n Count register. A Length Exception can either mean an
overflow or underflow and the Overflow and Underflow flags
(bits 11 and 10, respectively) should be checked to determine
which event occurred.
1: Timeout occurred
0: Timeout condition did not occur
Error Flag (Bit 2)
The Error Flag bit is set if a CRC5 and CRC16 error occurs, or
if an incorrect packet type is received. Overflow and Underflow
are not considered errors and do not affect this bit.
1: Error occurred
1: An overflow or underflow condition occurred
0: Error did not occur
0: An overflow or underflow condition did not occur
ACK Flag (Bit 0)
Setup Flag (Bit 4)
The ACK Flag bit indicates whether the last transaction was
ACKed.
The Setup Flag bit indicates that a setup packet was received.
In device mode setup packets are stored at memory location
0x0300 for Device 1 and 0x0308 for Device 2. Setup packets
are always accepted regardless of the Direction Select and
Arm Enable bit settings as long as the Device n EP n Control
register Enable bit is set.
Document #: 38-08014 Rev. *G
1: ACK occurred
0: ACK did not occur
Page 32 of 78
[+] Feedback
CY7C67200
Device n Endpoint n Count Result Register [R/W]
• Device n Endpoint 0 Count Result Register [Device 1: 0x0208 Device 2: 0x0288]
• Device n Endpoint 1 Count Result Register [Device 1: 0x0218 Device 2: 0x0298]
• Device n Endpoint 2 Count Result Register [Device 1: 0x0228 Device 2: 0x02A8]
• Device n Endpoint 3 Count Result Register [Device 1: 0x0238 Device 2: 0x02B8]
• Device n Endpoint 4 Count Result Register [Device 1: 0x0248 Device 2: 0x02C8]
• Device n Endpoint 5 Count Result Register [Device 1: 0x0258 Device 2: 0x02D8]
• Device n Endpoint 6 Count Result Register [Device 1: 0x0268 Device 2: 0x02E8]
• Device n Endpoint 7 Count Result Register [Device 1: 0x0278 Device 2: 0x02F8]
Figure 34. Device n Endpoint n Count Result Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Result...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Result
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Register Description
Result (Bits [15:0])
The Device n Endpoint n Count Result register contains the
size difference in bytes between the Endpoint Count specified
in the Device n Endpoint n Count register and the last packet
received. If an overflow or underflow condition occurs, that is
the received packet length differs from the value specified in
the Device n Endpoint n Count register, the Length Exception
Flag bit in the Device n Endpoint n Status register will be set.
The value in this register is only considered when the Length
Exception Flag bit is set and the Error Flag bit is not set; both
bits are in the Device n Endpoint n Status register.
The Result field contains the differences in bytes between the
received packet and the value specified in the Device n
Endpoint n Count register. If an overflow condition occurs,
Result [15:10] is set to ‘111111’, a 2’s complement value
indicating the additional byte count of the received packet. If
an underflow condition occurs, Result [15:0] indicates the
excess byte count (number of bytes not used).
Reserved
All reserved bits must be written as ‘0’.
The Device n Endpoint n Count Result register is a memory
based register that must be initialized to 0x0000 before USB
Device operations are initiated. After initialization, this register
must not be written to again.
Document #: 38-08014 Rev. *G
Page 33 of 78
[+] Feedback
CY7C67200
Device n Interrupt Enable Register [R/W]
• Device 1 Interrupt Enable Register 0xC08C
• Device 2 Interrupt Enable Register 0xC0AC
Figure 35. Device n Interrupt Enable Register
Bit #
15
14
ID Interrupt
Enable
Field
VBUS
Interrupt
Enable
R/W
R/W
-
-
0
0
0
0
Read/Write
Default
13
12
Reserved
11
10
9
8
SOF/EOP
Timeout
Interrupt Enable
Reserved
SOF/EOP
Interrupt
Enable
Reset
Interrupt
Enable
R/W
-
R/W
R/W
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
EP7 Interrupt
Enable
EP6 Interrupt
Enable
EP5 Interrupt
Enable
EP4 Interrupt
Enable
EP3 Interrupt
Enable
EP2 Interrupt
Enable
EP1 Interrupt
Enable
EP0 Interrupt
Enable
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Read/Write
Default
Register Description
SOF/EOP Interrupt Enable (Bit 9)
The Device n Interrupt Enable register provides control over
device-related interrupts including eight different endpoint
interrupts.
The SOF/EOP Interrupt Enable bit enables or disables the
SOF/EOP received interrupt.
VBUS Interrupt Enable (Bit 15)
0: Disable SOF/EOP Received interrupt
The VBUS Interrupt Enable bit enables or disables the OTG
VBUS interrupt. When enabled this interrupt triggers on both
the rising and falling edge of VBUS at the 4.4V status (only
supported in Port 1A). This bit is only available for Device 1
and is a reserved bit in Device 2.
Reset Interrupt Enable (Bit 8)
1: Enable VBUS interrupt
0: Disable USB Reset Detected interrupt
0: Disable VBUS interrupt
ID Interrupt Enable (Bit 14)
1: Enable SOF/EOP Received interrupt
The Reset Interrupt Enable bit enables or disables the USB
Reset Detected interrupt
1: Enable USB Reset Detected interrupt
EP7 Interrupt Enable (Bit 7)
1: Enable ID interrupt
The EP7 Interrupt Enable bit enables or disables an endpoint
seven (EP7) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
0: Disable ID interrupt
1: Enable EP7 Transaction Done interrupt
SOF/EOP Timeout Interrupt Enable (Bit 11)
0: Disable EP7 Transaction Done interrupt
The SOF/EOP Timeout Interrupt Enable bit enables or
disables the SOF/EOP Timeout Interrupt. When enabled this
interrupt triggers when the USB host fails to send a SOF or
EOP packet within the time period specified in the Device n
SOF/EOP Count register. In addition, the Device n Frame
register counts the number of times the SOF/EOP Timeout
Interrupt triggers between receiving SOF/EOPs.
EP6 Interrupt Enable (Bit 6)
The ID Interrupt Enable bit enables or disables the OTG ID
interrupt. When enabled this interrupt triggers on both the
rising and falling edge of the OTG ID pin (only supported in
Port 1A). This bit is only available for Device 1 and is a
reserved bit in Device 2.
1: SOF/EOP timeout occurred
0: SOF/EOP timeout did not occur
The EP6 Interrupt Enable bit enables or disables an endpoint
six (EP6) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
1: Enable EP6 Transaction Done interrupt
0: Disable EP6 Transaction Done interrupt
Document #: 38-08014 Rev. *G
Page 34 of 78
[+] Feedback
CY7C67200
EP5 Interrupt Enable (Bit 5)
EP2 Interrupt Enable (Bit 2)
The EP5 Interrupt Enable bit enables or disables an endpoint
five (EP5) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
The EP2 Interrupt Enable bit enables or disables an endpoint
two (EP2) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
1: Enable EP5 Transaction Done interrupt
1: Enable EP2 Transaction Done interrupt
0: Disable EP5 Transaction Done interrupt
0: Disable EP2 Transaction Done interrupt
EP4 Interrupt Enable (Bit 4)
EP1 Interrupt Enable (Bit 1)
The EP4 Interrupt Enable bit enables or disables an endpoint
four (EP4) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
The EP1 Interrupt Enable bit enables or disables an endpoint
one (EP1) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
1: Enable EP4 Transaction Done interrupt
1: Enable EP1 Transaction Done interrupt
0: Disable EP4 Transaction Done interrupt
0: Disable EP1 Transaction Done interrupt
EP3 Interrupt Enable (Bit 3)
EP0 Interrupt Enable (Bit 0)
The EP3 Interrupt Enable bit enables or disables an endpoint
three (EP3) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
The EP0 Interrupt Enable bit enables or disables an endpoint
zero (EP0) Transaction Done interrupt. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Enable bit in the Device n Endpoint Control register can also
be set so that NAK responses triggers this interrupt.
1: Enable EP3 Transaction Done interrupt
1: Enable EP0 Transaction Done interrupt
0: Disable EP3 Transaction Done interrupt
0: Disable EP0 Transaction Done interrupt
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 35 of 78
[+] Feedback
CY7C67200
Device n Address Register [W]
• Device 1 Address Register 0xC08E
• Device 2 Address Register 0xC0AE
Figure 36. Device n Address Register
Bit #
15
14
13
12
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Reserved
Field
11
10
9
8
Reserved...
Address
Read/Write
-
W
W
W
W
W
W
W
Default
0
0
0
0
0
0
0
0
Register Description
The Device n Address register holds the device address assigned by the host. This register initializes to the default address 0 at
reset but must be updated by firmware when the host assigns a new address. Only USB data sent to the address contained in
this register will be responded to, all others are ignored.
Address (Bits [6:0])
The Address field contains the USB address of the device assigned by the host.
Reserved
All reserved bits must be written as ‘0’.
Device n Status Register [R/W]
• Device 1 Status Register 0xC090
• Device 2 Status Register 0xC0B0
Figure 37. Device n Status Register
Bit #
15
14
Field
VBUS
Interrupt Flag
ID Interrupt
Flag
R/W
R/W
-
-
-
X
X
X
X
X
Read/Write
Default
13
12
11
10
9
8
SOF/EOP
Interrupt Flag
Reset
Interrupt Flag
-
R/W
R/W
X
X
X
Reserved
Bit #
7
6
5
4
3
2
1
0
Field
EP7 Interrupt
Flag
EP6 Interrupt
Flag
EP5 Interrupt
Flag
EP4 Interrupt
Flag
EP3 Interrupt
Flag
EP2 Interrupt
Flag
EP1 Interrupt
Flag
EP0 Interrupt
Flag
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Read/Write
Default
Register Description
ID Interrupt Flag (Bit 14)
The Device n Status register provides status information for
device operation. Pending interrupts can be cleared by writing
a ‘1’ to the corresponding bit. This register can be accessed
by the HPI interface.
The ID Interrupt Flag bit indicates the status of the OTG ID
interrupt (only for Port 1A). When enabled this interrupt
triggers on both the rising and falling edge of the OTG ID pin.
This bit is only available for Device 1 and is a reserved bit in
Device 2.
1: Interrupt triggered
0: Interrupt did not trigger
VBUS Interrupt Flag (Bit 15)
The VBUS Interrupt Flag bit indicates the status of the OTG
VBUS interrupt (only for Port 1A). When enabled this interrupt
triggers on both the rising and falling edge of VBUS at 4.4V.
This bit is only available for Device 1 and is a reserved bit in
Device 2.
1: Interrupt triggered
0: Interrupt did not trigger
Document #: 38-08014 Rev. *G
SOF/EOP Interrupt Flag (Bit 9)
The SOF/EOP Interrupt Flag bit indicates if the SOF/EOP
received interrupt has triggered.
1: Interrupt triggered
0: Interrupt did not trigger
Page 36 of 78
[+] Feedback
CY7C67200
Reset Interrupt Flag (Bit 8)
0: Interrupt did not trigger
The Reset Interrupt Flag bit indicates if the USB Reset
Detected interrupt has triggered.
EP3 Interrupt Flag (Bit 3)
1: Interrupt triggered
0: Interrupt did not trigger
EP7 Interrupt Flag (Bit 7)
The EP7 Interrupt Flag bit indicates if the endpoint seven
(EP7) Transaction Done interrupt has triggered. An EPx
Transaction Done interrupt triggers when any of the following
responses or events occur in a transaction for the device’s
given EP: send/receive ACK, send STALL, Timeout occurs, IN
Exception Error, or OUT Exception Error. In addition, if the
NAK Interrupt Enable bit in the Device n Endpoint Control
register is set, this interrupt also triggers when the device
NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP6 Interrupt Flag (Bit 6)
The EP6 Interrupt Flag bit indicates if the endpoint six (EP6)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP5 Interrupt Flag (Bit 5)
The EP5 Interrupt Flag bit indicates if the endpoint five (EP5)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP4 Interrupt Flag (Bit 4)
The EP4 Interrupt Flag bit indicates if the endpoint four (EP4)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
The EP3 Interrupt Flag bit indicates if the endpoint three (EP3)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP2 Interrupt Flag (Bit 2)
The EP2 Interrupt Flag bit indicates if the endpoint two (EP2)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP1 Interrupt Flag (Bit 1)
The EP1 Interrupt Flag bit indicates if the endpoint one (EP1)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
EP0 Interrupt Flag (Bit 0)
The EP0 Interrupt Flag bit indicates if the endpoint zero (EP0)
Transaction Done interrupt has triggered. An EPx Transaction
Done interrupt triggers when any of the following responses or
events occur in a transaction for the device’s given EP:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, if the NAK Interrupt
Enable bit in the Device n Endpoint Control register is set, this
interrupt also triggers when the device NAKs host requests.
1: Interrupt triggered
0: Interrupt did not trigger
Reserved
All reserved bits must be written as ‘0’.
1: Interrupt triggered
Document #: 38-08014 Rev. *G
Page 37 of 78
[+] Feedback
CY7C67200
Device n Frame Number Register [R]
• Device 1 Frame Number Register 0xC092
• Device 2 Frame Number Register 0xC0B2
Figure 38. Device n Frame Number Register
Bit #
15
Field
SOF/EOP
Timeout Flag
14
13
12
SOF/EOP
Timeout Interrupt Counter
11
10
Reserved
9
8
Frame...
Read/Write
R
R
R
R
-
R
R
R
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Frame
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
SOF/EOP Timeout Interrupt Counter (Bits [14:12])
The Device n Frame Number register is a read only register
that contains the Frame number of the last SOF packet
received. This register also contains a count of SOF/EOP
Timeout occurrences.
The SOF/EOP Timeout Interrupt Counter field increments by
1 from 0 to 7 for each SOF/EOP Timeout Interrupt. This field
resets to 0 when a SOF/EOP is received. This field is only
updated when the SOF/EOP Timeout Interrupt Enable bit in
the Device n Interrupt Enable register is set.
SOF/EOP Timeout Flag (Bit 15)
Frame (Bits [10:0])
The SOF/EOP Timeout Flag bit indicates when an SOF/EOP
Timeout Interrupt occurs.
The Frame field contains the frame number from the last
received SOF packet in full speed mode. This field has no
function for low-speed mode. If a SOF Timeout occurs, this
field contains the last received Frame number.
1: An SOF/EOP Timeout interrupt occurred
0: An SOF/EOP Timeout interrupt did not occur
Device n SOF/EOP Count Register [W]
• Device 1 SOF/EOP Count Register 0xC094
• Device 2 SOF/EOP Count Register 0xC0B4
Figure 39. Device n SOF/EOP Count Register
Bit #
15
Field
14
13
12
11
Reserved
10
9
8
Count...
Read/Write
-
-
R
R
R
R
R
R
Default
0
0
1
0
1
1
1
0
Bit #
7
6
5
4
3
2
1
0
Field
...Count
Read/Write
R
R
R
R
R
R
R
R
Default
1
1
1
0
0
0
0
0
Register Description
The Device n SOF/EOP Count register must be written with
the time expected between receiving a SOF/EOPs. If the
SOF/EOP counter expires before an SOF/EOP is received, an
SOF/EOP Timeout Interrupt can be generated. The SOF/EOP
Timeout Interrupt Enable and SOF/EOP Timeout Interrupt
Flag are located in the Device n Interrupt Enable and Status
registers, respectively.
The SOF/EOP count must be set slightly greater than the
expected SOF/EOP interval. The SOF/EOP counter decrements at a 12-MHz rate. Therefore in the case of an expected
Document #: 38-08014 Rev. *G
1-ms SOF/EOP interval, the SOF/EOP count must be set
slightly greater then 0x2EE0.
Count (Bits [13:0])
The Count field contains the current value of the SOF/EOP
down counter. At power-up and reset, this value is set to
0x2EE0 and for expected 1-ms SOF/EOP intervals, this
SOF/EOP count should be increased slightly.
Reserved
All reserved bits must be written as ‘0’.
Page 38 of 78
[+] Feedback
CY7C67200
OTG Control Registers
Table 28.OTG Registers
There is one register dedicated for OTG operation. This
register is covered in this section and summarized in Table 28.
Register Name
OTG Control Register
Address
R/W
C098H
R/W
OTG Control Register [0xC098] [R/W]
Figure 40. OTG Control Register
Bit #
15
Field
14
Reserved
13
12
11
10
9
8
VBUS
Pull-up
Enable
Receive
Disable
Charge Pump
Enable
VBUS
Discharge
Enable
D+
Pull-up
Enable
D–
Pull-up
Enable
Read/Write
-
-
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
5
4
3
Bit #
7
6
Field
D+
Pull-down
Enable
D–
Pull-down
Enable
Read/Write
R/W
R/W
-
-
Default
0
0
0
0
2
1
0
OTG Data
Status
ID
Status
VBUS Valid
Flag
-
R
R
R
0
X
X
X
Reserved
Register Description
D– Pull-up Enable (Bit 8)
The OTG Control register allows control and monitoring over
the OTG port on Port1A.
The D– Pull-up Enable bit enables or disables a pull-up
resistor on the OTG D– data line.
VBUS Pull-up Enable (Bit 13)
1: OTG D– dataline pull-up resistor enabled
The VBUS Pull-up Enable bit enables or disables a 500 ohm
pull-up resistor onto OTG VBus.
0: OTG D– dataline pull-up resistor disabled
1: 500 ohm pull-up resistor enabled
0: 500 ohm pull-up resistor disabled
The D+ Pull-down Enable bit enables or disables a pull-down
resistor on the OTG D+ data line.
Receive Disable (Bit 12)
1: OTG D+ dataline pull-down resistor enabled
The Receive Disable bit enables or powers down (disables)
the OTG receiver section.
0: OTG D+ dataline pull-down resistor disabled
1: OTG receiver powered down and disabled
0: OTG receiver enabled
The D– Pull-down Enable bit enables or disables a pull-down
resistor on the OTG D– data line.
Charge Pump Enable (Bit 11)
1: OTG D– dataline pull-down resistor enabled
The Charge Pump Enable bit enables or disables the OTG
VBus charge pump.
0: OTG D– dataline pull-down resistor disabled
1: OTG VBus charge pump enabled
0: OTG VBus charge pump disabled
The OTG Data Status bit is a read only bit and indicates the
TTL logic state of the OTG VBus pin.
VBUS Discharge Enable (Bit 10)
1: OTG VBus is greater than 2.4V
The VBUS Discharge Enable bit enables or disables a 2K-ohm
discharge pull-down resistor onto OTG VBus.
0: OTG VBus is less than 0.8V
1: 2K-ohm pull-down resistor enabled
0: 2K-ohm pull-down resistor disabled
The ID Status bit is a read only bit that indicates the state of
the OTG ID pin on Port A.
D+ Pull-up Enable (Bit 9)
1: OTG ID Pin is not connected directly to ground (>10K ohm)
The D+ Pull-up Enable bit enables or disables a pull-up
resistor on the OTG D+ data line.
0: OTG ID Pin is connected directly ground (< 10 ohm)
D+ Pull-down Enable (Bit 7)
D– Pull-down Enable (Bit 6)
OTG Data Status (Bit 2)
ID Status (Bit 1)
1: OTG D+ dataline pull-up resistor enabled
0: OTG D+ dataline pull-up resistor disabled
Document #: 38-08014 Rev. *G
Page 39 of 78
[+] Feedback
CY7C67200
1: OTG VBus is greater then 4.4V
0: OTG VBus is less then 4.4V
VBUS Valid Flag (Bit 0)
The VBUS Valid Flag bit indicates whether OTG VBus is
greater than 4.4V. After turning on VBUS, firmware should wait
at least 10 µs before this reading this bit.
Reserved
All reserved bits must be written as ‘0’.
GPIO Registers
There are seven registers dedicated for GPIO operations. These seven registers are covered in this section and summarized in
Table 29.
Table 29.GPIO Registers
Address
R/W
GPIO Control Register
Register Name
0xC006
R/W
GPIO0 Output Data Register
0xC01E
R/W
GPIO0 Input Data Register
0xC020
R
GPIO0 Direction Register
0xC022
R/W
GPIO1 Output Data Register
0xC024
R/W
GPIO1 Input Data Register
0xC026
R
GPIO1 Direction Register
0xC028
R/W
GPIO Control Register [0xC006] [R/W]
Figure 41. GPIO Control Register
Bit #
15
14
Reserved
Field
Write Protect
Enable
R/W
-
R
-
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
4
3
2
Read/Write
Default
13
12
Reserved
11
Bit #
7
6
5
Reserved
Field
HSS
Enable
SPI
Enable
R/W
-
R/W
-
-
0
0
0
0
0
Read/Write
Default
10
9
SAS
Enable
8
Mode
Select
1
0
Interrupt 0
Polarity Select
Interrupt 0
Enable
-
R/W
R/W
0
0
0
Reserved
Register Description
Mode Select (Bits [10:8])
The GPIO Control register configures the GPIO pins for
various interface options. It also controls the polarity of the
GPIO interrupt on IRQ0 (GPIO24).
The Mode Select field selects how GPIO[15:0] and
GPIO[24:19] are used as defined in Table 30.
Write Protect Enable (Bit 15)
The Write Protect Enable bit enables or disables the GPIO
write protect. When Write Protect is enabled, the GPIO Mode
Select [15:8] bits are read-only until a chip reset.
1: Enable Write Protect
0: Disable Write Protect
SAS Enable (Bit 11)
The SAS Enable bit, when in SPI mode, reroutes the SPI port
SPI_nSSI pin to GPIO[15] rather then GPIO[9].
1: Reroute SPI_nss to GPIO[15]
0: Leave SPI_nss on GPIO[9]
Document #: 38-08014 Rev. *G
Table 30.Mode Select Definition
Mode Select
[10:8]
111
110
101
100
011
010
001
000
GPIO Configuration
Reserved
SCAN – (HW) Scan diagnostic. For production test only. Not for normal operation
HPI – Host Port Interface
Reserved
Reserved
Reserved
Reserved
GPIO – General Purpose Input Output
Page 40 of 78
[+] Feedback
CY7C67200
HSS Enable (Bit 7)
Interrupt 0 Polarity Select (Bit 1)
The HSS Enable bit routes HSS to GPIO[15:12].
The Interrupt 0 Polarity Select bit selects the polarity for IRQ0.
1: HSS is routed to GPIO
1: Sets IRQ0 to rising edge
0: HSS is not routed to GPIOs. GPIO[15:12] are free for other
purposes.
0: Sets IRQ0 to falling edge
SPI Enable (Bit 5)
The Interrupt 0 Enable bit enables or disables IRQ0. The GPIO
bit on the interrupt Enable register must also be set in order for
this for this interrupt to be enabled.
Interrupt 0 Enable (Bit 0)
The SPI Enable bit routes SPI to GPIO[11:8]. If the SAS
Enable bit is set, it overrides and routes the SPI_nSSI pin to
GPIO15.
1: Enable IRQ0
1: SPI is routed to GPIO[11:8]
0: Disable IRQ0
0: SPI is not routed to GPIO[11:8]. GPIO[11:8] are free for
other purposes.
Reserved
All reserved bits must be written as ‘0’.
GPIO 0 Output Data Register [0xC01E] [R/W]
Figure 42. GPIO 0 Output Data Register
Bit #
15
14
13
12
11
10
9
8
Field
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Read/Write
Read/Write
Default
Register Description
The GPIO 0 Output Data register controls the output data of the GPIO pins. The GPIO 0 Output Data register controls GPIO15
to GPIO0 while the GPIO 1 Output Data register controls GPIO31 to GPIO19. When read, this register reads back the last data
written, not the data on pins configured as inputs (see Input Data Register).
Writing a 1 to any bit will output a high voltage on the corresponding GPIO pin.
Reserved
All reserved bits must be written as ‘0’.
GPIO 1 Output Data Register [0xC024] [R/W]
Figure 43. GPIO n Output Data Register
Bit #
15
14
13
Field
GPIO31
GPIO30
GPIO29
R/W
R/W
Default
0
Bit #
Field
Read/Write
Read/Write
Default
12
11
10
9
R/W
-
-
-
-
0
0
R/W
0
0
0
0
0
7
6
5
4
3
2
1
0
GPIO23
R/W
GPIO22
GPIO21
GPIO20
GPIO19
R/W
R/W
R/W
R/W
-
0
-
-
0
0
0
0
0
0
0
Reserved
8
GPIO24
Reserved
Register Description
The GPIO 1 Output Data register controls the output data of the GPIO pins. The GPIO 0 Output Data register controls GPIO15
to GPIO0 while the GPIO 1 Output Data register controls GPIO31 to GPIO19. When read, this register reads back the last data
written, not the data on pins configured as inputs (see Input Data Register).
Document #: 38-08014 Rev. *G
Page 41 of 78
[+] Feedback
CY7C67200
Writing a 1 to any bit will output a high voltage on the corresponding GPIO pin.
Reserved
All reserved bits must be written as ‘0’.
GPIO 0 Input Data Register [0xC020] [R]
Figure 44. GPIO 0 Input Data Register
Bit #
15
14
13
12
11
10
9
8
Field
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
The GPIO 0 Input Data register reads the input data of the GPIO pins. The GPIO 0 Input Data register reads from GPIO15 to
GPIO0 while the GPIO 1 Input Data register reads from GPIO31 to GPIO19.
Every bit represents the voltage of that GPIO pin.
GPIO 1 Input Data Register [0xC026] [R]
Figure 45. GPIO 1 Input Data Register
Bit #
15
14
13
Field
12
11
10
9
Reserved
8
GPIO31
GPIO30
GPIO29
Read/Write
R
R
R
-
-
-
-
GPIO24
R
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
Read/Write
R
R
R
R
R
-
Reserved
-
-
Default
0
0
0
0
0
0
0
0
Register Description
The GPIO 1 Input Data register reads the input data of the GPIO pins. The GPIO 0 Input Data register reads from GPIO15 to
GPIO0 while the GPIO 1 Input Data register reads from GPIO31 to GPIO19.
Every bit represents the voltage of that GPIO pin.
GPIO 0 Direction Register [0xC022] [R/W]
Figure 46. GPIO 0 Direction Register
Bit #
15
14
13
12
11
10
9
8
Field
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Read/Write
Default
Bit #
7
6
5
4
3
2
1
0
Field
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Read/Write
Default
Document #: 38-08014 Rev. *G
Page 42 of 78
[+] Feedback
CY7C67200
Register Description
The GPIO 0 Direction register controls the direction of the GPIO data pins (input/output). The GPIO 0 Direction register controls
GPIO15 to GPIO0 while the GPIO 1 Direction register controls GPIO31 to GPIO19.
When any bit of this register is set to ‘1’, the corresponding GPIO data pin becomes an output. When any bit of this register is
set to ‘0’, the corresponding GPIO data pin becomes an input.
Reserved
All reserved bits must be written as ‘0’.
GPIO 1 Direction Register [0xC028] [R/W]
Figure 47. GPIO 1 Direction Register
Bit #
15
14
13
Field
GPIO31
GPIO30
GPIO29
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
2
1
0
Read/Write
Default
12
11
10
9
Reserved
8
GPIO24
Bit #
7
6
5
4
3
Field
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Read/Write
Default
Reserved
Register Description
The GPIO 1 Direction register controls the direction of the GPIO data pins (input/output). The GPIO 0 Direction register controls
GPIO15 to GPIO0 while the GPIO 1 Direction register controls GPIO31 to GPIO19.
When any bit of this register is set to ‘1’, the corresponding GPIO data pin becomes an output. When any bit of this register is
set to ‘0’, the corresponding GPIO data pin becomes an input.
Reserved
All reserved bits must be written as ‘0’.
HSS Registers
There are eight registers dedicated to HSS operation. Each of these registers are covered in this section and summarized in
Table 31.
Table 31.HSS Registers
Register Name
HSS Control Register
Address
R/W
0xC070
R/W
HSS Baud Rate Register
0xC072
R/W
HSS Transmit Gap Register
0xC074
R/W
HSS Data Register
0xC076
R/W
HSS Receive Address Register
0xC078
R/W
HSS Receive Length Register
0xC07A
R/W
HSS Transmit Address Register
0xC07C
R/W
HSS Transmit Length Register
0xC07E
R/W
Document #: 38-08014 Rev. *G
Page 43 of 78
[+] Feedback
CY7C67200
HSS Control Register [0xC070] [R/W]
Figure 48. HSS Control Register
Bit #
15
14
13
12
11
10
9
8
HSS
Enable
RTS
Polarity Select
CTS
Polarity Select
XOFF
XOFF
Enable
CTS
Enable
Receive
Interrupt
Enable
Done
Interrupt
Enable
R/W
R/W
R/W
R
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
7
6
Field
Read/Write
Default
Bit #
Field
Transmit
Receive
Done Interrupt Done Interrupt
Enable
Enable
Read/Write
5
4
3
2
1
0
One
Stop Bit
Transmit
Ready
Packet
Mode
Select
Receive
Overflow
Flag
Receive
Packet Ready
Flag
Receive
Ready
Flag
R/W
R/W
R/W
R
R/W
R/W
R
R
0
0
0
0
0
0
0
0
Default
Register Description
Receive Interrupt Enable (Bit 9)
The HSS Control register provides high-level status and
control over the HSS port.
The Receive Interrupt Enable bit enables or disables the
Receive Ready and Receive Packet Ready interrupts.
HSS Enable (Bit 15)
1: Enable the Receive Ready and Receive Packet Ready
interrupts
The HSS Enable bit enables or disables HSS operation.
1: Enables HSS operation
0: Disables HSS operation
RTS Polarity Select (Bit 14)
0: Disable the Receive Ready and Receive Packet Ready
interrupts
Done Interrupt Enable (Bit 8)
The RTS Polarity Select bit selects the polarity of RTS.
The Done Interrupt Enable bit enables or disables the Transmit
Done and Receive Done interrupts.
1: RTS is true when LOW
1: Enable the Transmit Done and Receive Done interrupts
0: RTS is true when HIGH
0: Disable the Transmit Done and Receive Done interrupts
CTS Polarity Select (Bit 13)
Transmit Done Interrupt Flag (Bit 7)
The CTS Polarity Select bit selects the polarity of CTS.
1: CTS is true when LOW
The Transmit Done Interrupt Flag bit indicates the status of the
Transmit Done Interrupt. It will set when a block transmit is
finished. To clear the interrupt, a ‘1’ must be written to this bit.
0: CTS is true when HIGH
1: Interrupt triggered
XOFF (Bit 12)
0: Interrupt did not trigger
The XOFF bit is a read-only bit that indicates if an XOFF has
been received. This bit is automatically cleared when an XON
is received.
Receive Done Interrupt Flag (Bit 6)
1: XOFF received
The Receive Done Interrupt Flag bit indicates the status of the
Receive Done Interrupt. It will set when a block transmit is
finished. To clear the interrupt, a ‘1’ must be written to this bit.
0: XON received
1: Interrupt triggered
XOFF Enable (Bit 11)
0: Interrupt did not trigger
The XOFF Enable bit enables or disables XON/XOFF software
handshaking.
One Stop Bit (Bit 5)
0: Disable XON/XOFF software handshaking
The One Stop Bit bit selects between one and two stop bits for
transmit byte mode. In receive mode, the number of stop bits
may vary and does not need to be fixed.
CTS Enable (Bit 10)
1: One stop bit
The CTS Enable bit enables or disables CTS/RTS hardware
handshaking.
0: Two stop bits
1: Enable XON/XOFF software handshaking
1: Enable CTS/RTS hardware handshaking
0: Disable CTS/RTS hardware handshaking
Document #: 38-08014 Rev. *G
Page 44 of 78
[+] Feedback
CY7C67200
Transmit Ready (Bit 4)
Receive Packet Ready Flag (Bit 1)
The Transmit Ready bit is a read only bit that indicates if the
HSS Transmit FIFO is ready for the CPU to load new data for
transmission.
The Receive Packet Ready Flag bit is a read only bit that
indicates if the HSS receive FIFO is full with eight bytes.
1: HSS transmit FIFO ready for loading
0: HSS receive FIFO is not full
1: HSS receive FIFO is full
0: HSS transmit FIFO not ready for loading
Receive Ready Flag (Bit 0)
Packet Mode Select (Bit 3)
The Receive Ready Flag is a read only bit that indicates if the
HSS receive FIFO is empty.
The Packet Mode Select bit selects between Receive Packet
Ready and Receive Ready as the interrupt source for the
RxIntr interrupt.
1: HSS receive FIFO is not empty (one or more bytes is
reading for reading)
1: Selects Receive Packet Ready as the source
0: HSS receive FIFO is empty
0: Selects Receive Ready as the source
Receive Overflow Flag (Bit 2)
The Receive Overflow Flag bit indicates if the Receive FIFO
overflowed when set. This flag can be cleared by writing a ‘1’
to this bit.
1: Overflow occurred
0: Overflow did not occur
HSS Baud Rate Register [0xC072] [R/W]
Figure 49. HSS Baud Rate Register
Bit #
15
Field
14
13
12
11
Reserved
10
9
8
Baud...
Read/Write
-
-
-
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Baud
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
1
0
1
1
1
Register Description
The HSS Baud Rate register sets the HSS Baud Rate. At reset, the default value is 0x0017 which sets the baud rate to 2.0 MHz.
Baud (Bits [12:0])
The Baud field is the baud rate divisor minus one, in units of 1/48 MHz. Therefore the Baud Rate = 48 MHz/(Baud + 1). This puts
a constraint on the Baud Value as follows: (24 – 1) < Baud > (5000 – 1)
Reserved
All reserved bits must bit written as ‘0’.
Document #: 38-08014 Rev. *G
Page 45 of 78
[+] Feedback
CY7C67200
HSS Transmit Gap Register [0xC074] [R/W]
Figure 50. HSS Transmit Gap Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
Transmit Gap Select
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
1
0
0
1
Register Description
The HSS Transmit Gap register is only valid in block transmit mode. It allows for a programmable number of stop bits to be inserted
thus overwriting the One Stop Bit in the HSS Control register. The default reset value of this register is 0x0009, equivalent to two
stop bits.
Transmit Gap Select (Bits [7:0])
The Transmit Gap Select field sets the inactive time between transmitted bytes. The inactive time = (Transmit Gap Select – 7) *
bit time. Therefore an Transmit Gap Select Value of 8 is equal to having one Stop bit.
Reserved
All reserved bits must be written as ‘0’.
HSS Data Register [0xC076] [R/W]
Figure 51. HSS Data Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Field
Read/Write
Default
Data
Register Description
The HSS Data register contains data received on the HSS port (not for block receive mode) when read. This receive data is valid
when the Receive Ready bit of the HSS Control register is set to ‘1’. Writing to this register initiates a single byte transfer of data.
The Transmit Ready Flag in the HSS Control register must read ‘1’ before writing to this register (this avoids disrupting the
previous/current transmission).
Data (Bits [7:0])
The Data field contains the data received or to be transmitted on the HSS port.
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 46 of 78
[+] Feedback
CY7C67200
HSS Receive Address Register [0xC078] [R/W]
Figure 52. HSS Receive Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Default
Register Description
The HSS Receive Address register is used as the base pointer address for the next HSS block receive transfer.
Address (Bits [15:0])
The Address field sets the base pointer address for the next HSS block receive transfer.
HSS Receive Counter Register [0xC07A] [R/W]
Figure 53. HSS Receive Counter Register
Bit #
15
14
13
Field
12
11
10
9
Reserved
8
Counter...
Read/Write
-
-
-
-
-
-
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Field
Read/Write
...Counter
Default
Register Description
The HSS Receive Counter register designates the block byte length for the next HSS receive transfer. This register must be
loaded with the word count minus one to start the block receive transfer. As each byte is received this register value is decremented. When read, this register indicates the remaining length of the transfer.
Counter (Bits [9:0])
The Counter field value is equal to the word count minus one giving a maximum value of 0x03FF (1023) or 2048 bytes. When
the transfer is complete this register returns 0x03FF until reloaded.
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 47 of 78
[+] Feedback
CY7C67200
HSS Transmit Address Register [0xC07C] [R/W]
Figure 54. HSS Transmit Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Default
Register Description
The HSS Transmit Address register is used as the base pointer address for the next HSS block transmit transfer.
Address (Bits [15:0])
The Address field sets the base pointer address for the next HSS block transmit transfer.
HSS Transmit Counter Register [0xC07E] [R/W]
Figure 55. HSS Transmit Counter Register
Bit #
15
14
13
12
11
10
9
Read/Write
-
-
-
-
-
-
R/W
Default
0
R/W
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Field
Reserved
Counter...
Field
Read/Write
8
...Counter
Default
Register Description
HPI Registers
The HSS Transmit Counter register designates the block byte
length for the next HSS transmit transfer. This register must be
loaded with the word count minus one to start the block
transmit transfer. As each byte is transmitted this register
value is decremented. When read, this register indicates the
remaining length of the transfer.
There are five registers dedicated to HPI operation. In
addition, there is an HPI status port which can be address over
HPI. Each of these registers is covered in this section and are
summarized in Table 32.
Counter (Bits [9:0])
The Counter field value is equal to the word count minus one
giving a maximum value of 0x03FF (1023) or 2048 bytes.
When the transfer is complete this register returns 0x03FF
until reloaded.
Reserved
Table 32.HPI Registers
Register Name
Address
R/W
HPI Breakpoint Register
0x0140
R
Interrupt Routing Register
0x0142
R
SIE1msg Register
0x0144
W
SIE2msg Register
0x0148
W
HPI Mailbox Register
0xC0C6
R/W
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 48 of 78
[+] Feedback
CY7C67200
HPI Breakpoint Register [0x0140] [R]
Figure 56. HPI Breakpoint Register
Bit #
15
14
13
12
Field
11
10
9
8
Address...
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Address
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
The HPI Breakpoint register is a special on-chip memory location, which the external processor can access using normal HPI
memory read/write cycles. This register is read-only by the CPU but is read/write by the HPI port. The contents of this register
have the same effect as the Breakpoint register [0xC014]. This special Breakpoint register is used by software debuggers which
interface through the HPI port instead of the serial port.
When the program counter matches the Breakpoint Address, the INT127 interrupt triggers. To clear this interrupt, a zero value
must be written to this register.
Address (Bits [15:0])
The Address field is a 16-bit field containing the breakpoint address.
Interrupt Routing Register [0x0142] [R]
Figure 57. Interrupt Routing Register
Bit #
15
14
13
12
11
10
9
Field
VBUS to HPI
Enable
ID to HPI
Enable
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
1
0
1
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Resume2 to
HPI Enable
Resume1 to
HPI Enable
SOF/EOP2 to SOF/EOP2 to SOF/EOP1 to SOF/EOP1 to Reset2 to HPI
HPI Enable
CPU Enable
HPI Enable
CPU Enable
Enable
Reserved
Done2 to HPI
Enable
Done1 to HPI Reset1 to HPI
Enable
Enable
8
HPI Swap 1
Enable
HPI Swap 0
Enable
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Register Description
ID to HPI Enable (Bit 14)
The Interrupt Routing register allows the HPI port to take over
some or all of the SIE interrupts that usually go to the on-chip
CPU. This register is read-only by the CPU but is read/write by
the HPI port. By setting the appropriate bit to ‘1’, the SIE
interrupt is routed to the HPI port to become the HPI_INTR
signal and also readable in the HPI Status register. The bits in
this register select where the interrupts are routed. The
individual interrupt enable is handled in the SIE interrupt
enable register.
The ID to HPI Enable bit routes the OTG ID interrupt to the HPI
port instead of the on-chip CPU.
VBUS to HPI Enable (Bit 15)
1: Route signal to HPI port
The VBUS to HPI Enable bit routes the OTG VBUS interrupt
to the HPI port instead of the on-chip CPU.
0: Do not route signal to HPI port
1: Route signal to HPI port
0: Do not route signal to HPI port
SOF/EOP2 to HPI Enable (Bit 13)
The SOF/EOP2 to HPI Enable bit routes the SOF/EOP2
interrupt to the HPI port.
1: Route signal to HPI port
0: Do not route signal to HPI port
Document #: 38-08014 Rev. *G
Page 49 of 78
[+] Feedback
CY7C67200
SOF/EOP2 to CPU Enable (Bit 12)
Resume2 to HPI Enable (Bit 7)
The SOF/EOP2 to CPU Enable bit routes the SOF/EOP2
interrupt to the on-chip CPU. Since the SOF/EOP2 interrupt
can be routed to both the on-chip CPU and the HPI port the
firmware must ensure only one of the two (CPU, HPI) resets
the interrupt.
The Resume2 to HPI Enable bit routes the USB Resume
interrupt that occurs on Host 2 to the HPI port instead of the
on-chip CPU.
1: Route signal to CPU
1: Route signal to HPI port
0: Do not route signal to HPI port
0: Do not route signal to CPU
Resume1 to HPI Enable (Bit 6)
SOF/EOP1 to HPI Enable (Bit 11)
The Resume1 to HPI Enable bit routes the USB Resume
interrupt that occurs on Host 1 to the HPI port instead of the
on-chip CPU.
The SOF/EOP1 to HPI Enable bit routes the SOF/EOP1
interrupt to the HPI port.
1: Route signal to HPI port
0: Do not route signal to HPI port
SOF/EOP1 to CPU Enable (Bit 10)
The SOF/EOP1 to CPU Enable bit routes the SOF/EOP1
interrupt to the on-chip CPU. Since the SOF/EOP1 interrupt
can be routed to both the on-chip CPU and the HPI port the
firmware must ensure only one of the two (CPU, HPI) resets
the interrupt.
1: Route signal to CPU
1: Route signal to HPI port
0: Do not route signal to HPI port
Done2 to HPI Enable (Bit 3)
The Done2 to HPI Enable bit routes the Done interrupt for
Host/Device 2 to the HPI port instead of the on-chip CPU.
1: Route signal to HPI port
0: Do not route signal to HPI port
Done1 to HPI Enable (Bit 2)
0: Do not route signal to CPU
The Done1 to HPI Enable bit routes the Done interrupt for
Host/Device 1 to the HPI port instead of the on-chip CPU.
Reset2 to HPI Enable (Bit 9)
1: Route signal to HPI port
The Reset2 to HPI Enable bit routes the USB Reset interrupt
that occurs on Device 2 to the HPI port instead of the on-chip
CPU.
0: Do not route signal to HPI port
1: Route signal to HPI port
0: Do not route signal to HPI port
The Reset1 to HPI Enable bit routes the USB Reset interrupt
that occurs on Device 1 to the HPI port instead of the on-chip
CPU.
HPI Swap 1 Enable (Bit 8)
1: Route signal to HPI port
Both HPI Swap bits (bits 8 and 0) must be set to identical
values. When set to ‘00’, the most significant data byte goes
to HPI_D[15:8] and the least significant byte goes to
HPI_D[7:0]. This is the default setting. By setting to ‘11’, the
most significant data byte goes to HPI_D[7:0] and the least
significant byte goes to HPI_D[15:8].
0: Do not route signal to HPI port
Document #: 38-08014 Rev. *G
Reset1 to HPI Enable (Bit 1)
HPI Swap 0 Enable (Bit 0)
Both HPI Swap bits (bits 8 and 0) must be set to identical
values. When set to ‘00’, the most significant data byte goes
to HPI_D[15:8] and the least significant byte goes to
HPI_D[7:0]. This is the default setting. By setting to ‘11’, the
most significant data byte goes to HPI_D[7:0] and the least
significant byte goes to HPI_D[15:8].
Page 50 of 78
[+] Feedback
CY7C67200
SIEXmsg Register [W]
• SIE1msg Register 0x0144
• SIE2msg Register 0x0148
Figure 58. SIEXmsg Register
Bit #
15
14
13
12
Field
11
10
9
8
Data...
Read/Write
W
W
W
W
W
W
W
W
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
...Data
Read/Write
W
W
W
W
W
W
W
W
Default
X
X
X
X
X
X
X
X
Register Description
The SIEXmsg register allows an interrupt to be generated on the HPI port. Any write to this register causes the SIEXmsg flag in
the HPI Status Port to go high and also causes an interrupt on the HPI_INTR pin. The SIEXmsg flag is automatically cleared
when the HPI port reads from this register.
Data (Bits [15:0])
The Data field[15:0] simply must have any value written to it to cause SIExmsg flag in the HPI Status Port to go high.
HPI Mailbox Register [0xC0C6] [R/W]
Figure 59. HPI Mailbox Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Message...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Message
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
The HPI Mailbox register provides a common mailbox between the CY7C67200 and the external host processor.
If enabled, the HPI Mailbox RX Full interrupt triggers when the external host processor writes to this register. When the
CY7C67200 reads this register the HPI Mailbox RX Full interrupt automatically gets cleared.
If enabled, the HPI Mailbox TX Empty interrupt triggers when the external host processor reads from this register. The HPI Mailbox
TX Empty interrupt is automatically cleared when the CY7C67200 writes to this register.
In addition, when the CY7C67200 writes to this register, the HPI_INTR signal on the HPI port asserts signaling the external
processor that there is data in the mailbox to read. The HPI_INTR signal deasserts when the external host processor reads from
this register.
Message (Bits [15:0])
The Message field contains the message that the host processor wrote to the HPI Mailbox register.
Document #: 38-08014 Rev. *G
Page 51 of 78
[+] Feedback
CY7C67200
HPI Status Port [] [HPI: R]
Figure 60. HPI Status Port
Bit #
15
14
13
12
11
10
9
8
ID
Flag
Reserved
SOF/EOP2
Flag
Reserved
Field
VBUS
Flag
SOF/EOP1
Flag
Reset2
Flag
Mailbox In
Flag
Read/Write
R
R
-
R
-
R
R
R
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Resume1
Flag
SIE2msg
Field
Resume2
Flag
SIE1msg
Done2
Flag
Done1
Flag
Reset1
Flag
Mailbox Out
Flag
Read/Write
R
R
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
Register Description
Mailbox In Flag (Bit 8)
The HPI Status Port provides the external host processor with
the MailBox status bits plus several SIE status bits. This
register is not accessible from the on-chip CPU. The additional
SIE status bits are provided to aid external device driver
firmware development, and are not recommended for applications that do not have an intimate relationship with the on-chip
BIOS.
The Mailbox In Flag bit is a read-only bit that indicates if a
message is ready in the incoming mailbox. This interrupt
clears when on-chip CPU reads from the HPI Mailbox register.
Reading from the HPI Status Port does not result in a CPU HPI
interface memory access cycle. The external host may continuously poll this register without degrading the CPU or DMA
performance.
1: Interrupt triggered
0: Interrupt did not trigger
Resume2 Flag (Bit 7)
The Resume2 Flag bit is a read-only bit that indicates if a USB
resume interrupt occurs on either Host/Device 2.
1: Interrupt triggered
VBUS Flag (Bit 15)
0: Interrupt did not trigger
The VBUS Flag bit is a read-only bit that indicates whether
OTG VBus is greater than 4.4V. After turning on VBUS,
firmware should wait at least 10 µs before this reading this bit.
Resume1 Flag (Bit 6)
1: OTG VBus is greater then 4.4V
1: Interrupt triggered
0: OTG VBus is less then 4.4V
0: Interrupt did not trigger
ID Flag (Bit 14)
SIE2msg (Bit 5)
The ID Flag bit is a read-only bit that indicates the state of the
OTG ID pin.
SOF/EOP2 Flag (Bit 12)
The SIE2msg Flag bit is a read-only bit that indicates if the
CY7C67200 CPU has written to the SIE2msg register. This bit
is cleared on an HPI read.
The SOF/EOP2 Flag bit is a read-only bit that indicates if a
SOF/EOP interrupt occurs on either Host/Device 2.
1: The SIE2msg register has been written by the CY7C67200
CPU
1: Interrupt triggered
0: The SIE2msg register has not been written by the
CY7C67200 CPU
0: Interrupt did not trigger
SOF/EOP1 Flag (Bit 10)
The SOF/EOP1 Flag bit is a read-only bit that indicates if a
SOF/EOP interrupt occurs on either Host/Device 1.
1: Interrupt triggered
The Resume1 Flag bit is a read-only bit that indicates if a USB
resume interrupt occurs on either Host/Device 1.
SIE1msg (Bit 4)
The SIE1msg Flag bit is a read-only bit that indicates if the
CY7C67200 CPU has written to the SIE1msg register. This bit
is cleared on an HPI read.
0: Interrupt did not trigger
1: The SIE1msg register has been written by the CY7C67200
CPU
Reset2 Flag (Bit 9)
0: The SIE1msg register has not been written by the
CY7C67200 CPU
The Reset2 Flag bit is a read-only bit that indicates if a USB
Reset interrupt occurs on either Host/Device 2.
Done2 Flag (Bit 3)
1: Interrupt triggered
In host mode the Done2 Flag bit is a read-only bit that indicates
if a host packet done interrupt occurs on Host 2. In device
0: Interrupt did not trigger
Document #: 38-08014 Rev. *G
Page 52 of 78
[+] Feedback
CY7C67200
mode this read only bit indicates if any of the endpoint interrupts occurs on Device 2. Firmware needs to determine which
endpoint interrupt occurred.
Reset1 Flag (Bit 1)
1: Interrupt triggered
1: Interrupt triggered
0: Interrupt did not trigger
0: Interrupt did not trigger
Done1 Flag (Bit 2)
Mailbox Out Flag (Bit 0)
In host mode the Done 1 Flag bit is a read-only bit that
indicates if a host packet done interrupt occurs on Host 1. In
device mode this read-only bit indicates if any of the endpoint
interrupts occurs on Device 1. Firmware needs to determine
which endpoint interrupt occurred.
The Mailbox Out Flag bit is a read-only bit that indicates if a
message is ready in the outgoing mailbox. This interrupt clears
when the external host reads from the HPI Mailbox register.
1: Interrupt triggered
0: Interrupt did not trigger
The Reset1 Flag bit is a read-only bit that indicates if a USB
Reset interrupt occurs on either Host/Device 1.
1: Interrupt triggered
0: Interrupt did not trigger
SPI Registers
There are 12 registers dedicated to SPI operation. Each register is covered in this section and summarized in Table 33.
Table 33.SPI Registers
Register Name
Address
R/W
SPI Configuration Register
0xC0C8
R/W
SPI Control Register
0xC0CA
R/W
SPI Interrupt Enable Register
0xC0CC
R/W
SPI Status Register
0xC0CE
R
SPI Interrupt Clear Register
0xC0D0
W
SPI CRC Control Register
0xC0D2
R/W
SPI CRC Value
0xC0D4
R/W
SPI Data Register
0xC0D6
R/W
SPI Transmit Address Register
0xC0D8
R/W
SPI Transmit Count Register
0xC0DA
R/W
SPI Receive Address Register
0xC0DC
R/W
SPI Receive Count Register
0xC0DE
R/W
SPI Configuration Register [0xC0C8] [R/W]
Figure 61. SPI Configuration Register
Bit #
15
14
13
Field
3Wire
Enable
Phase
Select
SCK Polarity
Select
Read/Write
12
11
10
9
Scale Select
8
Reserved
R/W
R/W
R/W
R/W
R/W
R/W
R/W
-
Default
1
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Master
Active Enable
Master
Enable
SS
Enable
Read/Write
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
1
1
1
1
1
SS Delay Select
Register Description
The SPI Configuration register controls the SPI port. Fields apply to both master and slave mode unless otherwise noted.
Document #: 38-08014 Rev. *G
Page 53 of 78
[+] Feedback
CY7C67200
3Wire Enable (Bit 15)
Master Active Enable (Bit 7)
The 3Wire Enable bit indicates if the MISO and MOSI data
lines are tied together allowing only half duplex operation.
The Master Active Enable bit is a read-only bit that indicates if
the master state machine is active or idle. This field only
applies to master mode.
1: MISO and MOSI data lines are tied together
0: Normal MISO and MOSI Full Duplex operation (not tied
together)
1: Master state machine is active
Phase Select (Bit 14)
Master Enable (Bit 6)
The Phase Select bit selects advanced or delayed SCK phase.
This field only applies to master mode.
1: Advanced SCK phase
The Master Enable bit sets the SPI interface to master or
slave. This bit is only writable when the Master Active Enable
bit reads ‘0’, otherwise value will not change.
0: Delayed SCK phase
1: Master SPI interface
0: Master state machine is idle
0: Slave SPI interface
SCK Polarity Select (Bit 13)
This SCK Polarity Select bit selects the polarity of SCK.
SS Enable (Bit 5)
1: Positive SCK polarity
The SS Enable bit enables or disables the master SS output.
0: Negative SCK polarity
1: Enable master SS output
Scale Select (Bits [12:9])
0: Disable master SS output (three-state master SS output, for
single SS line in slave mode)
The Scale Select field provides control over the SCK
frequency, based on 48 MHz. See Table 34 for a definition of
this field. This field only applies to master mode.
SS Delay Select (Bits [4:0])
Table 34.Scale Select Field Definition for SCK Frequency
Scale Select [12:9]
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Document #: 38-08014 Rev. *G
SCK Frequency
12 MHz
8 MHz
6 MHz
4 MHz
3 MHz
2 MHz
1.5 MHz
1 MHz
750 KHz
500 KHz
375 KHz
250 KHz
375 KHz
250 KHz
375 KHz
250 KHz
When the SS Delay Select field is set to ‘00000’ this indicates
manual mode. In manual mode SS is controlled by the SS
Manual bit of the SPI Control register. When the SS Delay
Select field is set between ‘00001’ to ‘11111’, this value
indicates the count in half bit times of auto transfer delay for:
SS LOW to SCK active, SCK inactive to SS HIGH, SS HIGH
time. This field only applies to master mode.
Page 54 of 78
[+] Feedback
CY7C67200
SPI Control Register [0xC0CA] [R/W]
Figure 62. SPI Control Register
Bit #
15
14
13
12
11
10
9
8
FIFO
Init
Byte
Mode
Full Duplex
Field
SCK
Strobe
SS
Manual
Read
Enable
Transmit
Ready
Receive
Data Ready
Read/Write
W
W
R/W
R/W
R/w
R/W
R
R
Default
0
0
0
0
0
0
0
1
5
4
3
2
1
0
Bit #
7
6
Field
Transmit
Empty
Receive
Full
Read/Write
R
R
R/W
R/W
R/W
R/W
R/w
R/W
Default
1
0
0
0
0
0
0
0
Transmit Bit Length
Receive Bit Length
Register Description
Read Enable (Bit 10)
The SPI Control register controls the SPI port. Fields apply to
both master and slave mode unless otherwise noted.
The Read Enable bit initiates a read phase for a master mode
transfer or set the slave to receive (in slave mode).
SCK Strobe (Bit 15)
1: Initiates a read phase for a master transfer or sets a slave
to receive. In master mode this bit is sticky and remains set
until the read transfer begins.
The SCK Strobe bit starts the SCK strobe at the selected
frequency and polarity (set in the SPI Configuration register),
but not phase. This bit feature can only be enabled when in
master mode and must be during a period of inactivity. This bit
is self-clearing.
1: SCK Strobe Enable
0: No Function
FIFO Init (Bit 14)
0: Initiates the write phase for slave operation
Transmit Ready (Bit 9)
The Transmit Ready bit is a read-only bit that indicates if the
transmit port is ready to empty and ready to be written.
1: Ready for data to be written to the port. The transmit FIFO
is not full.
The FIFO Init bit initializes the FIFO and clear the FIFO Error
Status bit. This bit is self-clearing.
0: Not ready for data to be written to the port
1: FIFO Init Enable
0: No Function
The Receive Data Ready bit is a read-only bit that indicates if
the receive port has data ready.
Byte Mode (Bit 13)
1: Receive port has data ready to read
The Byte Mode bit selects between PIO (byte mode) and DMA
(block mode) operation.
0: Receive port does not have data ready
1: Set PIO (byte mode) operation
0: Set DMA (block mode) operation
The Transmit Empty bit is a read-only bit that indicates if the
transmit FIFO is empty.
Full Duplex (Bit 12)
1: Transmit FIFO is empty
The Full Duplex bit selects between full-duplex and half-duplex
operation.
0: Transmit FIFO is not empty
1: Enable full duplex. Full duplex is not allowed and will not set
if the 3Wire Enable bit of the SPI Configuration register is set
to ‘1’
The Receive Full bit is a read-only bit that indicates if the
receive FIFO is full.
0: Enable half-duplex operation
SS Manual (Bit 11)
The SS Manual bit activates or deactivates SS if the SS Delay
Select field of the SPI Control register is all zeros and is
configured as master interface. This field only applies to
master mode.
1: Activate SS, master drives SS line asserted LOW
Receive Data Ready (Bit 8)
Transmit Empty (Bit 7)
Receive Full (Bit 6)
1: Receive FIFO is full
0: Receive FIFO is not full
Transmit Bit Length (Bits [5:3])
The Transmit Bit Length field controls whether a full byte or
partial byte is to be transmitted. If Transmit Bit Length is ‘000’,
a full byte is transmitted. If Transmit Bit Length is ‘001’ to ‘111’,
the value indicates the number of bits that will be transmitted.
0: Deactivate SS, master drives SS line deasserted HIGH
Document #: 38-08014 Rev. *G
Page 55 of 78
[+] Feedback
CY7C67200
Receive Bit Length (Bits [2:0])
The Receive Bit Length field controls whether a full byte or partial byte will be received. If Receive Bit Length is ‘000’ then a full
byte will be received. If Receive Bit Length is ‘001’ to ‘111’, then the value indicates the number of bits that will be received.
SPI Interrupt Enable Register [0xC0CC] [R/W]
Figure 63. SPI Interrupt Enable Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
...Reserved
Field
2
1
0
Receive
Interrupt Enable
Transmit
Interrupt Enable
Transfer
Interrupt Enable
Read/Write
-
-
-
-
-
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Register Description
1: Enables byte mode transmit interrupt
The SPI Interrupt Enable register controls the SPI port.
0: Disables byte mode transmit interrupt
Receive Interrupt Enable (Bit 2)
Transfer Interrupt Enable (Bit 0)
The Receive Interrupt Enable bit enables or disables the byte
mode receive interrupt (RxIntVal).
The Transfer Interrupt Enable bit enables or disables the block
mode interrupt (XfrBlkIntVal).
1: Enable byte mode receive interrupt
1: Enables block mode interrupt
0: Disable byte mode receive interrupt
0: Disables block mode interrupt
Transmit Interrupt Enable (Bit 1)
Reserved
The Transmit Interrupt Enable bit enables or disables the byte
mode transmit interrupt (TxIntVal).
All reserved bits must be written as ‘0’.
SPI Status Register [0xC0CE] [R]
Figure 64. SPI Status Register
Bit #
15
14
13
12
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
FIFO Error
Flag
Receive
Interrupt Flag
Transmit
Interrupt Flag
Transfer
Interrupt Flag
Field
11
10
9
8
Reserved
Reserved
Read/Write
R
-
-
-
-
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
The SPI Status register is a read only register that provides
status for the SPI port.
occured.This bit automatically clear when the SPI FIFO Init
Enable bit of the SPI Control register is set.
1: Indicates FIFO error
FIFO Error Flag (Bit 7)
0: Indicates no FIFO error
The FIFO Error Flag bit is a read only bit that indicates if a FIFO
error occurred. When this bit is set to ‘1’ and the Transmit
Empty bit of the SPI Control register is set to ‘1’, then a Tx FIFO
underflow has occurred. Similarly, when set with the Receive
Full bit of the SPI Control register, a Rx FIFO overflow has
Receive Interrupt Flag (Bit 2)
Document #: 38-08014 Rev. *G
The Receive Interrupt Flag is a read only bit that indicates if a
byte mode receive interrupt has triggered.
1: Indicates a byte mode receive interrupt has triggered
0: Indicates a byte mode receive interrupt has not triggered
Page 56 of 78
[+] Feedback
CY7C67200
Transmit Interrupt Flag (Bit 1)
Transfer Interrupt Flag (Bit 0)
The Transmit Interrupt Flag is a read only bit that indicates a
byte mode transmit interrupt has triggered.
The Transfer Interrupt Flag is a read only bit that indicates a
block mode interrupt has triggered.
1: Indicates a byte mode transmit interrupt has triggered
1: Indicates a block mode interrupt has triggered
0: Indicates a byte mode transmit interrupt has not triggered
0: Indicates a block mode interrupt has not triggered
SPI Interrupt Clear Register [0xC0D0] [W]
Figure 65. SPI Interrupt Clear Register
Bit #
15
14
13
12
11
Field
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
4
3
Bit #
7
6
5
2
1
Reserved
0
Transmit
Transfer
Interrupt Clear Interrupt Clear
Field
Read/Write
-
-
-
-
-
-
W
W
Default
0
0
0
0
0
0
0
0
Register Description
Transfer Interrupt Clear (Bit 0)
The SPI Interrupt Clear register is a write-only register that
allows the SPI Transmit and SPI Transfer Interrupts to be
cleared.
The Transfer Interrupt Clear bit is a write-only bit that will clear
the block mode interrupt. This bit is self clearing.
Transmit Interrupt Clear (Bit 1)
0: No function
The Transmit Interrupt Clear bit is a write-only bit that clears
the byte mode transmit interrupt. This bit is self-clearing.
Reserved
1: Clear the block mode interrupt
All reserved bits must be written as ‘0’.
1: Clear the byte mode transmit interrupt
0: No function
SPI CRC Control Register [0xC0D2] [R/W]
Figure 66. SPI CRC Control Register
Bit #
15
14
CRC Mode
Field
Read/Write
13
12
11
10
9
8
CRC
Enable
CRC
Clear
Receive
CRC
One in
CRC
Zero in
CRC
Reserved...
R/W
R/W
R/W
R/W
R/W
R
R
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
...Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Register Description
The SPI CRC Control register provides control over the CRC
source and polynomial value.
CRC Mode (Bits [15:14)
The CRCMode field selects the CRC polynomial as defined in
Table 35.
Document #: 38-08014 Rev. *G
Table 35.CRC Mode Definition
CRCMode
[9:8]
CRC Polynomial
00
MMC 16-bit: X^16 + X^12 + X^5 + 1
(CCITT Standard)
01
CRC7 7-bit: X^7+ X^3 + 1
10
MST 16-bit: X^16+ X^15 + X^2 + 1
11
Reserved, 16-bit polynomial 1.
Page 57 of 78
[+] Feedback
CY7C67200
CRC Enable (Bit 13)
One in CRC (Bit 10)
The CRC Enable bit enables or disables the CRC operation.
1: Enables CRC operation
The One in CRC bit is a read-only bit that indicates if the CRC
value is all zeros or not.
0: Disables CRC operation
1: CRC value is not all zeros
0: CRC value is all zeros
CRC Clear (Bit 12)
Zero in CRC (Bit 9)
The CRC Clear bit will clear the CRC with a load of all ones.
This bit is self clearing and always reads ‘0’.
1: Clear CRC with all ones
The Zero in CRC bit is a read-only bit that indicates if the CRC
value is all ones or not.
0: No Function
1: CRC value is not all ones
0: CRC value is all ones
Receive CRC (Bit 11)
Reserved
The Receive CRC bit determines whether the receive bit
stream or the transmit bit stream is used for the CRC data input
in full duplex mode. This bit is a don’t care in half-duplex mode.
All reserved bits must be written as ‘0’.
1: Assigns the receive bit stream
0: Assigns the transmit bit stream
SPI CRC Value Register [0xC0D4] [R/W]
Figure 67. SPI CRC Value Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
CRC...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
1
1
1
1
1
1
1
1
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...CRC
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
1
1
1
1
1
1
1
1
Register Description
The SPI CRC Value register contains the CRC value.
CRC (Bits [15:0])
The CRC field contains the SPI CRC. In CRC Mode CRC7, the CRC value will be a seven bit value [6:0]. Therefore bits [15:7]
are invalid in CRC7 mode.
SPI Data Register [0xC0D6] [R/W]
Figure 68. SPI Data Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
X
X
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
Data
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
X
X
X
X
X
X
X
X
Register Description
The SPI Data register contains data received on the SPI port when read. Reading it empties the eight byte receive FIFO in PIO
byte mode. This receive data is valid when the receive bit of the SPI Interrupt Value is set to ‘1’ (RxIntVal triggers) or the Receive
Document #: 38-08014 Rev. *G
Page 58 of 78
[+] Feedback
CY7C67200
Data Ready bit of the SPI Control register is set to ‘1’. Writing to this register in PIO byte mode will initiate a transfer of data, the
number of bits defined by Transmit Bit Length field in the SPI Control register.
Data (Bits [7:0])
The Data field contains data received or to be transmitted on the SPI port.
Reserved
All reserved bits must be written as ‘0’.
SPI Transmit Address Register [0xC0D8] [R/W]
Figure 69. SPI Transmit Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
9
8
Register Description
The SPI Transmit Address register is used as the base address for the SPI transmit DMA.
Address (Bits [15:0])
The Address field sets the base address for the SPI transmit DMA.
SPI Transmit Count Register [0xC0DA] [R/W]
Figure 70. SPI Transmit Count Register
Bit #
15
14
Field
13
12
11
10
Reserved
Count...
Read/Write
-
-
-
-
-
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Count
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
The SPI Transmit Count register designates the block byte length for the SPI transmit DMA transfer.
Count (Bits [10:0])
The Count field sets the count for the SPI transmit DMA transfer.
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 59 of 78
[+] Feedback
CY7C67200
SPI Receive Address Register [0xC0DC [R/W]
Figure 71. SPI Receive Address Register
Bit #
15
14
13
12
Field
Read/Write
11
10
9
8
Address...
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Address
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
9
8
Register Description
The SPI Receive Address register is issued as the base address for the SPI Receive DMA.
Address (Bits [15:0])
The Address field sets the base address for the SPI receive DMA.
SPI Receive Count Register [0xC0DE] [R/W]
Figure 72. SPI Receive Count Register
Bit #
15
14
Field
13
12
11
10
Reserved
Count...
Read/Write
-
-
-
-
-
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Default
...Count
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
The SPI Receive Count register designates the block byte length for the SPI receive DMA transfer.
Count (Bits [10:0])
The Count field sets the count for the SPI receive DMA transfer.
Reserved
All reserved bits must be written as ‘0’.
UART Registers
There are three registers dedicated to UART operation. Each of these registers is covered in this section and summarized in
Table 36.
Table 36.UART Registers
Register Name
Address
R/W
UART Control Register
0xC0E0
R/W
UART Status Register
0xC0E2
R
UART Data Register
0xC0E4
R/W
Document #: 38-08014 Rev. *G
Page 60 of 78
[+] Feedback
CY7C67200
UART Control Register [0xC0E0] [R/W]
Figure 73. UART Control Register
Bit #
15
14
13
12
11
Field
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
...Reserved
Scale
Select
Field
Baud
Select
0
UART
Enable
Read/Write
-
-
-
R/W
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
1
1
1
Register Description
Baud Select (Bits [3:1])
The UART Control register enables or disables the UART
allowing GPIO7 (UART_TXD) and GPIO6 (UART_RXD) to be
freed up for general use. This register must also be written to
set the baud rate, which is based on a 48-MHz clock.
Refer to Table 37 for a definition of this field.
Table 37.UART Baud Select Definition
Scale Select (Bit 4)
The Scale Select bit acts as a prescaler that will divide the
baud rate by eight.
Baud Select [3:1]
Baud Rate
w/DIV8 = 0
Baud Rate
w/DIV8 = 1
000
115.2K baud
14.4K baud
001
57.6K baud
7.2K baud
1: Enable prescaler
010
38.4K baud
4.8K baud
0: Disable prescaler
011
28.8K baud
3.6K baud
100
19.2K baud
2.4K baud
101
14.4K baud
1.8K baud
110
9.6K baud
1.2K baud
111
7.2K baud
0.9K baud
UART Enable (Bit 0)
The UART Enable bit enables or disables the UART.
1: Enable UART
0: Disable UART. This allows GPIO6 and GPIO7 to be used
for general use
Reserved
All reserved bits must be written as ‘0’.
UART Status Register [0xC0E2] [R]
Figure 74. UART Status Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved...
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
Field
4
3
2
...Reserved
1
0
Receive Full
Transmit Full
Read/Write
-
-
-
-
-
-
R
R
Default
0
0
0
0
0
0
0
0
Register Description
The UART Status register is a read-only register that indicates the status of the UART buffer.
Document #: 38-08014 Rev. *G
Page 61 of 78
[+] Feedback
CY7C67200
Receive Full (Bit 1)
Transmit Full (Bit 0)
The Receive Full bit indicates whether the receive buffer is full.
It can be programmed to interrupt the CPU as interrupt #5
when the buffer is full. This can be done though the UART bit
of the Interrupt Enable register (0xC00E). This bit will automatically be cleared when data is read from the UART Data
register.
1: Receive buffer full
The Transmit Full bit indicates whether the transmit buffer is
full. It can be programmed to interrupt the CPU as interrupt #4
when the buffer is empty. This can be done though the UART
bit of the Interrupt Enable register (0xC00E). This bit will
automatically be set to ‘1’ after data is written by EZ-Host to
the UART Data register (to be transmitted). This bit will
automatically be cleared to ‘0’ after the data is transmitted.
0: Receive buffer empty
1: Transmit buffer full (transmit busy)
0: Transmit buffer is empty and ready for a new byte of data
UART Data Register [0xC0E4] [R/W]
Figure 75. UART Data Register
Bit #
15
14
13
12
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Field
Default
10
9
8
Reserved
Field
Read/Write
11
Data
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
The UART Data register contains data to be transmitted or received from the UART port. Data written to this register will start a
data transmission and also causes the UART Transmit Empty Flag of the UART Status register to set. When data received on
the UART port is read from this register, the UART Receive Full Flag of the UART Status register will be cleared.
Data (Bits [7:0])
The Data field is where the UART data to be transmitted or received is located
Reserved
All reserved bits must be written as ‘0’.
Document #: 38-08014 Rev. *G
Page 62 of 78
[+] Feedback
CY7C67200
Pin Diagram
The following describes the CY7C67200 48-pin FBGA.
Figure 76. EZ-OTG Pin Diagram
A1
GND
GPIO1/D1
B1
AGND
C1
DM2A
D1
CSWITCHB
E1
BOOSTGND
F1
F2
DM1A
G1
DP1A
F3
GPIO30/SDA
H1
H2
GND
VCC
GPIO5/D5
D4
XTALIN
Reserved
B6
GND
C6
GPIO8/D8/
MISO
GPIO9/D9/
nSSI
GPIO10/D10/
SCK
D6
VCC
E5
E6
GPIO14/D14/
RTS
F4
GPIO13/D13/
RXD
F5
GPIO12/D12/
TXD
F6
GPIO29/
OTGID
GPIO19/A0
GPIO15/D15/
CTS/nSSI
E4
G4
G5
GPIO23/nRD/
nWAIT
H4
H3
GPIO31/SCL
A6
C5
D5
GPIO11/D1/
MOSI
G3
G2
XTALOUT
GPIO7/D7/TX
C4
E3
E2
VSWITCH
BOOSTVCC
AVCC
DP2A
B5
B4
D3
D2
nRESET
GPIO6/D6/RX
C3
GPIO2/D2
A5
VCC
B3
GPIO4/D4
C2
OTGVBUS
CSWITCHA
GPIO3/D3
B2
GPIO0/D0
A4
A3
A2
GPIO24/INT/
IRQ0
GPIO21/nCS/
nRESET
G6
GND
H5
H6
GPIO22/nWR
GPIO20/A1
Pin Descriptions
Table 38.Pin Descriptions
Pin
H3
Name
GPIO31/SCK
Type
IO
F3
GPIO30/SDA
IO
F4
GPIO29/OTGID
IO
H4
GPIO24/INT/IRQ0
IO
G4
GPIO23/nRD
IO
H5
GPIO22/nWR
IO
G5
GPIO21/nCS
IO
Document #: 38-08014 Rev. *G
Description
GPIO31: General Purpose IO
SCK: I2C EEPROM SCK
GPIO30: General Purpose IO
SDA: I2C EEPROM SDA
GPIO29: General Purpose IO
OTGID: Input for OTG ID pin. When used as OTGID, this pin must be
tied high through an external pull-up resistor. Assuming VCC = 3.0V, a
10K to 40K resistor must be used.
GPIO24: General Purpose IO
INT: HPI INT
IRQ0: Interrupt Request 0. See Register 0xC006. This pin is also one
of two possible GPIO wakeup sources.
GPIO23: General Purpose IO
nRD: HPI nRD
GPIO22: General Purpose IO
nWR: HPI nWR
GPIO21: General Purpose IO
nCS: HPI nCS
Page 63 of 78
[+] Feedback
CY7C67200
Table 38.Pin Descriptions (continued)
Pin
H6
Name
GPIO20/A1
Type
IO
F5
GPIO19/A0
IO
F6
GPIO15/D15/CTS/
nSSI
IO
E4
GPIO14/D14/RTS
IO
E5
GPIO13/D13/RXD
IO
E6
GPIO12/D12/TXD
IO
D4
GPIO11/D11/MOSI
IO
D5
GPIO10/D10/SCK
IO
C6
GPIO9/D9/nSSI
IO
C5
GPIO8/D8/MISO
IO
B5
GPIO7/D7/TX
IO
B4
GPIO6/D6/RX
IO
C4
GPIO5/D5
IO
B3
GPIO4/D4
IO
A3
GPIO3/D3
IO
C3
GPIO2/D2
IO
A2
GPIO1/D1
IO
B2
GPIO0/D0
IO
F2
E3
C2
D3
G3
G2
A5
DM1A
DP1A
DM2A
DP2A
XTALIN
XTALOUT
nRESET
IO
IO
IO
IO
Input
Output
Input
Document #: 38-08014 Rev. *G
Description
GPIO20: General Purpose IO
A1: HPI A1
GPIO19: General Purpose IO
A0: HPI A0
GPIO15: General Purpose IO
D15: D15 for HPI
CTS: HSS CTS
nSSI: SPI nSSI
GPIO14: General Purpose IO
D14: D14 for HPI
RTS: HSS RTS
GPIO13: General Purpose IO
D13: D13 for HPI
RXD: HSS RXD (Data is received on this pin)
GPIO12: General Purpose IO
D12: D12 for HPI
TXD: HSS TXD (Data is transmitted from this pin)
GPIO11: General Purpose IO
D11: D11 for HPI
MOSI: SPI MOSI
GPIO10: General Purpose IO
D10: D10 for HPI
SCK: SPI SCK
GPIO9: General Purpose IO
D9: D9 for HPI
nSSI: SPI nSSI
GPIO8: General Purpose IO
D8: D8 for HPI
MISO: SPI MISO
GPIO7: General Purpose IO
D7: D7 for HPI
TX: UART TX (Data is transmitted from this pin)
GPIO6: General Purpose IO
D6: D6 for HPI
RX: UART RX (Data is received on this pin)
GPIO5: General Purpose IO
D5: D5 for HPI
GPIO4: General Purpose IO
D4: D4 for HPI
GPIO3: General Purpose IO
D3: D3 for HPI
GPIO2: General Purpose IO
D2: D2 for HPI
GPIO1: General Purpose IO
D1: D1 for HPI
GPIO0: General Purpose IO
D0: D0 for HPI
USB Port 1A D–
USB Port 1A D+
USB Port 2A D–
USB Port 2A D+
Crystal Input or Direct Clock Input
Crystal output. Leave floating if direct clock source is used.
Reset
Page 64 of 78
[+] Feedback
CY7C67200
Table 38.Pin Descriptions (continued)
Pin
A6
F1
E2
E1
C1
D1
D2
G1
B1
H2, D6, A4
G6, B6, A1, H1
Name
Reserved
BOOSTVCC
VSWITCH
BOOSTGND
OTGVBUS
CSWITCHA
CSWITCHB
AVCC
AGND
VCC
GND
Type
–
Power
Analog Output
Ground
Analog IO
Analog
Analog
Power
Ground
Power
Ground
Description
Tie to Gnd for normal operation.
Booster Power Input: 2.7V to 3.6V
Booster Switching Output
Booster Ground
USB OTG Vbus
Charge Pump Capacitor
Charge Pump Capacitor
USB Power
USB Ground
Main VCC
Main Ground
Absolute Maximum Ratings
This section lists the absolute maximum ratings. Stresses above those listed can cause permanent damage to the device.
Exposure to maximum rated conditions for extended periods can affect device operation and reliability.
Storage Temperature ............................................................................................................................................–40°C to +125°C
Ambient Temperature with Power Supplied ............................................................................................................–40°C to +85°C
Supply Voltage to Ground Potential ...........................................................................................................................0.0V to +3.6V
DC Input Voltage to Any General Purpose Input Pin .............................................................................................................. 5.5V
DC Voltage Applied to XTALIN....................................................................................................................... –0.5V to VCC + 0.5V
Static Discharge Voltage (per MIL-STD-883, Method 3015) ............................................................................................. > 2000V
Max Output Current, per Input Output. .................................................................................................................................. 4 mA
Operating Conditions
TA (Ambient Temperature Under Bias)....................................................................................................................–40°C to +85°C
Supply Voltage (VCC, AVCC) ....................................................................................................................................+3.0V to +3.6V
Supply Voltage (BoostVCC)[5] ...................................................................................................................................+2.7V to +3.6V
Ground Voltage ........................................................................................................................................................................... 0V
FOSC (Oscillator or Crystal Frequency) ............................................................................................................. 12 MHz ± 500 ppm
............................................................................................................................................................................ Parallel Resonant
Crystal Requirements (XTALIN, XTALOUT)
Table 39.Crystal Requirements
Crystal Requirements, (XTALIN, XTALOUT)
Min.
Parallel Resonant Frequency
Typical
Max.
12
Unit
MHz
Frequency Stability
–500
+500
PPM
Load Capacitance
20
33
pF
500
µW
5
ms
Driver Level
Start-up Time
Mode of Vibration: Fundamental
Note
5. The on-chip voltage booster circuit boosts BoostVCC to provide a nominal 3.3V VCC supply.
Document #: 38-08014 Rev. *G
Page 65 of 78
[+] Feedback
CY7C67200
DC Characteristics
Table 40.DC Characteristics[6]
Parameter
Description
Conditions
Min.
Typ.
Max.
Unit
3.3
3.6
V
3.6
V
VCC, AVCC
Supply Voltage
3.0
BoosVCC
Supply Voltage
2.7
VIH
Input HIGH Voltage
2.0
VIL
Input LOW Voltage
5.5
V
0.8
V
+10.0
µA
II
Input Leakage Current
0< VIN < VCC
–10.0
VOH
Output Voltage HIGH
IOUT = 4 mA
2.4
VOL
Output LOW Voltage
IOUT = –4 mA
IOH
Output Current HIGH
IOL
Output Current LOW
CIN
Input Pin Capacitance
VHYS
Hysteresis on nReset Pin
ICC[7, 8]
Supply Current
2 transceivers powered
80
100
mA
ICCB[7, 8]
Supply Current with Booster Enabled 2 transceivers powered
135
180
mA
ISLEEP
Sleep Current
210
500
µA
ISLEEPB
Sleep Current with Booster Enabled USB Peripheral: includes 1.5K
internal pull up
V
Except D+/D–
D+/D–
0.4
V
4
mA
4
mA
10
pF
15
250
USB Peripheral: includes 1.5K
internal pull up
pF
mV
5
30
µA
210
500
µA
5
30
µA
Max.
Unit
5.25
V
100
ms
8
10
mA
1.0
6.5
pF
200
mV
342
mV
Without 1.5K internal pull up
Without 1.5K internal pull up
Table 41.DC Characteristics: Charge Pump
Parameter
Description
Conditions
VA_VBUS_OUT
Regulated OTGVBUS Voltage
8 mA< ILOAD < 10 mA
TA_VBUS_RISE
VBUS Rise Time
ILOAD = 10 mA
IA_VBUS_OUT
Maximum Load Current
CDRD_VBUS
OUTVBUS Bypass Capacitance
4.4V< VBUS < 5.25V
VA_VBUS_LKG
OTGVBUS Leakage Voltage
OTGVBUS not driven
VDRD_DATA_LKG
Dataline Leakage Voltage
ICHARGE
Charge Pump Current Draw
ICHARGEB
Min.
Typ.
4.4
ILOAD = 8 mA
20
20
mA
ILOAD = 0 mA
0
1
mA
Charge Pump Current Draw with ILOAD = 8 mA
Booster Active
ILOAD = 0 mA
30
45
mA
0
5
mA
8
mA
IB_DSCHG_IN
B-Device (SRP Capable)
Discharge Current
VA_VBUS_VALID
A-Device VBUS Valid
0V< VBUS < 5.25V
4.4
V
Notes
6. All tests were conducted with Charge pump off.
7. ICC and ICCB values are the same regardless of USB host or peripheral configuration.
8. There is no appreciable difference in ICC and ICCB values when only one transceiver is powered.
Document #: 38-08014 Rev. *G
Page 66 of 78
[+] Feedback
CY7C67200
Table 41.DC Characteristics: Charge Pump (continued)
Parameter
Description
Max.
Unit
VA_SESS_VALID
A-Device Session Valid
Conditions
Min.
0.8
2.0
V
VB_SESS_VALID
B-Device Session Valid
0.8
4.0
V
VA_SESS_END
B-Device Session End
0.2
0.8
V
E
Efficiency When Loaded
RPD
Data Line Pull Down
RA_BUS_IN
A-device VBUS Input Impedance
to GND
RB_SRP_UP
B-device VBUS SRP Pull Up
RB_SRP_DWN
B-device VBUS SRP Pull Down
ILOAD = 8 mA, VCC = 3.3V
Typ.
75
%
14.25
24.8
Ω
VBUS is not being driven
40
100
kΩ
Pull-up voltage = 3.0V
281
Ω
656
Ω
USB Transceiver
USB 2.0-compatible in full- and low-speed modes.
This product was tested as compliant to the USB-IF specification under the test identification number (TID) of 100390449 and is
listed on the USB-IF’s integrators list.
AC Timing Characteristics
Reset Timing
tRESET
nRESET
tIOACT
nRD or nWRL or nWRH
Reset Timing
Parameter
Description
Min.
Typ.
Max.
Unit
tRESET
nRESET Pulse Width
16
clocks[9]
tIOACT
nRESET HIGH to nRD or nWRx Active
200
µs
Note
9. Clock is 12 MHz nominal.
Document #: 38-08014 Rev. *G
Page 67 of 78
[+] Feedback
CY7C67200
Clock Timing
tCLK
tLOW
XTALIN
tFALL
tHIGH
tRISE
Clock Timing
Parameter
Description
Min.
fCLK
Clock Frequency
vXINH[10]
Clock Input High
(XTALOUT left floating)
tCLK
Clock Period
tHIGH
Clock High Time
36
tLOW
Clock Low Time
36
tRISE
Clock Rise Time
tFALL
Clock Fall Time
Typ.
Max.
Unit
12.0
Duty Cycle
MHz
1.5
3.0
3.6
V
83.17
83.33
83.5
ns
44
ns
45
44
ns
5.0
ns
5.0
ns
55
%
I2C EEPROM Timing
1. I2C EEPROM Bus Timing - Serial I/O
tHIGH
tLOW
tR
tF
SCL
tSU.STA
tHD.STA
tSU.DAT
tHD.DAT
tSU.STO
tBUF
SDA IN
tAA
tDH
SDA OUT
Parameter
fSCL
tLOW
tHIGH
tAA
tBUF
tHD.STA
tSU.STA
tHD.DAT
tSU.DAT
tR
tF
tSU.STO
tDH
Description
Clock Frequency
Clock Pulse Width Low
Clock Pulse Width High
Clock Low to Data Out Valid
Bus Idle Before New Transmission
Start Hold Time
Start Setup Time
Data In Hold Time
Data In Setup Time
Input Rise Time
Input Fall Time
Stop Setup Time
Data Out Hold Time
Min.
Typical
Max.
400
1300
600
900
1300
600
600
0
100
300
300
600
0
Unit
kHz
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
ns
Note
10. vXINH is required to be 3.0V to obtain an internal 50/50 duty cycle clock.
Document #: 38-08014 Rev. *G
Page 68 of 78
[+] Feedback
CY7C67200
HPI (Host Port Interface) Write Cycle Timing
tCYC
tASU
tWP
tAH
ADDR [1:0]
tCSH
tCSSU
nCS
nWR
nRD
Dout [15:0]
tDSU
Parameter
tWDH
Description
Min.
tASU
Address Setup
–1
Typical
Max.
Unit
ns
tAH
Address Hold
–1
ns
tCSSU
Chip Select Setup
–1
ns
tCSH
Chip Select Hold
–1
ns
tDSU
Data Setup
6
ns
tWDH
Write Data Hold
2
ns
tWP
Write Pulse Width
2
T[11]
tCYC
Write Cycle Time
6
T[11]
Note
11. T = system clock period = 1/48 MHz.
Document #: 38-08014 Rev. *G
Page 69 of 78
[+] Feedback
CY7C67200
HPI (Host Port Interface) Read Cycle Timing
tCYC
tASU
tRP
tAH
ADDR [1:0]
tCSH
tCSSU
nCS
tRDH
nWR
nRD
Din [15:0]
tACC
Parameter
tRDH
Description
Min.
tASU
Address Setup
–1
tAH
Address Hold
–1
ns
tCSSU
Chip Select Setup
–1
ns
tCSH
Chip Select Hold
–1
tACC
Data Access Time, from HPI_nRD falling
tRDH
Read Data Hold, relative to the earlier of HPI_nRD
rising or HPI_nCS rising
0
tRP
Read Pulse Width
2
T[11]
tCYC
Read Cycle Time
6
T[11]
Document #: 38-08014 Rev. *G
Typ.
Max.
Unit
ns
ns
1
T[11]
7
ns
Page 70 of 78
[+] Feedback
CY7C67200
HSS BYTE Mode Transmit
qt_clk
CPU may start another BYTE
transmit right after TxRdy
goes high
CPU_A[2:0]
CPUHSS_cs
CPU_wr
BT
BT
TxRdy flag
HSS_TxD
start bit
Byte transmit
triggered by a
CPU write to the
HSS_TxData register
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
start of last data bit to TxRdy high:
0 min, 4 T max.
(T is qt_clk period)
TxRdy low to start bit delay:
0 min, BT max when starting from IDEL.
For back to back transmit, new START Bit
begins immediately following previous STOP bit.
(BT = bit period)
stop bit
start bit
programmable
1 or 2 stop bits.
1 stop bit shown.
qt_clk, CPU_A, CPUHSS_cs, CPU_wr are internal signals, included in the diagram to illustrate relationship between CPU operations and HSS port operations.
Bit 0 is LSB of data byte. Data bits are HIGH true: HSS_TxD HIGH = data bit value ‘1’.
BT = bit time = 1/baud rate.
HSS Block Mode Transmit
BT
HSS_TxD
t
GAP
BLOCK mode transmit timing is similar to BYTE mode, except the STOP bit time is controlled by the HSS_GAP value.
The BLOCK mode STOP bit time, tGAP = (HSS_GAP – 9) BT, where BT is the bit time, and HSS_GAP is the content of the HSS
Transmit Gap register 90xC074].
The default tGAP is 2 BT.
BT = bit time = 1/baud rate.
HSS BYTE and BLOCK Mode Receive
BT +/- 5%
received byte added to
receive FIFO during the final data bit time
BT +/- 5%
HSS_RxD
start bit
bit 0
bit 1
bit 2
bit 3
bit 4
bit 5
bit 6
bit 7
stop bit
start bit
10 BT +/- 5%
Receive data arrives asynchronously relative to the internal clock.
Incoming data bit rate may deviate from the programmed baud rate clock by as much as ±5% (with HSS_RATE value of 23 or
higher).
BYTE mode received bytes are buffered in a FIFO. The FIFO not empty condition becomes the RxRdy flag.
BLOCK mode received bytes are written directly to the memory system.
Bit 0 is LSB of data byte. Data bits are HIGH true: HSS_RxD HIGH = data bit value ‘1’.
BT = bit time = 1/baud rate.
Document #: 38-08014 Rev. *G
Page 71 of 78
[+] Feedback
CY7C67200
Hardware CTS/RTS Handshake
tCTShold
tCTShold
tCTSsetup
tCTSsetup
HSS_RTS
HSS_CTS
HSS_TxD
Start of transmission delayed until HSS_CTS goes high
Start of transmission not delayed by HSS_CTS
tCTSset-up: HSS_CTS setup time before HSS_RTS = 1.5T min.
tCTShold: HSS_CTS hold time after START bit = 0 ns min.
T = 1/48 MHz.
When RTS/CTS hardware handshake is enabled, transmission can be held off by deasserting HSS_CTS at least 1.5T before
HSS_RTS. Transmission resumes when HSS_CTS returns HIGH. HSS_CTS must remain HIGH until START bit.
HSS_RTS is deasserted in the third data bit time.
An application may choose to hold HSS_CTS until HSS_RTS is deasserted, which always occurs after the START bit.
Document #: 38-08014 Rev. *G
Page 72 of 78
[+] Feedback
CY7C67200
Register Summary
Table 42. Register Summary
R/W
R
Address Register
0x0140
HPI Breakpoint
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Default High
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Default Low
Address...
0000 0000
...Address
R
W
R/W
0x0142
Interrupt Routing
1: 0x0144 SIEXmsg
2: 0x0148
0x02n0
Device n Endpoint n Control
0000 0000
VBUS to HPI
Enable
ID to HPI
Enable
SOF/EOP2 to SOF/EOP2 to SOF/EOP1 to SOF/EOP1 to Reset2 to HPI HPI Swap 1
HPI Enable
CPU Enable HPI Enable CPU Enable Enable
Enable
0001 0100
Resume2 to
HPI Enable
Resume1 to
HPI Enable
Reserved
0000 0000
Data...
xxxx xxxx
...Data
xxxx xxxx
Reserved
xxxx xxxx
IN/OUT
Sequence
Ignore Enable Select
R/W
0x02n2
Device n Endpoint n Address
Done2 to HPI Done1 to HPI Reset1 to HPI HPI Swap 0
Enable
Enable
Enable
Enable
Stall
Enable
ISO
Enable
NAK Interrupt Direction
Enable
Select
Enable
ARM
Enable
xxxx xxxx
Address...
xxxx xxxx
...Address
R.W
0x02n4
Device n Endpoint n Count
Reserved
R/W
0x02n6
Device n Endpoint n Status
Reserved
xxxx xxxx
Count...
xxxx xxxx
...Count
Stall
Flag
R/W
0x02n8
Device n Endpoint n Count Re- Result...
sult
...Result
R
0xC000
CPU Flags
xxxx xxxx
NAK
Flag
Length
Set-up
Exception Flag Flag
0xC002
Bank
0xC004
Hardware Revision
R/W
0xC006
GPIO Control
OUT
IN
xxxx xxxx
Exception Flag Exception Flag
Sequence
Status
Timeout
Flag
Error
Flag
ACK
Flag
xxxx xxxx
xxxx xxxx
Reserved...
0000 0000
Global Interrupt Enable
Negative
Flag
Overflow
Flag
Carry
Flag
Zero
Flag
000x xxxx
Address...
0000 0001
...Address
R
Underflow
Flag
xxxx xxxx
...Reserved
R/W
Overflow
Flag
Reserved
000x xxxx
Revision...
xxxx xxxx
...Revision
R/W
0xC008
CPU Speed
xxxx xxxx
Write Protect
Enable
UD
Reserved
HSS
Enable
Reserved
SPI
Enable
SAS
Enable
Reserved
0xC00A
Power Control
0xC00C
Watchdog Timer
Reserved
R/W
0xC00E
0xC098
Interrupt Enable
OTG Control
Host/Device 2 Reserved
Wake Enable
R/W
R/W
SPI
0000 0000
Wake Enable
GPI
Reserved
Wake Enable
Boost 3V
OK
Sleep
Enable
Halt
Enable
Period
Select
Lock
Enable
WDT
Enable
Reset
Strobe
0000 0000
0000 0000
Timeout
Flag
Reserved
OTG
Interrupt
Enable
SPI
Interrupt
Enable
Reserved
Host/Device 2 Host/Device 1 0000 0000
Interrupt
Interrupt
Enable
Enable
Reserved
UART
Interrupt
Enable
GPIO
Interrupt
Enable
Timer 1
Interrupt
Enable
HSS Interrupt In Mailbox
Enable
Interrupt
Enable
Out Mailbox
Interrupt
Enable
Reserved
VBUS
Receive
Pull-up Enable Disable
D–
Pull-down
Enable
0000 0000
Timer 0
Interrupt
Enable
0001 0000
D+
D–
0000 0000
Charge Pump VBUS Discharge Enable Pull-up Enable Pull-up Enable
Enable
Reserved
OTG Data Sta- ID
tus
Status
VBUS Valid
Flag
0000 0XXX
Count...
1111 1111
...Count
1111 1111
0xC014
Address...
0000 0000
...Address
0000 0000
Breakpoint
1: 0xC018 Extended Page n Map
2: 0xC01A
R/W
0xC01E
R/W
HSS
Wake Enable
0: 0xC010 Timer n
1: 0xC012
R/W
R
0000 000F
Host/Device 1 OTG
Reserved
Wake Enable Wake Enable
Reserved...
D+
Pull-down
Enable
0000 0000
0000 0000
...Reserved
R/W
Interrupt 0
Interrupt 0
Polarity Select Enable
CPU Speed
HPI
Reserved
Wake Enable
R/W
0000 0000
Reserved...
.Reserved
R/W
Mode
Select
0xC020
0xC022
GPIO 0 Output Data
GPIO 0 Input Data
GPIO 0 Direction
Document #: 38-08014 Rev. *G
Address...
...Address
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
0000 0000
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
0000 0000
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
0000 0000
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
0000 0000
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
GPIO10
GPIO9
GPIO8
0000 0000
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
0000 0000
Page 73 of 78
[+] Feedback
CY7C67200
Table 42. Register Summary (continued)
R/W
R/W
R
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Address Register
0xC024
0xC026
0xC028
0xC03C
0xC070
0xC072
0xC074
0xC076
0xC078
GPIO 1 Output Data
GPIO 1 Input Data
GPIO 1 Direction
USB Diagnostic
HSS Control
HSS Baud Rate
HSS Transmit Gap
HSS Data
HSS Receive Address
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Default High
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Default Low
GPIO31
GPIO30
GPIO29
Reserved
GPIO23
GPIO22
GPIO21
GPIO20
GPIO31
GPIO30
GPIO29
Reserved
GPIO23
GPIO22
GPIO21
GPIO20
GPIO24
GPIO19
Reserved
GPIO19
Reserved
GPIO19
Reserved
GPIO24
GPIO31
GPIO30
GPIO29
Reserved
GPIO23
GPIO22
GPIO21
GPIO20
Reserved
Port 2A Diag- Reserved
nostic Enable
Port 1A Diag- Reserved...
nostic Enable
...Reserved
Pull-down
Enable
FS Pull-up
Enable
HSS
Enable
RTS
CTS
XOFF
Polarity Select Polarity Select
LS Pull-up
Enable
Transmit Done Receive Done One
Interrupt Flag Interrupt Flag Stop Bit
Transmit
Ready
Reserved
HSS Baud...
R/W
0xC07A
0xC07C
HSS Receive Counter
HSS Transmit Address
GPIO24
0xC07E
HSS Transmit Counter
0000 0000
Reserved
Force Select
XOFF
Enable
CTS
Enable
0000 0000
Receive Inter- Done Interrupt 0000 0000
rupt Enable
Enable
Packet
Receive
Receive Pack- Receive
Mode Select Overflow Flag et Ready Flag Ready Flag
R/W
R/W
R
0xC080
0xC0A0
Host n Control
0xC082
0xC0A2
Host n Address
0xC084
0xC0A4
Host n Count
0xC086
0xC0A6
Host n PID
0000 0000
0001 0111
Reserved
0000 0000
Transmit Gap Select
0000 1001
Reserved
xxxx xxxx
Data
xxxx xxxx
Address...
0000 0000
0000 0000
Reserved
Counter...
0000 0000
...Counter
0000 0000
Address..
0000 0000
0000 0000
Reserved
Counter...
0000 0000
0000 0000
Reserved
Preamble
Enable
0000 0000
Sequence
Select
Sync
Enable
ISO
Enable
Reserved
Arm
Enable
0000 0000
Address...
0000 0000
...Address
Reserved
0000 0000
Port Select
Reserved
Count...
0000 0000
...Count
0000 0000
Reserved
Stall
Flag
W
0000 0000
...Baud
...Counter
R/W
0000 0000
0000 0000
...Address
R/W
0000 0000
0000 0000
...Address
R/W
0000 0000
0000 0000
NAK
Flag
Length
Reserved
Exception Flag
Overflow
Flag
Underflow
Flag
Reserved
Sequence
Status
Timeout
Flag
Error
Flag
0000 0000
ACK
Flag
0000 0000
0xC086
0xC0A4
Host n EP Status
R
0xC088
0xC0A8
Host n Count Result
Result...
0000 0000
...Result
0000 0000
W
0xC088
0xC0A8
Host n Device Address
Reserved...
0xC08A
0xC0AA
USB n Control
R/W
R/W
R/W
R/W
0xC08C
0xC08C
0xC08E
0xC0AE
Reserved
0000 0000
PID Select
...Reserved
Host 1 Interrupt Enable
Device 1 Interrupt Enable
Device n Address
Document #: 38-08014 Rev. *G
Endpoint Select
0000 0000
Address
Reserved
0000 0000
Port A
D+ Status
Port A
Resistors
Enable
Reserved
VBUS
Interrupt
Enable
ID
Interrupt
Enable
Reserved
Port A
Reserved
Wake Interrupt
Enable
VBUS
Interrupt
Enable
ID
Interrupt
Enable
Reserved
EP7
Interrupt
Enable
EP6
Interrupt
Enable
EP5
Interrupt
Enable
Reserved...
...Reserved
0000 0000
Port A
D– Status
Reserved
Port A
Force D±
State
LOA
Mode
Select
Reserved
xxxx 0000
Suspend
Enable
Reserved
Port A
SOF/EOP
Enable
0000 0000
SOF/EOP
Interrupt
Enable
Reserved
0000 0000
Done
Interrupt
Enable
0000 0000
Reserved
Port A Connect Change
Interrupt
Enable
EP4
Interrupt
Enable
Reserved
SOF/EOP
Reserved
Timeout Interrupt Enable
SOF/EOP
Interrupt
Enable
Reset
Interrupt
Enable
0000 0000
EP3
Interrupt
Enable
EP1
Interrupt
Enable
EP0
Interrupt
Enable
0000 0000
EP2
Interrupt
Enable
0000 0000
Address
0000 0000
Page 74 of 78
[+] Feedback
CY7C67200
Table 42. Register Summary (continued)
R/W
R/W
R/W
R/W
Address Register
0xC090
0xC090
Host 1 Status
Device 1 Status
0xC092
0xC0B2
Host n SOF/EOP Count
R
0xC092
0xC0B2
Device n Frame Number
R
0xC094
0xC0B4
Host n SOF/EOP Counter
W
0xC094
0xC0B4
Device n SOF/EOP Count
0xC096
0xC0B6
Host n Frame
0xC0AC
Host 2 Interrupt Enable
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Default Low
VBUS
Interrupt
Flag
ID
Interrupt
Flag
Reserved
SOF/EOP
Interrupt
Flag
Reserved
xxxx xxxx
Reserved
Port A
Reserved
Wake Interrupt
Flag
Reserved
Done
Interrupt
Flag
xxxx xxxx
VBUS
Interrupt
Flag
ID
Interrupt
Flag
Reserved
SOF/EOP
Interrupt
Flag
Reset
Interrupt
Flag
xxxx xxxx
EP7
Interrupt
Flag
EP6
Interrupt
Flag
EP5
Interrupt
Flag
EP1
Interrupt
Flag
EP0
Interrupt
Flag
xxxx xxxx
Reserved
Port A ConReserved
nect
Change
Interrupt Flag
EP4
Interrupt
Flag
EP3
Interrupt
Flag
Port A
SE0
Status
EP2
Interrupt
Flag
Default High
Count...
0010 1110
...Count
SOF/EOP
Timeout
Flag
1110 0000
SOF/EOP
Timeout
Interrupt Count
Reserved
Frame...
0000 0000
...Frame
R
R/W
0xC0AC
Reserved
0xC0B0
Reserved
0xC0B0
Frame...
0000 0000
...Frame
Device 2 Interrupt Enable
Host 2 Status
Device 2 Status
0000 0000
Reserved
SOF/EOP
Interrupt
Enable
Port A
Reserved
Wake Interrupt
Enable
Port A Connect Change
Interrupt
Enable
Reserved
EP6
Interrupt
Enable
EP5
Interrupt
Enable
EP4
Interrupt
Enable
Reserved
Port A
Reserved
Wake Interrupt
Flag
0xC0C6
HPI Mailbox
Done
Interrupt
Enable
0000 0000
Reset
Interrupt
Enable
0000 0000
EP3
Interrupt
Enable
EP1
Interrupt
Enable
EP0
Interrupt
Enable
0000 0000
SOF/EOP
Interrupt Flag
Reserved
xxxx xxxx
Port A
SE0
Status
Reserved
Done
Interrupt
Flag
xxxx xxxx
Wake
Interrupt
Flag
SOF/EOP
Interrupt
Flag
Reset
Interrupt
Flag
xxxx xxxx
EP2
Interrupt
Enable
SOF/EOP
Timeout
Interrupt
Enable
EP7
EP6
EP5
EP4
EP3
EP2
EP1
Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag
R/W
0000 0000
SOF/EOP
Interrupt
Enable
Port A ConReserved
nect Change
Interrupt Flag
Reserved
Reserved
SOF/EOP
Wake
Timeout Inter- Interrupt
rupt Enable Enable
Reserved
Reserved
R/W
Count...
...Count
EP7
Interrupt
Enable
R/W
Counter...
...Counter
Reserved
R/W
0000 0000
Reserved
EP0
xxxx xxxx
Interrupt Flag
Message...
0000 0000
...Message
R/W
R/W
R/W
0xC0C8
0xC0CA
0xC0CC
SPI Configuration
SPI Control
SPI Interrupt Enable
3Wire
Enable
0000 0000
Phase
Select
SCK
Scale Select
Polarity Select
Master
Master
Active Enable Enable
SS
Enable
SS Delay Select
SCK
Strobe
FIFO
Init
Byte
Mode
FullDuplex
Transmit
Empty
Receive
Full
Transmit Bit Length
0xC0CE
SPI Status
R/W
R/W
0xC0D0
0xC0D2
0xC0D4
SPI Interrupt Clear
SPI CRC Control
SPI CRC Value
Document #: 38-08014 Rev. *G
Read
Enable
Transmit
Ready
Receive
Data Ready
Receive Bit Length
0000 0001
1000 0000
0000 0000
Receive
Interrupt
Enable
Transmit
Interrupt
Enable
Transfer
Interrupt
Enable
Reserved...
FIFO Error
Flag
W
SS
Manual
1000 0000
0001 1111
Reserved...
...Reserved
R
Reserved
0000 0000
0000 0000
Transmit
Receive
Interrupt Flag Interrupt Flag
Reserved
Transfer
0000 0000
Interrupt Flag
Reserved...
0000 0000
...Reserved
Transmit
Transmit
0000 0000
Interrupt Clear Interrupt Clear
CRC Mode
CRC Enable
CRC Clear
Receive CRC One in CRC
Zero in CRC
Reserved...
0000 0000
...Reserved
0000 0000
CRC..
1111 1111
...CRC
1111 1111
Page 75 of 78
[+] Feedback
CY7C67200
Table 42. Register Summary (continued)
R/W
R/W
R/W
Address Register
0xC0D6
0xC0D8
SPI Data Port t
SPI Transmit Address
Bit 15
Bit 14
Bit 13
Bit 12
Bit 11
Bit 10
Bit 9
Bit 8
Default High
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Default Low
Reserved
xxxx xxxx
Data
xxxx xxxx
Address...
0000 0000
...Address
R/W
R/W
0xC0DA
0xC0DC
SPI Transmit Count
SPI Receive Address
0000 0000
Reserved
Count...
0000 0000
...Count
0000 0000
Address...
0000 0000
...Address
R/W
0xC0DE
SPI Receive Count
0000 0000
Reserved
Count...
0000 0000
...Count
R/W
0xC0E0
UART Control
0000 0000
Reserved...
0000 0000
...Reserved
R
0xC0E2
UART Status
Scale
Select
Baud
Select
UART
Enable
Reserved...
0000 0000
...Reserved
R/W
0xC0E4
UART Data
0000 0111
Receive
Full
Transmit
Full
Reserved
0000 0000
Data
R
HPI Status Port
Document #: 38-08014 Rev. *G
0000 0000
0000 0000
VBUS
Flag
ID
Flag
Reserved
SOF/EOP2
Flag
Reserved
SOF/EOP1
Flag
Reset2
Flag
Mailbox In
Flag
Resume2
Flag
Resume1
Flag
SIE2msg
SIE1msg
Done2
Flag
Done1
Flag
Reset1
Flag
Mailbox Out
Flag
Page 76 of 78
[+] Feedback
CY7C67200
Ordering Information
Table 43.Ordering Information
PB-Free
Temperature Range
CY7C67200-48BAXI
Ordering Code
48FBGA
Package Type
X
–40 to 85°C
CY7C67200-BAXIT
48FBGA, Tape and reel
X
–40 to 85°C
CY3663
Development Kit
Package Diagram
48-Ball (7.00 mm x 7.00 mm x 1.2 mm) FBGA BA48
BOTTOM VIEW
TOP VIEW
PIN 1 CORNER
Ø0.05 M C
PIN 1 CORNER
(LASER MARK)
Ø0.25 M C A B
Ø0.30±0.05(48X)
1 2
3
4
5
6
6
4
3
2
1
C
F
G
D
E
F
2.625
E
0.75
C
5.25
B
7.00±0.10
A
B
D
7.00±0.10
5
A
G
H
H
A
A
1.875
0.75
B
7.00±0.10
3.75
7.00±0.10
0.10 C
0.21±0.05
0.53±0.05
0.25 C
B
0.15(4X)
51-85096-*F
0.36
SEATING PLANE
C
1.20 MAX.
Purchase of I2C™ components from Cypress, or one of its sublicensed Associated Companies, conveys a license under the
Philips I2C Patent Rights to use these components in an I2C system, provided that the system conforms to the I2C Standard
Specification as defined by Philips. EZ-OTG is a trademark of Cypress Semiconductor. All product and company names mentioned
in this document are trademarks of their respective holders.
Document #: 38-08014 Rev. *G
Page 77 of 78
© Cypress Semiconductor Corporation, 2006. The information contained herein is subject to change without notice. Cypress Semiconductor Corporation assumes no responsibility for the use
of any circuitry other than circuitry embodied in a Cypress product. Nor does it convey or imply any license under patent or other rights. Cypress products are not warranted nor intended to be
used for medical, life support, life saving, critical control or safety applications, unless pursuant to an express written agreement with Cypress. Furthermore, Cypress does not authorize its
products for use as critical components in life-support systems where a malfunction or failure may reasonably be expected to result in significant injury to the user. The inclusion of Cypress
products in life-support systems application implies that the manufacturer assumes all risk of such use and in doing so indemnifies Cypress against all charges.
[+] Feedback
CY7C67200
Document History Page
Document Title: CY7C67200 EZ-OTG™ Programmable USB On-The-Go Host/Peripheral Controller
Document Number: 38-08014
REV.
ECN NO.
Issue
Date
Orig. of
Change
Description of Change
**
111872
03/22/02
MUL
New Data Sheet
*A
116988
08/23/02
MUL
Preliminary Data Sheet
*B
124954
04/10/03
MUL
Added Memory Map Section and Ordering Information Section
Moved Functional Register Map Tables into Register section
General Clean-up
Changed from “Preliminary“ to “Preliminary Confidential“
*C
126211
05/23/03
MUL
Added Interface Description Section and Power Savings and Reset Section
Added Char Data
General Clean-up
Removed DRAM, MDMA, and EPP
Added “Programmable” to the title page
*D
127334
05/29/03
KKV
Corrected font to enable correct symbol display
*E
129394
10/07/03
MUL
Final Data Sheet
Changed Memory Map Section
Added USB OTG Logo
General Clean-up
*F
472875
See ECN
ARI
Removed “power consumption” bullet from the Features bullet list.
Corrected number GPIO[31:20] to read GPIO[31:30] in Section “Standalone
Mode”.
Made sentence into a Note in Section “Reset Pin” and repeated the note in
Section “Host Port Interface (HPI)”.
Corrected the Host/Device 1 Interrupt Enable (Bit 8) Information in Section
“Interrupt Enable Register [0xC00E] [R/W]”.
Corrected data on Write Protect Enable (Bit 15) Section “GPIO Control
Register [0xC006] [R/W]” to read “the GPIO Mode Select [15:8] bits are read
only until a chip reset“.
Re-wrote the Register Description in Section “SIEXmsg Register [W]”.
Put document on 2-column template and corrected grammar. Put the figure
captions at the top of the figures per new template specifications.
Added Static Discharge Voltage information in Section “Absolute Maximum
Ratings”
Added compliance statement and TID in Section “USB Transceiver”.
*G
567317
See ECN
Document #: 38-08014 Rev. *G
KKVTMP Added the lead free information on the Ordering Information Section. Implemented the new template with no numbers on the headings.
Page 78 of 78
[+] Feedback