28 USB FUNCTION CONTROLLER (USB)
S1C33L26 TECHNICAL MANUAL
Seiko Epson Corporation
28-23
48 MHz clock
SNOOZE
5 clocks
5 clocks
5.4.1 Snooze Sequence
Figure 28.
Snooze mode should be set or canceled by the following procedure:
Setting snooze mode
(1) Write 0x96 to the MISC_PROTECT register to disable write protection for the Misc registers.
(2) Set USBSNZ in the MISC_USB register to 1 to enable the snooze control.
(3) Write a value other than 0x96 to the MISC_PROTECT register to enable write protection for the Misc reg-
isters.
(4) Write 0x96 to the CMU_PROTECT register to disable write protection for the CMU registers.
(5) Set USBCLK_EN in the CMU_CLKCTL register to 0 to stop supplying the USB clock.
(6) Write a value other than 0x96 to the CMU_PROTECT register to enable write protection for the CMU reg-
isters.
Canceling snooze mode
(1) Write 0x96 to the CMU_PROTECT register to disable write protection for the CMU registers.
(2) Set USBCLK_EN in the CMU_CLKCTL register to 1 to start supplying the USB clock.
(3) Write a value other than 0x96 to the CMU_PROTECT register to enable write protection for the CMU reg-
isters.
(4) Write 0x96 to the MISC_PROTECT register to disable write protection for the Misc registers.
(5) Set USBSNZ in the MISC_USB register to disable the snooze control.
(6) Write a value other than 0x96 to the MISC_PROTECT register to enable write protection for the Misc reg-
isters.
Registers
28.6
List of Registers
28.6.1
•
Italic & bold
represents readable/writable registers in SNOOZE/SLEEP mode.
Address
Register name
R/W
Init
D7
D6
D5
D4
D3
D2
D1
D0
0x300c00 MainIntStat
R/(W) 0x00
SIE_IntStat
EPrIntStat
DMA_IntStat
FIFO_IntStat
–
–
EP0IntStat
RcvEP0SETUP
0x300c01 SIE_IntStat
R/(W) 0x00
VBUS_Changed
NonJ
DetectReset
DetectSuspend
RcvSOF
DetectJ
–
SetAddressCmp
0x300c02 EPrIntStat
R
0x00
–
–
–
–
EPdIntStat
EPcIntStat
EPbIntStat
EPaIntStat
0x300c03 DMA_IntStat
R/(W) 0x00
–
–
–
–
–
–
DMA_CountUp
DMA_Cmp
0x300c04 FIFO_IntStat
R/(W) 0x00
DescriptorCmp
–
–
–
–
–
FIFO_IN_Cmp
FIFO_OUT_Cmp
0x300c05
0x300c06
0x300c07 EP0IntStat
R/(W) 0x00
–
–
IN_TranACK
OUT_TranACK
IN_TranNAK
OUT_TranNAK
IN_TranErr
OUT_TranErr
0x300c08 EPaIntStat
R/(W) 0x00
–
OUT_ShortACK
IN_TranACK
OUT_TranACK
IN_TranNAK
OUT_TranNAK
IN_TranErr
OUT_TranErr
0x300c09 EPbIntStat
R/(W) 0x00
–
OUT_ShortACK
IN_TranACK
OUT_TranACK
IN_TranNAK
OUT_TranNAK
IN_TranErr
OUT_TranErr
0x300c0a EPcIntStat
R/(W) 0x00
–
OUT_ShortACK
IN_TranACK
OUT_TranACK
IN_TranNAK
OUT_TranNAK
IN_TranErr
OUT_TranErr
0x300c0b EPdIntStat
R/(W) 0x00
–
OUT_ShortACK
IN_TranACK
OUT_TranACK
IN_TranNAK
OUT_TranNAK
IN_TranErr
OUT_TranErr
0x300c0c
0x300c0d
0x300c0e
0x300c0f