Cypress CY7C67300-100AXA Ez-hostâ ¢ programmable embedded usb host and peripheral controller with automotive aec grade support Datasheet

CY7C67300
EZ-Host™ Programmable Embedded
USB Host and Peripheral Controller with
Automotive AEC Grade Support
EZ-Host Features
■
Single chip programmable USB dual-role (Host/Peripheral)
controller with two configurable Serial Interface Engines (SIEs)
and four USB ports
■
Support for USB On-The-Go (OTG) protocol
■
On-chip 48 MHz 16-bit processor with dynamically switchable
clock speed
■
On-chip 16-bit DMA/mailbox data path interface
■
Supports 12 MHz external crystal or clock
■
3.3V operation
■
Automotive AEC grade option (–40°C to 85°C)
■
Package option—100-pin TQFP
■
Configurable IO block supporting a variety of IO options or up
to 32 bits of General Purpose IO (GPIO)
Typical Applications
■
4K x 16 internal masked ROM containing built in BIOS that
supports a communication ready state with access to I2C™
EEPROM Interface, external ROM, UART, or USB
EZ-Host is a very powerful and flexible dual role USB controller
that supports a wide variety of applications. It is primarily
intended to enable host capability in applications such as:
■
8K x 16 internal RAM for code and data buffering
■
Set top boxes
■
Extended memory interface port for external SRAM and ROM
■
Printers
■
16-bit parallel Host Port Interface (HPI) with a DMA/mailbox
data path for an external processor to directly access all of the
on-chip memory and control on-chip SIEs
■
KVM switches
■
Kiosks
■
Automotive applications
■
Wireless access points
■
Fast serial port supports from 9600 baud to 2.0M baud
■
SPI support in both master and slave
CY7C67300 Block Diagram
CY7C67300
Timer 0
Control
Timer 1
UART I/F
I2C
EEPROM I/F
Watchdog
CY16
16-bit RISC CORE
HSS I/F
Vbus, ID
OTG
D+,D-
PWM
USB-A
SIE1
Host/
Peripheral
USB Ports
D+,D-
USB-B
D+,D-
USB-A
SPI I/F
IDE I/F
SIE2
4Kx16
ROM BIOS
8Kx16
RAM
SHARED INPUT/OUTPUT PINS
nRESET
GPIO [31:0]
HPI I/F
USB-B
D+,D-
GPIO
X1
X2
Mobile
Power
Booster
PLL
External MEM I/F
(SRAM/ROM)
SHARED INPUT/OUTPUT PINS
A[15:0] D[15:0]
Cypress Semiconductor Corporation
Document Number: 38-08015 Rev. *L
•
198 Champion Court
•
CTRL[9:0]
San Jose, CA 95134-1709
•
408-943-2600
Revised May 11, 2013
CY7C67300
Contents
Introduction ....................................................................... 3
Functional Overview ........................................................ 3
Processor Core ........................................................... 3
Clocking ....................................................................... 3
Memory ....................................................................... 3
Interrupts ..................................................................... 3
General Timers and Watchdog Timer ......................... 3
Power Management .................................................... 3
Interface Descriptions ...................................................... 3
USB Interface .............................................................. 4
OTG Interface .............................................................. 5
External Memory Interface .......................................... 6
General Purpose IO Interface (GPIO) ......................... 8
UART Interface ............................................................ 8
I2C EEPROM Interface ............................................... 8
Serial Peripheral Interface ........................................... 8
High-Speed Serial Interface ........................................ 9
Programmable Pulse/PWM Interface .......................... 9
Host Port Interface .................................................... 10
IDE Interface ............................................................. 10
Charge Pump Interface ............................................. 11
Booster Interface ....................................................... 12
Crystal Interface ........................................................ 12
Boot Configuration Interface ...................................... 13
Operational Modes .................................................... 13
Power Savings and Reset Description ........................ 14
Power Saving Mode Description ............................... 14
Sleep ......................................................................... 14
External (Remote) Wakeup Source ........................... 15
Power-On-Reset Description ..................................... 15
Reset Pin ................................................................... 15
USB Reset ................................................................. 15
Memory Map .................................................................... 15
Mapping ..................................................................... 15
Registers ......................................................................... 17
Processor Control Registers ..................................... 17
External Memory Registers ....................................... 24
Timer Registers ......................................................... 26
General USB Registers ............................................. 28
USB Host Only Registers .......................................... 30
USB Device Only Registers ...................................... 39
Document Number: 38-08015 Rev. *L
OTG Control Registers .............................................. 49
GPIO Registers ......................................................... 50
IDE Registers ............................................................ 53
HSS Registers ........................................................... 56
HPI Registers ............................................................ 62
SPI Registers ............................................................ 66
UART Registers ........................................................ 74
PWM Registers ......................................................... 76
Pin Diagram ..................................................................... 80
Pin Descriptions ............................................................. 80
Absolute Maximum Ratings .......................................... 84
Operating Conditions ..................................................... 84
Crystal Requirements (XTALIN, XTALOUT) ................. 84
DC Characteristics ......................................................... 84
USB Transceiver ....................................................... 85
AC Timing Characteristics ............................................. 86
Reset Timing ........................................................... 86
Clock Timing ............................................................. 86
SRAM Read Cycle[15] .............................................. 87
SRAM Write Cycle [17] .............................................. 88
I2C EEPROM Timing-Serial IO ................................. 89
HPI (Host Port Interface) Write Cycle Timing ........... 90
HPI (Host Port Interface) Read Cycle Timing ........... 91
IDE Timing ................................................................. 92
HSS BYTE Mode Transmit ........................................ 92
HSS Block Mode Transmit ........................................ 92
HSS BYTE and BLOCK Mode Receive .................... 92
Hardware CTS/RTS Handshake ............................... 93
Register Summary .......................................................... 93
Ordering Information ...................................................... 98
Ordering Code Definitions ......................................... 98
Package Diagram ............................................................ 99
Acronyms ...................................................................... 100
Document Conventions ............................................... 100
Units of Measure ..................................................... 100
Document History Page ............................................... 101
Sales, Solutions, and Legal Information .................... 102
Worldwide Sales and Design Support ..................... 102
Products .................................................................. 102
PSoC Solutions ....................................................... 102
Page 2 of 112
CY7C67300
Introduction
Interrupts
EZ-Host™ (CY7C67300) is Cypress Semiconductor’s first
full-speed, low cost multiport host/peripheral controller. EZ-Host
is designed to easily interface to most high performance CPUs
to add USB host functionality. EZ-Host has its own 16-bit RISC
processor to act as a coprocessor or operate in standalone
mode. EZ-Host also has a programmable IO interface block
allowing a wide range of interface options.
EZ-Host 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-Host has two built in programmable timers and a Watchdog
timer. All three timers can generate an interrupt to the EZ-Host.
Power Management
Functional Overview
An overview of the processor core components are presented in
this section.
EZ-Host has one main power saving mode, Sleep. Sleep mode
pauses all operations and provides the lowest power state.
Interface Descriptions
Processor Core
EZ-Host has a wide variety of interface options for connectivity.
With several interface options available, EZ-Host can act as a
seamless data transport between many different types of
devices.
EZ-Host has a general purpose 16-bit embedded RISC
processor that runs at 48 MHz.
Clocking
EZ-Host requires a 12 MHz source for clocking. Either an
external crystal or TTL level oscillator may be used. EZ-Host has
an internal PLL that produces a 48 MHz internal clock from the
12 MHz source.
Memory
EZ-Host has a built in 4K × 16 masked ROM and an 8K × 16
internal RAM. The masked ROM contains the EZ-Host BIOS.
The internal RAM can be used for program code or data.
See Table 1 and Table 2 on page 4 to understand how the interfaces share pins and which can coexist. Note that some interfaces have more then one possible port location selectable
through the GPIO control register [0xC006]. General guidelines
for interfaces are as follows:
■
HPI and IDE interfaces are mutually exclusive.
■
If 16-bit external memory is required, then HSS and SPI default
locations must be used.
■
I2C EEPROM and OTG do not conflict with any interfaces.
Table 1. Interface Options for GPIO Pins
GPIO Pins
GPIO31
GPIO30
GPIO29
GPIO28
GPIO27
GPIO26
GPIO25
GPIO24
GPIO23
GPIO22
GPIO21
GPIO20
GPIO19
GPIO18
GPIO17
GPIO16
GPIO15
GPIO14
GPIO13
GPIO12
GPIO11
HPI
IDE
PWM
HSS
SPI
UART
I2C
SCL/SDA
SCL/SDA
OTG
OTGID
TX
RX
INT
nRD
nWR
nCS
A1
A0
D15
D14
D13
D12
D11
PWM3
CTS[1]
PWM2
PWM1
PWM0
RTS[1]
RXD[1]
TXD[1]
IOREADY
IOR
IOW
CS1
CS0
A2
A1
A0
D15
D14
D13
D12
D11
MOSI[1]
Note
1. Default interface location.
Document Number: 38-08015 Rev. *L
Page 3 of 112
CY7C67300
Table 1. Interface Options for GPIO Pins (continued)
GPIO Pins
GPIO10
GPIO9
GPIO8
GPIO7
GPIO6
GPIO5
GPIO4
GPIO3
GPIO2
GPIO1
GPIO0
HPI
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
IDE
D10
D9
D8
D7
D6
D5
D4
D3
D2
D1
D0
PWM
HSS
SPI
SCK[1]
nSSI[1]
MISO[1]
UART
I2C
OTG
HSS
CTS[2]
RTS[2]
RXD[2]
TXD[2]
SPI
UART
I2C
OTG
Table 2. Interface Options for External Memory Bus Pins
MEM Pins
D15
D14
D13
D12
D11
D10
D9
D8
D[7:0]
A[18:0]
CONTROL
HPI
IDE
PWM
MOSI[2]
SCK[2]
nSSI[2]
MISO[2]
USB Interface
EZ-Host has two built in Host/Peripheral SIEs and four USB transceivers that meet the USB 2.0 specification requirements for full and
low speed (high speed is not supported). In Host mode, EZ-Host supports four downstream ports, each support control, interrupt, bulk,
and isochronous transfers. In Peripheral mode, EZ-Host 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/packet), or isochronous transfers (up to 1023 Bytes/packet size). EZ-Host also supports a combination of Host and
Peripheral ports simultaneously as shown in Table 3.
Table 3. USB Port Configuration Options
Port Configurations
OTG
Port 1A
Port 1B
Port 2A
Port 2B
OTG
–
–
–
OTG + 2 Hosts
OTG
–
Host
Host
OTG + 1 Host
OTG
–
Host
–
OTG + 1 Host
OTG
–
–
Host
OTG + 1 Peripheral
OTG
–
Peripheral
–
OTG + 1 Peripheral
OTG
–
–
Peripheral
4 Hosts
Host
Host
Host
Host
3 Hosts
Any Combination of Ports
2 Hosts
Any Combination of Ports
1 Host
Any Port
Note
2. Alternate interface location.
Document Number: 38-08015 Rev. *L
Page 4 of 112
CY7C67300
Table 3. USB Port Configuration Options (continued)
Port Configurations
Port 1A
Port 1B
Port 2A
Port 2B
2 Hosts + 1 Peripheral
Host
Host
Peripheral
–
2 Hosts + 1 Peripheral
Host
Host
–
Peripheral
2 Hosts + 1 Peripheral
Peripheral
–
Host
Host
2 Hosts + 1 Peripheral
–
Peripheral
Host
Host
1 Host + 1 Peripheral
Host
–
Peripheral
–
1 Host + 1 Peripheral
Host
–
–
Peripheral
1 Host + 1 Peripheral
–
Host
–
Peripheral
1 Host + 1 Peripheral
–
Host
Peripheral
–
1 Host + 1 Peripheral
Peripheral
–
Host
–
1 Host + 1 Peripheral
Peripheral
–
–
Host
1 Host + 1 Peripheral
–
Peripheral
–
Host
1 Host + 1 Peripheral
–
Peripheral
Host
–
2 Peripherals
Peripheral
–
Peripheral
–
2 Peripherals
Peripheral
–
–
Peripheral
2 Peripherals
–
Peripheral
–
Peripheral
2 Peripherals
–
Peripheral
Peripheral
–
1 Peripheral
Any Port
USB Features
OTG Interface
■
USB 2.0-compliant for full and low speed
■
Up to four downstream USB host ports
■
Up to two upstream USB peripheral ports
EZ-Host 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 a various hardware features to support Session
Request Protocol (SRP) and Host Negotiation Protocol (HNP).
OTG is only supported on USB PORT 1A.
■
Configurable endpoint buffers (pointer and length), must reside
in internal RAM
■
Up to eight available peripheral endpoints (one 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
USB Pins
Table 4. USB Interface Pins
Pin Name
DM1A
DP1A
DM1B
DP1B
DM2A
DP2A
DM2B
DP2B
Document Number: 38-08015 Rev. *L
Pin Number
22
23
18
19
9
10
4
5
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 2K ohm 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 Pins
Table 5. OTG Interface Pins
Pin Name
DM1A
DP1A
OTGVBUS
OTGID
CSwitchA
CSwitchB
Pin Number
22
23
11
41
13
12
Page 5 of 112
CY7C67300
External Memory Interface
Merge Mode
EZ-Host provides a robust interface to a wide variety of external
memory arrays. All available external memory array locations
can contain either code or data. The CY16 RISC processor
directly addresses a flat memory space from 0x0000 to 0xFFFF.
Merge modes enabled through the External Memory Control
register [0xC03A] allow combining of external memory regions in
accordance with the following:
External Memory Interface Features
■
Supports 8-bit or 16-bit SRAM or ROM
■
SRAM or ROM can be used for code or data space
■
Direct addressing of SRAM or ROM
■
Two external memory mapped page registers
External Memory Access Strobes
■
nXMEMSEL is active from 0x8000 to 0xBFFF
■
nXRAMSEL is active from 0x4000 to 0x7FFF when RAM Merge
is disabled; nXRAMSEL is active from 0x4000 to 0xBFFF when
RAM Merge is enabled
■
nXROMSEL is active from 0xC100 to 0xDFFF when ROM
Merge is disabled; nXROMSEL is active from 0x8000 to
0xDFFF (excluding the 0xC000 to 0xC0FF area) when ROM
Merge is enabled
Program Memory Hole Description
Access to external memory is sampled asynchronously on the
rising edge of strobes with a minimum of one wait state cycle. Up
to seven wait state cycles may be inserted for external memory
access. Each additional wait state cycle stretches the external
memory access time by 21 ns (you must be running in internal
memory when changing wait states). An external memory device
with 12 ns access time is necessary to support 48 MHz code
execution.
Page Registers
EZ-Host allows extended data or program code to be stored in
external SRAM, or ROM. The total size of extended memory can
be up to 512K bytes. The CY16 processor can access extended
memory via two address regions of 0x8000-0x9FFF and
0xA000-0xBFFF. The page register 0xC018 can be used to
control the address region 0x8000-0x9FFF and the page register
0xC01A controls the address region of 0xA000-0xBFFF.
Figure 1 illustrates that when the nXMEMSEL pin is asserted the
upper CPU address pins are driven by the contents of the Page
x registers.
Code residing in the 0xC000-0xC0FF address space is not
accessible by the CPU.
DMA to External Memory Prohibited
EZ-Host supports an internal DMA engine to rapidly move data
between different functional blocks within the chip. This DMA
engine is used for SIE1, SIE2, HPI, SPI, HSS, and IDE but it can
only transfer data between the specified block and internal RAM
or ROM. Setting up the DMA engine to transfer to or from an
external memory space might result in internal RAM data
corruption because the hardware (for example,
HSS/HPI/SIE1/SIE2/IDE) does not explicitly check the address
range. For example, setting up a DMA transfer to external
address 0x8000 might result in a DMA transfer into address
0x0000.
External Memory Related Resource Considerations:
■
By default A[18:15] are not available for general addressing
and are driven high on power up. The Upper Address Enable
register must be written appropriately to enable A[18:15] for
general addressing purposes.
■
47K ohm external pull up on pin A15 for 12 MHz crystal
operation.
■
During the 3 ms BIOS boot procedure the CPU external
memory bus is active.
■
ROM boot load value 0xC3B6 located at 0xC100.
■
HPI, HSS, SPI, SIE1, SIE2, and IDE cannot DMA to external
memory arrays.
■
Page 1 banking is always enabled and is in effect from 0x8000
to 0x9FFF.
■
Page 2 banking is always enabled and is in effect from 0xA000
to 0xBFFF.
■
CPU memory bus strobes may wiggle when chip selects are
inactive.
Figure 1. Page n Registers External Address Pins Logic
nXMEMSEL Pin
0000 + PC[14:0]
1
PAGEx Register[5:0] + PC[12:0]
0
A[18:0]
Where:
x = 1 or 2
PC = Program Counter
A = CPU Address Bus
Note:
PAGE 1 Register Active Range = 8000h to 9FFFh
PAGE 2 Register Active Range = A000h to BFFFh
nXMEMSEL Pin Active Range = 8000h to BFFFh
Document Number: 38-08015 Rev. *L
Page 6 of 112
CY7C67300
External Memory Interface Pins
Table 6. External Memory Interface Pins (continued)
Table 6. External Memory Interface Pins
Pin Name
Pin Number
Pin Name
Pin Number
D3
80
nWR
64
D2
81
nRD
62
D1
82
nXMEMSEL (optional nCS)
34
D0
83
nXROMSEL (ROM nCS)
35
nXRAMSEL (RAM nCS)
36
External Memory Interface Block Diagrams
A18
95
A17
96
Figure 2 illustrates how to connect a 64k × 8 memory array
(SRAM/ROM) to the EZ-Host external memory interface.
A16
97
A15
38
A14
33
A13
32
A12
31
A11
30
A10
27
A9
25
A8
24
A7
20
A6
17
A5
8
A4
7
A3
3
A2
2
Figure 2. Interfacing to 64k × 8 Memory Array
Interfacing to 64K x 8 External Memory Array
EZ-Host
CY7C67300
External Memory Array
64K x 8
A[15:0]
D[7:0]
nXRAMSEL
nWR
nRD
A[15:0]
D[7:0]
CE
WE
OE
Figure 3 illustrates the interface for connecting a 16-bit ROM or
16-bit RAM to the EZ-Host external memory interface. In 16-bit
mode, up to 256K words of external ROM or RAM are supported.
Note that the address lines do not map directly.
A1
1
nBEL/A0
99
Figure 3. Interfacing up to 256k × 16 for External Code/Data
nBEH
98
Up to 256k x 16 External Code/Data (Page Mode)
D15
67
D14
68
D13
69
D12
70
D11
71
D10
72
D9
73
D8
74
D7
76
D6
77
D5
78
D4
79
Document Number: 38-08015 Rev. *L
EZ-Host
CY7C67300
External Memory Array
Up to 256k x 16
A[18:1]
D[15:0]
nXMEMSEL
A[17:0]
D[15:0]
CE
nBEL
BLE
nBEH
nWR
nRD
BHE
WE
OE
Page 7 of 112
CY7C67300
Figure 4 illustrates the interface for connecting an 8-bit ROM or
8-bit RAM to the EZ-Host external memory interface. In 8-bit
mode, up to 512K bytes of external ROM or RAM are supported.
Figure 4. Interfacing up to 512k × 8 for External Code/Data
Up to 512k x 8 External Code/Data (Page Mode)
EZ-Host
CY7C67300
External Memory Array
Up to 512k x8
I2C EEPROM Interface
EZ-Host provides a master-only I2C interface for external serial
EEPROMs. The serial EEPROM can be used to store application
specific code and data. Use the I2C interface 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.
I2C EEPROM Features
A[18:0]
D[7:0]
nXMEMSEL
nWR
nRD
A[18:0]
D[7:0]
CE
WE
OE
■
Supports EEPROMs up to 64 KB (512K bit)
■
Auto-detection of EEPROM size
I2C
EEPROM Pins
Table 8. I2C EEPROM Interface Pins
Pin Name
SCK
SDA
General Purpose IO Interface (GPIO)
EZ-Host has up to 32 GPIO signals available. Several other
optional interfaces use GPIO pins as well and may reduce the
overall number of available GPIOs.
SCK
SDA
Pin Number
SMALL EEPROM
39
40
LARGE EEPROM
40
39
GPIO Number
GPIO31
GPIO30
GPIO30
GPIO31
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
Ensure to tristate unused USB pins with the D+ line pulled high
through the internal pull up resistor and the D– line pulled low
through the internal pull down resistor.
Configure unused GPIO pins as outputs so they are driven low.
Serial Peripheral Interface
EZ-Host provides a SPI interface for added connectivity. EZ-Host
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
UART Interface
■
Full duplex or half duplex data communication
EZ-Host 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.
■
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
UART Features
■
Slave SPI signaling synchronization and filtering
■
Supports baud rates of 900 to 115.2K
■
Slave SPI clock rates up to 2 MHz
■
8-N-1
■
Maskable interrupts for block and byte transfer modes
■
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 7. UART Interface Pins
Pin Name
Pin Number
TX
42
RX
43
Document Number: 38-08015 Rev. *L
Page 8 of 112
CY7C67300
SPI Pins
HSS Pins
The SPI port has a few different pin location options as shown in
Table 9. The port location is selectable via the GPIO control
register [0xC006].
The HSS port has a few different pin location options as shown
in Table 10. The port location is selectable via the GPIO control
register [0xC006].
Table 9. SPI Interface Pins
Table 10. HSS Interface Pins
Pin Name
Pin Name
Pin Number
Pin Number
Default Location
Default Location
CTS
44
nSSI
56 or 65
SCK
61
RTS
53
MOSI
60
RXD
54
MISO
66
TXD
55
Alternate Location
Alternate Location
73
CTS
67
SCK
72
RTS
68
MOSI
71
RXD
69
74
TXD
70
nSSI
MISO
High-Speed Serial Interface
Programmable Pulse/PWM Interface
EZ-Host provides an HSS interface. The HSS interface is a
programmable serial connection with baud rate from 9600 baud
to 2.0M baud. The HSS interface supports both byte and block
mode operations and also hardware and software handshaking.
Complete control of EZ-Host 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.
EZ-Host has four built in PWM output channels. Each channel
provides a programmable timing generator sequence that can be
used to interface to various image sensors or other applications.
The PWM interface is exposed through GPIO pins.
Programmable Pulse/PWM Features
■
Four independent programmable waveform generators
■
Programmable predefined frequencies ranging from 5.90 KHz
to 48 MHz
HSS Features
■
8 bits, no parity code
■
Configurable polarity
■
Programmable baud rate from 9600 baud to 2M baud
■
Continuous and one-shot mode available
■
Selectable 1- or 2-stop bit on transmit
Programmable Pulse/PWM Pins.
■
Programmable inter-character gap timing for Block Transmit
Table 11. PWM Interface Pins
■
8-byte receive FIFO
Pin Name
Pin Number
■
Glitch filter on receive
PWM3
44
■
Block mode transfer directly to/from EZ-Host internal memory
(DMA transfer)
PWM2
53
PWM1
54
■
Selectable CTS/RTS hardware signal handshake protocol
PWM0
55
■
Selectable XON/XOFF software handshake protocol
■
Programmable Receive interrupt, Block Transfer Done interrupts
■
Complete access to internal memory
Document Number: 38-08015 Rev. *L
Page 9 of 112
CY7C67300
Table 12. HPI Interface Pins (continued)[3, 4]
Host Port Interface
EZ-Host has an HPI interface. The HPI interface provides DMA
access to the EZ-Host 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-Host 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.
HPI Features
D11
60
D10
61
D9
65
D8
66
D7
86
D6
87
D5
89
D4
90
D3
91
■
16-bit data bus interface
D2
92
■
16 MB/s throughput
D1
93
■
Auto-increment of address pointer for fast block mode transfers
D0
94
■
Direct memory access (DMA) to internal memory
■
Bidirectional Mailbox register
The two HPI address pins are used to address one of four
possible HPI port registers as shown in Table 13.
■
Byte swapping
Table 13. HPI Addressing
■
Complete access to internal memory
HPI A[1:0]
A1
A0
■
Complete control of SIEs through HPI
HPI Data
0
0
■
Dedicated HPI status register
HPI Pins
HPI Mailbox
0
1
HPI Address
1
0
HPI Status
1
1
Table 12. HPI Interface Pins [3, 4]
Pin Name
Pin Number
INT
46
nRD
47
nWR
48
nCS
49
A1
50
A0
52
D15
56
D14
57
D13
58
D12
59
IDE Interface
EZ-Host has an IDE interface. The IDE interface supports PIO
mode 0-4 as specified in the Information Technology-AT
Attachment–4 with Packet Interface Extension (ATA/ATAPI-4)
Specification, T13/1153D Rev 18. There is no need for firmware
to use programmable wait states. The CPU read/write cycle is
automatically extended as needed for direct CPU to IDE
read/write accesses.
The EZ-Host IDE interface also has a BLOCK transfer mode that
allows EZ-Host to read/write large blocks of data to/from the IDE
data register and move it to/from the EZ-Host on-chip memory
directly without intervention of the CPU. The IDE interface is
exposed through GPIO pins. Table 14 on page 11 lists the
achieved throughput for maximum block mode data transfer rate
(with IDE_IORDY true) for the various IDE PIO modes.
Notes
3. HPI_INT is for the Outgoing Mailbox interrupt.
4. HPI strobes are negative logic sampled on rising edge.
Document Number: 38-08015 Rev. *L
Page 10 of 112
CY7C67300
Table 14. IDE Throughput
ATA/ATAPI-4
Min Cycle Time
PIO Mode 0
600 ns
PIO Mode 1
383 ns
PIO Mode 2
240
PIO Mode 3
180 ns
PIO Mode 4
120 ns
T = System clock period = 1/48 MHz.
Mode
Actual
Min Cycle Time
30T = 625 ns
20T = 416.7 ns
13T = 270.8 ns
10T = 208.3 ns
8T = 166.7 ns
ATA/ATPI-4
Max Transfer Rate
3.33 MB/s
5.22 MB/s
8.33 MB/s
11.11 MB/s
16.67 MB/s
Actual
Max Transfer Rate
3.2 MB/s
4.8 MB/s
7.38 MB/s
9.6 MB/s
12.0 MB/s
IDE Features
Charge Pump Interface
■
Programmable IO mode 0–4
■
Block mode transfers
■
Direct memory access to/from internal memory through the IDE
data register
VBUS for the USB OTG port can be produced by EZ-Host using
its built in charge pump and some external components. Ensure
the circuit connections look similar to the following diagram.
Figure 5. Charge Pump
IDE Pins
D1
Table 15. IDE Interface Pins
D2
CSWITCHA
CY7C67300
Pin Name
Pin Number
IORDY
46
CSWITCHB
C1
VBUS
OTGVBUS
IOR
47
IOW
48
CS1
50
CS0
52
Component details:
A2
53
■
A1
54
D1 and D2: Schottky diodes with a current rating greater than
60 mA
A0
55
■
C1: Ceramic capacitor with a capacitance of 0.1 µF
D15
56
■
D14
57
D13
58
C2: Make capacitor value no more that 6.5 µF since that is the
maximum capacitance allowed by the USB OTG specifications
for a dual role device. The minimum value of C2 is 1 µF. There
are no restrictions on the type of capacitor for C2.
D12
59
D11
60
D10
61
D9
65
D8
66
D7
86
D6
87
D5
89
Pin Name
Pin Number
D4
90
OTGVBUS
11
D3
91
CSwitchA
13
D2
92
CSwitchB
12
D1
93
D0
94
Document Number: 38-08015 Rev. *L
C2
If the VBUS charge pump circuit is not to be used, CSWITCHA,
CSWITCHB, and OTGVBUS can be left unconnected.
Charge Pump Features
■
Meets OTG Supplement Requirements, see Table 134 on page
85 for details.
Charge Pump Pins
Table 16. Charge Pump Interface Pins
Page 11 of 112
CY7C67300
Booster Interface
Booster Pins
EZ-Host 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 6 shows how to connect the booster circuit.
Table 17. Charge Pump Interface Pins
Figure 6. Power Supply Connection With Booster
Crystal Interface
BOOSTVcc
L1
2.7V to 3.6V
Power Supply
VSWITCH
Pin Name
Pin Number
BOOSTVcc
16
VSWITCH
14
The recommended crystal circuit to be used with EZ-Host is
shown in Figure 8 If an oscillator is used instead of a crystal
circuit, connect it to XTALIN and leave XTALOUT unconnected.
For further information about the crystal requirements, see Table
132 on page 84.
Noted that the CLKSEL pin (pin 38) is sampled after reset to
determine what crystal or clock source frequency is used. For
normal operation, 12 MHz is required so the CLKSEL pin must
have a 47K ohm pull up resistor to VCC..
Figure 8. Crystal Interface
D1
3.3V
VCC
AVCC
XTALIN
C1
CY7C67300
Y1
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
XTALOUT
C1 = 22 pF
12MHz
Parallel Resonant
Fundamental Mode
500uW
20-33pf ±5%
C2 = 22 pF
Figure 7 shows how to connect the power supply when the
booster circuit is not being used.
Figure 7. Power Supply Connection Without Booster
Crystal Pins
Table 18. Crystal Pins
BOOSTVcc
3.0V to 3.6V
Power Supply
Pin Name
Pin Number
XTALIN
29
XTALOUT
28
VSWITCH
VCC
AVCC
Document Number: 38-08015 Rev. *L
Page 12 of 112
CY7C67300
Boot Configuration Interface
Operational Modes
EZ-Host 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 19 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.
The operational modes are discussed in the following sections.
Table 19. Boot Configuration Interface
GPIO31
(Pin 39)
GPIO30
(Pin 40)
0
0
Host Port Interface (HPI)
0
1
High-Speed Serial (HSS)
1
0
Serial Peripheral Interface (SPI,
slave mode)
1
1
I2C EEPROM (Standalone Mode)
Boot Mode
Ensure that GPIO[31:30] is pulled high or low as needed using
resistors tied to VCC or GND with resistor values between 5K
ohms and 15K ohms. Do not tie GPIO[31:30] 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). Make
sure that the resistors used for these pull ups conform to the
serial EEPROM manufacturer's requirements.
If any mode other then standalone is chosen, EZ-Host is in
coprocessor mode. The device powers up with the appropriate
communication interface enabled according to its boot pins and
waits idle until a coprocessor communicates with it. See the
BIOS documentation for greater detail of the boot process.
Document Number: 38-08015 Rev. *L
Coprocessor Mode
EZ-Host can act as a coprocessor to an external host processor.
In this mode, an external host processor drives EZ-Host and is
the main processor rather then EZ-Host’s own 16-bit internal
CPU. An external host processor may interface to EZ-Host
through one of the following three interfaces in coprocessor
mode:
■
HPI mode, a 16 bit parallel interface with up to 16 MB transfer
rate
■
HSS mode, a serial interface with up to 2M baud transfer rate
■
SPI mode, a serial interface with up to 2 Mb/s transfer rate
At bootup GPIO[31:30] determine which of these three interfaces
are used for coprocessor mode. See Table 19 for details.
Bootloading begins from the selected interface after POR + 3 ms
of BIOS bootup.
Standalone Mode
In standalone mode, there is no external processor connected to
EZ-Host. Instead, EZ-Host’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. See Table 19 for booting into standalone mode.
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 for 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 13 of 112
CY7C67300
Minimum Hardware Requirements for Standalone Mode – Peripheral Only
Figure 9. Minimum Standalone Hardware Configuration – Peripheral Only
EZ-Host
CY7C67300
VCC, AVCC,
BoostVCC
VReg
Standard-B
or Mini-B
VBus
D+
Reset
Logic
nRESET
DPlus
DMinus
DGND
SHIELD
VCC
Bootstrap Options
47Kohm
Vcc Vcc
Pin 38
10k 10k
GPIO[30]
SCL*
GPIO[31]
SDA*
Int. 16k x8
Code / Data
VCC
A0
A1
Up to 64k x8
EEPROM
Bootloading Firmware
VCC
WP
A2
SCL
GND
SDA
Reserved
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
This sections describes the different modes for resetting the chip
and ways to save power.
Power Saving Mode Description
EZ-Host has one main power saving mode, Sleep. For detailed
information about Sleep mode, see the Sleep section that
follows.
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)
Sleep mode is used for USB applications to support USB
suspend and non USB applications as the main chip power down
mode.
■
External Memory address pins are driven low
■
XTALOUT is turned off
In addition, EZ-Host 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.
■
Internal PLL is turned off
■
Ensure that firmware disables the charge pump (OTG Control
register [0xC098]) thereby causing OTGVBUS to drop below
0.2V. Otherwise OTGVBUS only drops to VCC – (2 schottky
diode drops).
■
Booster circuit is turned off
■
USB transceivers is turned off
■
CPU goes into suspend mode until a programmable wakeup
event
Document Number: 38-08015 Rev. *L
Page 14 of 112
CY7C67300
External (Remote) Wakeup Source
There are several possible events available to wake EZ-Host
from Sleep mode as shown in Table 20. These may also be used
as remote wakeup options for USB applications. See the Power
Control Register [0xC00A] [R/W] on page 20 for details.
Upon wakeup, code begins executing within 200 µs, the time it
takes the PLL to stabilize.
Table 20. Wakeup Sources[5, 6]
Wakeup Source
(if enabled)
Event
USB Resume
D+/D– Signaling
OTGVBUS
Level
OTGID
Any Edge
HPI
Read
HSS
Read
SPI
Read
IRQ1 (GPIO 25)
Any Edge
IRQ0 (GPIO 24)
Any Edge
Power-On-Reset Description
Memory Map
The memory map is discussed in the following sections.
Mapping
The total memory space directly addressable by the CY16
processor is 64K (0x0000-0xFFFF). Program, data, and IO are
contained within this 64K space. This memory space is byte
addressable. Figure 10 on page 16 shows the various memory
region address locations.
Internal Memory
Of the internal memory, 15K bytes are allocated for user's
program and data. The lower memory space from 0x0000 to
0x04A2 is reserved for interrupt vectors, general purpose
registers, USB control registers, stack, and other BIOS variables.
The upper internal memory space contains EZ-Host control
registers from 0xC000 to 0xC0FF and the BIOS ROM itself from
0xE000 to 0xFFFF. For more information about the reserved
lower memory or the BIOS ROM, refer to the Programmer’s
documentation and/or the BIOS documentation.
During development with the EZ-Host toolset, leave the lower
area of user's space (0x04A4 to 0x1000) available to load the
GDB stub. The GDB stub is required to allow the toolset debug
access into EZ-Host.
The length of the power-on-reset event can be defined by (VCC
ramp to valid) + (Crystal startup). A typical application might use
a 12 ms power-on-reset event = ~7 ms + ~5 ms, respectively.
The chip select pins are not active during accesses to internal
memory.
Reset Pin
Up to 32 KB of external memory from 0x4000 - 0xBFFF is
available via one chip select line (nXRAMSEL) with RAM Merge
enabled (BIOS default). Additionally, another 8 KB region from
0xC100 - 0xDFFF is available via a second chip select line
(nXROMSEL) giving 40 KB of total available external memory.
Together with the internal 15 KB, this gives a total of either ~48
KB (one chip select) or ~56 KB (two chip selects) of available
memory for either code or data.
The Reset pin is active low and requires a minimum pulse
duration of sixteen 12 MHz clock cycles (1.3 µs). A reset event
restores all registers to their default POR settings. Code
execution then begins 200 µs later at 0xFF00 with an immediate
jump to 0xE000, the start of BIOS. Refer to BIOS documentation
for additional details.
USB Reset
A USB Reset affects registers 0xC090 and 0xC0B0, all other
registers remain unchanged.
External Memory
Note that the memory map and pin names
(nXRAMSEL/nXROMSEL) define specific memory regions for
RAM vs. ROM. This allows the BIOS to look in the upper external
memory space at 0xC100 for SCAN vectors (enabling code to be
loaded/executed from ROM). If no SCAN vectors are required in
the design (external memory is used exclusively for data), then
all external memory regions can be used for RAM. Similarly, the
external memory can be used exclusively for code space (ROM).
If more external memory is required, EZ-Host has enough
address lines to support up to 512 KB. However, this requires
complex code banking/paging schemes via the Extended Page
registers.
For further information about setting up the external memory, see
the External Memory Interface on page 6.
Notes
5. Read data is discarded (dummy data).
6. HPI_INT asserts on a USB Resume.
Document Number: 38-08015 Rev. *L
Page 15 of 112
CY7C67300
Figure 10. Memory Map
Internal Memory
HW INT's
0x0000 - 0x00FF
SW INT's
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
External Memory
0x4000 - 0x7FFF
USER SPACE
16K
0x8000 - 0x9FFF
Extended Page 1
01USER SPACE
Up to 64 8K Banks
Bank
Selected
by
0xC018
0xA000 - 0xBFFF
Extended Page 2
01USER SPACE
Up to 64 8K Banks
Bank
Selected
by
0xC01A
0xC100 - 0xDFFF
USER SPACE ~8K
Control Registers
0xE000 - 0xFFFF
Document Number: 38-08015 Rev. *L
BIOS
Page 16 of 112
CY7C67300
Registers
Table 21. 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.
CPU Flags Register
Register Name
The default register values listed in this data sheet may be
altered to some other value during the BIOS initialization. Refer
to the BIOS documentation for register initialization information.
Processor Control Registers
There are nine registers dedicated to general processor control.
Each of these registers are covered in this section and are
summarized in Table 21.
Address
0xC000
R/W
R
Register Bank Register
0xC002
R/W
Hardware Revision Register
0xC004
R
CPU Speed Register
0xC008
R/W
Power Control Register
0xC00A
R/W
Interrupt Enable Register
0xC00E
R/W
Breakpoint Register
0xC014
R/W
USB Diagnostic Register
0xC03C
W
Memory Diagnostic Register
0xC03E
W
CPU Flags Register [0xC000] [R]
Table 22. 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
Overflow Flag (Bit 2)
The CPU Flags register is a read only register that gives
processor flags status.
The Overflow Flag bit indicates if an overflow condition occurred.
An overflow condition can occur if an arithmetic result was either
larger than the destination operand size (for addition) or smaller
than the destination operand must allow for subtraction.
Global Interrupt Enable (Bit 4)
The Global Interrupt Enable bit indicates if the Global Interrupts
are enabled.
1: Enabled
1: Overflow occurred
0: Overflow did not occur
0: Disabled
Carry Flag (Bit 1)
Negative Flag (Bit 3)
The Carry Flag bit indicates if an arithmetic operation resulted in
a Carry for addition, or Borrow for subtraction.
The Negative Flag bit indicates if an arithmetic operation results
in a negative answer.
1: Carry/Borrow occurred
1: MS result bit is ‘1’
0: MS result bit is not ‘1’
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
Document Number: 38-08015 Rev. *L
Page 17 of 112
CY7C67300
Bank Register [0xC002] [R/W]
Table 23. Bank Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
0
0
0
0
0
1
Bit #
7
6
5
4
3
2
1
0
Field
Read/Write
Address...
Field
Read/Write
Default
...Address
Reserved
R/W
R/W
R/W
-
-
-
-
-
0
0
0
X
X
X
X
X
Register Description
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 twelve MSBs of the Bank register.
3. Forcing the LSB to zero.
For example, if the Bank register is left at its default value of 0x0100, and R2 is read, then the physical address 0x0102 is read. Refer
to Table 24 for details.
Table 24. Bank Register Example
Register
Hex Value
Binary Value
Bank
0x0100
0000 0001 0000 0000
R14
0x000E << 1 = 0x001C
0000 0000 0001 1100
RAM Location
0x011C
0000 0001 0001 1100
Address (Bits [15:4])
The Address field is used as a base address for all register addresses to start from.
Reserved
Write all reserved bits with ’0’.
Hardware Revision Register [0xC004] [R]
Table 25. 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
Bit #
7
6
5
4
3
2
1
0
Field
...Revision
Read/Write
R
R
R
R
R
R
R
R
Default
X
X
X
X
X
X
X
X
Register Description
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.
Revision (Bits [15:0])
The Revision field contains the silicon revision number.
Document Number: 38-08015 Rev. *L
Page 18 of 112
CY7C67300
CPU Speed Register [0xC008] [R/W]
Table 26. CPU Speed 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
Read/Write
-
-
-
-
R/W
R/W
R/W
R/W
Default
0
0
0
0
1
1
1
1
Field
11
10
9
8
Reserved...
Field
...Reserved
CPU Speed
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 27.
Table 27. 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
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 19 of 112
CY7C67300
Power Control Register [0xC00A] [R/W]
Table 28. Power Control Register
Bit #
15
14
13
12
11
10
9
8
Host/Device
2A
Wake
Enable
Host/Device
1B
Wake
Enable
Host/Device
1A
Wake
Enable
OTG
Wake
Enable
Reserved
HSS
Wake
Enable
SPI
Wake
Enable
Field
Host/Device
2B
Wake
Enable
Read/Write
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
GPI
Wake
Enable
Reserved
Boost 3V
OK
Sleep
Enable
Halt
Enable
Field
HPI
Wake
Enable
Read/Write
Default
Reserved
R/W
-
-
R/W
-
R
R/W
R/W
0
0
0
0
0
0
0
0
Register Description
OTG Wake Enable (Bit 11)
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 OTG Wake Enable bit enables or disables a wakeup
condition to occur on either an OTG VBUS_Valid or OTG ID
transition (IRQ20).
Host/Device 2B Wake Enable (Bit 15)
0: Disable wakeup on OTG VBUS valid or OTG ID transition
The Host/Device 2B Wake Enable bit enables or disables a
wakeup condition to occur on a Host/Device 2B transition. This
wakeup from the SIE port does not cause an interrupt to the
on-chip CPU.
HSS Wake Enable (Bit 9)
1: Enable wakeup on OTG VBUS valid or OTG ID transition
0: Disable wakeup on Host/Device 2B transition
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 is discarded.
Host/Device 2A Wake Enable (Bit 14)
1: Enable wakeup on HSS Rx serial input transition
The Host/Device 2A Wake Enable bit enables or disables a
wakeup condition to occur on an Host/Device 2A transition. This
wakeup from the SIE port does not cause an interrupt to the
on-chip CPU.
0: Disable wakeup on HSS Rx serial input transition
1: Enable wakeup on Host/Device 2B transition
1: Enable wakeup on Host/Device 2A transition
0: Disable wakeup on Host/Device 2A transition
Host/Device 1B Wake Enable (Bit 13)
The Host/Device 1B Wake Enable bit enables or disables a
wakeup condition to occur on an Host/Device 1B transition. This
wakeup from the SIE port does not cause an interrupt to the
on-chip CPU.
SPI Wake Enable (Bit 8)
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 is discarded.
1: Enable wakeup on falling SPI nSS input transition
0: Disable SPI_nSS interrupt
HPI Wake Enable (Bit 7)
1: Enable wakeup on Host/Device 1B transition
The HPI Wake Enable bit enables or disables a wakeup
condition to occur on an HPI interface read.
0: Disable wakeup on Host/Device 1B transition
1: Enable wakeup on HPI interface read
Host/Device 1A Wake Enable (Bit 12)
0: Disable wakeup on HPI interface read
The Host/Device 1A Wake Enable bit enables or disables a
wakeup condition to occur on an Host/Device 1A transition. This
wakeup from the SIE port does not cause an interrupt to the
on-chip CPU.
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 1A transition
1: Enable wakeup on GPIO(25:24) transition
0: Disable wakeup on Host/Device 1A transition
0: Disable wakeup on GPIO(25:24) transition
Document Number: 38-08015 Rev. *L
GPI Wake Enable (Bit 4)
Page 20 of 112
CY7C67300
Boost 3V OK (Bit 2)
Halt Enable (Bit 0)
The Boost 3V OK bit is a read only bit that returns the status of
the OTG Boost circuit.
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 saving using HALT in most cases is minimal, but in applications that are very CPU intensive the incremental savings may
provide some benefit.
1: Boost circuit not ok and internal voltage rails are below 3.0V
0: Boost circuit ok and internal voltage rails are at or above 3.0V
Sleep Enable (Bit 1)
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 retain
their values; enabled PWM outputs freeze in their current states.
SLEEP mode exits by any activity selected in this register. When
SLEEP mode ends, instruction execution resumes within 0.5 ms.
1: Enable Sleep mode
The HALT state is exited when any enabled interrupt is triggered.
Upon exiting the HALT state, one or two instructions 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).
1: Enable Halt mode
0: No function
Reserved
Write all reserved bits with ’0’.
0: No function
Interrupt Enable Register [0xC00E] [R/W]
Table 29. 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 2 Interrupt Enable (Bit 9)
The Interrupt Enable register allows control of the hardware
interrupt vectors.
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.
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
Document Number: 38-08015 Rev. *L
1: Enable Host 2 and Device 2 interrupt
0: Disable Host 2 and Device 2 interrupt
Host/Device 1 Interrupt Enable (Bit 8)
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 1Endpoint n.
1: Enable Host 1 and Device 1 interrupt
0: Disable Host 1 and Device 1 interrupt
Page 21 of 112
CY7C67300
HSS Interrupt Enable (Bit 7)
GPIO Interrupt Enable (Bit 2)
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
The GPIO Interrupt Enable bit enables or disables the General
Purpose IO pins interrupt (see the GPIO Control Register
[0xC006] [R/W] on page 51). When the GPIO bit is reset, all
pending GPIO interrupts are also cleared
0: Disable HSS interrupt
1: Enable GPIO interrupt
0: Disable GPIO interrupt
In Mailbox Interrupt Enable (Bit 6)
Timer 1 Interrupt Enable (Bit 1)
The In Mailbox Interrupt Enable bit enables or disables the HPI:
Incoming Mailbox hardware 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.
1: Enable MBXI interrupt
0: Disable MBXI interrupt
1: Enable TM1 interrupt
Out Mailbox Interrupt Enable (Bit 5)
0: Disable TM1 interrupt
The Out Mailbox Interrupt Enable bit enables or disables the HPI:
Outgoing Mailbox hardware interrupt.
Timer 0 Interrupt Enable (Bit 0)
0: Disable MBXO 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.
UART Interrupt Enable (Bit 3)
1: Enable TM0 interrupt
The UART Interrupt Enable bit enables or disables the following
UART hardware interrupts: UART TX, and UART RX.
0: Disable TM0 interrupt
1: Enable MBXO interrupt
1: Enable UART interrupt
Reserved
Write all reserved bits with ’0’.
0: Disable UART interrupt
Breakpoint Register [0xC014] [R/W]
Table 30. Breakpoint Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Address...
Field
Read/Write
Default
...Address
Register Description
Address (Bits [15:0])
The Breakpoint register holds the breakpoint address. When the
program counter matches this address, the INT127 interrupt
occurs. To clear this interrupt, write a zero value to this register.
The Address field is a 16-bit field containing the breakpoint
address.
Document Number: 38-08015 Rev. *L
Page 22 of 112
CY7C67300
USB Diagnostic Register [0xC03C] [R/W]
Table 31. USB Diagnostic Register
Bit #
15
14
13
12
Field
Port 2B
Diagnostic
Enable
Port 2A
Diagnostic
Enable
Port 1B
Diagnostic
Enable
Port 1A
Diagnostic
Enable
Read/Write
11
10
9
8
Reserved...
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
...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
Pull-down Enable (Bit 6)
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 Pull-down Enable bit enables or disables full-speed pull
down resistors (pull down on both D+ and D–) for testing.
Port 2B Diagnostic Enable (Bit 15)
The Port 2B Diagnostic Enable bit enables or disables Port 2B
for the test conditions selected in this register.
1: Apply any of the following enabled test conditions: J/K, DCK,
SE0, RSF, RSL, PRD
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.
1: Enable low-speed pull up resistor on D–
0: Do not apply test conditions
0: Pull-up resistor is not connected on D–
Port 2A Diagnostic Enable (Bit 14)
FS Pull-up Enable (Bit 4)
The Port 2A Diagnostic Enable bit enables or disables Port 2A
for the test conditions selected in this register.
The FS Pull-up Enable bit enables or disables a full-speed pull
up resistor (pull up on D+) for testing.
1: Apply any of the following enabled test conditions: J/K, DCK,
SE0, RSF, RSL, PRD
1: Enable full-speed pull up resistor on D+
0: Do not apply test conditions
Port 1B Diagnostic Enable (Bit 13)
The Port 1B Diagnostic Enable bit enables or disables Port 1B
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: 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–). Refer to Table 32 for details.
Table 32. Force Select Definition
Force Select [2:0]
Data Line State
1xx
Assert SE0
0: Do not apply test conditions
Port 1A Diagnostic Enable (Bit 12)
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
0: Do not apply test conditions
Document Number: 38-08015 Rev. *L
01x
Toggle JK
001
Assert J
000
Assert K
Reserved
Write all reserved bits with ’0’.
Page 23 of 112
CY7C67300
Memory Diagnostic Register [0xC03E] [W]
Table 33. Memory Diagnostic Register
Bit #
15
14
13
12
11
10
Reserved
9
8
Memory
Arbitration
Select
Field
Read/Write
-
-
-
-
-
W
W
W
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Reserved
Monitor
Enable
Field
Read/Write
-
-
-
-
-
-
-
W
Default
0
0
0
0
0
0
0
0
Register Description
Reserved
The Memory Diagnostic register provides control of diagnostic
modes.
Write all reserved bits with ’0’.
Memory Arbitration Select (Bits[10:8])
The Memory Arbitration Select field is defined in Table 34.
Table 34. Memory Arbitration Select
External Memory Registers
There are four registers dedicated to controlling the external
memory interface. Each of these registers are covered in this
section and are summarized in Table 35.
Table 35. External Memory Control Registers
Memory Arbitration
Select [3:0]
Memory Arbitration Timing
111
1/8, 7 of every 8 cycles dead
Extended Page 1 Map Register
0xC018
R/W
110
2/8, 6 of every 8 cycles dead
Extended Page 2 Map Register
0xC01A
R/W
101
3/8, 5 of every 8 cycles dead
Upper Address Enable Register
0xC038
R/W
100
4/8, 4 of every 8 cycles dead
External Memory Control Register
0xC03A
R/W
011
5/8, 3 of every 8 cycles dead
010
6/8, 2 of every 8 cycles dead
001
7/8, 1 of every 8 cycles dead
000
8/8, all cycles available
Register Name
Address
R/W
Monitor Enable (Bit 0)
The Monitor Enable bit enables or disables monitor mode. In
monitor mode the internal address bus is echoed to the external
address pins.
1: Enable monitor mode
0: Disable monitor mode
Document Number: 38-08015 Rev. *L
Page 24 of 112
CY7C67300
Extended Page n Map Register [R/W]
■
Extended Page 1 Map Register 0xC018
■
Extended Page 2 Map Register 0xC01A
Table 36. Extended Page n Map Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Address...
Field
Read/Write
Default
...Address
reflect the content of this register when the CPU accesses the
address 0x8000-0x9FFF. For the SRAM mode, the address pin
on [4:0] (Page n address [17:13]) is used.
Register Description
The Extended Page n Map register contains the Page n
high-order address bits. These bits are always appended to
accesses to the Page n Memory mapped space.
Set bit [8] (Page n address [21]) to ‘0’, so that Page n
reads/writes access external areas (SRAM, ROM or peripherals). nXMEMSEL is the external chip select for this space.
Address (Bits [15:0])
The Address field contains the high-order bits 28 to 13 of the
Page n address. The address pins [8:0] (Page n address [21:13])
Upper Address Enable Register [0xC038] [R/W]
Table 37. External Memory 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
Reserved
Upper
Address
Enable
Field
Read/Write
-
-
-
-
R/W
Default
X
X
X
X
0
Reserved
X
X
X
Register Description
Upper Address Enable (Bit 3)
The Upper Address Enable register enables/disables the four
most significant bits of the external address A[18:15]. This
register defaults to having the Upper Address disabled. Note that
on power up, pins A[18:15] are driven high.
The Upper Address Enable bit enables/disables the four most
significant bits of the external address A[18:15].
1: Enable A[18:15] of the external memory interface for general
addressing.
0: Disable A[18:15], not available.
Reserved
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 25 of 112
CY7C67300
External Memory Control Register [0xC03A] [R/W]
Table 38. External Memory Control Register
Bit #
15
14
Reserved
13
12
11
XRAM Merge XROM Merge
Enable
Enable
Field
10
XMEM Width
Select
9
8
XMEM Wait
Select
Read/Write
-
-
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
XROM Width
Select
Read/Write
Default
XROM Wait
Select
XRAM Width
Select
XRAM Wait
Select
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
XROM Wait Select (Bits[6:4])
The External Memory Control register provides control of Wait
States for the external SRAM or ROM. All wait states are based
off of 48 MHz.
The XROM Wait Select field selects the external ROM wait state
from 0 to 7.
XRAM Merge Enable (Bit 13)
The XRAM Width Select bit selects the external RAM width.
The XRAM Merge Enable bit enables or disables the RAM merge
feature. When the RAM merge feature is enabled, the
nXRAMSEL is active whenever the nXMEMSEL is active.
1: External memory = 8
XRAM Width Select (Bit 3)
0: External memory = 16
1: Enable RAM merge
XRAM Wait Select (Bits[2:0])
0: Disable RAM merge
The XRAM Wait Select field selects the external RAM wait state
from 0 to 7.
XROM Merge Enable (Bit 12)
The XROM Merge Enable bit enables or disables the ROM
merge feature. When the ROM merge feature is enabled, the
nXROMSEL is active whenever the nXMEMSEL is active.
Reserved
1: Enable ROM merge
Timer Registers
0: Disable ROM merge
XMEM Width Select (Bit 11)
There are three registers dedicated to timer operations. Each of
these registers are discussed in this section and are summarized
in Table 39.
The XMEM Width Select bit selects the extended memory width.
Table 39. Timer Registers
1: Extended memory = 8
Write all reserved bits with ’0’.
Register Name
Address
R/W
0: Extended memory = 16
Watchdog Timer Register
0xC00C
R/W
XMEM Wait Select (Bits [10:8])
Timer 0 Register
0xC010
R/W
The XMEM Wait Select field selects the extended memory wait
state from 0 to 7.
Timer 1 Register
0xC012
R/W
XROM Width Select (Bit 7)
The XROM Width Select bit selects the external ROM width.
1: External memory = 8
0: External memory = 16
Document Number: 38-08015 Rev. *L
Page 26 of 112
CY7C67300
Watchdog Timer Register [0xC00C] [R/W]
Table 40. Watchdog Timer Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Lock
Enable
WDT
Enable
Reset
Strobe
Field
Reserved...
Read/Write
...Reserved
Timeout
Flag
Field
Read/Write
Default
Period
Select
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 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.
1: Watchdog timer permanently set
0: Watchdog timer not permanently set
WDT Enable (Bit 1)
The WDT Enable bit enables or disables the Watchdog timer.
1: Enable Watchdog timer operation
0: Watchdog timer did not expire.
0: Disable Watchdog timer operation
Period Select (Bits [4:3])
The Period Select field is defined in Table 41. If this time expires
before the Reset Strobe bit is set, the internal processor is reset.
Table 41. Period Select Definition
Period Select[4:3]
00
WDT Period Value
1.4 ms
01
10
11
5.5 ms
22.0 ms
66.0 ms
Document Number: 38-08015 Rev. *L
Reset Strobe (Bit 0)
The Reset Strobe is a write-only bit that resets the Watchdog
timer count. Set this bit to ‘1’ before the count expires to avoid a
Watchdog trigger
1: Reset Count
Reserved
Write all reserved bits with ’0’.
Page 27 of 112
CY7C67300
Timer n Register [R/W]
■
Timer 0 Register 0xC010
■
Timer 1 Register 0xC012
Table 42. Timer n Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
1
1
R/W
R/W
R/W
R/W
1
1
1
1
1
1
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
1
1
1
1
1
Field
Count...
Read/Write
Field
...Count
Read/Write
Default
functions for both USB host and USB peripheral options and is
covered in this section and summarized in Table 43. USB Host
only registers are covered in UART Interface on page 8, and USB
device only registers are covered in External Memory Registers
on page 24.
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])
Table 43. General USB Registers
The Count field sets the Timer count.
Register Name
General USB Registers
Address (SIE1/SIE2)
USB n Control Register
R/W
0xC08A/0xC0AA
R/W
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
USB n Control Register [R/W]
■
USB 1 Control Register 0xC08A
■
USB 2 Control Register 0xC0AA
Table 44. USB n Control Register
Bit #
15
14
13
12
11
10
9
8
Port B
D–
Status
Port A
D+
Status
Port A
D–
Status
LOB
LOA
Mode
Select
Field
Port B
D+
Status
Port B
Resistors
Enable
Read/Write
R
R
R
R
R/W
R/W
R/W
R/W
Default
X
X
X
X
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Suspend
Enable
Field
Port A
Resistors
Enable
Port B
SOF/EOP
Enable
Port A
SOF/EOP
Enable
Read/Write
Default
Port B
Force D±
State
Port A
Force D±
State
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
Port B D+ Status (Bit 15)
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.
The Port B D+ Status bit is a read only bit that indicates the value
of DATA+ on Port B.
1: D+ is HIGH
0: D+ is LOW
Document Number: 38-08015 Rev. *L
Page 28 of 112
CY7C67300
The Port B D– Status bit is a read only bit that indicates the value
of DATA– on Port B.
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, is
enabled. See Table 45 for details.
1: D– is HIGH
1: Enable pull up/pull down resistors
0: D– is LOW
0: Disable pull up/pull down resistors
Port B D– Status (Bit 14)
Port A D+ Status (Bit 13)
Table 45. USB Data Line Pull Up and Pull Down Resistors
L0A/
L0B
Mode
Select
Port n
Resistors
Enable
X
X
0
Pull up/Pull down on D+ and
D– Disabled
Port A D– Status (Bit 12)
X
1
1
The Port A D– Status bit is a read only bit that indicates the value
of DATA– on Port A.
Pull down on D+ and
D– Enabled
1
0
1
Pull up on USB D– Enabled
1: D– is HIGH
0
0
1
Pull up on USB D+ Enabled
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
0: D– is LOW
LOB (Bit 11)
The LOB bit selects the speed of Port B.
1: Port B is set to low-speed mode
0: Port B is set to full-speed mode
LOA (Bit 10)
The LOA bit selects the speed of Port A.
1: Port A is set to low-speed mode
0: Port A is set to full-speed mode
Mode Select (Bit 9)
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.
Function
Port B Force D± State (Bits [6:5])
The Port B Force D± State field controls the forcing state of the
D+ D– data lines for Port B. This field forces the state of the Port
B data lines independent of the Port Select bit setting. See
Table 46 for details.
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 46 for details.
Table 46. Port A/B Force D± State
Port A/B Force D± State
Function
MSb
LSb
0
0
Normal Operation
1
0
Force USB Reset, SE0 State
1: Host mode
0
1
Force J-State
0: Device mode
1
1
Force K-State
Port B Resistors Enable (Bit 8)
The Port B Resistors Enable bit enables or disables the pull
up/pull down resistors on Port B. When enabled, the Mode
Select bit and LOB bit of this register set 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 LOB bit, is
enabled. See Table 45 for details.
Suspend Enable (Bit 2)
The Suspend Enable bit enables or disables the suspend feature
on both ports. When suspend is enabled the USB transceivers
are powered down and cannot transmit or received USB packets
but can still monitor for a wakeup condition.
1: Enable suspend
0: Disable suspend
1: Enable pull up/pull down resistors
Port B SOF/EOP Enable (Bit 1)
0: Disable pull up/pull down resistors
The Port B 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 B. Either SOFs or
EOPs are generated depending on the LOB bit in the USB n
Control register when Port B is active.
Port A Resistors Enable (Bit 7)
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 set 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
Document Number: 38-08015 Rev. *L
1: Enable SOFs or EOPs
0: Disable SOFs or EOPs
Page 29 of 112
CY7C67300
Port A SOF/EOP Enable (Bit 0)
Reserved
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 are generated depending on the LOA bit in the USB n
Control register when Port A is active.
Write all reserved bits with ’0’.
1: Enable SOFs or EOPs
0: Disable SOFs or EOPs
USB Host Only Registers
There are twelve sets of dedicated registers for 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 47.
Table 47. USB Host Only Register
Register Name
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
Host n Count Result Register
0xC088/0xC0A8
R
Host n Device Address Register
0xC088/0xC0A8
W
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
Host n Control Register [R/W]
■
Host 1 Control Register 0xC080
■
Host 2 Control Register 0xC0A0
Table 48. Host n Control Register
Bit #
15
14
13
12
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
3
2
1
Field
11
10
9
8
Reserved
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
Reserved
0
Arm
Enable
Register Description
Preamble Enable (Bit 7)
The Host n Control register allows high level USB transaction
control.
The Preamble Enable bit enables or disables the transmission of
a preamble packet before all low-speed packets. Set this bit only
when communicating with a low-speed device.
1: Enable Preamble packet
0: Disable Preamble packet
Document Number: 38-08015 Rev. *L
Page 30 of 112
CY7C67300
Sequence Select (Bit 6)
ISO Enable (Bit 4)
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.
The ISO Enable bit enables or disables an isochronous transaction.
1: Enable isochronous transaction
1: Send DATA1
0: Disable isochronous transaction
0: Send DATA0
Arm Enable (Bit 0)
Sync Enable (Bit 5)
The Arm Enable bit arms an endpoint and starts a transaction.
This bit is automatically cleared to ‘0’ when a transaction is
complete.
The Sync Enable bit synchronizes the transfer with the SOF
packet in full-speed mode and the EOP packet in low-speed
mode.
1: Arm endpoint and begin transaction
1: The next enabled packet is transferred after the SOF or EOP
packet is transmitted
0: Endpoint disarmed
0: The next enabled packet is transferred as soon as the SIE is
free
Reserved
Write all reserved bits with ’0’.
Host n Address Register [R/W]
■
Host 1 Address Register 0xC082
■
Host 2 Address Register 0xC0A2
Table 49. 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.
Table 50. Host n Count Register
Bit #
15
14
Reserved
Port
Select
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
13
12
Field
Read/Write
Default
11
10
9
Reserved
8
Count...
...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
Document Number: 38-08015 Rev. *L
Page 31 of 112
CY7C67300
Register Description
Table 51. Port Select Definition
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 is
flagged by the Overflow bit in the Host n Endpoint Status register.
Port Select
Host/Device 1
Active Port
Host/Device 2
Active Port
0
A
A
1
B
B
Count (Bits [9:0])
The Port Select bit selects which of the two active ports is
selected and is summarized in Table 51.
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.
1: Port 1B or Port 2B is enabled
Reserved
0: Port 1A or Port 2A is enabled
Write all reserved bits with ’0’.
Port Select (Bit 14)
Host n Endpoint Status Register [R]
■
Host 1 Endpoint Status Register 0xC086
■
Host 2 Endpoint Status Register 0xC0A6
Table 52. 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
Stall Flag (Bit 7)
The Host n Endpoint Status register is a read only register that
provides status for the last USB transaction.
The Stall Flag bit indicates that the peripheral device replied with
a Stall in the last transaction.
1: Device returned Stall
0: Device did not return Stall
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 must be checked in
response to a Length Exception signified by the Length
Exception Flag set to ‘1’.
1: Overflow condition occurred
0: Overflow condition did not occur
NAK Flag (Bit 6)
The NAK Flag bit indicates that the peripheral device replied with
a NAK in the last transaction.
1: Device returned NAK
0: Device did not return NAK
Underflow Flag (Bit 10)
Length Exception Flag (Bit 5)
The Underflow Flag bit indicates that the received data in the last
data transaction was less than the maximum length specified in
the Host n Count register. The Underflow Flag must be checked
in response to a Length Exception signified by the Length
Exception Flag set to ‘1’.
The Length Exception Flag bit indicates that 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)
must be checked to determine which event occurred.
1: An overflow or underflow condition occurred
0: An overflow or underflow condition did not occur
1: Underflow condition occurred
0: Underflow condition did not occur
Document Number: 38-08015 Rev. *L
Page 32 of 112
CY7C67300
a STALL. Overflow and Underflow are not considered errors and
do not affect this bit. CRC5 and CRC16 errors result in an Error
flag along with receiving incorrect packet types.
1: Error detected
0: No error detected
Sequence Status (Bit 3)
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
is set.
1: DATA1
0: DATA0
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 is not represented by an ACK packet.
Timeout Flag (Bit 2)
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: Timeout occurred
0: Timeout did not occur
1: For non-isochronous transfers, the transaction was ACKed.
For isochronous transfers, the transaction was completed
successfully
0: For non-isochronous transfers, the transaction was not
ACKed. For isochronous transfers, the transaction did not
complete successfully
Error Flag (Bit 1)
The Error Flag bit indicates a transaction failed for any reason
other than the following: timeout, receiving a NAK, or receiving
Host n PID Register [W]
■
Host 1 PID Register 0xC086
■
Host 2 PID Register 0xC0A6
Table 53. 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
Read/Write
W
W
W
W
W
W
W
W
Default
0
0
0
0
0
0
0
0
Field
PID Select
Document Number: 38-08015 Rev. *L
Endpoint Select
Page 33 of 112
CY7C67300
Register Description
Endpoint Select (Bits [3:0])
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.
The Endpoint field allows addressing of up to 16 different
endpoints.
PID Select (Bits [7:4])
Write all reserved bits with ’0’.
Reserved
The PID Select field is defined in Table 54. 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 54. PID Select Definition
PID TYPE
PID Select [7:4]
SETUP
1101 (D Hex)
IN
1001 (9 Hex)
OUT
0001 (1 Hex)
SOF
0101 (5 Hex)
PREAMBLE
1100 (C Hex)
NAK
1010 (A Hex)
STALL
1110 (E Hex)
DATA0
0011 (3 Hex)
DATA1
1011 (B Hex)
Host n Count Result Register [R]
■
Host 1 Count Result Register 0xC088
■
Host 2 Count Result Register 0xC0A8
Table 55. 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 is set. The value in this register is only
value 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 bytes count (number of bytes
not used).
Document Number: 38-08015 Rev. *L
Reserved
Write all reserved bits with ’0’.
Page 34 of 112
CY7C67300
Host n Device Address Register [W]
■
Host 1 Device Address Register 0xC088
■
Host 2 Device Address Register 0xC0A8
Table 56. Host n Device 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
Address (Bits [6:0])
The Host n Device Address register is a write only register that
contains the USB Device Address that the host wants 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
Write all reserved bits with ’0’.
Host n Interrupt Enable Register [R/W]
■
Host 1 Interrupt Enable Register 0xC08C
■
Host 2 Interrupt Enable Register 0xC0AC
Table 57. Host n Interrupt Enable Register
Bit #
15
14
ID Interrupt
Enable
Field
VBUS
Interrupt
Enable
R/W
R/W
-
-
-
-
R/W
-
0
0
0
0
0
0
0
0
7
6
5
2
1
Read/Write
Default
Bit #
Field
Read/Write
Default
13
12
11
10
Reserved
4
3
Port B
Port A
Port B Connect Port A Connect
Wake Interrupt Wake Interrupt
Change
Change
Enable
Enable
Interrupt
Interrupt
Enable
Enable
9
8
SOF/EOP
Interrupt
Enable
Reserved
Reserved
0
Done
Interrupt
Enable
R/W
R/W
R/W
R/W
-
-
-
R/W
0
0
0
0
0
0
0
0
Register Description
1: Enable VBUS interrupt
The Host n Interrupt Enable register enables control over host
related interrupts.
0: Disable VBUS interrupt
In this register a bit set to ‘1’ enables the corresponding interrupt
while ‘0’ disables the interrupt.
VBUS Interrupt Enable (Bit 15)
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.
Document Number: 38-08015 Rev. *L
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
Page 35 of 112
CY7C67300
SOF/EOP Interrupt Enable (Bit 9)
1: Enable Connect Change interrupt
The SOF/EOP Interrupt Enable bit enables or disables the
SOF/EOP timer interrupt
0: Disable Connect Change interrupt
Port A Connect Change Interrupt Enable (Bit 4)
1: Enable SOF/EOP timer interrupt
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).
0: Disable SOF/EOP timer interrupt
Port B Wake Interrupt Enable (Bit 7)
The Port B Wake Interrupt Enable bit enables or disables the
remote wakeup interrupt for Port B
1: Enable Connect Change interrupt
0: Disable Connect Change interrupt
1: Enable remote wakeup interrupt for Port B
0: Disable remote wakeup interrupt for Port B
Done Interrupt Enable (Bit 0)
Port A Wake Interrupt Enable (Bit 6)
1: Enable remote wakeup interrupt for Port A
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.
0: Disable remote wakeup interrupt for Port A
1: Enable USB Transfer Done interrupt
The Port A Wake Interrupt Enable bit enables or disables the
remote wakeup interrupt for Port A
0: Disable USB Transfer Done interrupt
Port B Connect Change Interrupt Enable (Bit 5)
Reserved
The Port B Connect Change Interrupt Enable bit enables or
disables the Port B Connect Change interrupt on Port B. This
interrupt triggers when either a device is inserted (SE0 state to J
state) or a device is removed (J state to SE0 state).
Write all reserved bits with ’0’.
Host n Status Register [R/W]
■
Host 1 Status Register 0xC090
■
Host 2 Status Register 0xC0B0
Table 58. Host 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
7
6
Field
Port B
Wake Interrupt
Flag
Port A
Wake Interrupt
Flag
R/W
R/W
R/W
X
X
X
Default
11
10
9
8
SOF/EOP
Interrupt Flag
Reserved
-
R/W
-
X
X
X
Reserved
Bit #
Read/Write
12
5
4
3
2
1
0
Port B
SE0
Status
Port A
SE0
Status
Reserved
Done Interrupt
Flag
R/W
R/W
R/W
-
R/W
X
X
X
X
X
Port B Connect Port A Connect
Change
Change Interrupt
Interrupt Flag
Flag
Register Description
1: Interrupt triggered
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.
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 Host 1 and is a reserved bit in Host 2.
Document Number: 38-08015 Rev. *L
ID Interrupt Flag (Bit 14)
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.
1: Interrupt triggered
0: Interrupt did not trigger
Page 36 of 112
CY7C67300
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.
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.
1: Interrupt triggered
1: Interrupt triggered
0: Interrupt did not trigger
0: Interrupt did not trigger
Port B Wake Interrupt Flag (Bit 7)
Port B SE0 Status (Bit 3)
The Port B Wake Interrupt Flag bit indicates remote wakeup on
PortB.
1: Interrupt triggered
The Port B SE0 Status bit indicates if Port B is in a SE0 state or
not. Together with the Port B Connect Change Interrupt Flag bit,
it can be determined whether a device was inserted (non-SE0
condition) or removed (SE0 condition).
0: Interrupt did not trigger
1: SE0 condition
Port A Wake Interrupt Flag (Bit 6)
0: Non-SE0 condition
SOF/EOP Interrupt Flag (Bit 9)
The Port A Wake Interrupt Flag bit indicates remote wakeup on
PortA.
Port A SE0 Status (Bit 2)
The Port A SE0 Status bit indicates if Port A is in a 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: Interrupt triggered
0: Interrupt did not trigger
Port B Connect Change Interrupt Flag (Bit 5)
1: SE0 condition
The Port B Connect Change Interrupt Flag bit indicates the
status of the Connect Change interrupt on Port B. 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 B
SE0 Status bit, it can be determined whether a device was
inserted or removed.
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
1: Interrupt triggered
Port A Connect Change Interrupt Flag (Bit 4)
0: Interrupt did not trigger
The Port A Connect Change Interrupt Flag bit indicates the
status of the Connect Change interrupt on Port A. This bit
Host n SOF/EOP Count Register [R/W]
■
Host 1 SOF/EOP Count Register 0xC092
■
Host 2 SOF/EOP Count Register 0xC0B2
Table 59. 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
Field
Read/Write
Default
...Count
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
1
1
1
0
0
0
0
0
Register Description
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
generates a 1 ms time frame. The SOF/EOP counter is a down
counter decremented at a 12 MHz rate. When this register is
Document Number: 38-08015 Rev. *L
read, the value returned is the programmed SOF/EOP count
value.
Count (Bits [13:0])
The Count field sets the SOF/EOP counter duration.
Reserved
Write all reserved bits with ’0’.
Page 37 of 112
CY7C67300
Host n SOF/EOP Counter Register [R]
■
Host 1 SOF/EOP Counter Register 0xC094
■
Host 2 SOF/EOP Counter Register 0xC0B4
Table 60. 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.
Host n Frame Register [R]
■
Host 1 Frame Register 0xC096
■
Host 2 Frame Register 0xC0B6
Table 61. Host n Frame Register
Bit #
15
14
Field
13
12
11
10
Reserved
9
8
Frame...
Read/Write
-
-
-
-
-
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
Frame (Bits [10:0])
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).
The Frame field contains the next frame number to be transmitted.
Document Number: 38-08015 Rev. *L
Reserved
Write all reserved bits with ’0’.
Page 38 of 112
CY7C67300
USB Device Only Registers
There are eleven 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 sixteen registers per set. The USB Device Only registers are covered in this section and summarized in Table 62.
Table 62. USB Device Only Registers
Register Name
Address (Device 1/Device 2)
R/W
Device n Endpoint n Control Register
0x02n0
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 Port Select Register
0xC084/0xC0A4
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]
Table 63. 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
IN/OUT Ignore Enable (Bit 7)
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 IN/OUT Ignore Enable bit forces endpoint 0 (EP0) to ignore
all IN and OUT requests. Set this bit so that EP0 only accepts
Setup packets at the start of each transfer. Clear this bit to accept
IN/OUT transactions. This bit only applies to EP0.
1: Ignore IN/OUT requests
0: Do not ignore IN/OUT requests
Document Number: 38-08015 Rev. *L
Page 39 of 112
CY7C67300
Sequence Select (Bit 6)
Direction Select (Bit 2)
The Sequence Select bit determines whether a DATA0 or a
DATA1 is 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
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 gets NAKed and either the IN Exception Flag or the OUT
Exception Flag is 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 is ACKed and the Setup Status Flag is set
(refer to the setup bit of the Device n Endpoint n Status Register
[R/W] on page 42 for details).
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: Send Stall
0: Do not send Stall
ISO Enable (Bit 4)
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.
1: Enable isochronous transaction
0: Disable isochronous transaction
NAK Interrupt Enable (Bit 3)
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 is set. In addition, the NAK Flag in the
Device n Endpoint n Status register is set.
1: Enable NAK interrupt
0: Disable NAK interrupt
1: OUT transfer (host to device)
0: IN transfer (device to host)
Enable (Bit 1)
Set the Enable bit 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 are automatically returned from this endpoint (except setup packets which
are always ACKed as long as the Enable bit is set).
1: Enable transfers to an endpoint
0: Do not allow transfers to an endpoint
Arm Enable (Bit 0)
The Arm Enable bit arms the endpoint to transfer or receive a
packet. This bit is cleared to ‘0’ when a transaction is complete.
1: Arm endpoint
0: Endpoint disarmed
Reserved
Write all reserved bits with ’0’.
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]
Table 64. 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
Document Number: 38-08015 Rev. *L
Page 40 of 112
CY7C67300
Register Description
Address (Bits [15:0])
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.
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]
Table 65. Device n Endpoint n Count Register
Bit #
15
14
13
Field
12
11
10
9
Reserved
8
Count...
Read/Write
-
-
-
-
-
-
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
...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
Register Description
Count (Bits [9:0])
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.
The Count field sets the current transaction packet length for a
single endpoint.
Document Number: 38-08015 Rev. *L
Reserved
Write all reserved bits with ’0’.
Page 41 of 112
CY7C67300
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]
Table 66. Device n Endpoint n Status Register
Bit #
15
14
13
12
Reserved
Field
11
10
9
Overflow
Flag
Underflow
Flag
8
OUT
IN
Exception Flag 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
OUT Exception Flag (Bit 9)
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 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
IN Exception Flag (Bit 8)
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, do not write to this
register again.
The IN Exception Flag bit indicates when the device received an
IN packet when armed for an OUT.
Overflow Flag (Bit 11)
0: Received OUT when armed for OUT
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 must be
checked in response to a Length Exception signified by the
Length Exception Flag set to ‘1’.
Stall Flag (Bit 7)
The Stall Flag bit indicates that a Stall packet was sent to the
host.
1: Overflow condition occurred
0: Stall packet was not sent
1: Received IN when armed for OUT
1: Stall packet was sent to the host
0: Overflow condition did not occur
NAK Flag (Bit 6)
Underflow Flag (Bit 10)
The NAK Flag bit indicates that a NAK packet was sent to the
host.
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 must
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
Document Number: 38-08015 Rev. *L
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
Page 42 of 112
CY7C67300
underflow and the Overflow and Underflow flags (bits 11 and 10
respectively) must be checked to determine which event
occurred.
1: An overflow or underflow condition occurred
0: An overflow or underflow condition did not occur
Setup Flag (Bit 4)
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.
Timeout Flag (Bit 2)
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.
1: Timeout occurred
0: Timeout condition did not occur
Error Flag (Bit 2)
1: Setup packet was received
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.
0: Setup packet was not received
1: Error occurred
Sequence Flag (Bit 3)
0: Error did not occur
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.
The ACK Flag bit indicates whether the last transaction was
ACKed.
ACK Flag (Bit 0)
1: ACK occurred
1: DATA1 was received
0: ACK did not occur
0: DATA0 was received
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]
Table 67. 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
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
Document Number: 38-08015 Rev. *L
Endpoint n Count register, the Length Exception Flag bit in the
Device n Endpoint n Status register is set. The value in this
register is only valued 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.
Page 43 of 112
CY7C67300
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, do not
write to this register again.
additional byte count of the received packet. If an underflow
condition occurs, Result [15:0] indicates the excess bytes count
(number of bytes not used).
Reserved
Result (Bits [15:0])
Write all reserved bits with ‘0’.
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
Device n Port Select Register [R/W]
■
Device n Port Select Register 0xC084
■
Device n Port Select Register 0xC0A4
Table 68. Device n Port Select Register
Bit #
15
14
Reserved
Port
Select
Read/Write
-
R/W
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Field
13
12
11
10
9
8
Reserved...
Field
...Reserved
Register Description
Port Select (Bit 14)
The Device n Port Select register selects either port A or port B
for the static device port.
1: Port 1B or Port 2B is enabled
The Port Select bit selects which of the two ports is enabled.
0: Port 1A or Port 2A is enabled
Device n Interrupt Enable Register [R/W]
■
Device 1 Interrupt Enable Register 0xC08C
■
Device 2 Interrupt Enable Register 0xC0AC
Table 69. Device n Interrupt Enable Register
Bit #
15
14
VBUS
Interrupt
Enable
ID Interrupt
Enable
13
R/W
R/W
-
0
0
0
12
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
0
Reserved
Field
Read/Write
Default
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
VBUS Interrupt Enable (Bit 15)
The Device n Interrupt Enable register provides control over
device related interrupts including eight different endpoint interrupts.
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
Document Number: 38-08015 Rev. *L
Page 44 of 112
CY7C67300
supported in Port 1A). This bit is only available for Device 1 and
is a reserved bit in Device 2.
Enable bit in the Device n Endpoint Control register can also be
set so that NAK responses trigger this interrupt.
1: Enable VBUS interrupt
1: Enable EP6 Transaction Done interrupt
0: Disable VBUS interrupt
0: Disable EP6 Transaction Done interrupt
ID Interrupt Enable (Bit 14)
EP5 Interrupt Enable (Bit 5)
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.
The EP5 Interrupt Enable bit enables or disables 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 supplied 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 trigger this interrupt.
1: Enable EP5 Transaction Done interrupt
0: Disable EP5 Transaction Done interrupt
1: Enable ID interrupt
0: Disable ID interrupt
SOF/EOP Timeout Interrupt Enable (Bit 11)
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.
1: SOF/EOP timeout occurred
0: SOF/EOP timeout did not occur
SOF/EOP Interrupt Enable (Bit 9)
The SOF/EOP Interrupt Enable bit enables or disables the
SOF/EOP received interrupt.
EP4 Interrupt Enable (Bit 4)
The EP4 Interrupt Enable bit enables or disables 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 supplied 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 trigger this interrupt.
1: Enable EP4 Transaction Done interrupt
0: Disable EP4 Transaction Done interrupt
1: Enable SOF/EOP received interrupt
EP3 Interrupt Enable (Bit 3)
0: Disable SOF/EOP received interrupt
The EP3 Interrupt Enable bit enables or disables 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 supplied 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 trigger this interrupt.
1: Enable EP3 Transaction Done interrupt
0: Disable EP3 Transaction Done interrupt
Reset Interrupt Enable (Bit 8)
The Reset Interrupt Enable bit enables or disables the USB
Reset Detected interrupt
1: Enable USB Reset Detected interrupt
0: Disable USB Reset Detected interrupt
EP7 Interrupt Enable (Bit 7)
The EP7 Interrupt Enable bit enables or disables 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 supplied 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 trigger this interrupt.
1: Enable EP7 Transaction Done interrupt
0: Disable EP7 Transaction Done interrupt
EP6 Interrupt Enable (Bit 6)
The EP6 Interrupt Enable bit enables or disables 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 supplied Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Error, or OUT Exception Error. In addition, the NAK Interrupt
Document Number: 38-08015 Rev. *L
EP2 Interrupt Enable (Bit 2)
The EP2 Interrupt Enable bit enables or disables 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 supplied 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 trigger this interrupt.
1: Enable EP2 Transaction Done interrupt
0: Disable EP2 Transaction Done interrupt
EP1 Interrupt Enable (Bit 1)
The EP1 Interrupt Enable bit enables or disables 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 supplied Endpoint:
send/receive ACK, send STALL, Timeout occurs, IN Exception
Page 45 of 112
CY7C67300
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 trigger this interrupt.
1: Enable EP1 Transaction Done interrupt
0: Disable EP1 Transaction Done interrupt
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 trigger this interrupt.
1: Enable EP0 Transaction Done interrupt
0: Disable EP0 Transaction Done interrupt
EP0 Interrupt Enable (Bit 0)
Reserved
The EP0 Interrupt Enable bit enables or disables 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 supplied Endpoint:
Write all reserved bits with ’0’.
Device n Address Register [W]
■
Device 1 Address Register 0xC08E
■
Device 2 Address Register 0xC0AE
Table 70. 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
Address (Bits [6:0])
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 gets a respond—all others are ignored.
The Address field contains the USB address of the device
assigned by the host.
Reserved
Write all reserved bits with ’0’.
Device n Status Register [R/W]
■
Device 1 Status Register 0xC090
■
Device 2 Status Register 0xC0B0
Table 71. Device n Status Register
Bit #
15
14
ID Interrupt
Flag
Field
VBUS Interrupt
Flag
R/W
R/W
-
-
-
-
R/W
R/W
X
X
X
X
X
X
X
X
Read/Write
Default
13
12
11
10
Reserved
9
8
SOF/EOP
Reset Interrupt
Interrupt Flag
Flag
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
Document Number: 38-08015 Rev. *L
Page 46 of 112
CY7C67300
Register Description
EP6 Interrupt Flag (Bit 6)
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 EP6 Interrupt Flag bit indicates if the endpoint six (EP6)
Transaction Done interrupt triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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.
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
1: Interrupt triggered
0: Interrupt did not trigger
EP5 Interrupt Flag (Bit 5)
1: Interrupt triggered
The EP5 Interrupt Flag bit indicates if the endpoint five (EP5)
Transaction Done interrupt triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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.
0: Interrupt did not trigger
1: Interrupt triggered
SOF/EOP Interrupt Flag (Bit 9)
0: Interrupt did not trigger
The SOF/EOP Interrupt Flag bit indicates if the SOF/EOP
received interrupt triggered.
EP4 Interrupt Flag (Bit 4)
ID Interrupt Flag (Bit 14)
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
Reset Interrupt Flag (Bit 8)
The Reset Interrupt Flag bit indicates if the USB Reset Detected
interrupt triggered.
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 triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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
Document Number: 38-08015 Rev. *L
The EP4 Interrupt Flag bit indicates if the endpoint four (EP4)
Transaction Done interrupt triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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
EP3 Interrupt Flag (Bit 3)
The EP3 Interrupt Flag bit indicates if the endpoint three (EP3)
Transaction Done interrupt triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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
Page 47 of 112
CY7C67300
EP2 Interrupt Flag (Bit 2)
The EP2 Interrupt Flag bit indicates if the endpoint two (EP2)
Transaction Done interrupt triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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 triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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 triggered. An EPx Transaction Done
interrupt triggers when any of the following responses or events
occur in a transaction for the device’s supplied 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
Write all reserved bits with ’0’.
Device n Frame Number Register [R]
■
Device 1 Frame Number Register 0xC092
■
Device 2 Frame Number Register 0xC0B2
Table 72. 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
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Field
...Frame
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.
SOF/EOP Timeout Flag (Bit 15)
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.
The SOF/EOP Timeout Flag bit indicates when an SOF/EOP
Timeout Interrupt occurs.
Frame (Bits [10:0])
1: An SOF/EOP Timeout interrupt occurred
0: An SOF/EOP Timeout interrupt did not occur
Document Number: 38-08015 Rev. *L
The Frame field contains the frame number from the last
received SOF packet in full-speed mode. This field no function
for low-speed mode. If a SOF Timeout occurs, this field contains
the last received Frame number.
Page 48 of 112
CY7C67300
Device n SOF/EOP Count Register [W]
■
Device 1 SOF/EOP Count Register 0xC094
■
Device 2 SOF/EOP Count Register 0xC0B4
Table 73. 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
Read/Write
R
R
R
R
R
R
R
R
Default
1
1
1
0
0
0
0
0
Field
...Count
Register Description
Reserved
The Device n SOF/EOP Count register is written with the time
expected between receiving a SOF/EOP. 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.
Write all reserved bits with ’0’.
Set the SOF/EOP count 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 1 ms
SOF/EOP interval, the SOF/EOP count is set slightly greater
than 0x2EE0.
OTG Control Registers
There is one register dedicated for On-The-Go operation. This
register is covered in this section and summarized in Table 74.
Table 74. OTG Register
Register Name
OTG Control Register
Address
R/W
C098H
R/W
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 is
increased slightly.
OTG Control Register [0xC098] [R/W]
Table 75. OTG Control Register
Bit #
15
14
Reserved
Field
13
12
VBUS
Pull-up Enable
Receive
Disable
11
10
Charge Pump
VBUS
Enable
Discharge Enable
9
8
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
Bit #
7
6
Field
D+
Pull-down Enable
D–
Pull-down Enable
R/W
R/W
-
-
0
0
0
0
Read/Write
Default
5
4
3
2
1
0
OTG Data
Status
ID
Status
VBUS Valid
Flag
-
R
R
R
0
X
X
X
Reserved
Register Description
VBUS Pull-up Enable (Bit 13)
The OTG Control register allows control and monitoring over the
OTG port on Port1A. Note that the D± pull up and pull down bits
override the setting in the USB 0 Control register for this port.
The VBUS Pull-up Enable bit enables or disables a 500 ohm pull
up resistor onto OTG VBus.
1: 500 ohm pull up resistor enabled
0: 500 ohm pull up resistor disabled
Document Number: 38-08015 Rev. *L
Page 49 of 112
CY7C67300
Receive Disable (Bit 12)
OTG Data Status (Bit 2)
The Receive Disable bit enables or powers down (disables) the
OTG receiver section.
The OTG Data Status bit is a read only bit and indicates the TTL
logic state of the OTG VBus pin.
1: OTG receiver powered down and disabled
1: OTG VBus is greater then 2.4V
0: OTG receiver enabled
0: OTG VBus is less then 0.8V
Charge Pump Enable (Bit 11)
ID Status (Bit 1)
The Charge Pump Enable bit enables or disables the OTG VBus
charge pump.
The ID Status bit is a read only bit that indicates the state of the
OTG ID pin on Port A.
1: OTG VBus charge pump enabled
1: OTG ID Pin is not connected directly to ground (>10K ohm)
0: OTG VBus charge pump disabled
0: OTG ID Pin is connected directly ground (< 10 ohm)
VBUS Discharge Enable (Bit 10)
VBUS Valid Flag (Bit 0)
The VBUS Discharge Enable bit enables or disables a 2K ohm
discharge pull down resistor onto OTG VBus.
1: 2K ohm pull down resistor enabled
The VBUS Valid Flag bit indicates whether OTG VBus is greater
then 4.4V. After turning on VBUS, firmware must wait at least 10
µs before this reading this bit.
0: 2K ohm pull down resistor disabled
1: OTG VBus is greater then 4.4V
D+ Pull-up Enable (Bit 9)
0: OTG VBus is less then 4.4V
The D+ Pull-up Enable bit enables or disables a pull up resistor
on the OTG D+ data line.
Reserved
1: OTG D+ dataline pull up resistor enabled
GPIO Registers
0: OTG D+ dataline pull up resistor disabled
D– Pull-up Enable (Bit 8)
The D– Pull-up Enable bit enables or disables a pull up resistor
on the OTG D– data line.
1: OTG D– dataline pull up resistor enabled
Write all reserved bits with ’0’.
There are seven registers dedicated for GPIO operations. These
seven registers are covered in this section and summarized in
Table 76.
Table 76. GPIO Registers
Register Name
Address
R/W
0: OTG D– dataline pull up resistor disabled
GPIO Control Register
0xC006
R/W
D+ Pull-down Enable (Bit 7)
GPIO0 Output Data Register
0xC01E
R/W
The D+ Pull-down Enable bit enables or disables a pull down
resistor on the OTG D+ data line.
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
1: OTG D+ dataline pull down resistor enabled
0: OTG D+ dataline pull down resistor disabled
D– Pull-down Enable (Bit 6)
The D– Pull-down Enable bit enables or disables a pull down
resistor on the OTG D– data line.
1: OTG D– dataline pull down resistor enabled
0: OTG D– dataline pull down resistor disabled
Document Number: 38-08015 Rev. *L
Page 50 of 112
CY7C67300
GPIO Control Register [0xC006] [R/W]
Table 77. GPIO Control Register
Bit #
15
14
Write Protect
Enable
UD
Field
Read/Write
13
12
Reserved
11
10
9
SAS
Enable
8
Mode
Select
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
HSS
Enable
HSS XD
Enable
SPI
Enable
SPI XD
Enable
Interrupt 1
Polarity Select
Interrupt 1
Enable
Interrupt 0
Polarity Select
Interrupt 0
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
HSS Enable (Bit 7)
The GPIO Control register configures the GPIO pins for various
interface options. It also controls the polarity of the GPIO
interrupt on IRQ1 (GPIO25) and IRQ0 (GPIO24).
The HSS Enable bit routes HSS to GPIO[26, 18:16]. If the HSS
XD Enable bit is set, it overrides this bit and HSS is routed to
XD[15:12].
1: HSS is routed to GPIO
0: HSS is not routed to GPIOs. GPIO[26, 18:16] are free for other
purposes
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] field is read only until a chip reset.
1: Enable Write Protect
0: Disable Write Protect
UD (Bit 14)
The UD bit routes the Host/Device 1A Port’s transmitter enable
status to GPIO[30]. This is for use with an external ESD
protection circuit when needed.
1: Route the signal to GPIO[30]
0: Do not route the signal to GPIO[30]
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] or XD[9] (per
SG/SX).
1: Reroute SPI_nss to GPIO[30]
0: Leave SPI_nss on GPIO[9]
Mode Select (Bits [10:8])
The Mode Select field selects how GPIO[15:0] and GPIO[24:19]
are used as defined in Table 78.
Table 78. Mode Select Definition
Mode Select
GPIO Configuration
[10:8]
111
Reserved
110
SCAN — (HW) Scan diagnostic. For production test only. Not for normal operation
101
HPI — Host Port Interface
100
IDE — Integrated Drive Electronics or
011
Reserved
010
Reserved
001
Reserved
000
GPIO — General Purpose Input Output
Document Number: 38-08015 Rev. *L
HSS XD Enable (Bit 6)
The HSS XD Enable bit routes HSS to XD[15:12] (external
memory data bus). This bit overrides the HSS Enable bit.
1: HSS is routed to XD[15:12]
0: HSS is not routed to XD[15:12]
SPI Enable (Bit 5)
The SPI Enable bit routes SPI to GPIO[11:8]. If the SAS Enable
bit is set, it overrides the SPI Enable and routes SPI_nSSI to
GPIO15. If the SPI XD Enable bit is set, it overrides both bits and
the SPI is routed to XD[11:8] (external memory data bus).
1: SPI is routed to GPIO[11:8]
0: SPI is not routed to GPIO[11:8]. GPIO[11:8] are free for other
purposes
SPI XD Enable (Bit 4)
The SPI XD Enable bit routes SPI to XD[11:8] (external memory
data bus). This bit overrides the SPI Enable bit.
1: SPI is routed to XD[11:8]
0: SPI is not routed to XD[11:8]
Interrupt 1 Polarity Select (Bit 3)
The Interrupt 1 Polarity Select bit selects the polarity for IRQ1.
1: Sets IRQ1 to rising edge
0: Sets IRQ1 to falling edge
Interrupt 1 Enable (Bit 2)
The Interrupt 1 Enable bit enables or disables IRQ1. The GPIO
bit on the interrupt Enable register must also be set in order for
this for this interrupt to be enabled.
1: Enable IRQ1
0: Disable IRQ1
Page 51 of 112
CY7C67300
Interrupt 0 Polarity Select (Bit 1)
Reserved
The Interrupt 0 Polarity Select bit selects the polarity for IRQ0.
1: Sets IRQ0 to rising edge
0: Sets IRQ0 to falling edge
Write all reserved bits with ’0’.
Interrupt 0 Enable (Bit 0)
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.
1: Enable IRQ0
0: Disable IRQ0
GPIO n Output Data Register [R/W]
■
GPIO 0 Output Data Register 0xC01E
■
GPIO 1 Output Data Register 0xC024
Table 79. GPIO n Output Data Register
Bit #
31/15
30/14
29/13
28/12
Field
Read/Write
Default
Bit #
Default
26/10
25/9
24/8
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
0
0
0
0
23/7
22/6
21/5
20/4
19/3
18/2
17/1
16/0
Field
Read/Write
27/11
Data...
...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
Data (Bits [15:0])
The GPIO n 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 GPIO16. When read, this register reads back the last data
written, not the data on pins configured as inputs (see Input Data
Register).
The Data field[15:0] writes to the corresponding GPIO 15–0 or
GPIO31–16 pins as output data.
GPIO n Input Data Register [R]
■
GPIO 0 Input Data Register 0xC020
■
GPIO 1 Input Data Register 0xC026
Table 80. GPIO n Input Data Register
Bit #
31/15
30/14
29/13
28/12
Field
27/11
26/10
25/9
24/8
Data...
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
23/7
22/6
21//5
20/4
19/3
18/2
17/1
16/0
Bit #
Field
...Data
Read/Write
R
R
R
R
R
R
R
R
Default
0
0
0
0
0
0
0
0
Register Description
Data (Bits [15:0])
The GPIO n 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 GPIO16.
The Data field[15:0] contains the voltage values on the corresponding GPIO15–0 or GPIO31–16 input pins.
Document Number: 38-08015 Rev. *L
Page 52 of 112
CY7C67300
GPIO n Direction Register [R/W]
■
GPIO 0 Direction Register 0xC022
■
GPIO 1 Direction Register 0xC028
Table 81. GPIO n Direction Register
Bit #
31/15
30/14
29/13
28/12
R/W
R/W
R/W
R/W
0
0
0
0
23/7
22/6
21/5
20/4
Field
Read/Write
Default
Bit #
Default
26/10
25/9
24/8
R/W
R/W
R/W
R/W
0
0
0
0
19/3
18/2
17/1
16/0
Direction Select...
Field
Read/Write
27/11
...Direction Select
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
IDE Registers
The GPIO n 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 GPIO16.
In addition to the standard IDE PIO Port registers, there are four
registers dedicated to IDE operation. These registers are
covered in this section and summarized in Table 82.
Table 82. IDE Registers
Direction Select (Bits [15:0])
Register Name
The Direction Select field[15:0] configures the corresponding
GPIO15–0 or GPIO31–16 pins as either input or output. 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.
Address
R/W
IDE Mode Register
0xC048
R/W
IDE Start Address Register
0xC04A
R/W
IDE Stop Address Register
0xC04C
R/W
IDE Control Register
0xC04E
R/W
IDE PIO Port Registers
0xC050-0xC06F
R/W
IDE Mode Register [0xC048] [R/ W]
Table 83. IDE Mode 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
Read/Write
-
-
-
-
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Field
...Reserved
Mode Select
Register Description
Mode Select (Bits [2:0])
The IDE Mode register allows the selection of IDE PIO Modes 0,
1, 2, 3, or 4. The default setting is zero which means IDE PIO
Mode 0.
The Mode Select field sets PIO Mode 0 to 4 in IDE mode. Refer
to Table 84 on page 54 for a definition of this field.
Document Number: 38-08015 Rev. *L
Page 53 of 112
CY7C67300
Table 84. Mode Select Definition
Mode Select [2:0]
000
001
010
011
100
101
110
111
Mode
IDE PIO Mode 0
IDE PIO Mode 1
IDE PIO Mode 2
IDE PIO Mode 3
IDE PIO Mode 4
Reserved
Reserved
Disable IDE port operations
Reserved
Write all reserved bits with ’0’.
IDE Start Address Register [0xC04A] [R/W]
Table 85. IDE Start 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
The IDE Start Address register holds the start address for an IDE
block transfer. This register is byte addressed and IDE block
transfers are 16-bit words, therefore the LSB of the start address
is ignored. Block transfers begin at IDE Start Address and end
with the final word at IDE Stop Address. When IDE Start Address
equals IDE Stop Address, the block transfer moves one word of
data.
Document Number: 38-08015 Rev. *L
The hardware keeps an internal memory address counter. The
two MSBs of the addresses are not modified by the address
counter. Therefore, the IDE Start Address and IDE Stop Address
must reside within the same 16K byte block.
Address (Bits [15:0])
The Address field sets the start address for an IDE block transfer.
Page 54 of 112
CY7C67300
IDE Stop Address Register [0xC04C] [R/W]
Table 86. IDE Stop Address Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Address...
Field
Read/Write
Default
...Address
The hardware keeps an internal memory address counter. The
two MSBs of the addresses are not modified by the address
counter. Therefore the IDE Start Address and IDE Stop Address
must reside within the same 16K byte block.
Register Description
The IDE Stop Address register holds the stop address for an IDE
block transfer. This register is byte addressed and IDE block
transfers are 16-bit words, therefore the LSB of the stop address
is ignored. Block transfers begin at IDE Start Address and end
with the final word at IDE Stop Address. When IDE Start Address
equals IDE Stop Address, the block transfer moves one word of
data.
Address (Bits [15:0])
The Address field sets the stop address for an IDE block transfer.
IDE Control Register [0xC04E] [R/W]
Table 87. IDE Control 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
...Reserved
3
2
1
0
Direction
Select
IDE
Interrupt
Enable
Done
Flag
IDE
Enable
Field
Read/Write
-
-
-
-
R/W
R/W
R/W
R/W
Default
0
0
0
0
0
0
0
0
Register Description
Done Flag (Bit 1)
The IDE Control register controls block transfers in IDE mode.
The Direction Select bit sets the block mode transfer direction.
The Done Flag bit is automatically set to ‘1’ by hardware when a
block transfer is complete. The CPU clears this bit by writing a
‘0’ to it. When IDE Interrupt Enable is set this bit generates the
signal for the cpuide_intr interrupt.
1: Data is written to the external device
1: Block transfer is complete
0: Data is read from the external device
0: Clears IDE Done Flag
IDE Interrupt Enable (Bit 2)
IDE Enable (Bit 0)
The IDE Interrupt Enable bit enables or disables the block
transfer done interrupt. When enabled, the Done Flag is sent to
the CPU as cpuide_intr interrupt. When disabled, the cpuide_intr
is set LOW.
The IDE Enable bit starts a block transfer. It is reset to ‘0’ when
the block transfer is complete
Direction Select (Bit 3)
1: Enable block transfer done interrupt
0: Disable block transfer done interrupt
1: Start block transfer
0: Block transfer complete
Reserved
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 55 of 112
CY7C67300
IDE PIO Port Registers [0xC050 - 0xC06F] [R/W]
All IDE PIO Port registers [0xC050 - 0xC06F] in Table 88 are defined in detail in the Information Technology-AT Attachment -4 with
Packet Interface Extension (ATA/ATAPI-4) Specification, T13/1153D Rev 18. The table Address column denotes the CY7C67300
register address for the corresponding ATA/ATAPI register. The IDE_nCS[1:0] field defines the ATA interface CS addressing bits and
the IDE_A[2:0] field define the ATA interface address bits. The combination of IDE_nCS and IDE_A are the ATA interface register
address.
Table 88. IDE PIO Port Registers
Address
ATA/ATAPI Register
IDE_nCS[1:0]
IDE_A[2:0]
0xC050
DATA Register
‘10’
‘000’
0xC052
Read: Error Register
Write: Feature Register
‘10’
‘001’
0xC054
Sector Count Register
‘10’
‘010’
0xC056
Sector Number Register
‘10’
‘011’
0xC058
Cylinder Low Register
‘10’
‘100’
0xC05A
Cylinder High Register
‘10’
‘101’
0xC05C
Device/Head Register
‘10’
‘110’
0xC05E
Read: Status Register
Write: Command Register
‘10’
‘111’
0xC060
Not Defined
‘01’
‘000’
0xC062
Not Defined
‘01’
‘001’
0xC064
Not Defined
‘01’
‘010’
0xC066
Not Defined
‘01’
‘011’
0xC068
Not Defined
‘01’
‘100’
0xC06A
Not Defined
‘01’
‘101’
0xC06C
Read: Alternate Status Register
Write: Device Control Register
‘01’
‘110’
0xC06E
Not Defined
‘01’
‘111’
HSS Registers
There are eight registers dedicated to HSS operation. Each of these registers are covered in this section and summarized in Table 89.
Table 89. HSS Registers
Register Name
Address
R/W
HSS Control Register
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 Number: 38-08015 Rev. *L
Page 56 of 112
CY7C67300
HSS Control Register [0xC070] [R/W]
Table 90. 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
Field
Read/Write
R/W
R/W
R/W
R
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
One
Stop Bit
Transmit
Ready
Packet
Mode
Select
Receive
Overflow
Flag
Receive
Packet Ready
Flag
Receive
Ready
Flag
Field
Transmit
Receive
Done Interrupt Done Interrupt
Enable
Enable
Read/Write
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 sets when a block transmit is finished.
To clear the interrupt, write a ‘1’ 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 was
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 sets when a block transmit is finished.
To clear the interrupt, write a ‘1’ 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 Number: 38-08015 Rev. *L
Page 57 of 112
CY7C67300
Transmit Ready (Bit 4)
1: Overflow occurred
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.
0: Overflow did not occur
1: HSS transmit FIFO ready for loading
The Receive Packet Ready Flag bit is a read only bit that
indicates if the HSS receive FIFO is full with eight bytes or not.
0: HSS transmit FIFO not ready for loading
Receive Packet Ready Flag (Bit 1)
1: HSS receive FIFO is full
Packet Mode Select (Bit 3)
0: HSS receive FIFO is not full
The Packet Mode Select bit selects between Receive Packet
Ready and Receive Ready as the interrupt source for the RxIntr
interrupt.
Receive Ready Flag (Bit 0)
The Receive Ready Flag is a read only bit that indicates if the
HSS receive FIFO is empty or not.
1: Selects Receive Packet Ready as the source
0: Selects Receive Ready as the source
1: HSS receive FIFO is not empty (one or more bytes is reading
for reading)
Receive Overflow Flag (Bit 2)
0: HSS receive FIFO is empty
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.
HSS Baud Rate Register [0xC072] [R/W]
Table 91. 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
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
1
0
1
1
1
Field
Read/Write
Default
...Baud
Register Description
Reserved
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.
Write all reserved bits with ’0’.
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)
Document Number: 38-08015 Rev. *L
Page 58 of 112
CY7C67300
HSS Transmit Gap Register [0xC074] [R/W]
Table 92. HSS Transmit Gap 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
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
0
0
0
0
1
0
0
1
9
8
Field
Default
10
9
8
Reserved
Field
Read/Write
11
Transmit Gap Select
Register Description
Reserved
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.
Write all reserved bits with ’0’.
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 a Transmit Gap Select Value of 8 is equal to
having one Stop bit.
HSS Data Register [0xC076] [R/W]
Table 93. HSS Data Register
Bit #
15
14
13
12
Field
11
10
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
Data (Bits [7:0])
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).
The Data field contains the data received or to be transmitted on
the HSS port.
Document Number: 38-08015 Rev. *L
Reserved
Write all reserved bits with ’0’.
Page 59 of 112
CY7C67300
HSS Receive Address Register [0xC078] [R/W]
Table 94. HSS Receive Address Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Address...
Field
Read/Write
Default
...Address
Register Description
Address (Bits [15:0])
The HSS Receive Address register is used as the base pointer
address for the next HSS block receive transfer.
The Address field sets the base pointer address for the next HSS
block receive transfer.
HSS Receive Counter Register [0xC07A] [R/W]
Table 95. 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
Field
Read/Write
Default
...Counter
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
Counter (Bits [9:0])
The HSS Receive Counter register designates the block byte
length for the next HSS receive transfer. Load this register 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.
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
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 60 of 112
CY7C67300
HSS Transmit Address Register [0xC07C] [R/W]
Table 96. HSS Transmit Address Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Address...
Field
Read/Write
Default
...Address
Register Description
Address (Bits [15:0])
The HSS Transmit Address register is used as the base pointer
address for the next HSS block transmit transfer.
The Address field sets the base pointer address for the next HSS
block transmit transfer.
HSS Transmit Counter Register [0xC07E] [R/W]
Table 97. HSS Transmit 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
Field
Read/Write
Default
...Counter
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
Counter (Bits [9:0])
The HSS Transmit Counter register designates the block byte
length for the next HSS transmit transfer. Load this register 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.
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
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 61 of 112
CY7C67300
HPI Registers
Table 98. HPI Registers
There are five registers dedicated to HPI operation. In addition,
there is an HPI status port which can be addressed over HPI.
Each of these registers is covered in this section and are summarized in Table 98.
Register Name
HPI Breakpoint Register
Interrupt Routing Register
SIE1msg Register
SIE2msg Register
HPI Mailbox Register
Address
0x0140
0x0142
0x0144
0x0148
0xC0C6
R/W
R
R
W
W
R/W
HPI Breakpoint Register [0x0140] [R]
Table 99. 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
When the program counter matches the Breakpoint Address, the
INT127 interrupt triggers. To clear this interrupt, write a zero a to
this register.
Register Description
The HPI Breakpoint register is a special on-chip memory location
that 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 that
interface through the HPI port instead of the serial port.
Address (Bits [15:0])
The Address field is a 16-bit field containing the breakpoint
address.
Interrupt Routing Register [0x0142] [R]
Table 100. Interrupt Routing Register
Bit #
15
14
Field
VBUS to HPI
Enable
ID to HPI
Enable
13
12
11
10
9
SOF/EOP2 to SOF/EOP2 to SOF/EOP1 to SOF/EOP1 to Reset2 to HPI
HPI Enable
CPU Enable
HPI Enable
CPU Enable
Enable
8
HPI Swap 1
Enable
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
1
0
1
0
0
5
2
1
Bit #
7
6
Field
Resume2 to
HPI Enable
Resume1 to
HPI Enable
4
Reserved
3
Done2 to HPI
Enable
Done1 to HPI Reset1 to HPI
Enable
Enable
0
HPI Swap 0
Enable
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Register Description
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.
VBUS to HPI Enable (Bit 15)
The VBUS to HPI Enable bit routes the OTG VBUS interrupt to
the HPI port instead of the on-chip CPU.
1: Route signal to HPI port
0: Do not route signal to HPI port
Document Number: 38-08015 Rev. *L
Page 62 of 112
CY7C67300
ID to HPI Enable (Bit 14)
Resume2 to HPI Enable (Bit 7)
The ID to HPI Enable bit routes the OTG ID interrupt to the HPI
port instead of the on-chip CPU.
1: Route signal to HPI port
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.
0: Do not route signal to HPI port
1: 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
SOF/EOP2 to CPU Enable (Bit 12)
0: Do not route signal to HPI port
Resume1 to HPI Enable (Bit 6)
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.
1: Route signal to HPI port
0: Do not route signal to HPI port
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 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 CPU
1: Route signal to HPI port
0: Do not route signal to CPU
0: Do not route signal to HPI port
Done2 to HPI Enable (Bit 3)
SOF/EOP1 to HPI Enable (Bit 11)
Done1 to HPI Enable (Bit 2)
The SOF/EOP1 to HPI Enable bit routes the SOF/EOP1 interrupt
to the HPI port.
The Done1 to HPI Enable bit routes the Done interrupt for
Host/Device 1 to the HPI port instead of the on-chip CPU.
1: Route signal to HPI port
1: Route signal to HPI port
0: Do not route signal to HPI port
0: Do not route signal to HPI port
SOF/EOP1 to CPU Enable (Bit 10)
Reset1 to HPI Enable (Bit 1)
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.
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.
1: Route signal to CPU
0: Do not route signal to CPU
Reset2 to HPI Enable (Bit 9)
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.
1: Route signal to HPI port
0: Do not route signal to HPI port
1: Route signal to HPI port
0: Do not route signal to HPI port
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].
HPI Swap 1 Enable (Bit 8)
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].
Document Number: 38-08015 Rev. *L
Page 63 of 112
CY7C67300
SIEXmsg Register [W]
■
SIE1msg Register 0x0144
■
SIE2msg Register 0x0148
Table 101. SIEXmsg Register
Bit #
15
14
13
12
11
10
9
8
Read/Write
W
W
W
W
Default
X
X
W
W
W
W
X
X
X
X
X
X
Bit #
7
6
5
4
3
2
1
0
Read/Write
W
W
W
W
Default
W
W
W
W
X
X
X
X
X
X
X
X
Field
Data...
Field
...Data
Register Description
Data (Bits [15:0])
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.
The Data field[15:0] simply needs to have any value written to it
to cause SIExmsg flag in the HPI Status Port to go high.
HPI Mailbox Register [0xC0C6] [R/W]
Table 102. 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 CY7C67300 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
CY7C67300 reads this register the HPI Mailbox RX Full interrupt
is automatically 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 automatically clears when the CY7C67300
writes to this register.
Document Number: 38-08015 Rev. *L
In addition, when the CY7C67300 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.
Page 64 of 112
CY7C67300
HPI Status Port [] [HPI: R]
Table 103. HPI Status Port
Bit #
15
14
13
12
11
10
9
8
VBUS
Flag
ID
Flag
Reserved
SOF/EOP2
Flag
Reserved
Field
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
Resume2
Flag
Resume1
Flag
SIE2msg
SIE1msg
Field
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 the 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.
Resume2 Flag (Bit 7)
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 must
wait at least 10 µs before this reading this bit.
Resume1 Flag (Bit 6)
1: Interrupt triggered
0: Interrupt did not trigger
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
1: OTG VBus is greater than 4.4V
The Resume1 Flag bit is a read only bit that indicates if a USB
resume interrupt occurs on either Host/Device 1.
0: OTG VBus is less than 4.4V
1: Interrupt triggered
ID Flag (Bit 14)
The ID Flag bit is a read only bit that indicates the state of the
OTG ID pin.
SOF/EOP2 Flag (Bit 12)
The SOF/EOP2 Flag bit is a read only bit that indicates if a
SOF/EOP interrupt occurs on either Host/Device 2.
1: Interrupt triggered
0: Interrupt did not trigger
SIE2msg (Bit 5)
The SIE2msg Flag bit is a read only bit that indicates if the
CY7C67300 CPU wrote to the SIE2msg register. This bit is
cleared on an HPI read.
1: The SIE2msg register was written by the CY7C67300 CPU
0: The SIE2msg register was not written by the CY7C67300 CPU
0: Interrupt did not trigger
SIE1msg (Bit 4)
SOF/EOP1 Flag (Bit 10)
The SIE1msg Flag bit is a read only bit that indicates if the
CY7C67300 CPU wrote to the SIE1msg register. This bit is
cleared on an HPI read.
The SOF/EOP1 Flag bit is a read only bit that indicates if a
SOF/EOP interrupt occurs on either Host/Device 1.
1: The SIE1msg register was written by the CY7C67300 CPU
1: Interrupt triggered
0: The SIE1msg register was not written by the CY7C67300 CPU
0: Interrupt did not trigger
Reset2 Flag (Bit 9)
The Reset2 Flag bit is a read only bit that indicates if a USB
Reset interrupt occurs on either Host/Device 2.
1: Interrupt triggered
0: Interrupt did not trigger
Done2 Flag (Bit 3)
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 mode
this read only bit indicates if an any of the endpoint interrupts
occur on Device 2. Firmware needs to determine which endpoint
interrupt occurred.
1: Interrupt triggered
0: Interrupt did not trigger
Document Number: 38-08015 Rev. *L
Page 65 of 112
CY7C67300
Done1 Flag (Bit 2)
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 an any of the endpoint interrupts
occur on Device 1. Firmware needs to determine which endpoint
interrupt occurred.
1: Interrupt triggered
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
Mailbox Out Flag (Bit 0)
0: Interrupt did not trigger
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.
Reset1 Flag (Bit 1)
1: Interrupt triggered
0: Interrupt did not trigger
SPI Registers
There are twelve registers dedicated to SPI operation. Each of these registers is covered in this section and summarized in Table 104.
Table 104. SPI Registers
Register Name
SPI Configuration Register
SPI Control Register
SPI Interrupt Enable Register
SPI Status Register
SPI Interrupt Clear Register
SPI CRC Control Register
SPI CRC Value
SPI Data Register
SPI Transmit Address Register
SPI Transmit Count Register
SPI Receive Address Register
SPI Receive Count Register
Document Number: 38-08015 Rev. *L
Address
0xC0C8
0xC0CA
0xC0CC
0xC0CE
0xC0D0
0xC0D2
0xC0D4
0xC0D6
0xC0D8
0xC0DA
0xC0DC
0xC0DE
R/W
R/W
R/W
R/W
R
W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
Page 66 of 112
CY7C67300
SPI Configuration Register [0xC0C8] [R/W]
Table 105. 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
Master
Enable
SS
Enable
Field
Master
Active
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
Table 106. Scale Select Field Definition for SCK Frequency
Register Description
The SPI Configuration register controls the SPI port. Fields apply
to both master and slave mode unless otherwise noted.
3Wire Enable (Bit 15)
The 3Wire Enable bit indicates if the MISO and MOSI data lines
are tied together allowing only half duplex operation.
1: MISO and MOSI data lines are tied together
0: Normal MISO and MOSI Full Duplex operation (not tied
together)
Scale Select [12:9]
1001
SCK Frequency
500 KHz
1010
1011
1100
1101
1110
1111
375 KHz
250 KHz
375 KHz
250 KHz
375 KHz
250 KHz
Phase Select (Bit 14)
The Phase Select bit selects advanced or delayed SCK phase.
This field only applies to master mode.
1: Advanced SCK phase
0: Delayed SCK phase
SCK Polarity Select (Bit 13)
This SCK Polarity Select bit selects the polarity of SCK.
1: Positive SCK polarity
0: Negative SCK polarity
Scale Select (Bits [12:9])
The Scale Select field provides control over the SCK frequency,
based on 48 MHz. Refer to Table 106 for a definition of this field.
This field only applies to master mode.
Table 106. Scale Select Field Definition for SCK Frequency
Scale Select [12:9]
0000
SCK Frequency
12 MHz
0001
0010
0011
0100
0101
0110
0111
1000
8 MHz
6 MHz
4 MHz
3 MHz
2 MHz
1.5 MHz
1 MHz
750 KHz
Document Number: 38-08015 Rev. *L
Master Active Enable (Bit 7)
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: Master state machine is active
0: Master state machine is idle
Master Enable (Bit 6)
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 the value does not change.
1: Master SPI interface
0: Slave SPI interface
SS Enable (Bit 5)
The SS Enable bit enables or disables the master SS output.
1: Enable master SS output
0: Disable master SS output (three state master SS output, for
single SS line in slave mode)
SS Delay Select (Bits [4:0])
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 67 of 112
CY7C67300
SPI Control Register [0xC0CA] [R/W]
Table 107. SPI Control Register
Bit #
15
14
13
12
11
10
9
8
SCK
Strobe
FIFO
Init
Byte
Mode
Full Duplex
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
Bit #
7
6
5
4
3
2
1
0
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
Field
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 sets 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)
The FIFO Init bit initializes the FIFO and clears the FIFO Error
Status bit. This bit is self clearing.
1: FIFO Init Enable
0: No Function
Byte Mode (Bit 13)
The Byte Mode bit selects between PIO (byte mode) and DMA
(block mode) operation.
1: Set PIO (byte mode) operation
0: Set DMA (block mode) operation
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.
0: Not ready for data to be written to the port
Receive Data Ready (Bit 8)
The Receive Data Ready bit is a read only bit that indicates if the
receive port has data ready.
1: Receive port has data ready to read
0: Receive port does not have data ready
Transmit Empty (Bit 7)
The Transmit Empty bit is a read only bit that indicates if the
transmit FIFO is empty.
1: Transmit FIFO is empty
Full Duplex (Bit 12)
0: Transmit FIFO is not empty
The Full Duplex bit selects between full duplex and half duplex
operation.
Receive Full (Bit 6)
1: Enable full duplex. Full duplex is not allowed and does 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
0: Receive FIFO is not full
1: Receive FIFO is full
SS Manual (Bit 11)
Transmit Bit Length (Bits [5:3])
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.
The Transmit Bit Length field controls whether a full byte or
partial byte is to be transmitted. If Transmit Bit Length is ‘000’
then a full byte is transmitted. If Transmit Bit Length is ‘001’ to
‘111’, then the value indicates the number of bits that are be
transmitted.
1: Activate SS, master drives SS line asserted LOW
0: Deactivate SS, master drives SS line deasserted HIGH
Document Number: 38-08015 Rev. *L
Page 68 of 112
CY7C67300
Receive Bit Length (Bits [2:0])
The Receive Bit Length field controls whether a full byte or partial
byte is received. If Receive Bit Length is ‘000’ then a full byte is
received. If Receive Bit Length is ‘001’ to ‘111’, then the value
indicates the number of bits that are received.
SPI Interrupt Enable Register [0xC0CC] [R/W]
Table 108. 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).
Write all reserved bits with ’0’.
SPI Status Register [0xC0CE] [R]
Table 109. SPI Status Register
Bit #
15
14
13
12
Field
11
10
9
8
Reserved
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
7
6
5
4
3
Bit #
FIFO Error
Flag
Reserved
Field
2
1
0
Receive
Interrupt
Flag
Transmit
Interrupt
Flag
Transfer
Interrupt
Flag
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.
FIFO Error Flag (Bit 7)
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
Document Number: 38-08015 Rev. *L
bit of the SPI Control register is set to ‘1’, then a Tx FIFO
underflow occurred. Similarly, when set with the Receive Full bit
of the SPI Control register, an Rx FIFO overflow occured.This bit
automatically clears when the SPI FIFO Init Enable bit of the SPI
Control register is set.
1: Indicates FIFO error
0: Indicates no FIFO error
Page 69 of 112
CY7C67300
Receive Interrupt Flag (Bit 2)
1: Indicates a byte mode transmit interrupt triggered
The Receive Interrupt Flag is a read only bit that indicates if a
byte mode receive interrupt triggered.
0: Indicates a byte mode transmit interrupt did not trigger
Transfer Interrupt Flag (Bit 0)
1: Indicates a byte mode receive interrupt triggered
0: Indicates a byte mode receive interrupt did not trigger
The Transfer Interrupt Flag is a read only bit that indicates a
block mode interrupt triggered.
Transmit Interrupt Flag (Bit 1)
1: Indicates a block mode interrupt triggered
The Transmit Interrupt Flag is a read only bit that indicates a byte
mode transmit interrupt triggered.
0: Indicates a block mode interrupt did not trigger
SPI Interrupt Clear Register [0xC0D0] [W]
Table 110. SPI Interrupt Clear Register
Bit #
15
14
13
12
11
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
4
3
2
1
0
Transmit
Interrupt
Clear
Transfer
Interrupt
Clear
Field
10
9
8
Reserved
Reserved
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 clears the
block mode interrupt. This bit is self clearing.
Transmit Interrupt Clear (Bit 1)
1: Clear the block mode interrupt
The Transmit Interrupt Clear bit is a write only bit that clears the
byte mode transmit interrupt. This bit is self clearing.
0: No function
1: Clear the byte mode transmit interrupt
Write all reserved bits with ’0’.
Reserved
0: No function
SPI CRC Control Register [0xC0D2] [R/W]
Table 111. 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
CRC Mode (Bits [15:14)
The SPI CRC Control register provides control over the CRC
source and polynomial value.
The CRCMode field selects the CRC polynomial as defined in
Table 112 on page 71.
Document Number: 38-08015 Rev. *L
Page 70 of 112
CY7C67300
Receive CRC (Bit 11)
Table 112. CRC Mode Definition
CRCMode
[15:14]
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.
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
One in CRC (Bit 10)
11
Reserved, 16 bit polynomial 1
The One in CRC bit is a read only bit that indicates if the CRC
value is all zeros or not
1: Assigns the receive bit stream
0: Assigns the transmit bit stream
CRC Enable (Bit 13)
1: CRC value is not all zeros
The CRC Enable bit enables or disables the CRC operation.
0: CRC value is all zeros
1: Enables CRC operation
Zero in CRC (Bit 9)
0: Disables CRC operation
The Zero in CRC bit is a read only bit that indicates if the CRC
value is all ones or not.
CRC Clear (Bit 12)
1: CRC value is not all ones
The CRC Clear bit clears the CRC with a load of all ones. This
bit is self clearing and always reads ‘0’.
0: CRC value is all ones
1: Clear CRC with all ones
Reserved
0: No Function
Write all reserved bits with ’0’.
SPI CRC Value Register [0xC0D4] [R/W]
Table 113. SPI CRC Value Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
1
1
R/W
R/W
R/W
R/W
1
1
1
1
1
1
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
1
1
1
1
1
Field
Read/Write
CRC...
Field
Read/Write
Default
...CRC
Register Description
CRC (Bits [15:0])
The SPI CRC Value register contains the CRC value.
The CRC field contains the SPI CRC. In CRC Mode CRC7, the
CRC value is a seven bit value [6:0]. Therefore, bits [15:7] are
invalid in CRC7 mode.
Document Number: 38-08015 Rev. *L
Page 71 of 112
CY7C67300
SPI Data Register [0xC0D6] [R/W]
Table 114. SPI Data Register
Bit #
15
14
13
12
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
Default
10
9
8
Reserved
Field
Read/Write
11
Data
Register Description
Data (Bits [7:0])
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 Interrupt
Bit of the SPI Status register is set to ‘1’ (RxIntVal triggers) or the
Receive Data Ready bit of the SPI Control register is set to ‘1’.
Writing to this register in PIO byte mode initiates a transfer of
data, the number of bits defined by Transmit Bit Length field in
the SPI Control register.
The Data field contains data received or to be transmitted on the
SPI port.
Reserved
Write all reserved bits with ’0’.
SPI Transmit Address Register [0xC0D8] [R/W]
Table 115. 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
Register Description
Address (Bits [15:0])
The SPI Transmit Address register is used as the base address
for the SPI transmit DMA.
The Address field sets the base address for the SPI transmit
DMA.
Document Number: 38-08015 Rev. *L
Page 72 of 112
CY7C67300
SPI Transmit Count Register [0xC0DA] [R/W]
Table 116. SPI Transmit Count Register
Bit #
15
14
12
11
10
Read/Write
-
-
-
-
-
R/W
Default
0
R/W
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
13
Reserved
Default
8
Count...
Field
Read/Write
9
...Count
Register Description
Reserved
The SPI Transmit Count register designates the block byte
length for the SPI transmit DMA transfer.
Write all reserved bits with ’0’.
Count (Bits [10:0])
The Count field sets the count for the SPI transmit DMA transfer.
SPI Receive Address Register [0xC0DC [R/W]
Table 117. 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
Register Description
Address (Bits [15:0])
The SPI Receive Address register is issued as the base address
for the SPI Receive DMA.
The Address field sets the base address for the SPI receive
DMA.
SPI Receive Count Register [0xC0DE] [R/W]
Table 118. SPI Receive Count Register
Bit #
15
14
Field
13
12
11
10
Reserved
9
8
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
Document Number: 38-08015 Rev. *L
Page 73 of 112
CY7C67300
Register Description
UART Registers
The SPI Receive Count register designates the block byte length
for the SPI receive DMA transfer.
There are three registers dedicated to UART operation. Each of
these registers is covered in this section and summarized in
Table 119.
Count (Bits [10:0])
Table 119. UART Registers
The Count field sets the count for the SPI receive DMA transfer.
Register Name
UART Control Register
UART Status Register
UART Data Register
Reserved
Write all reserved bits with ’0’.
Address
0xC0E0
R/W
R/W
R
R/W
0xC0E2
0xC0E4
UART Control Register [0xC0E0] [R/W]
Table 120. UART Control 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
Field
...Reserved
Scale Select
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
Table 121. UART Baud Select Definition
The UART Control register enables or disables the UART,
allowing GPIO28 (UART_TXD) and GPIO27 (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.
Baud Select Baud Rate w/ DIV8 = 0 Baud Rate w/ DIV8 = 1
[3:1]
Scale Select (Bit 4)
The Scale Select bit acts as a prescaler that divide the baud rate
by eight.
000
115.2 KBaud
14.4 KBaud
001
57.6 KBaud
7.2 KBaud
010
38.4 KBaud
4.8 KBaud
011
28.8 KBaud
3.6 KBaud
1: Enable prescaler
100
19.2 KBaud
2.4 KBaud
0: Disable prescaler
101
14.4 KBaud
1.8 KBaud
110
9.6 KBaud
1.2 KBaud
111
7.2 KBaud
0.9 KBaud
Baud Select (Bits [3:1])
Refer to Table 121 for a definition of this field.
UART Enable (Bit 0)
The UART Enable bit enables or disables the UART.
1: Enable UART
0: Disable UART. This allows GPIO28 and GPIO27 to be used
for general use.
Reserved
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 74 of 112
CY7C67300
UART Status Register [0xC0E2] [R]
Table 122. UART Status Register
Bit #
15
14
13
12
Read/Write
-
-
-
-
-
-
-
-
Default
0
0
0
0
0
0
0
0
Bit #
7
6
5
Read/Write
-
-
Default
0
0
Field
11
10
9
8
Reserved...
4
3
2
-
-
-
-
0
0
0
0
Field
...Reserved
1
0
Receive Full
Transmit Full
R
R
0
0
Register Description
Transmit Full (Bit 0)
The UART Status register is a read only register that indicates
the status of the UART buffer.
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 is automatically set
to ‘1’ after data is written by EZ-Host to the UART Data register
(to be transmitted). This bit is automatically cleared to ‘0’ after
the data is transmitted.
Receive Full (Bit 1)
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 is automatically
cleared when data is read from the UART Data register.
1: Transmit buffer full (transmit busy)
0: Transmit buffer is empty and ready for a new byte of data
1: Receive buffer full
0: Receive buffer empty
UART Data Register [0xC0E4] [R/W]
Table 123. UART Data 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
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
Data (Bits [7:0])
The UART Data register contains data to be transmitted or
received from the UART port. Data written to this register starts
a data transmission and also causes the UART Transmit Full
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 is cleared.
The Data field is where the UART data to be transmitted or
received is located.
Document Number: 38-08015 Rev. *L
Reserved
Write all reserved bits with ’0’.
Page 75 of 112
CY7C67300
PWM Registers
There are eleven registers dedicated to PWM operation. Each of these registers are covered in this section and summarized in
Table 124.
Table 124. PWM Registers
Register Name
Address
R/W
0xC0E6
R/W
PWM Maximum Count Register
0xC0E8
R/W
PWM0 Start Register
0xC0EA
R/W
PWM0 Stop Register
0xC0EC
R/W
PWM1 Start Register
0xC0EE
R/W
PWM1 Stop Register
0xC0F0
R/W
PWM2 Start Register
0xC0F2
R/W
PWM2 Stop Register
0xC0F4
R/W
PWM3 Start Register
0xC0F6
R/W
PWM3 Stop Register
0xC0F8
R/W
PWM Cycle Count Register
0xC0FA
R/W
PWM Control Register
PWM Control Register [0xC0E6] [R/W]
Table 125. PWM Control Register
Bit #
15
Field
PWM
Enable
Read/Write
14
13
12
11
10
Reserved
9
8
Prescale
Select
Mode
Select
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
PWM 2
Polarity
Select
PWM 1
Polarity
Select
PWM 0
Polarity
Select
PWM 3
Enable
PWM 2
Enable
PWM 1
Enable
PWM 0
Enable
Field
PWM 3
Polarity
Select
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
The PWM Control register provides high level control over all four
of the PWM channels.
Table 126. Prescaler Select Definition
Prescale Select [11:9]
Frequency
000
48.00 MHz
PWM Enable (Bit 15)
001
24.00 MHz
The PWM Enable bit starts and stops PWM operation.
010
06.00 MHz
1: Start operation
011
01.50 MHz
0: Stop operation
100
375 kHz
Prescale Select (Bits [11:9])
101
93.80 kHz
The Prescale Select field sets the frequency of all the PWM
channels as defined in Table 126.
110
23.40 kHz
111
05.90 kHz
Document Number: 38-08015 Rev. *L
Page 76 of 112
CY7C67300
Mode Select (Bit 8)
PWM 0 Polarity Select (Bit 4)
The Mode Select bit selects between continuous PWM cycling
and one shot mode. The default is continuous repeat.
The PWM 0 Polarity Select bit selects the polarity for PWM 0.
1: Enable One Shot mode. The mode runs the number of counter
cycles set in the PWM Cycle Count register and then stops.
0: Sets the polarity to active LOW
0: Enable Continuous mode. Runs in continuous mode and
starts over after the PWM cycle count is reached.
PWM 3 Enable (Bit 3)
The PWM 3 Enable bit enables or disables PWM 3.
PWM 3 Polarity Select (Bit 7)
1: Enable PWM 3
The PWM 3 Polarity Select bit selects the polarity for PWM 3.
0: Disable PWM 3
1: Sets the polarity to active HIGH or rising edge pulse
PWM 2 Enable (Bit 2)
0: Sets the polarity to active LOW
The PWM 2 Enable bit enables or disables PWM 2.
PWM 2 Polarity Select (Bit 6)
1: Enable PWM 2
The PWM 2 Polarity Select bit selects the polarity for PWM 2.
0: Disable PWM 2
1: Sets the polarity to active HIGH or rising edge pulse
PWM 1 Enable (Bit 1)
0: Sets the polarity to active LOW
The PWM 1 Enable bit enables or disables PWM 1.
PWM 1 Polarity Select (Bit 5)
1: Enable PWM 1
The PWM 1 Polarity Select bit selects the polarity for PWM 1.
0: Disable PWM 1
1: Sets the polarity to active HIGH or rising edge pulse
PWM 0 Enable (Bit 0)
0: Sets the polarity to active LOW
The PWM 0 Enable bit enables or disables PWM 0.
1: Sets the polarity to active HIGH or rising edge pulse
1: Enable PWM 0
0: Disable PWM 0
PWM Maximum Count Register [0xC0E8] [R/W]
Table 127. PWM Maximum 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 PWM Maximum Count register designates the maximum
window for each pulse cycle. Each count tick is based on the
clock frequency set in the PWM Control register.
The Count field sets the maximum cycle time.
Reserved
Write all reserved bits with ’0’.
Document Number: 38-08015 Rev. *L
Page 77 of 112
CY7C67300
PWM n Start Register [R/W]
■
PWM 0 Start Register 0xC0EA
■
PWM 1 Start Register 0xC0EE
■
PWM 2 Start Register 0xC0F2
■
PWM 3 Start Register 0xC0F6
Table 128. PWM n Start 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
8
Address...
Field
...Address
Read/Write
Default
Register Description
Address (Bits [9:0])
The PWM n Start register designates where in the window
defined by the PWM Maximum Count register to start the PWM
pulse for a supplied channel.
The Address field designates when to start the PWM pulse. If this
start value is equal to the Stop Count Value then the output stays
at false.
Reserved
Write all reserved bits with ’0’.
PWM n Stop Register [R/W]
■
PWM 0 Stop Register 0xC0EC
■
PWM 1 Stop Register 0xC0F0
■
PWM 2 Stop Register 0xC0F4
■
PWM 3 Stop Register 0xC0F8
Table 129. PWM n Stop Register
Bit #
15
14
13
12
11
10
9
Read/Write
-
-
-
-
-
-
R/W
Default
0
0
R/W
0
0
0
0
0
0
Field
Bit #
Reserved
7
6
5
Address...
4
3
Field
Read/Write
8
2
1
0
...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 PWM n Stop register designates where in the window
defined by the PWM Maximum Count register to stop the PWM
pulse for a supplied channel.
stays at ‘0’. If the PWM Stop value is greater then the PWM
Maximum Count value then the output stays at true.
Reserved
Write all reserved bits with ’0’.
Address (Bits [9:0])
The Address field designates when to stop the PWM pulse. If the
PWM Start value is equal to the PWM Stop value then the output
Document Number: 38-08015 Rev. *L
Page 78 of 112
CY7C67300
PWM Cycle Count Register [0xC0FA] [R/W]
Table 130. PWM Cycle Count Register
Bit #
15
14
13
12
11
10
9
8
R/W
R/W
R/W
R/W
Default
0
0
R/W
R/W
R/W
R/W
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
Count...
Field
Read/Write
Default
...Count
Register Description
Count (Bits [9:0])
The PWM Cycle Count register designates the number of cycles
to run when in one shot mode. One shot mode is enabled by
setting the Mode Select bit of the PWM Control register to ‘1’.
The Count field designates the number of cycles (plus one) to
run when in one shot mode. For example, Cycles = PWM Cycle
Count + 1, therefore for two cycles set PWM Cycle Count = 1.
Document Number: 38-08015 Rev. *L
Page 79 of 112
CY7C67300
Pin Diagram
Figure 11. EZ-Host Pin Diagram
D7
D6
D5
D4
D3
D2
D1
D0
nRESET
Reserved
GPIO7/D7
GPIO6/D6
VCC
GPIO5/D5
GPIO4/D4
GPIO3/D3
GPIO2/D2
GPIO1/D1
GPIO0/D0
A18
A17
A16
nBEH
GND
nBEL/A0
100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76
A1
1
75
GND
A2
2
74
D8/MISO
A3
3
73
D9/nSSI
DM2B
4
72
D10/SCK
DP2B
5
71
D11/MOSI
AGND
6
70
D12/TXD
A4
7
69
D13/RXD
A5
8
68
D14/RTS
DM2A
9
67
D15/CTS
DP2A
10
66
GPIO8/D8/MISO
OTGVBUS
11
65
GPIO9/D9/nSSI
CSWITCHB
12
64
nWR
CSWITCHA
13
63
VCC
VSWITCH
14
62
nRD
BOOSTGND
15
61
GPIO10/D10/SCK
BOOSTVCC
16
60
GPIO11/D11/MOSI
A6
17
59
GPIO12/D12
DM1B
18
58
GPIO13/D13
DP1B
19
57
GPIO14/D14
A7
20
56
GPIO15/D15/nSSI
AVCC
21
55
GPIO16/A0/TXD/PWM0
DM1A
22
54
GPIO17/A1/RXD/PWM1
DP1A
23
53
GPIO18/A2/RTS/PWM2
A8
24
52
GPIO19/A0/CS0
A9
25
51
GND
CY7C67300
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
GPIO20/A1/CS1
GPIO21/nCS
GPIO22/nWR/IOW
GPIO23/nRD/IOR
GPIO24/INT/IORDY/IRQ0
GPIO25/IRQ1
GPIO26/CTS/PWM3
GPIO27/RX
GPIO28/TX
GPIO29/OTGID
GPIO31/SCL
GPIO30/SDA
A15/CLKSEL
VCC
nXRAMSEL
nXROMSEL
nXMEMSEL
A14
A13
A12
A11
XTALIN
XTALOUT
A10
GND
Pin Descriptions
Table 131. Pin Descriptions
Pin
67
Name
D15/CTS
Type
IO
68
D14/RTS
IO
69
D13/RXD
IO
70
D12/TXD
IO
Document Number: 38-08015 Rev. *L
Description
D15: External Memory Data Bus
CTS: HSS CTS
D14: External Memory Data Bus
RTS: HSS RTS
D13: External Memory Data Bus
RXD: HSS RXD (Data is received on this pin)
D12: External Memory Data Bus
TXD: HSS TXD (Data is transmitted from this pin)
Page 80 of 112
CY7C67300
Table 131. Pin Descriptions (continued)
Pin
71
Name
D11/MOSI
Type
IO
72
D10/SCK
IO
73
D9/nSSI
IO
74
D8/MISO
IO
76
77
78
79
80
81
82
83
33
32
31
30
27
25
24
20
17
8
7
3
2
1
99
D7
D6
D5
D4
D3
D2
D1
D0
A14
A13
A12
A11
A10
A9
A8
A7
A6
A5
A4
A3
A2
A1
nBEL/A0
IO
IO
IO
IO
IO
IO
IO
IO
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
Output
98
64
62
97
96
95
34
35
36
38
nBEH
nWR
nRD
A16
A17
A18
nXMEMSEL
nXROMSEL
nXRAMSEL
A15/CLKSEL
Output
Output
Output
Output
Output
Output
Output
Output
Output
IO
39
GPIO31/SCK
IO
40
GPIO30/SDA
IO
Document Number: 38-08015 Rev. *L
Description
D11: External Memory Data Bus
MOSI: SPI MOSI
D10: External Memory Data Bus
SCK: SPI SCK
D9: External Memory Data Bus
nSSI: SPI nSSI
D8: External Memory Data Bus
MISO: SPI MISO
External Memory Data Bus
External Memory Address Bus
nBEL: Low Byte Enable for 16-bit memories
A0: External Memory Address bit A0 for 0-8 bit memories
High Byte Enable for 16-bit memories
External Memory Write pulse
External Memory Read pulse
A16: External SRAM A16
A17: External SRAM A17
A18: External SRAM A18
External Memory Select 0
External Memory Select 1
External Memory Select 2
A15: External SRAM A15
CLKSEL: Sampled directly after reset to determine what crystal or
clock source frequency is being used. 12 MHz is required for normal
operation so the CLKSEL pin must have a 47K ohm pull up to VCC.
After reset this pin functions as A15.
GPIO31: General Purpose IO
SCK: I2C EEPROM SCK
GPIO30: General Purpose IO
SDA: I2C EEPROM SDA
Page 81 of 112
CY7C67300
Table 131. Pin Descriptions (continued)
Pin
41
Name
GPIO29/OTGID
Type
IO
42
GPIO28/TX
IO
43
GPIO27/RX
IO
44
GPIO26/CTS/PWM3
IO
45
GPIO25/IRQ1
IO
46
GPIO24/INT/
IORDY/IRQ0
IO
47
GPIO23/nRD/IOR
IO
48
GPIO22/nWR/IOW
IO
49
GPIO21/nCS
IO
50
GPIO20/A1/CS1
IO
52
GPIO19/A0/CS0
IO
53
GPIO18/A2/RTS/
PWM2
IO
54
GPIO17/A1/RXD/
PWM1
IO
55
GPIO16/A0/TXD/
PWM0
IO
56
GPIO15/D15/nSSI
IO
57
GPIO14/D14
IO
58
GPIO13/D13
IO
59
GPIO12/D12
IO
Document Number: 38-08015 Rev. *L
Description
GPIO29: General Purpose IO
OTGID: Input for OTG ID pin. When used as OTGID, tie this pin high
through an external pull up resistor. Assuming VCC = 3.0V, a 10K to
40K resistor must be used.
GPIO28: General Purpose IO
TX: UART TX (Data is transmitted from this pin)
GPIO27: General Purpose IO
RX: UART RX (Data is received on this pin)
GPIO26: General Purpose IO
CTS: HSS CTS
PWM3: PWM channel 3
GPIO25: General Purpose IO
IRQ1: Interrupt Request 1. See Register 0xC006. This pin is also one
of two possible GPIO wakeup sources.
GPIO24: General Purpose IO
INT: HPI INT
IORDY: IDE IORDY
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
IOR: IDE IOR
GPIO22: General Purpose IO
nWR: HPI nWR
IOW: IDE IOW
GPIO21: General Purpose IO
nCS: HPI nCS
GPIO20: General Purpose IO
A1: HPI A1
CS1: IDE CS1
GPIO19: General Purpose IO
A0: HPI A0
CS0: IDE CS0
GPIO18: General Purpose IO
A2: IDE A2
RTS: HSS RTS
PWM2: PWM channel 2
GPIO17: General Purpose IO
A1: IDE A1
RXD: HSS RXD (Data is received on this pin)
PWM1: PWM channel 1
GPIO16: General Purpose IO
A0: IDE A0
TXD: HSS TXD (Data is transmitted from this pin)
PWM0: PWM channel 0
GPIO15: General Purpose IO
D15: D15 for HPI or IDE
nSSI: SPI nSSI
GPIO14: General Purpose IO
D14: D14 for HPI or IDE
GPIO13: General Purpose IO
D13: D13 for HPI or IDE
GPIO12: General Purpose IO
D12: D12 for HPI or IDE
Page 82 of 112
CY7C67300
Table 131. Pin Descriptions (continued)
Pin
60
Name
GPIO11/D11/MOSI
Type
IO
61
GPIO10/D10/SCK
IO
65
GPIO9/D9/nSSI
IO
66
GPIO8/D8/MISO
IO
86
GPIO7/D7
IO
87
GPIO6/D6
IO
89
GPIO5/D5
IO
90
GPIO4/D4
IO
91
GPIO3/D3
IO
92
GPIO2/D2
IO
93
GPIO1/D1
IO
94
GPIO0/D0
IO
22
23
18
19
9
10
4
5
29
28
85
84
16
14
DM1A
DP1A
DM1B
DP1B
DM2A
DP2A
DM2B
DP2B
XTALIN
XTALOUT
nRESET
Reserved
BOOSTVCC
VSWITCH
15
11
13
12
21
6
37, 63, 88
26, 51, 75,
100
BOOSTGND
OTGVBUS
CSWITCHA
CSWITCHB
AVCC
AGND
VCC
GND
IO
IO
IO
IO
IO
IO
IO
IO
Input
Output
Input
Power
Analog
Output
Ground
Analog IO
Analog
Analog
Power
Ground
Power
Ground
Document Number: 38-08015 Rev. *L
Description
GPIO11: General Purpose IO
D11: D11 for HPI or IDE
MOSI: SPI MOSI
GPIO10: General Purpose IO
D10: D10 for HPI or IDE
SCK: SPI SCK
GPIO9: General Purpose IO
D9: D9 for HPI or IDE
nSSI: SPI nSSI
GPIO8: General Purpose IO
D8: D8 for HPI or IDE
MISO: SPI MISO
GPIO7: General Purpose IO
D7: D7 for HPI or IDE
GPIO6: General Purpose IO
D6: D6 for HPI or IDE
GPIO5: General Purpose IO
D5: D5 for HPI or IDE
GPIO4: General Purpose IO
D4: D4 for HPI or IDE
GPIO3: General Purpose IO
D3: D3 for HPI or IDE
GPIO2: General Purpose IO
D2: D2 for HPI or IDE
GPIO1: General Purpose IO
D1: D1 for HPI or IDE
GPIO0: General Purpose IO
D0: D0 for HPI or IDE
USB Port 1A D–
USB Port 1A D+
USB Port 1B D–
USB Port 1B D+
USB Port 2A D–
USB Port 2A D+
USB Port 2B D–
USB Port 2B D+
Crystal input or Direct Clock input
Crystal output. Leave floating if direct clock source is used.
Reset
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
Page 83 of 112
CY7C67300
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.
Operating Conditions
Storage Temperature .................................. –40°C to +125°C
Supply Voltage (BoostVCC)[7] .........................+2.7V to +3.6V
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
TA (Ambient Temperature Under Bias) ......... –40°C to +85°C
Supply Voltage (VCC, AVCC) ...........................+3.0V to +3.6V
Ground Voltage.................................................................. 0V
FOSC (Oscillator or Crystal Frequency).... 12 MHz ± 500 ppm
................................................................... Parallel Resonant
DC Voltage Applied to XTALIN ............. –0.5V to VCC + 0.5V
Static Discharge Voltage.......................................... > 2000V
Max Output Current, per IO .......................................... 4 mA
Crystal Requirements (XTALIN, XTALOUT)
Table 132. Crystal Requirements
Crystal Requirements
(XTALIN, XTALOUT)
Min
Typical
Parallel Resonant Frequency
Max
Unit
12
MHz
Frequency Stability
–500
+500
PPM
Load Capacitance
20
33
pF
Driver Level
500
µW
Startup Time
5
ms
Mode of Vibration: Fundamental
DC Characteristics
Table 133. DC Characteristics [8]
Parameter
Description
Conditions
Min
Typ.
Max
Unit
3.0
3.3
3.6
V
VCC, AVCC
Supply Voltage
BoosVCC
Supply Voltage
2.7
3.6
V
VIH
Input HIGH Voltage
2.0
5.5
V
VIL
Input LOW Voltage
0.8
V
II
Input Leakage Current
0< VIN < VCC
–10.0
+10.0
A
VOH
Output Voltage HIGH
IOUT = 4 mA
2.4
VOL
Output LOW Voltage
IOUT = –4 mA
0.4
V
IOH
Output Current HIGH
10
20
mA
IOL
Output Current LOW
10
20
mA
CIN
Input Pin Capacitance
Except D+/D–
10
pF
D+/D–
15
pF
V
VHYS
Hysteresis on nReset Pin
ICC[9, 10]
Supply Current
4 transceivers powered
80
100
mA
ICCB[9, 10]
Supply Current with Booster
Enabled
4 transceivers powered
135
180
mA
250
mV
Notes
7. The on-chip voltage booster circuit boosts BoostVCC to provide a nominal 3.3V VCC supply.
8. All tests were conducted with Charge pump off.
Document Number: 38-08015 Rev. *L
Page 84 of 112
CY7C67300
Table 133. DC Characteristics (continued)[8]
Parameter
ISLEEP
Description
Sleep Current
Conditions
Min
USB Peripheral: includes 1.5K
internal pull up
Without 1.5K internal pull up
ISLEEPB
Sleep Current with Booster Enabled USB Peripheral: includes 1.5K
internal pull up
Without 1.5K internal pull up
Typ.
Max
Unit
210
500
A
5
30
A
190
500
A
5
30
A
Typ.
Max
Unit
5.25
V
Table 134. DC Characteristics: Charge Pump
Parameter
Description
Conditions
VA_VBUS_OUT
Regulated OTGVBUS Voltage
8 mA< ILOAD < 10 mA
ILOAD = 10 mA
TA_VBUS_RISE
VBUS Rise Time
IA_VBUS_OUT
Maximum Load Current
Min
4.4
8
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
1.0
100
ms
10
mA
6.5
pF
200
mV
342
mV
ILOAD = 8 mA
20
20
mA
ILOAD = 0 mA
0
1
mA
ILOAD = 8 mA
30
45
mA
ILOAD = 0 mA
0
5
mA
8
mA
ICHARGEB
Charge Pump Current Draw with
Booster Active
IB_DSCHG_IN
B-Device (SRP Capable) Discharge 0V< VBUS < 5.25V
Current
VA_VBUS_VALID
A-Device VBUS Valid
4.4
VA_SESS_VALID
A-Device Session Valid
0.8
2.0
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
V
75
V
%
14.25
24.8

VBUS is not being driven
40
100
k
Pull up voltage = 3.0V
281

656

USB Transceiver
USB 2.0 certified in full- and low-speed modes.
Notes
9. ICC and ICCB values are the same regardless of USB host or peripheral configuration.
10. There is no appreciable difference in ICC and ICCB values when only two transceivers are powered.
Document Number: 38-08015 Rev. *L
Page 85 of 112
CY7C67300
AC Timing Characteristics
Reset Timing
tRESET
nRESET
tIOACT
nRD or nWRL or nWRH
Reset Timing
Table 135. Reset Timing Parameters
Parameter
Description
Min
Typical
Max
Unit
tRESET
nRESET Pulse Width
16
clocks[11]
tIOACT
nRESET HIGH to nRD or nWRx active
200
µs
Clock Timing
tCLK
tLOW
XTALIN
tFALL
tHIGH
tRISE
Clock Timing
Table 136. Clock Timing Parameters
Parameter
Description
fCLK
Clock Frequency
vXINH[12]
Clock Input High
(XTALOUT left floating)
Min
Max
12.0
Unit
MHz
1.5
3.0
3.6
V
83.17
83.33
83.5
ns
44
ns
tCLK
Clock Period
tHIGH
Clock High Time
36
tLOW
Clock Low Time
36
tRISE
Clock Rise Time
tFALL
Clock Fall Time
Duty Cycle
Typical
45
44
ns
5.0
ns
5.0
ns
55
%
Notes
11. Clock is 12 MHz nominal.
12. vXINH is required to be 3.0 V to obtain an internal 50/50 duty cycle clock.
Document Number: 38-08015 Rev. *L
Page 86 of 112
CY7C67300
SRAM Read Cycle[15]
Address
CS
t AR
tCR
t RPW
RD
t CDH
t RDH
t AC
Din
Data Valid
Table 137. SRAM Read Cycle Parameters
Parameter
Description
Min
Typical
Max
Unit
tCR
CS LOW to RD LOW
1
ns
tRDH
RD HIGH to Data Hold
0
ns
tCDH
CS HIGH to Data Hold
0
ns
tRPW[13]
RD LOW Time
38
tAR
tAC
[14]
45
ns
RD LOW to Address Valid
0
ns
RAM Access to Data Valid
12
ns
Notes
13. 0 wait state cycle.
14. tAC External SRAM access time = 12 ns for zero and one wait states. The External SRAM access time = 12 ns + (n – 1)*T for wait states = n, n > 1, T = 48 MHz
clock period.
15. Read timing is applicable for nXMEMSEL, nXRAMSEL, and nXROMSEL.
Document Number: 38-08015 Rev. *L
Page 87 of 112
CY7C67300
SRAM Write Cycle [17]
Address
t AW
tCSW
CS
tWC
t WPW
WE
t DW
Dout
t DH
Data Valid
Table 138. SRAM Write Cycle Parameters
Parameter
Description
Min
Typical
Max
Unit
tAW
Write Address Valid to WE LOW
7
ns
tCSW
CS LOW to WE LOW
7
ns
tDW
Data Valid to WE HIGH
15
ns
tWPW[16]
WE Pulse Width
15
ns
tDH
Data Hold from WE HIGH
4.5
ns
tWC
WE HIGH to CS HIGH
13
ns
Notes
16. tWPW The write pulse width = 18.8 ns min. for zero and one wait states. The write pulse = 18.8 ns + (n – 1)*T for wait states = n, n > 1, T = 48 MHz clock period.
17. Write timing is applicable for nXMEMSEL, nXRAMSEL and nXROMSEL.
Document Number: 38-08015 Rev. *L
Page 88 of 112
CY7C67300
I2C EEPROM Timing-Serial IO
tHIGH
tLOW
tR
tF
SCL
tSU.STA
tHD.STA
tSU.DAT
tHD.DAT
tSU.STO
tBUF
SDA IN
tAA
tDH
SDA OUT
Table 139. I2C EEPROM Timing Parameters
Parameter
Description
Min
Typical
Max
Unit
400
kHz
fSCL
Clock Frequency
tLOW
Clock Pulse Width Low
1300
ns
tHIGH
Clock Pulse Width High
600
ns
tAA
Clock Low to Data Out Valid
900
ns
tBUF
Bus Idle Before New Transmission
1300
ns
tHD.STA
Start Hold Time
600
ns
tSU.STA
Start Setup Time
600
ns
tHD.DAT
Data In Hold Time
0
ns
tSU.DAT
Data In Setup Time
100
ns
tR
Input Rise Time
300
ns
tF
Input Fall Time
300
ns
tSU.STO
Stop Setup Time
tDH
Data Out Hold Time
Document Number: 38-08015 Rev. *L
600
ns
0
ns
Page 89 of 112
CY7C67300
HPI (Host Port Interface) Write Cycle Timing
tCYC
tASU
tWP
tAH
ADDR [1:0]
tCSH
tCSSU
nCS
nWR
nRD
Dout [15:0]
tDSU
tWDH
Table 140. HPI Write Cycle Timing Parameters
Parameter
Description
Min
Typical
Max
Unit
tASU
Address Setup
–1
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[18]
tCYC
Write Cycle Time
6
T[18]
Notes
18. T = system clock period = 1/48 MHz.
Document Number: 38-08015 Rev. *L
Page 90 of 112
CY7C67300
HPI (Host Port Interface) Read Cycle Timing
tCYC
tASU
tRP
tAH
ADDR [1:0]
tCSH
tCSSU
nCS
tRDH
nWR
nRD
Din [15:0]
tACC
tRDH
Table 141. HPI Read Cycle Timing Parameters
Parameter
Description
Min
Typical
Max
Unit
tASU
Address Setup
–1
ns
tAH
Address Hold
–1
ns
tCSSU
Chip Select Setup
–1
ns
tCSH
Chip Select Hold
–1
ns
tACC
Data Access Time, from HPI_nRD falling
tRDH
Read Data Hold, relative to the earlier of
HPI_nRD rising or HPI_nCS rising
tRP
Read Pulse Width
2
T[18]
tCYC
Read Cycle Time
6
T[18]
Document Number: 38-08015 Rev. *L
1.5
1
T[18]
7
ns
Page 91 of 112
CY7C67300
IDE Timing
The IDE interface supports PIO mode 0-4 as specified in the Information Technology-AT Attachment–4 with Packet Interface Extension
(ATA/ATAPI-4) Specification, T13/1153D Rev 18.
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 the 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 [0xC074].
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 Number: 38-08015 Rev. *L
Page 92 of 112
CY7C67300
Hardware CTS/RTS Handshake
tCTShold
tCTShold
tCTSsetup
tCTSsetup
HSS_RTS
HSS_CTS
HSS_TxD
Start of transmission not delayed by HSS_CTS
Start of transmission delayed until HSS_CTS goes high
tCTSsetup: 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 help 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.
Register Summary
Table 142. 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 ID to HPI
Enable
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
Reserved
0000 0000
Resume1 to
HPI Enable
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
Address...
xxxx xxxx
xxxx xxxx
...Address
xxxx xxxx
R.W
0x02n4
Device n Endpoint n Count
Reserved
Count...
xxxx xxxx
R/W
0x02n6
Device n Endpoint n Status
Reserved
R/W
0x02n8
Device n Endpoint n Count Result Result...
xxxx xxxx
...Result
xxxx xxxx
...Count
Stall
Flag
R
0xC000
CPU Flags
xxxx xxxx
NAK
Flag
Length
Setup
Exception Flag Flag
0xC002
Bank
0xC004
Hardware Revision
OUT
IN
xxxx xxxx
Exception Flag Exception Flag
Sequence
Status
Timeout
Flag
Error
Flag
ACK
Flag
Negative
Flag
Overflow
Flag
Carry
Flag
Zero
Flag
Address...
R/W
0xC006
0xC008
GPIO Control
CPU Speed
000x xxxx
Revision...
xxxx xxxx
xxxx xxxx
Write Protect
Enable
UD
Reserved
HSS
Enable
HSS XD
Enable
SPI
Enable
SPI XD
Enable
0xC00A
Power Control
SAS
Enable
Mode
Select
Interrupt 1
Polarity
Select
Interrupt 1
Enable
0000 0000
Interrupt 0
Polarity
Select
Interrupt 0
Enable
Reserved...
Host/Device
2B Wake
Enable
CPU Speed
Host/Device
2A Wake
Enable
HPI
Reserved
Wake Enable
Document Number: 38-08015 Rev. *L
0000 0000
0000 0000
.Reserved
R/W
000x xxxx
0000 0001
Reserved
...Revision
R/W
xxxx xxxx
0000 0000
Global Interrupt Enable
...Address
R
Underflow
Flag
Reserved...
...Reserved
R/W
Overflow
Flag
Host/Device
1B Wake
Enable
Host/Device
1A Wake
Enable
OTG
Wake
Enable
GPI
Reserved
Wake Enable
0000 1111
Reserved
HSS
Wake
Enable
SPI
Wake
Enable
0000 0000
Boost 3V
OK
Sleep
Enable
Halt
Enable
0000 0000
Page 93 of 112
CY7C67300
Table 142. Register Summary (continued)
R/W
R/W
Address Register
0xC00C
Watchdog Timer
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
Timeout
Flag
Period
Select
Lock
Enable
WDT
Enable
Reset
Strobe
0000 0000
Reserved...
0000 0000
...Reserved
R/W
0xC00E
Interrupt Enable
Reserved
HSS
Interrupt
Enable
R/W
0xC098
OTG Control
Reserved
D+ Pulldown
Enable
R/W
R/W
R/W
R/W
R
R/W
R/W
In Mailbox
Interrupt
Enable
OTG Interrupt SPI Interrupt Reserved
Enable
Enable
Host/Device 2 Host/Device 1 0000 0000
Interrupt
Interrupt
Enable
Enable
Out Mailbox
Interrupt
Enable
Reserved
UART
Interrupt
Enable
Timer 1
Interrupt
Enable
Timer 0
Interrupt
Enable
0001 0000
VBUS
Pull-up
Enable
Receive
Disable
Charge Pump VBUS
Enable
Discharge
Enable
D+
Pull-up
Enable
D–
Pull-up
Enable
0000 0000
ID
Status
VBUS Valid
Flag
0000 0xxx
D– Pull-down Reserved
Enable
OTG Data
Status
0: 0xC010 Timer n
1: 0xC012
Count...
1111 1111
...Count
1111 1111
0xC014
Address...
0000 0000
...Address
0000 0000
1: 0xC018 Extended Page n Map
2: 0xC01A
Address...
0000 0000
...Address
0000 0000
0: 0xC01E GPIO n Output Data
1: 0xC024
Data...
0000 0000
...Data
0000 0000
0: 0xC020 GPIO n Input Data
1: 0xC026
Data...
0000 0000
...Data
0000 0000
0: 0xC022 GPIO n Direction
1: 0xC028
Direction Select...
0000 0000
...Direction Select
0000 0000
0xC038
Reserved
Breakpoint
Upper Address Enable
xxxx xxxx
Reserved
R/W
R/W
W
GPIO
Interrupt
Enable
0xC03A
0xC03C
0xC03E
External Memory Control
USB Diagnostic
Memory Diagnostic
Upper
Address
Enable
Reserved
Reserved
xxxx 0xxx
XRAM
XROM
XMEM
XMEM
Merge Enable Merge Enable Width Select Wait Select
xxxx xxxx
XRAM
XRAM
Width Select Wait Select
xxxx xxxx
0000 0000
XROM
Width Select
XROM
Wait Select
Port 2B
Diagnostic
Enable
Port 2A
Diagnostic
Enable
Port 1B
Diagnostic
Enable
Port 1A
Diagnostic
Enable
Reserved...
...Reserved
Pull-down
Enable
LS Pull-up
Enable
FS Pull-up
Enable
Reserved
Reserved
Force Select
0000 0000
Memory
Arbitration
Select
0000 0000
Reserved
R/W
0xC048
IDE Mode
Monitor
Enable
Reserved...
0000 0000
0000 0000
...Reserved
Reserved
Mode Select
0000 0000
R/W
0xC04A
IDE Start Address
Address...
0000 0000
... Address
0000 0000
R/W
0xC04C
IDE Stop Address
Address...
0000 0000
...Address
0000 0000
R/W
0xC04E
IDE Control
Reserved...
0000 0000
...Reserved
-
0xC050-0 IDE PIO Port
xC06E
R/W
0xC070
HSS Control
R/W
0xC072
HSS Baud Rate
R/W
R/W
R/W
0xC074
0xC076
0xC078
HSS Transmit Gap
HSS Data
HSS Receive Address
Direction
Select
IDE Interrupt
Enable
Done
Flag
IDE
Enable
0000 0000
XOFF
XOFF
Enable
CTS
Enable
Receive
Interrupt
Enable
Done
Interrupt
Enable
0000 0000
Transmit Done Receive Done One
Interrupt Flag Interrupt Flag Stop Bit
Transmit
Ready
Packet Mode Receive
Receive Pack- Receive
Select
Overflow Flag et Ready Flag Ready Flag
Reserved
HSS Baud...
HSS
Enable
RTS
Polarity
Select
CTS
Polarity
Select
0000 0000
...Baud
0001 0111
Reserved
0000 0000
Transmit Gap Select
0000 1001
Reserved
xxxx xxxx
Data
xxxx xxxx
Address...
0000 0000
...Address
R/W
R/W
0xC07A
0xC07C
HSS Receive Counter
HSS Transmit Address
0000 0000
Reserved
0000 0000
Counter...
0000 0000
...Counter
0000 0000
Address..
0000 0000
...Address
0000 0000
Document Number: 38-08015 Rev. *L
Page 94 of 112
CY7C67300
Table 142. Register Summary (continued)
R/W
R/W
Address Register
0xC07E
HSS Transmit Counter
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
Counter...
0000 0000
...Counter
R/W
R/W
R/W
R/W
R
0xC080
0xC0A0
Host n Control
0xC082
0xC0A2
Host n Address
0xC084
0xC0A4
Host n Count
0xC084
0xC0A4
Device n Port Select
0xC086
0xC0A6
Host n PID
Reserved
Preamble
Enable
R
0xC088
0xC0A8
Host n Count Result
W
0xC088
0xC0A8
Host n Device Address
0xC08A
0xC0AA
USB n Control
0xC08C
R/W
R/W
0xC08C
Reserved
Reserved
Reserved
0000 0000
Port Select
Reserved
Count...
Device 1 Interrupt Enable
0xC08E
0xC0AE
Device n Address
0xC090
Host 1 Status
0xC090
0000 0000
0000 0000
Port Select
Reserved...
0000 0000
0000 0000
Reserved
NAK
Flag
Length
Reserved
Exception Flag
Overflow
Flag
Underflow
Flag
Reserved
Sequence
Status
Timeout
Flag
Error
Flag
0000 0000
0000 0000
Endpoint Select
0000 0000
Result...
0000 0000
...Result
0000 0000
Reserved...
0000 0000
...Reserved
Address
Port B
D+ Status
Port B
D– Status
Port A
Resistors
Enable
Port B
Force D+/State
VBUS
Interrupt
Enable
ID
Interrupt
Enable
0000 0000
Port A
D+ Status
Port A
D– Status
LOB
Port A
Force D±
State
LOA
Mode
Select
Port B Resistors Enable
xxxx 0000
Suspend
Enable
Port B
SOF/EOP
Enable
Port A
SOF/EOP
Enable
0000 0000
SOF/EOP
Interrupt
Enable
Reserved
0000 0000
Done
Interrupt
Enable
0000 0000
Reserved
VBUS
Interrupt
Enable
ID
Interrupt
Enable
Reserved
EP7
Interrupt
Enable
EP6
Interrupt
Enable
EP5
Interrupt
Enable
Port A Connect Change
Interrupt
Enable
EP4
Interrupt
Enable
Reserved
SOF/EOP
Timeout Interrupt Enable
Reserved
SOF/EOP
Interrupt
Enable
Reset
Interrupt
Enable
0000 0000
EP3
Interrupt
Enable
EP2
Interrupt
Enable
EP1
Interrupt
Enable
EP0
Interrupt
Enable
0000 0000
Reserved...
...Reserved
Device 1 Status
0000 0000
ACK
Flag
Reserved
PID Select
Host 1 Interrupt Enable
0000 0000
0000 0000
0000 0000
Address
0000 0000
VBUS
ID
Reserved
Interrupt Flag Interrupt Flag
Port B
Port A
Port B Connect Port A ConPort B
Wake Interrupt Wake Interrupt Change
nect Change SE0
Flag
Flag
Interrupt Flag Interrupt Flag Status
R/W
Arm
Enable
Address...
Port B
Port A
Port B Connect
Wake Interrupt Wake Interrupt Change
Enable
Enable
Interrupt Enable
R/W
ISO
Enable
...Reserved
Host n EP Status
R/W
Sync
Enable
...Count
0xC086
0xC0A4
R/W
0000 0000
Sequence
Select
...Address
Stall
Flag
W
0000 0000
Port A
SE0
Status
VBUS
ID
Reserved
Interrupt Flag Interrupt Flag
SOF/EOP
Reserved
Interrupt Flag
xxxx xxxx
Reserved
xxxx xxxx
Done
Interrupt
Flag
SOF/EOP
Reset
xxxx xxxx
Interrupt Flag Interrupt Flag
EP7
EP6
EP5
EP4
EP3
EP2
EP1
EP0
xxxx xxxx
Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag
R/W
0xC092
0xC0B2
Host n SOF/EOP Count
Reserved
R
0xC092
0xC0B2
Device n Frame Number
SOF/EOP
Timeout
Flag
R
0xC094
0xC0B4
Host n SOF/EOP Counter
Reserved
0xC094
0xC0B4
Device n SOF/EOP Count
0xC096
0xC0B6
Host n Frame
0xC0AC
Host 2 Interrupt Enable
Count...
0010 1110
...Count
1110 0000
SOF/EOP
Timeout
Interrupt Count
Reserved
Frame...
0000 0000
...Frame
W
R
R/W
0000 0000
Counter...
xxxx xxxx
...Counter
Reserved
xxxx xxxx
Count...
0010 1110
...Count
1110 0000
Reserved
Frame...
0000 0000
...Frame
0000 0000
Reserved
Port B
Port A
Port B Connect
Wake Interrupt Wake Interrupt Change
Enable
Enable
Interrupt
Enable
Document Number: 38-08015 Rev. *L
SOF/EOP
Interrupt
Enable
Port A Connect Change
Interrupt
Enable
Reserved
Reserved
0000 0000
Done
Interrupt
Enable
0000 0000
Page 95 of 112
CY7C67300
Table 142. Register Summary (continued)
R/W
R/W
Address Register
0xC0AC
Device 2 Interrupt Enable
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
SOF/EOP
Timeout
Interrupt
Enable
Wake
Interrupt
Enable
SOF/EOP
Interrupt
Enable
Reset
Interrupt
Enable
0000 0000
EP3
Interrupt
Enable
EP2
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
Reserved
EP7
Interrupt
Enable
R/W
0xC0B0
Host 2 Status
EP6
Interrupt
Enable
EP5
Interrupt
Enable
Reserved
Port B
Port A
Port B
Wake Interrupt Wake Interrupt Connect
Flag
Flag
Change
Interrupt Flag
R/W
0xC0B0
Device 2 Status
EP4
Interrupt
Enable
Port A
Port B
Connect
SE0
Change
Status
Interrupt Flag
Reserved
SOF/EOP
Timeout
Interrupt
Enable
EP7
EP6
EP5
EP4
EP3
EP2
EP1
EP0
xxxx xxxx
Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag Interrupt Flag
R/W
0xC0C6
HPI Mailbox
Message...
0000 0000
...Message
R/W
R/W
R/W
R
0xC0C8
0xC0CA
0xC0CC
0xC0CE
SPI Configuration
SPI Control
SPI Interrupt Enable
SPI Status
3Wire
Enable
0xC0D0
SPI Interrupt Clear
SCK
Scale Select
Polarity Select
Reserved
Master
Master
Active Enable Enable
SS
Enable
SS Delay Select
SCK
Strobe
FIFO
Init
Byte
Mode
FullDuplex
Transmit
Empty
Receive
Full
Transmit Bit Length
SS
Manual
1000 0000
0001 1111
Read
Enable
Transmit
Ready
receive
Data Ready
Receive Bit Length
0000 0001
1000 0000
Reserved...
0000 0000
...Reserved
Receive Inter- Transmit Inter- Transfer Inter- 0000 0000
rupt Enable
rupt Enable
rupt Enable
Reserved...
FIFO Error
Flag
W
0000 0000
Phase
Select
0000 0000
Reserved
Receive
Transmit
Transfer
0000 0000
Interrupt Flag Interrupt Flag Interrupt Flag
Reserved...
0000 0000
...Reserved
Transmit
Transmit
0000 0000
Interrupt Clear Interrupt Clear
R/W
0xC0D2
SPI CRC Control
CRC Mode
...Reserved
0000 0000
R/W
0xC0D4
SPI CRC Value
CRC
1111 1111
...CRC
1111 1111
Reserved
xxxx xxxx
Data
xxxx xxxx
Address...
0000 0000
R/W
R/W
0xC0D6
0xC0D8
SPI Data Port t
SPI Transmit Address
CRC
Enable
CRC
Clear
Receive
CRC
One in CRC
Zero in CRC
Reserved...
...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 0000 0111
Reserved...
0000 0000
...Reserved
R/W
0xC0E4
UART Data
Receive
Full
Transmit
Full
Reserved
0xC0E6
PWM Control
PWM
Enable
0000 0000
Reserved
Prescale
Select
PWM3
PWM2
PWM1
PWM0
PWM3
Polarity Select Polarity Select Polarity Select Polarity Select Enable
R/W
0xC0E8
PWM Maximum Count
Reserved
PWM2
Enable
PWM1
Enable
Count...
...Count
R/W
0:
PWM n Start
0xC0EA
1:
0xC0EE
2: 0xC0F2
3: 0xC0F6
Reserved
...Address
Document Number: 38-08015 Rev. *L
0000 0000
0000 0000
Data
R/W
0000 0000
Mode
Select
0000 0000
PWM0
Enable
0000 0000
0000 0000
0000 0000
Address...
0000 0000
0000 0000
Page 96 of 112
CY7C67300
Table 142. Register Summary (continued)
R/W
R/W
R/W
Address Register
0:
PWM n Stop
0xC0EC
1: 0xC0F0
2: 0xC0F4
3: 0xC0F8
0xC0FA
PWM Cycle Count
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
Address...
0000 0000
...Address
0000 0000
Count...
0000 0000
...Count
R
HPI Status Port
VBUS
Flag
0000 0000
ID
Flag
Reserved
Resume2 Flag Resume1 Flag SIE2msg
Document Number: 38-08015 Rev. *L
SOF/EOP2
Flag
Reserved
SOF/EOP1
Flag
Reset2
Flag
Mailbox In
Flag
SIE1msg
Done2 Flag
Done1 Flag
Reset1 Flag
Mailbox Out
Flag
Page 97 of 112
CY7C67300
Ordering Information
Table 143. Ordering Information
Ordering Code
Package Type
CY7C67300-100AXI
AEC
Pb-Free
Temperature Range
X
–40 to 85°C
100-pin TQFP
CY7C67300-100AXA
100-pin TQFP
CY7C67300-100AXIT
100-pin TQFP, tape and reel
X
CY7C67300-100AXAT
100-pin TQFP, tape and reel
CY3663
Development kit
CY4640
Mass storage reference design
X
–40 to 85°C
X
–40 to 85°C
X
X
–40 to 85°C
X
X
–40 to 85°C
Ordering Code Definitions
CY
67300
-
xxx
AX
(I, A, E)
T
Tape and reel
Temperature range:
I = Industrial; A = Automotive;
E= Extended
TQFP Pb-free
Pin count
Part identifier
Company Code: CY = Cypress
Document Number: 38-08015 Rev. *L
Page 98 of 112
CY7C67300
Package Diagram
Figure 12. 100-pin TQFP(14 × 14 × 1.4 mm) A100SA
51-85048 *G
Document Number: 38-08015 Rev. *L
Page 99 of 112
CY7C67300
Acronyms
Document Conventions
Table 144. Acronyms Used in this Document
Units of Measure
Acronym
Description
Table 145. Units of Measure
AC
alternating current
AEC
Automotive Electronics Council
ns
nanosecond
CPU
central processing unit
V
volt
CRC
cyclic redundancy check
mV
millivolt
DC
direct current
µW
microwatt
DMA
direct memory access
µA
microampere
EEPROM
electronically erasable programmable read only
memory
mA
milliampere
EOP
end of packet
µs
microsecond
XRAM
external ram memory
ms
millisecond
FIFO
first in first out
MHz
megahertz
GPIO
general purpose input/output
µF
microfarad
HSS
high speed serial
pF
picofarad
HPI
host port interface
mW
milliwatt
IDE
integrated device electronics
W
watt
I2C
inter-integrated circuit
ppm
parts per million
KVM
keyboard-video-mouse
°C
degree Celsius
OTG
on-the-go protocol
PLL
phase locked loop
POR
power-on reset
PIO
programmed input/output
PWM
pulse width modulation
RAM
random access memory
ROM
read only memory
SPI
serial peripheral interface
SIE
serial-interface-engine
SE0
single ended zero
SOF
start of frame
SRAM
static random access memory
TQFP
thin quad flat pack
TTL
transistor-transistor logic
UART
universal asynchronous receiver/transmitter
USB
universal serial bus
WDT
watchdog timer
Document Number: 38-08015 Rev. *L
Symbol
Unit of Measure
Page 100 of 112
CY7C67300
Appendix: Silicon Errata for the EZ-Host™ Programmable Embedded USB Host/Peripheral
Controller, CY7C67300 Product Family
This document describes the errata for the EZ-Host™ Programmable Embedded USB Host/Peripheral Controller, CY7C67300
Product Family. Details include errata trigger conditions, available workarounds, and silicon revision applicability. Compare this
document to the device’s datasheet for a complete functional description.
Contact your local Cypress Sales Representative if you have questions.
Part Numbers Affected
Part Number
Device Characteristics
CY7C67300
All Packages
CY7C67300 Qualification Status
Product status: In Production
CY7C67300 Errata Summary
The following table defines the errata applicability to available CY7C67300 family devices. An ‘X’ indicates that the errata pertains to
the selected device.
Note Click on the errata table items to view their descriptions.
CY7C67300
Silicon
Revision
Fix Status
<xref>1. HPI write to SIE registers
X
A
No silicon revision planned, use workaround.
<xref>2. Hub and low-speed device attached to a root hub
of the EZ-Host chip
X
A
No silicon revision planned, use workaround.
<xref>3. IDE register read when GPIO24 pin is low
X
A
No silicon revision planned, use workaround.
<xref>4. UART Does Not Recognize Framing Errors
X
A
No silicon revision planned, use workaround.
<xref>5. UART does not override GPIO Control Register
X
A
No silicon revision planned, use workaround.
<xref>6. VBUS Interrupt (VBUS Valid) Requires Debouncing
X
A
No silicon revision planned, use workaround.
<xref>7. Coupled SIE Interrupt Enable Bits
X
A
No silicon revision planned, use workaround.
<xref>8. Un-Initialized SIExmsg Registers
X
A
No silicon revision planned, use workaround.
<xref>9. BIOS USB Peripheral Mode: Descriptor Length
X
A
No silicon revision planned, use workaround.
<xref>10. Peripheral short packet issue
X
A
No silicon revision planned, use workaround.
<xref>11. Data toggle corruption issue
X
A
No silicon revision planned, use workaround.
<xref>12. Code fails to load from EEPROM
X
A
No silicon revision planned, use workaround.
<xref>13. ISOCH Endpoint Descriptor error
X
A
No silicon revision planned, use workaround.
<xref>14. Missing Endpoint Interrupts in USB Peripheral
Mode
X
A
No silicon revision planned, use workaround.
Items
Document Number: 38-08015 Rev. *L
Page 101 of 112
CY7C67300
1. HPI write to SIE registers
■
Problem Definition
Writing to the SIE2 Control register via HPI can corrupt the SIE1 Control register.
Writing to the SIE1 Control register via HPI can corrupt the SIE2 Control register.
■
Parameters Affected
SIE Control registers.
■
Trigger Condition(S)
When an external processor accesses the SIE1 or SIE2 register at the same time the internal CY16 CPU is also accessing the
opposite SIE, the SIE accessed by the CY16 CPU will be corrupted. For example, the external processor writes a value of 0x80
to the SIE2 register 0xC0B0 while the internal CY16 is doing a read/write to the SIE1 register 0xC08C, the SIE1 register 0xC08C,
will be corrupted with the value 0x80.
■
Scope of Impact
If the internal CPU and the external CPU access the SIEs at the same time, contention will occur resulting in incorrect data in one
of the SIE registers.
■
Workaround
1. Use the LCP COMM_WRITE_CTRL_REG to handle the writing to SIE registers.
2. Use download code to handle SIE WRITE commands.
3. Avoid accessing SIE register from the external CPU. For example, route all the SIE interrupts to the software mailbox interrupt
registers 0x144 and 0x148. This requires user to create download code.
■
Fix Status
No silicon revision planned, use workaround. An implementation example is included in the Cypress Windows CE driver.
2. Hub and low-speed device attached to a root hub of the EZ-Host chip
■
Problem Definition
When a hub and a low-speed device are connected to the same SIE, the hub does not pass the USB packets from the downstream
to the upstream.
■
Parameters Affected
SOF timing.
■
Trigger Condition(S)
Connecting a hub and a low-speed device to the same root hub (SIE) of the EZ-Host chip.
■
Scope of Impact
The EZ-Host does not generate an accurate 1 ms SOF time frame to the hub.
■
Workaround
1. Code can detect the condition and report a message to the user.
2. The low-speed device could be attached to one of the hub downstream ports.
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 102 of 112
CY7C67300
3. IDE register read when GPIO24 pin is low
■
Problem Definition
The part does not service USB ISRs when the GPIO24 pin (also labeled as HPI_INT and IORDY) is low and any IDE register is read.
■
Parameters Affected
USB ISRs do not get serviced.
■
Trigger Condition(S)
The IDE registers (0xC050 through 0xC06E) should not be read unless IDE is being used. Debuggers that read all memory
locations while single stepping can cause this situation to manifest itself.
■
Scope of Impact
If you are debugging and using this pin, your application will appear to hang.
■
Workaround
When running in standalone mode, avoid using the GPIO24 pin if possible.
■
Fix Status
No silicon revision planned, use workaround.
4. UART Does Not Recognize Framing Errors
■
Problem Definition
The UART is not designed to recognize framing errors.
■
Parameters Affected
UART serial communications.
■
Trigger Condition(S)
Some platforms can cause EZ-Host to see a string of NULL characters and cause the UART to get out of sync.
■
Scope of Impact
This can cause the UART to lose connection with the host during serial communications. One example of this is if the UART is
used as the debug port to the PC. This problem has occurred on, but is not limited to, Dell™ machines running Windows® XP or
Windows® 2000.
■
Workaround
For general use, there is no workaround. If this problem is experienced while debugging, try running the debugger on a different
host (PC/OS). Otherwise the USB port can be used for the debugging interface.
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 103 of 112
CY7C67300
5. UART does not override GPIO Control Register
■
Problem Definition
When the UART is enabled, the GPIO Control Register still has control over GPIO 27 (UART RX pin). When enabled, the UART
should override the GPIO Control Register, which defaults to setting the pin as an input.
■
Parameters Affected
UART serial communications.
■
Trigger Condition(S)
Enabling UART.
■
Scope of Impact
GPIO 27 UART RX pin is controlled by GPIO Control Register and defaults to an input. The UART mode does not override the
GPIO Control Register for this pin and can be inadvertently configured as an output.
■
Workaround
Ensure the GPIO Control Register is written appropriately to set GPIO27 as an input when the UART is enabled.
■
Fix Status
No silicon revision planned, use workaround.
6. VBUS Interrupt (VBUS Valid) Requires Debouncing
■
Problem Definition
The VBUS interrupt in the Host/Device Status Registers [0xC090 and 0xC0B0] and OTG Control Register [0xC098] triggers multiple
times whenever VBUS is turned on. It should only trigger once when VBUS rises above 4.4V and once when VBUS falls from
above 4.4V to 0V.
■
Parameters Affected
Electrical.
■
Trigger Condition(S)
VBUS turned on.
■
Scope of Impact
Host/Device Registers and OTG Control Register trigger multiple times.
■
Workaround
When reading the status of this interrupt, a software debounce should be implemented.
■
Fix Status
No silicon revision planned, use workaround. Examples are provided in the Development Kit Software.
Document Number: 38-08015 Rev. *L
Page 104 of 112
CY7C67300
7. Coupled SIE Interrupt Enable Bits
■
Problem Definition
Host/Device 1 SIE events will still trigger an interrupt when only the Host/Device 2 SIE Interrupt Enable is set and vise versa.
■
Parameters Affected
Host/Device SIE Interrupts.
■
Trigger Condition(S)
Setting only 1 Host/Device SIE Interrupt Enable.
■
Scope of Impact
The Host/Device global Interrupt Enable bits cannot be used to disable each Host/Device SIE independently. These bits are found
in the Interrupt Enable Register (0xC00E).
■
Workaround
If an SIE Interrupt is desired, both Host/Device 1 and Host/Device 2 Interrupt Enable bits should be set in the Global Interrupt
Enable Register (0xC00E). To properly mask an SIE Interrupt to a single SIE, the lower level Host/Device Interrupt Enable Registers
(0xC08C and 0xC0AC) must be used. For example, setting the Host/Device 2 IE Register to 0x0000 will prevent any Host/Device
2 events from generating a Host/Device Interrupt. To disable all SIE interrupts, both Host/Device Interrupt Enable bits in the Interrupt
Enable Register should be cleared.
■
Fix Status
No silicon revision planned, use workaround.
8. Un-Initialized SIExmsg Registers
■
Problem Definition
The SIE1msg and SIE2msg Registers [0x0144 and 0x0148] are not initialized at power up.
■
Parameters Affected
HPI interrupts.
■
Trigger Condition(S)
Power up initialization.
■
Scope of Impact
If you are using the HPI interface in co-processor mode, random data will be written to the SIE1msg and SIE2msg Registers
[0x0144 and 0x0148] at power up. This will cause two improper HPI interrupts (HPI_INTR) to occur, one for each of the two SIExmsg
Registers.
■
Workaround
The external processor should clear the SIExmsg Registers [0x0144 and 0x0148] shortly after nRESET is de-asserted and prior
to the expected processing of proper HPI interrupts (generally 10 ms after nRESET is de-asserted).
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 105 of 112
CY7C67300
9. BIOS USB Peripheral Mode: Descriptor Length
■
Problem Definition
The BIOS will not properly return a descriptor or set of descriptors, if the length is a multiple of the control endpoint’s maximum
packet size.
■
Parameters Affected
Control Endpoint maximum packet size.
■
Trigger Condition(S)
Get Descriptor requests.
■
Scope of Impact
If the descriptor length is a multiple of the maximum packet size, the BIOS will respond with a STALL instead of a zero-length data
packet for the final IN request.
■
Workaround
If the requested descriptor length is a multiple of the maximum packet size, then either the maximum packet size or the descriptor
length needs to change. A descriptor length can be increased by simply adding a padded byte to the end of a descriptor and
increasing the descriptor Length byte by one. Section 9.5 (Descriptor) of the USB 2.0 specification allows a descriptor length to be
larger than the value defined in the specification.
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 106 of 112
CY7C67300
10.Peripheral short packet issue
■
Problem Definition
When an SIE is configured as a peripheral, the SUSBx_RECEIVE function does not invoke the callback function when it receives
a short packet.
■
Parameters Affected
SIEx Endpoint x Interrupt (Interrupt 32-47).
■
Trigger Condition(S)
This issue is seen when an SIE is configured as a peripheral during an OUT data transfer when the host sends a zero length or
short packet. If this occurs, the BIOS will behave as if a full packet was received and will continue to accept data until the Device
n Endpoint n Count Register value is satisfied.
■
Scope of Impact
All peripheral functions are susceptible to this, as it is a normal occurrence with USB traffic.
■
Workaround
To fix this problem, the SIEx Endpoint x Interrupt must be replaced for any peripheral endpoint that is configured as an OUT
endpoint.
1. Acquire the file called susb1.s from Cypress Support or download a newer version of the frameworks that has this fix
applied and includes susb1.s.
2. Modify fwxcfg.h in your project to have the following flags and define/undef the fix for the endpoints you are using:
#define
#define
#undef
#undef
#undef
#undef
#undef
#undef
#undef
#undef
#undef
#undef
#undef
#undef
■
FIX_USB1_EP1
FIX_USB1_EP2
FIX_USB1_EP3
FIX_USB1_EP4
FIX_USB1_EP5
FIX_USB1_EP6
FIX_USB1_EP7
FIX_USB2_EP1
FIX_USB2_EP2
FIX_USB2_EP3
FIX_USB2_EP4
FIX_USB2_EP5
FIX_USB2_EP6
FIX_USB2_EP7
3.
Add the new susb1.s to the included assembly source files in the make file.
For example : ASM_SRC := startup.s isrs.s susb1.s
4.
Add usb_init somewhere in the startup code. This will likely be in fwxmain.c as demonstrated below:
5.
void fwx_program_init(void)
{
void usb_init();/* define the prototype */
usb_init();
fwx_init();/* Initialize everything in the base framework. */
}
Build the project using the modified make file.
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 107 of 112
CY7C67300
11.Data toggle corruption issue
■
Problem Definition
When an SIE is configured as a peripheral, data toggle corruption as specified in the USB 2.0 specification, section 8.6.4, does
not work as specified.
■
Parameters Affected
SIEx Endpoint x Interrupt (Interrupt 32-47).
■
Trigger Condition(S)
This issue is seen when an SIE is configured as a peripheral and the host sends an incorrect data toggle. According to the USB
specification, when an incorrect data toggle is seen from the host, the peripheral should throw away the data but increment the
data toggle bit to re-synchronize the data toggle bits. In the current ROM BIOS, the SIEx Endpoint x Interrupt will ignore the data
toggle error and accept the data.
■
Scope of Impact
All peripheral functions are susceptible to this as it is a normal occurrence with USB traffic.
■
Workaround
To fix this problem, the SIEx Endpoint x Interrupt must be replaced for any endpoint that is configured as an OUT endpoint.
1.
2.
Acquire the file called susb1.s from Cypress Support or download a newer version of the frameworks that has this included.
Modify fwxcfg.h in your project to have the following flags and define/undef the fix for the endpoints you are using:
#define FIX_USB1_EP1
#define FIX_USB1_EP2
#undef FIX_USB1_EP3
#undef FIX_USB1_EP4
#undef FIX_USB1_EP5
#undef FIX_USB1_EP6
#undef FIX_USB1_EP7
3.
4.
#undef FIX_USB2_EP1
#undef FIX_USB2_EP2
#undef FIX_USB2_EP3
#undef FIX_USB2_EP4
#undef FIX_USB2_EP5
#undef FIX_USB2_EP6
#undef FIX_USB2_EP7
Add the new susb1.s to the included assembly source files in the make file.
For example : ASM_SRC := startup.s isrs.s susb1.s
Add usb_init somewhere in the startup code. This will likely be in fwxmain.c as demonstrated below:
void fwx_program_init(void)
{
void usb_init(); /* define the prototype */
usb_init();
5.
■
fwx_init();
/* Initialize everything in the base framework. */
}
Build the project using the modified make file.
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 108 of 112
CY7C67300
12.Code fails to load from EEPROM
■
Problem Definition
If, while the BIOS is loading firmware, the part is reset and at that time the EEPROM is driving the SDA line low, the BIOS will
configure the part for co-processor mode instead of standalone mode.
■
Parameters Affected
Initialization.
■
Trigger Condition(S)
Reset the part while firmware is being loaded from the EEPROM.
■
Scope of Impact
The firmware download process will not finish, leaving the part configured in co-processor mode.
■
Workaround
There is no workaround. Cycle power to the EEPROM to download firmware.
■
Fix Status
No silicon revision planned, use workaround.
13.ISOCH Endpoint Descriptor error
■
Problem Definition
Setting any bit other than 1:0 in the bmAttributes field will cause the ISOCH Endpoint Descriptors to be reported incorrectly.
■
Parameters Affected
Isochronous transfers.
■
Trigger Condition(S)
Setting any bit other than 1:0 in the bmAttributes field.
■
Scope of Impact
If the bmAttributes field in the Endpoint Descriptor is using bits 5...2, the BIOS will not correctly parse the endopoint and set up the
part correctly for ISO transfers.
■
Workaround
There are two methods that can be used.
A. Mask these bits before the BIOS parses the descriptros using the SET_INTERFACE handler. An example of this is given
in the “Using Multiple Interfaces to Implement a USB Isochronous Composite Peripheral with EZ-Host™ and EZ-OTG™.”
B. Replace the BIOS delta config interrupt and modify the USB-parse code to mask off all but the lower two bits of the
bmAttribute. A possilble solution might look like this.
@@test b[r8+bEPAttribute], 0x01 ; check ISO
rz
test b[r8+bEPAttribute], 0x02
rnz
;if we get here, then the lower two bits
;of bEPAttribute = 01 meaning it is ISO or r2,EP_ISO
ret
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 109 of 112
CY7C67300
14.Missing Endpoint Interrupts in USB Peripheral Mode
■
Problem Definition
USB peripheral designs may miss endpoint interrupts when receiving Endpoint 0 (EP0) Control transfer requests mixed with other
endpoint transfer type transactions.
■
Parameters Affected
All USB peripheral mode endpoint communication may potentially be affected.
■
Trigger Condition(S)
An endpoint interrupt may be missed when a non-EP0 transaction completes (with ACK) during an EP0 Control transfer or within
~200 s before or after the EP0 Control transfer. Other processor activity and interrupts may influence the likelihood of this failure
occurring.
■
Scope of Impact
This errata item applies to USB peripheral mode only. All USB peripheral designs that mix Standard, Vendor, or Class EP0 requests
with other transfer types are potential candidates for this issue. If this problem occurs and an endpoint interrupt is missed, the
endpoint will likely not be rearmed and therefore endpoint communication will be halted and the host system may reset the device.
■
Workaround
A. The PC Application and/or driver must be developed to ensure at least ~200 s of idle time is given before and after any
EP0 transfers. The driver must ensure that no other transfer type transactions occur during the EP0 transfer or during this
idle time before and after the EP0 transfer. Therefore, the driver cannot submit asynchronous Control transfers. The driver
must submit Control transfer requests synchronously with other transfer requests. In addition, the driver must be aware
of any interrupt endpoint scheduling (which is under control of the host controller driver) when submitting Control transfers.
This generally means that a vendor-specific driver is required.
B. USB endpoint communication stress testing of any USB peripheral designs that mix EP0 Control transfers with other
transfer types is recommended.
■
Fix Status
No silicon revision planned, use workaround.
Document Number: 38-08015 Rev. *L
Page 110 of 112
CY7C67300
Document History Page
Document Title: CY7C67300 EZ-Host™ Programmable Embedded USB Host and Peripheral Controller with Automotive
AEC Grade Support
Document Number: 38-08015
Revision
ECN
Orig. of
Change
Submission
Date
**
111872
MUL
03/22/02
Description of Change
New Data Sheet
*A
116989
MUL
08/23/02
Preliminary Data Sheet
*B
125262
MUL
04/10/03
Added Memory Map Section and Ordering Information Section
Moved Functional Register Map Tables into Register section
General Clean-up
*C
126210
MUL
05/23/03
Added Interface Description Section and Power Savings and Reset Section
Added Char Data
General Clean-up
*D
127335
KKV
05/29/03
Corrected font to enable correct symbol display
*E
129395
MUL
10/01/03
Final Data Sheet
Changed Memory Map Section and added CLKSEL to Pin Description
Added USB OTG Logo
General Clean-up
*F
443992
VCS
See ECN
Title changed indicating AEC Grade
Added information for AEC qualified including part number
Fixed misc. errors including:
Table 4-1: UART does not have alternate location
Section 4.3.4 had incorrect register address
Table 4-10 had incorrect pin definitions
Section 4.16.2 changed GPIO[31:20] to GPIO[31:30]
Corrected Table 7-6 and 7-14
*G
566465
KKVTMP
See ECN
Added the lead free information on the Ordering Information Section. Implemented the new template with no numbers on the headings.
*H
1063560
ARI
See ECN
Changed Ordering Information table to reflect Automotive Qualification and
to meet the MPN Part Number changes reflected in ECN 884880.
Changed the EZ-Host Pin Diagram figure to reflect the pin changes. Edited.
*I
2514867
PYRS
See ECN
To publish in Web
*J
2544823
BHA/AESA
07/28/08
Updated template. Corrected A18 and A17 pin assignments in Tables 6 and
131.
*K
3302644
NMMA
07/05/11
Added CY4640 Reference Design entry in Ordering Information Table.
Included table of contents.
Added ordering code definitions, acronyms, and units of measure.
Updated package diagram from *C to *E
*L
3997633
PRJI
05/11/2013
Updated Package Diagram:
spec 51-85048 – Changed revision from *E to *G.
Added Appendix: Silicon Errata for the EZ-Host™ Programmable Embedded
USB Host/Peripheral Controller, CY7C67300 Product Family.
Document Number: 38-08015 Rev. *L
Page 111 of 112
CY7C67300
Sales, Solutions, and Legal Information
Worldwide Sales and Design Support
Cypress maintains a worldwide network of offices, solution centers, manufacturer’s representatives, and distributors. To find the office
closest to you, visit us at Cypress Locations.
Products
Automotive
Clocks & Buffers
Interface
Lighting & Power Control
PSoC Solutions
cypress.com/go/automotive
cypress.com/go/clocks
psoc.cypress.com/solutions
cypress.com/go/interface
PSoC 1 | PSoC 3 | PSoC 5
cypress.com/go/powerpsoc
cypress.com/go/plc
Memory
cypress.com/go/memory
Optical & Image Sensing
cypress.com/go/image
PSoC
cypress.com/go/psoc
Touch Sensing
cypress.com/go/touch
USB Controllers
Wireless/RF
cypress.com/go/USB
cypress.com/go/wireless
© Cypress Semiconductor Corporation, 2002-2013. 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.
Any Source Code (software and/or firmware) is owned by Cypress Semiconductor Corporation (Cypress) and is protected by and subject to worldwide patent protection (United States and foreign),
United States copyright laws and international treaty provisions. Cypress hereby grants to licensee a personal, non-exclusive, non-transferable license to copy, use, modify, create derivative works of,
and compile the Cypress Source Code and derivative works for the sole purpose of creating custom software and or firmware in support of licensee product to be used only in conjunction with a Cypress
integrated circuit as specified in the applicable agreement. Any reproduction, modification, translation, compilation, or representation of this Source Code except as specified above is prohibited without
the express written permission of Cypress.
Disclaimer: CYPRESS MAKES NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Cypress reserves the right to make changes without further notice to the materials described herein. Cypress does not
assume any liability arising out of the application or use of any product or circuit described herein. 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’ product in a life-support systems application implies that the manufacturer
assumes all risk of such use and in doing so indemnifies Cypress against all charges.
Use may be limited by and subject to the applicable Cypress software license agreement.
Document Number: 38-08015 Rev. *L
Revised May 11, 2013
All products and company names mentioned in this document may be the trademarks of their respective holders.
Page 112 of 112
Similar pages