doepctl0

         Device Control OUT Endpoint 0 Control Register
      
Module Instance Base Address Register Address
i_usbotg_0_devgrp 0xFFB00800 0xFFB00B00
i_usbotg_1_devgrp 0xFFB40800 0xFFB40B00

Offset: 0x300

Access: RW

Important: The value of a reserved bit must be maintained in software. When you modify registers containing reserved bit fields, you must use a read-modify-write operation to preserve state and prevent indeterminate system behavior.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

epena

RW 0x0

epdis

RO 0x0

Reserved

snak

WO 0x0

cnak

WO 0x0

Reserved

stall

RW 0x0

snp

RW 0x0

eptype

RO 0x0

naksts

RO 0x0

Reserved

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

usbactep

RO 0x1

Reserved

mps

RO 0x0

doepctl0 Fields

Bit Name Description Access Reset
31 epena
Endpoint Enable (EPEna)
 When Scatter/Gather DMA mode is enabled, For OUT
endpoints this bit indicates that the descriptor structure and
data buffer to receive data is setup.
 When Scatter/Gather DMA mode is disabled(such as For
buffer-pointer based DMA mode)this bit indicates that the
application has allocated the memory to start receiving data
from the USB.
The core clears this bit before setting any of the following
interrupts on this endpoint:
 SETUP Phase Done
 Endpoint Disabled
 Transfer Completed
Note: In DMA mode, this bit must be Set For the core to transfer
SETUP data packets into memory.
Value Description
0x0 INACTIVE
0x1 ACTIVE
RW 0x0
30 epdis
Endpoint Disable (EPDis)
The application cannot disable control OUT endpoint 0.
Value Description
0x0 INACTIVE
RO 0x0
27 snak
Set NAK (SNAK)
A write to this bit sets the NAK bit For the endpoint.
Using this bit, the application can control the transmission of
NAK handshakes on an endpoint. The core can also Set bit on a
Transfer Completed interrupt, or after a SETUP is received on
the endpoint.
Value Description
0x0 NOSET
0x1 SET
WO 0x0
26 cnak
Clear NAK (CNAK)
A write to this bit clears the NAK bit For the endpoint.
Value Description
0x0 NOCLEAR
0x1 CLEAR
WO 0x0
21 stall
STALL Handshake (Stall)
The application can only Set this bit, and the core clears it, when
a SETUP token is received For this endpoint. If a NAK bit or
Global OUT NAK is Set along with this bit, the STALL bit takes
priority. Irrespective of this bit's setting, the core always
responds to SETUP data packets with an ACK handshake.
Value Description
0x0 INACTIVE
0x1 ACTIVE
RW 0x0
20 snp
Snoop Mode (Snp)
This bit configures the endpoint to Snoop mode. In Snoop mode,
the core does not check the correctness of OUT packets before
transferring them to application memory.
Value Description
0x0 DISABLED
0x1 ENABLED
RW 0x0
19:18 eptype
Endpoint Type (EPType)
Hardcoded to 2'b00 For control.
Value Description
0x0 ACTIVE
RO 0x0
17 naksts
NAK Status (NAKSts)
Indicates the following:
 1'b0: The core is transmitting non-NAK handshakes based
on the FIFO status.
 1'b1: The core is transmitting NAK handshakes on this
endpoint.
When either the application or the core sets this bit, the core
stops receiving data, even If there is space in the RxFIFO to
accommodate the incoming packet. Irrespective of this bit's
setting, the core always responds to SETUP data packets with
an ACK handshake.
Value Description
0x0 INACTIVE
0x1 ACTIVE
RO 0x0
15 usbactep
USB Active Endpoint (USBActEP)
This bit is always Set to 1, indicating that a control endpoint 0 is
always active in all configurations and interfaces.
Value Description
0x1 ACTIVE
RO 0x1
1:0 mps
Maximum Packet Size (MPS)
The maximum packet size For control OUT endpoint 0 is the
same as what is programmed in control IN Endpoint 0.
 2'b00: 64 bytes
 2'b01: 32 bytes
 2'b10: 16 bytes
 2'b11: 8 bytes
Value Description
0x0 BYTE64
0x1 BYTE32
0x2 BYTE16
0x3 BYTE8
RO 0x0