28 USB FUNCTION CONTROLLER (USB)
28-2
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
CPU Interface Controller
This controller controls timings of the CPU interface and enables register access.
Test MUX
Switches the operational mode (test mode) using the Input signal.
Pins for the USB Interface
28.2
Table 28.2.1 list the pins used for the USB interface.
2.1 USB Interface Pins
Table 28.
Pin name
I/O
Qty
Function
USBDP
I/O
1
USB D+ pin
USBDM
I/O
1
USB D- pin
USBVBUS
I
1
USB VBUS pin (Allows input of 5 V.)
USB Operating Clocks
28.3
The USB function controller operates with USBCLK supplied from the CMU.
USBREGCLK is also used for accessing the USB control registers.
By default, these two clocks are not supplied to the USB function controller. Therefore the clock supply must be
enabled before running the USB function controller. For more information on clock control, see the “Clock Man-
agement Unit (CMU)” chapter.
Settings in Other Modules
28.4
Before using the USB function controller, the following modules/register must be programmed.
Clock management unit (CMU): • Control the clock supply to the USB function controller.
Misc register (MISC):
• Set the number of wait cycles to be inserted when the USB control register is
accessed.
• Enable or disable the snooze control by the USB function controller.
• Enable or disable the USB interrupts.
Interrupt controller (ITC):
• Set the USB interrupt level.
DMA controller (DMAC):
• Program the control table for the DMAC channel to be triggered from the USB
function controller.
For more information, see the respective chapters.
Note: The DMA transfer address for the USB function controller must be located in Area 6 (0x300d00
to 0x300dff, 256 bytes). Make sure that the transfer address does not exceed the address range
from 0x300d00 to 0x300dff by the address increment operation during DMA transfer.
Functional Description
28.5
This section describes the functionality of the USB function controller.
In the subsequent sections, the register names follow the notational convention below:
* When a register for one address is referred to:
Register name + register.
Example: “MainInt register”
* When a discrete bit is referred to:
Register name. bit name + bit, or bit name + bit.
Example: “MainIntStat.RcvEP0SETUP bit”, or “ForceNAK bit of the EP0ControlOUT register”