28 USB FUNCTION CONTROLLER (USB)
28-54
Seiko Epson Corporation
S1C33L26 TECHNICAL MANUAL
This register can be set up to write the FIFO data of the endpoint through the CPU Interface. When the EPnFIFO-
forCPU register is written after the setup of this register is completed, the FIFO data of the relevant endpoint can be
written. The space capacity of the FIFO can be referred by the EPnWrRemain_H, L register.
This register can set only one bit to 1 at the same time. When 1 is written into multiple bits at the same time, writ-
ing in higher order bit is regarded as valid. When all bits are set to 0, EP0 will be joined.
The writing data from CPU I/F through the endpoint used by USB I/F or DMA I/F is not allowed.
If CPU I/F needs to write to the OUT direction endpoint, use the ForceNAK bit to avoid writing data from USB I/F.
If CPU I/F needs to write to the IN direction endpoint, check the DMA_Running bit of the DMA_Control register
to avoid writing data from DMA I/F at the same time.
This register is valid when EnEPnFIFO_Access.EnEPnFIFO_Wr bit is set.
D[7:4]
Reserved
D3
JoinEPdWr
If this bit is set to 1, the FIFO data of the endpoint EPd can be written into the EPnFIFOforCPU regis-
ter. In addition, reference to the space capacity in the FIFO of the endpoint EPd by the EPnWrRemain_H,
L register is enabled.
D2
JoinEPcWr
If this bit is set to 1, the FIFO data of the endpoint EPc can be written into the EPnFIFOforCPU regis-
ter. In addition, reference to the space capacity in the FIFO of the endpoint EPc by the EPnWrRemain_H,
L register is enabled.
D1
JoinEPbWr
If this bit is set to 1, the FIFO data of the endpoint EPb can be written into the EPnFIFOforCPU regis-
ter. In addition, reference to the space capacity in the FIFO of the endpoint EPb by the EPnWrRemain_H,
L register is enabled.
D0
JoinEPaWr
If this bit is set to 1, the FIFO data of the endpoint EPa can be written into the EPnFIFOforCPU regis-
ter. In addition, reference to the space capacity in the FIFO of the endpoint EPa by the EPnWrRemain_H,
L register is enabled.
EnEPnFIFO_Access (EPn FIFO Access Enable)
Register name Address
Bit
Name
Setting
Init. R/W
Remarks
EnEPnFIFO
_Access
(Enable EPn
FIFO access)
0x300c82
(8 bits)
D7–2 –
–
–
–
0 when being read.
D1
EnEPnFIFO_Wr
1 Enable join EPn FIFO write 0 Do nothing
0
R/W
D0
EnEPnFIFO_Rd
1 Enable join EPn FIFO read 0 Do nothing
0
R/W
This register enables the CPU_JoinRd and CPU_JoinWr registers so that the CPU can access the EPn FIFO.
D[7:2]
Reserved
D1
EnEPnFIFO_Wr
If this bit is set to 1, the CPU_JoinWr register is enabled and the CPU can write data to the EPn FIFO
selected by the CPU_JoinWr register.
D0
EnEPnFIFO_Rd
If this bit is set to 1, the CPU_JoinRd register is enabled and the CPU can read data from the EPn FIFO
selected by the CPU_JoinRd register.
EPnFIFOforCPU (EPn FIFO for CPU)
Register name Address
Bit
Name
Setting
Init. R/W
Remarks
EPnFIFOforCPU
(EPn FIFO for
CPU)
0x300c83
(8 bits)
D7–0 EPnFIFOData[7:0]
Endpoint n FIFO access from CPU
X
R/W
D[7:0]
EPnFIFOData[7:0]
This register is used for accessing the FIFO of the endpoint from the CPU Interface.