USBHS — Universal Serial Bus High Speed

The USBHS (USB high speed) peripheral is a USB 2.0 device that supports USB 2.0 and is backward compatible with the USB 1.1 Specification.

The following are main features of USBHS:

USB pins

The USBHS peripheral features a number of dedicated pins which can be grouped into two categories: signal and power.

Signal pins connect to the USB device and consist of the D+ and D- pins. These are dedicated pins and not available as standard GPIO pins. The data line does not need serial resistors. TXRTUNE connects to a tuning resistor on the PCB. The USBHS does not have an ID pin. The USBHS peripheral is implemented according to the USB Specification v2.0, 5V Short Circuit Withstand ECN Requirement Change, meaning these pins are not 5 V tolerant.

See Reference circuitry for the reference circuit diagram.

The signal pins are operational when the following are true:
  • The device is powered
  • VBUS is in the valid voltage range
  • USBHS is enabled by the software driver
Note: The D+ and D- pins are impedance controlled signals and must be routed on the PCB according to the USB standard. See the development kit user guide for a routing example.

TXRTUNE resistor

An external resistor with 200 Ω resistance and 1% tolerance must be connected from the TXRTUNE pin to the VSS pin to calibrate a 45 Ω source impedance for the D+ and D- pins. Using a constant current output from the TXRTUNE pin and measuring the voltage over the external resistor, the nominal voltage over the resistor will be 400 mV.

VBUS detection

The VBUS pin has a voltage detector for both rising and falling voltage. This means it will detect the USB cable being connected and disconnected. The voltage detector generates events that are picked up by the USBHS software driver, which can be used as wakeup-sources for the device.

For pin assignments, see Pin assignments.

Interrupt sharing

USBHS and USBHSCORE share the same interrupt, and interrupts are generated through USBHS.

The interrupts are enabled and disabled using the mechanisms available in USBHSCORE, using registers such as USBHSCORE.GINTSTS and USBHSCORE.GINTMSK.

USBHS not in use

If USBHS is not used in an application, the following applies.

All USBHS pins can be left floating (not connected). See USB pins for the list of USBHS pins.

Do not enable USBHS or the USB regulator.

Registers

Instances

InstanceDomainBase addressTrustZoneSplit accessDescription
MapAttDMA

USBHS : S
USBHS : NS

GLOBAL

0x5005A000
0x4005A000

USSSANo

USBHS

Configuration

InstanceDomainConfiguration

USBHS : S
USBHS : NS

GLOBAL

Has Start of Frame (SOF) event.

RTUNE method for calibrating DP and DM 45Ohm source impedance without external TXRTUNE resistor available.

Includes STATUS register

Register overview

RegisterOffsetTZDescription
TASKS_START0x000

Start the USB peripheral.

TASKS_STOP0x004

Stop the USB peripheral

PUBLISH_SOF0x180

Publish configuration for SOF event.

ENABLE0x400

Enable USB peripheral.

STATUS0x408

This register contains status bits for the USBHS

PHY.CONFIG0x440

USB PHY parameter overrides

PHY.CLOCK0x444

USB PHY clock configurations

PHY.BATTCHRG0x448

Battery Charging Configuration

PHY.BATTCHRGSTATUS0x44C

Battery charger input signals

PHY.INPUTOVERRIDE0x458

Enables overriding of individual signals to the PHY, the override values are set in PHY.OVERRIDEVALUES

PHY.OVERRIDEVALUES0x45C

Values that are used to override the input signals to the PHY.

PHY.RTUNE0x464

The RTUNE mode is an alternative method for calibrating the DP and DM 45-Ohm source impedance.

TASKS_START

Address offset: 0x000

Start the USB peripheral.

To start USB peripheral, it needs to be enabled using the ENABLE register first.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_START

Start the USB peripheral.

To start USB peripheral, it needs to be enabled using the ENABLE register first.

Trigger

1

Trigger task

TASKS_STOP

Address offset: 0x004

Stop the USB peripheral

This bit can be cleared to disable the clock to the USB core. By default the clock is enabled when ENABLE.CORE is set. To enable the clock again run the START task.

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

W

TASKS_STOP

Stop the USB peripheral

This bit can be cleared to disable the clock to the USB core. By default the clock is enabled when ENABLE.CORE is set. To enable the clock again run the START task.

Trigger

1

Trigger task

PUBLISH_SOF

Address offset: 0x180

Publish configuration for SOF event.

In Host mode, this event triggers every time a Start Of Frame (SOF) is generated in the USB controller. In Device mode, this signal triggers every time a SOF token is received from the USB host or when a SOF token is missed at the start of frame.

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHIDX

[0..255]

DPPI channel to publish to

B

RW

EN

Enable publishing of SOF event

Disabled

0

Disable publishing

Enabled

1

Enable publishing

ENABLE

Address offset: 0x400

Enable USB peripheral.

To enable USB peripheral, both USB Controller and USB PHY need to be enabled

Bit number313029282726252423222120191817161514131211109876543210
IDBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CORE

Enable USB Controller

Disabled

0

USB Controller disabled.

Enabled

1

USB Controller enabled.

B

RW

PHY

Enable USB PHY

Disabled

0

USB PHY disabled.

Enabled

1

USB PHY enabled.

STATUS

Address offset: 0x408

This register contains status bits for the USBHS

Bit number313029282726252423222120191817161514131211109876543210
IDA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

CORE

Indicates wether the USBHS core is ready after a START task

NotReady

0

The USBHS core is not ready, and register access to the USBHSCORE registers is not possible. Access to USBHSCORE.PCGCCTL is possible even when NotReady.

Ready

1

The USBHS core is ready, and register access to the USBHS.CORE registers is possible

PHY.CONFIG

Address offset: 0x440

USB PHY parameter overrides

Bit number313029282726252423222120191817161514131211109876543210
IDLKKJJIIHHHHGGGGFFEEDDDCCCBBBBAA
Reset 0x5533D6F001010101001100111101011011110000
IDR/WFieldValue IDValueDescription
A

RW

PLLITUNE

[0x0..0x3]

PLL Integral Path Tune

B

RW

PLLPTUNE

[0x0..0xf]

PLL Proportional Path Tune

C

RW

COMPDISTUNE0

[0x0..0x7]

Disconnect Threshold Adjustment

D

RW

SQRXTUNE0

[0x0..0x3]

Squelch Threshold Adjustment

E

RW

VDATREFTUNE0

[0x0..0x3]

Data Detect Voltage Adjustment

F

RW

TXHSXVTUNE0

[0x0..0x2]

Transmitter High-Speed Crossover Adjustment

G

RW

TXFSLSTUNE0

[0x0..0x7]

FS/LS Source Impedance Adjustment

H

RW

TXVREFTUNE0

[0x0..0x7]

HS DC Voltage Level Adjustment

I

RW

TXRISETUNE0

[0x0..0x2]

HS Transmitter Rise/Fall Time Adjustment

J

RW

TXRESTUNE0

[0x0..0x2]

USB Source Impedance Adjustment

K

RW

TXPREEMPAMPTUNE0

[0x0..0x2]

HS Transmitter Pre-Emphasis Current Control

L

RW

TXPREEMPPULSETUNE0

[0x0..0x1]

HS Transmitter Pre-Emphasis Duration Control

PHY.CLOCK

Address offset: 0x444

USB PHY clock configurations

Bit number313029282726252423222120191817161514131211109876543210
IDCBAAA
Reset 0x0000001A00000000000000000000000000011010
IDR/WFieldValue IDValueDescription
A

RW

FSEL

Select reference clock frequency

Clock19200KHz

0

Reference clock is 19.2MHz.

The PLLBTUNE must be set to 1.

Clock20000KHz

1

Reference clock is 20MHz.

The PLLBTUNE must be set to 1.

Clock24000KHz

2

Reference clock is 24MHz.

The PLLBTUNE must be set to 1.

Clock50000KHz

7

Reference clock is 50MHz.

The PLLBTUNE must be set to 0.

B

RW

PLLBTUNE

PLL bandwidth adjustment

Disabled

0

PLL bandwidth adjustment disabled.

Enabled

1

PLL bandwidth adjustment enabled.

C

RW

COMMONONN

Common block power down control

POWERED

0

The REFCLOCK_LOGIC,bias and PLL blocks are powered in sleep or suspend mode.

SUSPEND

1

The REFCLOCK_LOGIC, bias and PLL blocks are powered down in suspend mode and bias and PLL blocks are powered down in sleep mode.

PHY.BATTCHRG

Address offset: 0x448

Battery Charging Configuration

Bit number313029282726252423222120191817161514131211109876543210
IDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CHRGSEL0

Battery charging source select

SourceDP0SinkDM0

0

Data source voltage (VDAT_SRC) is sourced onto DP0 and sunk from DM0

SourceDM0SinkDP0

1

Data source voltage (VDAT_SRC) is sourced onto DM0 and sunk from DP0

B

RW

VDATENB0

Attach/Connect Detection Enable

Disabled

0

Data detect voltage (CHG_DET) is disabled

Enabled

1

Data detect voltage (CHG_DET) is enabled

C

RW

VDATSRCENB0

Battery Charging Source Select

Disabled

0

Data source voltage (VDAT_SRC) is disabled

Enabled

1

Data source voltage (VDAT_SRC) is enabled

PHY.BATTCHRGSTATUS

Address offset: 0x44C

Battery charger input signals

Bit number313029282726252423222120191817161514131211109876543210
IDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

CHGDET

B

R

FSVPLUS

C

R

FSVMINUS

PHY.INPUTOVERRIDE

Address offset: 0x458

Enables overriding of individual signals to the PHY, the override values are set in PHY.OVERRIDEVALUES

The override values are set in the OVERRIDEVALUES register. When INPUTOVERRIDE is enabled for a signal the input signals to the PHY is driven by the OVERRIDEVALUES register, when INPUTOVERRIDE is disabled the input signals to the PHY is driven by the USB controller for normal operation.

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBBAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

OPMODE0

Disabled

0

Overrides are disabled

Enabled

3

Overrides are enabled

B

RW

XCVRSEL0

Disabled

0

Overrides are disabled

Enabled

3

Overrides are enabled

C

RW

DPPULLDOWN

D

RW

DMPULLDOWN

E

RW

SUSPENDM0

F

RW

VBUSVALID

G

RW

ID

Overrides OTG ID pin signal

PHY.OVERRIDEVALUES

Address offset: 0x45C

Values that are used to override the input signals to the PHY.

These values defines the values of the input signals to the PHY when the INPUTOVERRIDE is enabled.

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBBAA
Reset 0x0200000000000010000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

OPMODE0

B

RW

XCVRSEL0

C

RW

DPPULLDOWN

This field controls the pull-down resistor on D+

Enable

1

The pull-down resistor on D+ is enabled

Disable

0

The pull-down resistor on D+ is disabled

D

RW

DMPULLDOWN

This field controls the pull-down resistor on D-

Enable

1

The pull-down resistor on D- is enabled

Disable

0

The pull-down resistor on D- is disabled

E

RW

SUSPENDM0

F

RW

VBUSVALID

Signals to the PHY that VBUS is valid, and enables the pull-up resistor on D+

This field is not functional in Host mode.

Valid

1

VBUS is valid, and the pull-up resistor on D+ is enabled

NotValid

0

VBUS is not valid, and the pull-up resistor on D+ is disabled.

G

RW

ID

Overrides OTG ID pin signal

Device

1

Role is Device

Host

0

Role is Host.

PHY.RTUNE

Address offset: 0x464

The RTUNE mode is an alternative method for calibrating the DP and DM 45-Ohm source impedance.

When this method is used, the USBHS REXT resistor does not need to be connected and can be left floating. This RTUNE mode is selected by setting RTUNESEL to 0, and the tune calibration value is set by the RCALCODE input bus.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBA
Reset 0x0000000F00000000000000000000000000001111
IDR/WFieldValue IDValueDescription
A

RW

RTUNESEL

This signal selects the tuning method for the high-speed DP and DM source impedance of the USBHS.

TXRTUNE

1

The TXRTUNE pin, external resistor REXT, and resulting internal digital calibration code are used for tuning the high-speed source impedance.

RTUNE

0

The RCALCODE value is used for tuning the high-speed source impedance.

B

RW

RCALCODE

This signal is used to tune the internal 200 ohm resistor or the USBHS DP and DM high-speed source impedance.

All values from 4'b1111 to 4'b0000 are valid. A value of 4'b1111 provides the lowest impedance on DP/DM, and a value of 4'b0000 provides the highest impedance on DP/DM

Registers

Instances

InstanceDomainBase addressTrustZoneSplit accessDescription
MapAttDMA

USBHSCORE : S
USBHSCORE : NS

GLOBAL

0x50020000
0x40020000

USSSANo

USBHSCORE

Register overview

RegisterOffsetTZDescription
GOTGCTL0x000

Control and Status Register

GOTGINT0x004

Interrupt Register

GAHBCFG0x008

AHB Configuration Register

GUSBCFG0x00C

USB Configuration Register

GRSTCTL0x010

Reset Register

GINTSTS0x014

Interrupt STATUS Register

GINTMSK0x018

Interrupt Mask Register

GRXSTSR0x01C

Receive Status Debug Read Register

GRXSTSP0x020

Receive Status Read/Pop Register

GRXFSIZ0x024

Receive FIFO Size Register

GNPTXFSIZ0x028

Non-periodic Transmit FIFO Size Register

GNPTXSTS0x02C

Non-periodic Transmit FIFO/Queue Status Register

GGPIO0x038

General Purpose Input/Output Register

GUID0x03C

User ID Register

GSNPSID0x040

Synopsys ID Register

GHWCFG10x044

User Hardware Configuration 1 Register

GHWCFG20x048

User Hardware Configuration 2 Register

GHWCFG30x04C

User Hardware Configuration 3 Register

GHWCFG40x050

User Hardware Configuration 4 Register

GLPMCFG0x054

LPM Config Register

GPWRDN0x058

Global Power Down Register

GDFIFOCFG0x05C

Global DFIFO Configuration Register

GINTMSK20x068

Interrupt Mask Register 2

GINTSTS20x06C

Interrupt Register 2

HPTXFSIZ0x100

Host Periodic Transmit FIFO Size Register

DIEPTXF[n]0x104

Device IN Endpoint Transmit FIFO 1 Size Register

HCFG0x400

Host Configuration Register

HFIR0x404

Host Frame Interval Register

HFNUM0x408

Host Frame Number/Frame Time Remaining Register

HPTXSTS0x410

Host Periodic Transmit FIFO/Queue Status Register

HAINT0x414

Host All Channels Interrupt Register

HAINTMSK0x418

Host All Channels Interrupt Mask Register

HPRT0x440

Host Port Control and Status Register

HC[n].CHAR0x500

Host Channel Characteristics Register 0

HC[n].SPLT0x504

Host Channel Split Control Register 0

HC[n].INT0x508

Host Channel Interrupt Register 0

HC[n].INTMSK0x50C

Host Channel Interrupt Mask Register 0

HC[n].TSIZ0x510

Host Channel Transfer Size Register 0

HC[n].DMA0x514

Host Channel DMA Address Register 0

DCFG0x800

Device Configuration Register

DCTL0x804

Device Control Register

DSTS0x808

Device Status Register

DIEPMSK0x810

Device IN Endpoint Common Interrupt Mask Register

DOEPMSK0x814

Device OUT Endpoint Common Interrupt Mask Register

DAINT0x818

Device All Endpoints Interrupt Register

DAINTMSK0x81C

Device All Endpoints Interrupt Mask Register

DVBUSDIS0x828

Device VBUS Discharge Time Register

DVBUSPULSE0x82C

Device VBUS Pulsing Time Register

DTHRCTL0x830

Device Threshold Control Register

DIEPEMPMSK0x834

Device IN Endpoint FIFO Empty Interrupt Mask Register

DIEPCTL00x900

Device Control IN Endpoint 0 Control Register

DIEPINT00x908

Device IN Endpoint 0 Interrupt Register

DIEPTSIZ00x910

Device IN Endpoint 0 Transfer Size Register

DIEPDMA00x914

Device IN Endpoint 0 DMA Address Register

DTXFSTS00x918

Device IN Endpoint Transmit FIFO Status Register 0

DIEPCTL10x920

Device Control IN Endpoint Control Register 1

DIEPINT10x928

Device IN Endpoint Interrupt Register 1

DIEPTSIZ10x930

Device IN Endpoint Transfer Size Register 1

DIEPDMA10x934

Device IN Endpoint DMA Address Register 1

DTXFSTS10x938

Device IN Endpoint Transmit FIFO Status Register 1

DIEPCTL20x940

Device Control IN Endpoint Control Register 2

DIEPINT20x948

Device IN Endpoint Interrupt Register 2

DIEPTSIZ20x950

Device IN Endpoint Transfer Size Register 2

DIEPDMA20x954

Device IN Endpoint DMA Address Register 2

DTXFSTS20x958

Device IN Endpoint Transmit FIFO Status Register 2

DIEPCTL30x960

Device Control IN Endpoint Control Register 3

DIEPINT30x968

Device IN Endpoint Interrupt Register 3

DIEPTSIZ30x970

Device IN Endpoint Transfer Size Register 3

DIEPDMA30x974

Device IN Endpoint DMA Address Register 3

DTXFSTS30x978

Device IN Endpoint Transmit FIFO Status Register 3

DIEPCTL40x980

Device Control IN Endpoint Control Register 4

DIEPINT40x988

Device IN Endpoint Interrupt Register 4

DIEPTSIZ40x990

Device IN Endpoint Transfer Size Register 4

DIEPDMA40x994

Device IN Endpoint DMA Address Register 4

DTXFSTS40x998

Device IN Endpoint Transmit FIFO Status Register 4

DIEPCTL50x9A0

Device Control IN Endpoint Control Register 5

DIEPINT50x9A8

Device IN Endpoint Interrupt Register 5

DIEPTSIZ50x9B0

Device IN Endpoint Transfer Size Register 5

DIEPDMA50x9B4

Device IN Endpoint DMA Address Register 5

DTXFSTS50x9B8

Device IN Endpoint Transmit FIFO Status Register 5

DIEPCTL60x9C0

Device Control IN Endpoint Control Register 6

DIEPINT60x9C8

Device IN Endpoint Interrupt Register 6

DIEPTSIZ60x9D0

Device IN Endpoint Transfer Size Register 6

DIEPDMA60x9D4

Device IN Endpoint DMA Address Register 6

DTXFSTS60x9D8

Device IN Endpoint Transmit FIFO Status Register 6

DIEPCTL70x9E0

Device Control IN Endpoint Control Register 7

DIEPINT70x9E8

Device IN Endpoint Interrupt Register 7

DIEPTSIZ70x9F0

Device IN Endpoint Transfer Size Register 7

DIEPDMA70x9F4

Device IN Endpoint DMA Address Register 7

DTXFSTS70x9F8

Device IN Endpoint Transmit FIFO Status Register 7

DIEPCTL80xA00

Device Control IN Endpoint Control Register 8

DIEPINT80xA08

Device IN Endpoint Interrupt Register 8

DIEPTSIZ80xA10

Device IN Endpoint Transfer Size Register 8

DIEPDMA80xA14

Device IN Endpoint DMA Address Register 8

DTXFSTS80xA18

Device IN Endpoint Transmit FIFO Status Register 8

DIEPCTL90xA20

Device Control IN Endpoint Control Register 9

DIEPINT90xA28

Device IN Endpoint Interrupt Register 9

DIEPTSIZ90xA30

Device IN Endpoint Transfer Size Register 9

DIEPDMA90xA34

Device IN Endpoint DMA Address Register 9

DTXFSTS90xA38

Device IN Endpoint Transmit FIFO Status Register 9

DIEPCTL100xA40

Device Control IN Endpoint Control Register 10

DIEPINT100xA48

Device IN Endpoint Interrupt Register 10

DIEPTSIZ100xA50

Device IN Endpoint Transfer Size Register 10

DIEPDMA100xA54

Device IN Endpoint DMA Address Register 10

DTXFSTS100xA58

Device IN Endpoint Transmit FIFO Status Register 10

DIEPCTL110xA60

Device Control IN Endpoint Control Register 11

DIEPINT110xA68

Device IN Endpoint Interrupt Register 11

DIEPTSIZ110xA70

Device IN Endpoint Transfer Size Register 11

DIEPDMA110xA74

Device IN Endpoint DMA Address Register 11

DTXFSTS110xA78

Device IN Endpoint Transmit FIFO Status Register 11

DIEPCTL120xA80

Device Control IN Endpoint Control Register 12

DIEPINT120xA88

Device IN Endpoint Interrupt Register 12

DIEPTSIZ120xA90

Device IN Endpoint Transfer Size Register 12

DIEPDMA120xA94

Device IN Endpoint DMA Address Register 12

DTXFSTS120xA98

Device IN Endpoint Transmit FIFO Status Register 12

DIEPCTL130xAA0

Device Control IN Endpoint Control Register 13

DIEPINT130xAA8

Device IN Endpoint Interrupt Register 13

DIEPTSIZ130xAB0

Device IN Endpoint Transfer Size Register 13

DIEPDMA130xAB4

Device IN Endpoint DMA Address Register 13

DTXFSTS130xAB8

Device IN Endpoint Transmit FIFO Status Register 13

DIEPCTL140xAC0

Device Control IN Endpoint Control Register 14

DIEPINT140xAC8

Device IN Endpoint Interrupt Register 14

DIEPTSIZ140xAD0

Device IN Endpoint Transfer Size Register 14

DIEPDMA140xAD4

Device IN Endpoint DMA Address Register 14

DTXFSTS140xAD8

Device IN Endpoint Transmit FIFO Status Register 14

DIEPCTL150xAE0

Device Control IN Endpoint Control Register 15

DIEPINT150xAE8

Device IN Endpoint Interrupt Register 15

DIEPTSIZ150xAF0

Device IN Endpoint Transfer Size Register 15

DIEPDMA150xAF4

Device IN Endpoint DMA Address Register 15

DTXFSTS150xAF8

Device IN Endpoint Transmit FIFO Status Register 15

DOEPCTL00xB00

Device Control OUT Endpoint 0 Control Register

DOEPINT00xB08

Device OUT Endpoint 0 Interrupt Register

DOEPTSIZ00xB10

Device OUT Endpoint 0 Transfer Size Register

DOEPDMA00xB14

Device OUT Endpoint 0 DMA Address Register

DOEPCTL10xB20

Device Control OUT Endpoint Control Register 1

DOEPINT10xB28

Device OUT Endpoint Interrupt Register 1

DOEPTSIZ10xB30

Device OUT Endpoint Transfer Size Register 1

DOEPDMA10xB34

Device OUT Endpoint DMA Address Register 1

DOEPCTL20xB40

Device Control OUT Endpoint Control Register 2

DOEPINT20xB48

Device OUT Endpoint Interrupt Register 2

DOEPTSIZ20xB50

Device OUT Endpoint Transfer Size Register 2

DOEPDMA20xB54

Device OUT Endpoint DMA Address Register 2

DOEPCTL30xB60

Device Control OUT Endpoint Control Register 3

DOEPINT30xB68

Device OUT Endpoint Interrupt Register 3

DOEPTSIZ30xB70

Device OUT Endpoint Transfer Size Register 3

DOEPDMA30xB74

Device OUT Endpoint DMA Address Register 3

DOEPCTL40xB80

Device Control OUT Endpoint Control Register 4

DOEPINT40xB88

Device OUT Endpoint Interrupt Register 4

DOEPTSIZ40xB90

Device OUT Endpoint Transfer Size Register 4

DOEPDMA40xB94

Device OUT Endpoint DMA Address Register 4

DOEPCTL50xBA0

Device Control OUT Endpoint Control Register 5

DOEPINT50xBA8

Device OUT Endpoint Interrupt Register 5

DOEPTSIZ50xBB0

Device OUT Endpoint Transfer Size Register 5

DOEPDMA50xBB4

Device OUT Endpoint DMA Address Register 5

DOEPCTL60xBC0

Device Control OUT Endpoint Control Register 6

DOEPINT60xBC8

Device OUT Endpoint Interrupt Register 6

DOEPTSIZ60xBD0

Device OUT Endpoint Transfer Size Register 6

DOEPDMA60xBD4

Device OUT Endpoint DMA Address Register 6

DOEPCTL70xBE0

Device Control OUT Endpoint Control Register 7

DOEPINT70xBE8

Device OUT Endpoint Interrupt Register 7

DOEPTSIZ70xBF0

Device OUT Endpoint Transfer Size Register 7

DOEPDMA70xBF4

Device OUT Endpoint DMA Address Register 7

DOEPCTL80xC00

Device Control OUT Endpoint Control Register 8

DOEPINT80xC08

Device OUT Endpoint Interrupt Register 8

DOEPTSIZ80xC10

Device OUT Endpoint Transfer Size Register 8

DOEPDMA80xC14

Device OUT Endpoint DMA Address Register 8

DOEPCTL90xC20

Device Control OUT Endpoint Control Register 9

DOEPINT90xC28

Device OUT Endpoint Interrupt Register 9

DOEPTSIZ90xC30

Device OUT Endpoint Transfer Size Register 9

DOEPDMA90xC34

Device OUT Endpoint DMA Address Register 9

DOEPCTL100xC40

Device Control OUT Endpoint Control Register 10

DOEPINT100xC48

Device OUT Endpoint Interrupt Register 10

DOEPTSIZ100xC50

Device OUT Endpoint Transfer Size Register 10

DOEPDMA100xC54

Device OUT Endpoint DMA Address Register 10

DOEPCTL110xC60

Device Control OUT Endpoint Control Register 11

DOEPINT110xC68

Device OUT Endpoint Interrupt Register 11

DOEPTSIZ110xC70

Device OUT Endpoint Transfer Size Register 11

DOEPDMA110xC74

Device OUT Endpoint DMA Address Register 11

DOEPCTL120xC80

Device Control OUT Endpoint Control Register 12

DOEPINT120xC88

Device OUT Endpoint Interrupt Register 12

DOEPTSIZ120xC90

Device OUT Endpoint Transfer Size Register 12

DOEPDMA120xC94

Device OUT Endpoint DMA Address Register 12

DOEPCTL130xCA0

Device Control OUT Endpoint Control Register 13

DOEPINT130xCA8

Device OUT Endpoint Interrupt Register 13

DOEPTSIZ130xCB0

Device OUT Endpoint Transfer Size Register 13

DOEPDMA130xCB4

Device OUT Endpoint DMA Address Register 13

DOEPCTL140xCC0

Device Control OUT Endpoint Control Register 14

DOEPINT140xCC8

Device OUT Endpoint Interrupt Register 14

DOEPTSIZ140xCD0

Device OUT Endpoint Transfer Size Register 14

DOEPDMA140xCD4

Device OUT Endpoint DMA Address Register 14

DOEPCTL150xCE0

Device Control OUT Endpoint Control Register 15

DOEPINT150xCE8

Device OUT Endpoint Interrupt Register 15

DOEPTSIZ150xCF0

Device OUT Endpoint Transfer Size Register 15

DOEPDMA150xCF4

Device OUT Endpoint DMA Address Register 15

PCGCCTL0xE00

Power and Clock Gating Control Register

GSTARFXDIS0xF00

Global STAR Fix Disable Register

DWCOTGDFIFO[n].DATA[o]0x1000

Data FIFO Access Register Map 0

DWCOTGDFIFODIRECTACCESS.DATA[n]0x11000

Data FIFO Direct Access Register Map

GOTGCTL

Address offset: 0x000

Control and Status Register

The OTG Control and Status register controls the behavior and reflects the status of the OTG function of the controller.

Bit number313029282726252423222120191817161514131211109876543210
IDPONNNNNMLKJIHGFEDCBA
Reset 0x000D000000000000000011010000000000000000
IDR/WFieldValue IDValueDescription
A

RW

VBVALIDOVEN

Mode: Host only. VBUS Valid Override Enable (VbvalidOvEn)

This bit is used to enable/disable the software to override the Bvalid signal using the GOTGCTL.VbvalidOvVal.

DISABLED

0

Override is disabled and bvalid signal from the respective PHY selected is used internally by the controller

ENABLED

1

The vbus-valid signal received from the PHY is overridden with GOTGCTL.VbvalidOvVal

B

RW

VBVALIDOVVAL

Mode: Host only. VBUS Valid OverrideValue (VbvalidOvVal)

This bit is used to set Override value for vbusvalid signal when GOTGCTL.VbvalidOvEn is set.

SET0

0

vbusvalid value when GOTGCTL.VbvalidOvEn = 1

SET1

1

vbusvalid value when GOTGCTL.VbvalidOvEn is 1

C

RW

AVALIDOVEN

Mode: Host only. A-Peripheral Session Valid Override Enable (AvalidOvEn)

This bit is used to enable/disable the software to override the Avalid signal using the GOTGCTL.AvalidOvVal.

DISABLED

0

Derive AValid from PHY

ENABLED

1

Derive Avalid from GOTGCTL.AvalidOvVal

D

RW

AVALIDOVVAL

Mode: Host only. A-Peripheral Session Valid OverrideValue (AvalidOvVal)

This bit is used to set Override value for Avalid signal when GOTGCTL.AvalidOvEn is set.

VALUE0

0

Avalid value is 1'b0 when GOTGCTL.AvalidOvEn =1

VALUE1

1

Avalid value is 1'b1 when GOTGCTL.AvalidOvEn =1

E

RW

BVALIDOVEN

Mode: Device only. B-Peripheral Session Valid Override Value (BvalidOvEn)

This bit is used to enable/disable the software to override the Bvalid signal using the GOTGCTL.BvalidOvVal.

DISABLED

0

Override is disabled and bvalid signal from the respective PHY selected is used internally by the core

ENABLED

1

Internally Bvalid received from the PHY is overridden with GOTGCTL.BvalidOvVal

F

RW

BVALIDOVVAL

Mode: Device only. B-Peripheral Session Valid OverrideValue (BvalidOvVal)

This bit is used to set Override value for Bvalid signal when GOTGCTL.BvalidOvEn is set.

VALUE0

0

Bvalid value when GOTGCTL.BvalidOvEn =1

VALUE1

1

Bvalid value when GOTGCTL.BvalidOvEn =1

G

RW

DBNCEFLTRBYPASS

Mode: Host and Device. Debounce Filter Bypass

Bypass Debounce filters for avalid, bvalid, vbusvalid, sessend, iddig signals when enabled. Note: This register bit is valid only when debounce filters are present in core.

DISABLED

0

Debounce Filter Bypass is disabled.

ENABLED

1

Debounce Filter Bypass is enabled.

H

R

CONIDSTS

Mode: Host and Device. Connector ID Status (ConIDSts)

Indicates the connector ID status on a connect event. Note: The reset value of this register field can be read only after the PHY clock is stable, or if IDDIG_FILTER is enabled, wait for the filter timer to expire to read the correct reset value which ever event is later. Reset: - 1'b0: in host only mode (OTG_MODE = 5 or 6) - 1'b1: in all other configurations

MODEA

0

The core is in A-Device mode.

MODEB

1

The core is in B-Device mode.

I

R

DBNCTIME

Mode: Host only. Long/Short Debounce Time (DbncTime)

Indicates the debounce time of a detected connection.

LONG

0

Long debounce time, used for physical connections (100 ms + 2.5 micro-sec)

SHORT

1

Short debounce time, used for soft connections (2.5 micro-sec)

J

R

ASESVLD

Mode: Host only. A-Session Valid (ASesVld)

Indicates the Host mode transceiver status. Note: If you do not enabled OTG features (such as SRP and HNP), the read reset value will be 1. The vbus assigns the values internally for non-SRP or non-HNP configurations. In case of OTG_MODE=0, the reset value of this bit is 1'b0.

NOTVALID

0

A-session is not valid.

VALID

1

A-session is valid.

K

R

BSESVLD

Mode: Device only. B-Session Valid (BSesVld)

Indicates the Device mode transceiver status. In OTG mode, you can use this bit to determine if the device is connected or disconnected. Note: - If you do not enable OTG features (such as SRP and HNP), the read reset value will be 1.The vbus assigns the values internally for non- SRP or non-HNP configurations. - In case of OTG_MODE=0, the reset value of this bit is 1'b0. - The reset value of this register field can be read only after the PHY clock is stable, or if IDDIG_FILTER is enabled, wait for the filter timer to expire to read the correct reset value which ever event is later.

NOTVALID

0

B-session is not valid.

VALID

1

B-session is valid.

L

RW

OTGVER

OTG Version (OTGVer)

Indicates the OTG revision.

VER13

0

Supports OTG Version 1.3

VER20

1

Supports OTG Version 2.0

M

R

CURMOD

Current Mode of Operation (CurMod)

Mode: Host and Device Indicates the current mode. Reset: Note: The reset value of this register field can be read only after the PHY clock is stable, or if IDDIG_FILTER is enabled, wait for the filter timer to expire to read the correct reset value which ever event is later.

DEVICEMODE

0

Current mode is device mode.

HOSTMODE

1

Current mode is host mode.

N

R

MULTVALIDBC

Mode: Host and Device. Multi Valued ID pin (MultValIdBC)

Battery Charger ACA inputs in the following order:

RIDC

1

B-Device connected to ACA. VBUS is on.

RIDB

2

B-Device connected to ACA. VBUS is off.

RIDA

4

A-Device connected to ACA

RIDGND

8

A-Device not connected to ACA

RIDFLOAT

16

B-Device not connected to ACA

O

RW

CHIRPEN

Mode: Device Only. This bit when programmed to 1'b1 results in the core asserting chirp_on before sending an actual Chirp "K" signal on USB. This bit is present only if OTG_BC_SUPPORT = 1.If OTG_BC_SUPPORT!=1, this bit is a reserved bit. Do not set this bit when core is operating in HSIC mode because HSIC always operates at High Speed and High speed chirp is not used

CHIRPDISABLE

0

The controller does not assert chirp_on before sending an actual Chirp "K" signal on USB.

CHIRPENABLE

1

The controller asserts chirp_on before sending an actual Chirp "K" signal on USB.

P

RW

EUSB2PHYDISCSUPP

This field is only applicable to Device mode and must be set to 1'b1 if eUSB2 PHY is used.

DISABLED

0

Device disconnect detection using GINTSTS.USBRst interrupt when not in hibernation and GPWRDN.ResetDetected when in hibernation

ENABLED

1

Device disconnect detection using GOTGINT.SesEEndDet interrupt when not in hibernation and GPWRDN.StsChngInt when in hibernation

GOTGINT

Address offset: 0x004

Interrupt Register

The application reads this register whenever there is an OTG interrupt and clears the bits in this register to clear the OTG interrupt.

Bit number313029282726252423222120191817161514131211109876543210
IDGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

SESENDDET

Mode: Host and Device. Session End Detected (SesEndDet)

The controller sets this bit when the utmiotg_bvalid signal is deasserted. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

Session is Active

ACTIVE

1

SessionEnd utmiotg_bvalid signal is deasserted

B

RW

SESREQSUCSTSCHNG

Mode: Host and Device. Session Request Success Status Change (SesReqSucStsChng)

The core sets this bit on the success or failure of a session request. The application must read the Session Request Success bit in the OTG Control and Status register (GOTGCTL.SesReqScs) to check for success or failure. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Change in Session Request Status

ACTIVE

1

Session Request Status has changed

C

RW

HSTNEGSUCSTSCHNG

Mode: Host and Device. Host Negotiation Success Status Change (HstNegSucStsChng)

The core sets this bit on the success or failure of a USB host negotiation request. The application must read the Host Negotiation Success bit of the OTG Control and Status register (GOTGCTL.HstNegScs) to check for success or failure. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Change

ACTIVE

1

Host Negotiation Status Change

D

RW

HSTNEGDET

Mode:Host and Device. Host Negotiation Detected (HstNegDet)

The core sets this bit when it detects a host negotiation request on the USB. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Active HNP Request

ACTIVE

1

Active HNP request detected

E

RW

ADEVTOUTCHG

Mode: Host and Device. A-Device Timeout Change (ADevTOUTChg)

The core sets this bit to indicate that the A-device has timed out while waiting for the B-device to connect.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No A-Device Timeout

ACTIVE

1

A-Device Timeout

F

RW

DBNCEDONE

Mode: Host only. Debounce Done (DbnceDone)

The core sets this bit when the debounce is completed after the device connect. The application can start driving USB reset after seeing this interrupt. This bit is only valid when the HNP Capable or SRP Capable bit is SET in the Core USB Configuration register (GUSBCFG.HNPCap or GUSBCFG.SRPCap, respectively). This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

After Connect waiting for Debounce to complete

ACTIVE

1

Debounce completed

G

RW

MULTVALIPCHNG

This bit when set indicates that there is a change in the value of at least one ACA pin value.

This bit is present only if OTG_BC_SUPPORT=1, otherwise it is reserved.

NOACAPINCHANGE

0

Indicates there is no change in ACA pin value

ACAPINCHANGE

1

Indicates there is a change in ACA pin value

GAHBCFG

Address offset: 0x008

AHB Configuration Register

This register can be used to configure the core after power-on or a change in mode. This register mainly contains AHB system-related configuration parameters. Do not change this register after the initial programming. The application must program this register before starting any transactions on either the AHB or the USB.

Bit number313029282726252423222120191817161514131211109876543210
IDJJIIHGFEDCBBBBA
Reset 0x0A00000000001010000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

GLBLINTRMSK

Mode: Host and device. Global Interrupt Mask (GlblIntrMsk)

The application uses this bit to mask or unmask the interrupt line assertion to itself. Irrespective of this bit's setting, the interrupt status registers are updated by the controller.

MASK

0

Mask the interrupt assertion to the application

NOMASK

1

Unmask the interrupt assertion to the application.

B

RW

HBSTLEN

Mode: Host and device. Burst Length/Type (HBstLen)

This field is used in both External and Internal DMA modes. In External DMA mode, these bits appear on dma_burst[3:0] ports, which can be used by an external wrapper to interface the External DMA Controller interface to Synopsys DW_ahb_dmac or ARM PrimeCell. External DMA Mode defines the DMA burst length in terms of 32-bit words: Internal DMA Mode AHB Requester burst type:

WORD1ORSINGLE

0

1 word or single

WORD4ORINCR

1

4 words or INCR

WORD8

2

8 words

WORD16ORINCR4

3

16 words or INCR4

WORD32

4

32 words

WORD64ORINCR8

5

64 words or INCR8

WORD128

6

128 words

WORD256ORINCR16

7

256 words or INCR16

WORDX

8

Others reserved

C

RW

DMAEN

Mode: Host and device. DMA Enable (DMAEn)

This bit is always 0 when Completer-Only mode has been selected.

COMPLETERMODE

0

Core operates in Completer mode

DMAMODE

1

Core operates in a DMA mode

D

RW

NPTXFEMPLVL

Mode: Host and device. Non-Periodic TxFIFO Empty Level (NPTxFEmpLvl)

This bit is used only in Completer mode. In host mode and with Shared FIFO with device mode, this bit indicates when the Non-Periodic TxFIFO Empty Interrupt bit in the Core Interrupt register (GINTSTS.NPTxFEmp) is triggered. With dedicated FIFO in device mode, this bit indicates when IN endpoint Transmit FIFO empty interrupt (DIEPINTn.TxFEmp) is triggered. Host mode and with Shared FIFO with device mode: Dedicated FIFO in device mode:

HALFEMPTY

0

DIEPINTn.TxFEmp interrupt indicates that the Non-Periodic TxFIFO is half empty or that the IN Endpoint TxFIFO is half empty.

EMPTY

1

GINTSTS.NPTxFEmp interrupt indicates that the Non-Periodic TxFIFO is completely empty or that the IN Endpoint TxFIFO is completely empty.

E

RW

PTXFEMPLVL

Mode: Host only. Periodic TxFIFO Empty Level (PTxFEmpLvl)

Indicates when the Periodic TxFIFO Empty Interrupt bit in the Core Interrupt register (GINTSTS.PTxFEmp) is triggered. This bit is used only in Completer mode.

HALFEMPTY

0

GINTSTS.PTxFEmp interrupt indicates that the Periodic TxFIFO is half empty.

EMPTY

1

GINTSTS.PTxFEmp interrupt indicates that the Periodic TxFIFO is completely empty.

F

RW

REMMEMSUPP

Mode: Host and Device. Remote Memory Support (RemMemSupp)

This bit is programmed to enable the functionality to wait for the system DMA Done Signal for the DMA Write Transfers. - GAHBCFG.RemMemSupp=1 The int_dma_req output signal is asserted when the DMA starts write transfer to the external memory. When the core is done with the Transfers it asserts int_dma_done signal to flag the completion of DMA writes from the controller. The core then waits for sys_dma_done signal from the system to proceed further and complete the Data Transfer corresponding to a particular Channel/Endpoint. - GAHBCFG.RemMemSupp=0 The int_dma_req and int_dma_done signals are not asserted and the core proceeds with the assertion of the XferComp interrupt as soon as the DMA write transfer is done at the Core Boundary and it does not wait for the sys_dma_done signal to complete the DATA transfers.

DISABLED

0

Remote Memory Support Feature disabled

ENABLED

1

Remote Memory Support Feature enabled

G

RW

NOTIALLDMAWRIT

Mode: Host and Device. Notify All DMA Write Transactions (NotiAllDmaWrit)

This bit is programmed to enable the System DMA Done functionality for all the DMA write Transactions corresponding to the Channel/Endpoint. This bit is valid only when GAHBCFG.RemMemSupp is set to 1. - GAHBCFG.NotiAllDmaWrit = 1 The core asserts int_dma_req for all the DMA write transactions on the AHB interface along with int_dma_done, chep_last_transact and chep_number signal informations. The core waits for sys_dma_done signal for all the DMA write transactions in order to complete the transfer of a particular Channel/Endpoint. - GAHBCFG.NotiAllDmaWrit = 0 The core asserts int_dma_req signal only for the last transaction of DMA write transfer corresponding to a particular Channel/Endpoint. Similarly, the core waits for sys_dma_done signal only for that transaction of DMA write to complete the transfer of a particular Channel/Endpoint.

LASTTRANS

0

ALLTRANS

1

The core asserts int_dma_req for all the DMA write transactions on the AHB interface along with int_dma_done, chep_last_transact and chep_number signal informations. The core waits for sys_dma_done signal for all the DMA write transactions in order to complete the transfer of a particular Channel/Endpoint

H

RW

AHBSINGLE

Mode: Host and Device. AHB Single Support (AHBSingle)

This bit when programmed supports Single transfers for the remaining data in a transfer when the core is operating in DMA mode. Note: If this feature is enabled, the AHB RETRY and SPLIT transfers still have INCR burst type. Enable this feature when the AHB Completer connected to the core does not support INCR burst (and when Split, and Retry transactions are not being used in the bus).

INCRBURST

0

The remaining data in the transfer is sent using INCR burst size

SINGLEBURST

1

The remaining data in the transfer is sent using Single burst size

I

RW

LOAEOPCHECKCLKSBYTE

Mode: Host. Number of clock cycles to check for EOP SE0 for LOA logic

Note: - This field only affects USB2.0 FS operation in UTMI 8bit mode. The mac_prt logic checks for the programmed number of clocks of SE0 to validate an EOP for a packet. - The actual number of clocks checked will be the value programmed plus 1. So a value 1 results in checking for 2 clocks of SE0. Value of 3 checks 4 clocks of SE0 and so on. - The default value is 1, which results in 2 clocks of SE0 check.

ONE

1

Check for 2 clocks of EOP SE0

TWO

2

Check for 3 clocks of EOP SE0

J

RW

LOAEOPCHECKCLKSWORD

Mode: Host. Number of clock cycles to check for EOP SE0 for LOA logic

Note: - This field only affects USB2.0 FS operation in UTMI 16bit mode. The mac_prt logic checks for the programmed number of clocks of SE0 to validate an EOP for a packet. - The actual number of clocks checked will be the value programmed plus 1. So a value 1 results in checking for 2 clocks of SE0. Value of 3 checks 4 clocks of SE0 and so on. - The default value is 1, which results in 2 clocks of SE0 check.

ONE

1

Check for 2 clocks of EOP SE0

TWO

2

Check for 3 clocks of EOP SE0

GUSBCFG

Address offset: 0x00C

USB Configuration Register

This register can be used to configure the core after power-on or when changing to Host mode or Device mode. It contains USB and USB-PHY related configuration parameters. The application must program this register before starting any transactions on either the AHB or the USB. If you are using the HSIC interface, HSIC PHY must be in reset while programming this register. Do not make changes to this register after the initial programming.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGFFFFEDCBAAA
Reset 0x1000140000010000000000000001010000000000
IDR/WFieldValue IDValueDescription
A

RW

TOUTCAL

Mode: Host and Device. HS/FS Timeout Calibration (TOutCal)

The number of PHY clocks that the application programs in this field is added to the high-speed/full-speed interpacket timeout duration in the core to account for any additional delays introduced by the PHY. This can be required, because the delay introduced by the PHY in generating the linestate condition can vary from one PHY to another. The USB standard timeout value for high-speed operation is 736 to 816 (inclusive) bit times. The USB standard timeout value for full-speed operation is 16 to 18 (inclusive) bit times. The application must program this field based on the speed of enumeration. The number of bit times added per PHY clock are as follows: High-speed operation: - One 30-MHz PHY clock = 16 bit times - One 60-MHz PHY clock = 8 bit times Full-speed operation: - One 30-MHz PHY clock = 0.4 bit times - One 60-MHz PHY clock = 0.2 bit times - One 48-MHz PHY clock = 0.25 bit times

ZERO

0

Add 0 PHY clocks

ONE

1

Add 1 PHY clocks

TWO

2

Add 2 PHY clocks

THREE

3

Add 3 PHY clocks

FOUR

4

Add 4 PHY clocks

FIVE

5

Add 5 PHY clocks

SIX

6

Add 6 PHY clocks

SEVEN

7

Add 7 PHY clocks

B

RW

PHYIF

Mode: Host and Device. PHY Interface (PHYIf)

The application uses this bit to configure the core to support a UTMI+ PHY with an 8- or 16-bit interface. When a ULPI PHY is chosen, this must be Set to 8-bit mode. This bit is writable only If UTMI+ and ULPI were selected. Otherwise, this bit returns the value for the power-on interface selected during configuration.

BITS8

0

PHY 8bit Mode

BITS16

1

PHY 16bit Mode

C

R

ULPIUTMISEL

Mode: Host and Device. ULPI or UTMI+ Select (ULPI_UTMI_Sel)

The application uses this bit to select either a UTMI+ interface or ULPI Interface.

UTMI

0

UTMI+ Interface

ULPI

1

ULPI Interface

D

R

FSINTF

Mode: Host and Device. Full-Speed Serial Interface Select (FSIntf)

The application uses this bit to select either a unidirectional or bidirectional USB 1.1 full-speed serial transceiver interface. If a USB 1.1 Full-Speed Serial Transceiver interface was not selected, this bit is always 0, with Write Only access. If a USB 1.1 FS interface was selected, Then the application can Set this bit to select between the 3- and 6-pin interfaces, and access is Read and Write. Note: For supporting the new 4-pin bi-directional interface, you need to select 6-pin unidirectional FS serial mode, and add an external control to convert it to a 4-pin interface.

FS6PIN

0

6-pin unidirectional full-speed serial interface

FS3PIN

1

3-pin bidirectional full-speed serial interface

E

R

PHYSEL

PHYSel

Mode: Host and Device USB 2.0 High-Speed PHY or USB 1.1 Full-Speed Serial Transceiver Select (PHYSel) The application uses this bit to select either a high-speed UTMI+ or ULPI PHY, or a full-speed transceiver. If a USB 1.1 Full-Speed Serial Transceiver interface was not selected in, this bit is always 0, with Write Only access. If a high-speed PHY interface was not selected in, this bit is always 1, with Write Only access. If both interface types were selected (parameters have non-zero values), the application uses this bit to select which interface is active, and access is Read and Write.

USB20

0

USB 2.0 high-speed UTMI+ or ULPI PHY is selected

USB11

1

USB 1.1 full-speed serial transceiver is selected

F

RW

USBTRDTIM

Mode: Device only. USB Turnaround Time (USBTrdTim)

Sets the turnaround time in PHY clocks. Specifies the response time for a MAC request to the Packet FIFO Controller (PFC) to fetch data from the DFIFO (SPRAM). This must be programmed to Note:Refer to Programming Guide Section "Choosing the Value of GUSBCFG.USBTrdTim" for the turnaround time calculation. During the AHB Clock Frequency selection, it is recommended to consider mis-sampling into account for USBTrdTim. USB turnaround time is critical for certification where long cables and 5-Hubs are used. If you need the AHB to run at less than 30 MHz (or less than 42MHz when operating in 16-bit UTMI mode in HS speed), and if USB turnaround time is not critical, these bits can be programmed to a larger value.

TURNTIME16BIT

5

MAC interface is 16-bit UTMI+.

TURNTIME8BIT

9

MAC interface is 8-bit UTMI+.

G

RW

PHYLPWRCLKSEL

PHY Low-Power Clock Select (PhyLPwrClkSel)

Mode: Host and Device Selects either 480-MHz or 48-MHz (low-power) PHY mode. In FS and LS modes, the PHY can usually operate on a 48-MHz clock to save power. In 480 MHz mode, the UTMI interface operates at either 60 or 30-MHz, depending upon whether 8- or 16-bit data width is selected. In 48-MHz mode, the UTMI interface operates at 48 MHz in FS mode and at either 48 or 6 MHz in LS mode (depending on the PHY vendor). This bit drives the utmi_fsls_low_power core output signal, and is valid only for UTMI+ PHYs.

INTPLLCLK

0

480-MHz Internal PLL clock

EXTCLK

1

48-MHz External Clock

H

RW

TERMSELDLPULSE

Mode: Device only. TermSel DLine Pulsing Selection (TermSelDLPulse)

This bit selects utmi_termselect to drive data line pulse during SRP.

TXVALID

0

Data line pulsing using utmi_txvalid

TERMSEL

1

Data line pulsing using utmi_termsel

I

R

ICUSBCAP

Mode: Host and Device. IC_USB-Capable (IC_USBCap)

The application uses this bit to control the core's IC_USB capabilities. This bit is writable only if OTG_ENABLE_IC_USB=1 and OTG_FSPHY_INTERFACE!=0. The reset value depends on the configuration parameter OTG_SELECT_IC_USB when OTG_ENABLE_IC_USB = 1. In all other cases, this bit is set to 1'b0 and the bit is read only.

NOTSELECTED

0

IC_USB PHY Interface is not selected

SELECTED

1

IC_USB PHY Interface is selected

J

RW

TXENDDELAY

Mode: Device only. Tx End Delay (TxEndDelay)

Setting this bit to 1'b1 enables the controller to follow the TxEndDelay timings as per UTMI+ specification 1.05 section 4.1.5 for opmode signal during remote wakeup. The default value of this field is 1'b1 and it is not recommended to program it to 1'b0. The option to set it to 1'b0 (Normal Mode) is present only for debug purpose.

DISABLED

0

Normal Mode

ENABLED

1

Tx End delay

K

RW

FORCEHSTMODE

Mode: Host and device. Force Host Mode (ForceHstMode)

Writing a 1 to this bit forces the core to host mode irrespective of utmiotg_iddig input pin. After setting the force bit, the application must wait at least 25 ms before the change to take effect. When the simulation is in scale down mode, waiting for 500 micro sec is sufficient. This bit is valid only when OTG_MODE = 0, 1 or 2. In all other cases, this bit reads 0.

DISABLED

0

Normal Mode

ENABLED

1

Force Host Mode

L

RW

FORCEDEVMODE

Mode:Host and device. Force Device Mode (ForceDevMode)

Writing a 1 to this bit forces the controller to device mode irrespective of utmiotg_iddig input pin. After setting the force bit, the application must wait at least 25 ms before the change to take effect. When the simulation is in scale down mode, waiting for 500 micro sec is sufficient. This bit is valid only when OTG_MODE = 0, 1 or 2. In all other cases, this bit reads 0.

DISABLED

0

Normal Mode

ENABLED

1

Force Device Mode

M

W

CORRUPTTXPKT

Mode: Host and device. Corrupt Tx packet (CorruptTxPkt)

This bit is for debug purposes only. Never Set this bit to 1. The application must always write 1'b0 to this bit.

Disabled

0

Normal Mode

Enabled

1

Debug Mode

GRSTCTL

Address offset: 0x010

Reset Register

The application uses this register to reset various hardware features inside the controller.

Bit number313029282726252423222120191817161514131211109876543210
IDJIHGGGFFFFFEDCBA
Reset 0x8000000010000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

CSFTRST

Mode: Host and Device. Core Soft Reset (CSftRst)

Resets the hclk and phy_clock domains as follows: - Clears the interrupts and all the CSR registers except the following register bits: -- PCGCCTL.RstPdwnModule -- PCGCCTL.GateHclk -- PCGCCTL.PwrClmp -- PCGCCTL.StopPPhyLPwrClkSelclk -- GUSBCFG.ForceDevMode -- GUSBCFG.ForceHstMode -- GUSBCFG.PhyLPwrClkSel -- GUSBCFG.DDRSel -- GUSBCFG.PHYSel -- GUSBCFG.FSIntf -- GUSBCFG.ULPI_UTMI_Sel -- GUSBCFG.PHYIf -- GUSBCFG.TxEndDelay -- GUSBCFG.TermSelDLPulse -- GUSBCFG.ULPIClkSusM -- GUSBCFG.ULPIAutoRes -- GUSBCFG.ULPIFsLs -- GGPIO -- GPWRDN -- GADPCTL -- HCFG.FSLSPclkSel -- DCFG.DevSpd -- DCTL.SftDiscon - All module state machines - All module state machines (except the AHB Completer Unit) are reset to the IDLE state, and all the transmit FIFOs and the receive FIFO are flushed. - Any transactions on the AHB Requester are terminated as soon as possible, after gracefully completing the last data phase of an AHB transfer. Any transactions on the USB are terminated immediately. - When Hibernation or ADP feature is enabled, the PMU module is not reset by the Core Soft Reset. The application can write to this bit any time it wants to reset the core. The application must clear this bit after checking the bit 29 of this register (Core Soft Reset Done). Software must also must check that bit 31 of this register is 1 (AHB Requester is IDLE) before starting any operation. Typically software reset is used during software development and also when you dynamically change the PHY selection bits in the USB configuration registers listed above. When you change the PHY, the corresponding clock for the PHY is selected and used in the PHY domain. Once a new clock is selected, the PHY domain has to be reset for proper operation.

NOTACTIVE

0

No reset

ACTIVE

1

Resets hclk and phy_clock domains

B

RW

PIUFSSFTRST

Mode: Host and Device. PIU FS Dedicated Controller Soft Reset (PIUFSSftRst)

Resets the PIU FS Dedicated Controller All module state machines in FS Dedicated Controller of PIU are reset to the IDLE state. Used to reset the FS Dedicated controller in PIU in case of any PHY Errors like Loss of activity or Babble Error resulting in the PHY remaining in RX state for more than one frame boundary. This is a self clearing bit and core clears this bit after all the necessary logic is reset in the core.

RESETINACTIVE

0

No Reset

RESETACTIVE

1

PIU FS Dedicated Controller Soft Reset

C

RW

FRMCNTRRST

Mode: Host only. Host Frame Counter Reset (FrmCntrRst)

The application writes this bit to reset the (micro)Frame number counter inside the core. When the (micro)Frame counter is reset, the subsequent SOF sent out by the core has a (micro)Frame number of 0. When application writes 1 to the bit, it might not be able to read back the value as it gets cleared by the core in a few clock cycles.

NOTACTIVE

0

No reset

ACTIVE

1

Host Frame Counter Reset

D

RW

RXFFLSH

Mode: Host and Device. RxFIFO Flush (RxFFlsh)

The application can flush the entire RxFIFO using this bit, but must first ensure that the core is not in the middle of a transaction. The application must only write to this bit after checking that the controller is neither reading from the RxFIFO nor writing to the RxFIFO. The application must wait until the bit is cleared before performing any other operations. This bit requires eight clocks (slowest of PHY or AHB clock) to clear.

INACTIVE

0

Does not flush the entire RxFIFO

ACTIVE

1

Flushes the entire RxFIFO

E

RW

TXFFLSH

Mode: Host and Device. TxFIFO Flush (TxFFlsh)

This bit selectively flushes a single or all transmit FIFOs, but cannot do so If the core is in the midst of a transaction. The application must write this bit only after checking that the core is neither writing to the TxFIFO nor reading from the TxFIFO. Verify using these registers: - ReadNAK Effective Interrupt ensures the core is not reading from the FIFO - WriteGRSTCTL.AHBIdle ensures the core is not writing anything to the FIFO. Flushing is normally recommended when FIFOs are reconfigured or when switching between Shared FIFO and Dedicated Transmit FIFO operation. FIFO flushing is also recommended during device endpoint disable. The application must wait until the core clears this bit before performing any operations. This bit takes eight clocks to clear, using the slower clock of phy_clk or hclk.

INACTIVE

0

No Flush

ACTIVE

1

Selectively flushes a single or all transmit FIFOs

F

RW

TXFNUM

Mode: Host and Device. TxFIFO Number (TxFNum)

This is the FIFO number that must be flushed using the TxFIFO Flush bit. This field must not be changed until the core clears the TxFIFO Flush bit. -- Non-periodic TxFIFO flush in Host mode -- Non-periodic TxFIFO flush in device mode when in shared FIFO operation -- Tx FIFO 0 flush in device mode when in dedicated FIFO mode -- Periodic TxFIFO flush in Host mode -- Periodic TxFIFO 1 flush in Device mode when in shared FIFO operation -- TXFIFO 1 flush in device mode when in dedicated FIFO mode -- Periodic TxFIFO 2 flush in Device mode when in shared FIFO operation -- TXFIFO 2 flush in device mode when in dedicated FIFO mode ... -- Periodic TxFIFO 15 flush in Device mode when in shared FIFO operation -- TXFIFO 15 flush in device mode when in dedicated FIFO mode

TXF0

0

-Periodic TxFIFO flush in host mode -Periodic TxFIFO 0 flush in device mode when in shared FIFO operation -TXFIFO 0 flush in device mode when in dedicated FIFO mode

TXF1

1

-Periodic TxFIFO flush in host mode -Periodic TxFIFO 1 flush in device mode when in shared FIFO operation -TXFIFO 1 flush in device mode when in dedicated FIFO mode

TXF2

2

-Periodic TxFIFO 2 flush in device mode when in shared FIFO operation -TXFIFO 2 flush in device mode when in dedicated FIFO mode

TXF3

3

-Periodic TxFIFO 3 flush in device mode when in shared FIFO operation -TXFIFO 3 flush in device mode when in dedicated FIFO mode

TXF4

4

-Periodic TxFIFO 4 flush in device mode when in shared FIFO operation -TXFIFO 4 flush in device mode when in dedicated FIFO mode

TXF5

5

-Periodic TxFIFO 5 flush in device mode when in shared FIFO operation -TXFIFO 5 flush in device mode when in dedicated FIFO mode

TXF6

6

-Periodic TxFIFO 6 flush in device mode when in shared FIFO operation -TXFIFO 6 flush in device mode when in dedicated FIFO mode

TXF7

7

-Periodic TxFIFO 7 flush in device mode when in shared FIFO operation -TXFIFO 7 flush in device mode when in dedicated FIFO mode

TXF8

8

-Periodic TxFIFO 8 flush in device mode when in shared FIFO operation -TXFIFO 8 flush in device mode when in dedicated FIFO mode

TXF9

9

-Periodic TxFIFO 9 flush in device mode when in shared FIFO operation -TXFIFO 9 flush in device mode when in dedicated FIFO mode

TXF10

10

-Periodic TxFIFO 10 flush in device mode when in shared FIFO operation -TXFIFO 10 flush in device mode when in dedicated FIFO mode

TXF11

11

-Periodic TxFIFO 11 flush in device mode when in shared FIFO operation -TXFIFO 11 flush in device mode when in dedicated FIFO mode

TXF12

12

-Periodic TxFIFO 12 flush in device mode when in shared FIFO operation -TXFIFO 12 flush in device mode when in dedicated FIFO mode

TXF13

13

-Periodic TxFIFO 13 flush in Device mode when in shared FIFO operation -TXFIFO 13 flush in device mode when in dedicated FIFO mode

TXF14

14

-Periodic TxFIFO 14 flush in Device mode when in shared FIFO operation -TXFIFO 14 flush in device mode when in dedicated FIFO mode

TXF15

15

-Periodic TxFIFO 15 flush in Device mode when in shared FIFO operation - TXFIFO 15 flush in device mode when in dedicated FIFO mode

TXF16

16

Flush all the transmit FIFOs in device or host mode

G

RW

CLOCKSWITCHTIMER

This field is applicable if the controller is configured with multiple PHY interfaces.

It must be programmed before programming the required PHY interface in GUSBCFG register. Host Mode: Set this field to 3'b111 if: - The clock from the previous PHY is OFF before switching to the new PHY. Set this field to 3'b010 if all the below conditions are satisfied: - (OTG_FSPHY_INTERFACE != 0 && OTG_HSPHY_INTERFACE !=0) - USB1.1 FS Serial PHY will be used (i.e., GUSBCFG.PHYSel = 1'b1). - Clock from previous PHY is not OFF before switching to the new PHY. This field need not be programmed in other cases. Device Mode: Set this field to 3'b111 if: - The clock from the previous PHY is off before switching to the new PHY. Set this field to 3'b010 if all the below conditions are satisfied: - (OTG_FSPHY_INTERFACE != 0 && OTG_HSPHY_INTERFACE !=0) - USB1.1 FS Serial PHY will be used (i.e., GUSBCFG.PHYSel = 1'b1) - DCFG.DevSpd = 2'b10. - Clock from previous PHY is not OFF before switching to the new PHY. This field need not be programmed in other cases. Note: This field is not required to be programmed if Shared PHY interface is not configured.

TIMERVALUE19

0

timer value set to 19

TIMERVALUE15

1

timer value set to 15

TIMERVALUE147

2

timer value set to 147

TIMERVALUE50

3

timer value set to 50

TIMERVALUE100

4

timer value set to 100

TIMERVALUE125

5

timer value set to 125

TIMERVALUE200

6

timer value set to 200

TIMERDISABLED

7

timer is disabled

H

RW

CSFTRSTDONE

Mode: Host and Device. Core Soft Reset Done (CSftRstDone)

The core sets this bit when all the necessary logic is reset in the core.This bit is cleared by the application along with GRSTCTL.CSftRst (bit 0)

INACTIVE

0

No reset

ACTIVE

1

Core Soft Reset is done

I

R

DMAREQ

Mode: Host and Device. DMA Request Signal (DMAReq)

Indicates that the DMA request is in progress. Used for debug.

INACTIVE

0

No DMA request

ACTIVE

1

DMA request is in progress

J

R

AHBIDLE

Mode: Host and Device. AHB Requester Idle (AHBIdle)

Indicates that the AHB Requester State Machine is in the IDLE condition.

INACTIVE

0

Not Idle

ACTIVE

1

AHB Requester Idle

GINTSTS

Address offset: 0x014

Interrupt STATUS Register

This register interrupts the application for system-level events in the current mode (Device mode or Host mode). Some of the bits in this register are valid only in Host mode, while others are valid in Device mode only. This register also indicates the current mode. To clear the interrupt status bits of type R_SS_WC, the application must write 1'b1 to the bit. The FIFO status interrupts are read only; once software reads from or writes to the FIFO while servicing these interrupts, FIFO interrupt conditions are cleared automatically. The application must clear the GINTSTS register at initialization before unmasking the interrupt bit to avoid any interrupts generated prior to initialization. Note: Read the reset value of GINTSTS.CurMod only after the following conditions: - If IDDIG_FILTER is disabled, read only after PHY clock is stable. - If IDDIG_FILTER is enabled, read only after the filter timer expires.

Bit number313029282726252423222120191817161514131211109876543210
IDdcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0400002000000100000000000000000000100000
IDR/WFieldValue IDValueDescription
A

R

CURMOD

Mode: Host and Device. Current Mode of Operation (CurMod)

Indicates the current mode. Note: The reset value of this register field can be read only after the PHY clock is stable, or if IDDIG_FILTER is enabled, wait for the filter timer to expire to read the correct reset value which ever event is later.

DEVICE

0

Device mode

HOST

1

Host mode

B

RW

MODEMIS

Mode: Host and Device. Mode Mismatch Interrupt (ModeMis)

The core sets this bit when the application is trying to access: - A Host mode register, when the controller is operating in Device mode - A Device mode register, when the controller is operating in Host mode The register access is completed on the AHB with an OKAY response, but is ignored by the controller internally and does not affect the operation of the controller. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Mode Mismatch Interrupt

ACTIVE

1

Mode Mismatch Interrupt

C

R

OTGINT

Mode: Host and Device. OTG Interrupt (OTGInt)

The controller sets this bit to indicate an OTG protocol event. The application must read the OTG Interrupt Status (GOTGINT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the GOTGINT register to clear this bit.

INACTIVE

0

No Interrupt

ACTIVE

1

OTG Interrupt

D

RW

SOF

Mode: Host and Device. Start of (micro)Frame (Sof)

In Host mode, the core sets this bit to indicate that an SOF (FS), micro-SOF (HS), or Keep-Alive (LS) is transmitted on the USB. The application must write a 1 to this bit to clear the interrupt. In Device mode, the controller sets this bit to indicate that an SOF token has been received on the USB. The application can read the Device Status register to get the current (micro)Frame number. This interrupt is seen only when the core is operating at either HS or FS. This bit can be set only by the core and the application must write 1 to clear it. Note: This register may return 1'b1 if read immediately after power-on reset. If the register bit reads 1'b1 immediately after power-on reset, it does not indicate that an SOF has been sent (in case of host mode) or SOF has been received (in case of device mode). The read value of this interrupt is valid only after a valid connection between host and device is established. If the bit is set after power on reset the application can clear the bit.

INACTIVE

0

No Start of Frame

ACTIVE

1

Start of Frame

E

R

RXFLVL

Mode: Host and Device. RxFIFO Non-Empty (RxFLvl)

Indicates that there is at least one packet pending to be read from the RxFIFO.

INACTIVE

0

Rx Fifo is empty

ACTIVE

1

Rx Fifo is not empty

F

R

NPTXFEMP

Mode: Host and Device. Non-periodic TxFIFO Empty (NPTxFEmp)

This interrupt is asserted when the Non-periodic TxFIFO is either half or completely empty, and there is space for at least one Entry to be written to the Non-periodic Transmit Request Queue. The half or completely empty status is determined by the Non-periodic TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl). In host mode, the application can use GINTSTS.NPTxFEmp with the OTG_EN_DED_TX_FIFO parameter set to either 1 or 0. In device mode, the application uses GINTSTS.NPTxFEmp when OTG_EN_DED_TX_FIFO=0. When OTG_EN_DED_TX_FIFO=1, the application uses DIEPINTn.TxFEmp.

INACTIVE

0

Non-periodic TxFIFO is not empty

ACTIVE

1

Non-periodic TxFIFO is empty

G

R

GINNAKEFF

Mode: Device only. Global IN Non-periodic NAK Effective (GINNakEff)

Indicates that the Set Global Non-periodic IN NAK bit in the Device Control register (DCTL.SGNPInNak) set by the application, has taken effect in the core. That is, the core has sampled the Global IN NAK bit Set by the application. This bit can be cleared by clearing the Clear Global Non-periodic IN NAK bit in the Device Control register (DCTL.CGNPInNak). This interrupt does not necessarily mean that a NAK handshake is sent out on the USB. The STALL bit takes precedence over the NAK bit.

INACTIVE

0

Global Non-periodic IN NAK not active

ACTIVE

1

Set Global Non-periodic IN NAK bit

H

R

GOUTNAKEFF

Mode: Device only. Global OUT NAK Effective (GOUTNakEff)

Indicates that the Set Global OUT NAK bit in the Device Control register (DCTL.SGOUTNak), Set by the application, has taken effect in the core. This bit can be cleared by writing the Clear Global OUT NAK bit in the Device Control register (DCTL.CGOUTNak).

INACTIVE

0

Not Active

ACTIVE

1

Global OUT NAK Effective

I

RW

ERLYSUSP

Mode: Device only. Early Suspend (ErlySusp)

The controller sets this bit to indicate that an Idle state has been detected on the USB for 3 ms.

INACTIVE

0

No Idle state detected

ACTIVE

1

3ms of Idle state detected

J

RW

USBSUSP

Mode: Device only. USB Suspend (USBSusp)

The controller sets this bit to indicate that a suspend was detected on the USB. The controller enters the Suspended state when there is no activity on the linestate signal for an extended period of time.

INACTIVE

0

Not Active

ACTIVE

1

USB Suspend

K

RW

USBRST

Mode: Device only. USB Reset (USBRst)

The controller sets this bit to indicate that a reset is detected on the USB.

INACTIVE

0

Not active

ACTIVE

1

USB Reset

L

RW

ENUMDONE

Mode: Device only. Enumeration Done (EnumDone)

The core sets this bit to indicate that speed enumeration is complete. The application must read the Device Status (DSTS) register to obtain the enumerated speed.

INACTIVE

0

Not active

ACTIVE

1

Enumeration Done

M

RW

ISOOUTDROP

Mode: Device only. Isochronous OUT Packet Dropped Interrupt (ISOOutDrop)

The controller sets this bit when it fails to write an isochronous OUT packet into the RxFIFO because the RxFIFO does not have enough space to accommodate a maximum packet size packet for the isochronous OUT endpoint.

INACTIVE

0

Not active

ACTIVE

1

Isochronous OUT Packet Dropped Interrupt

N

RW

EOPF

Mode: Device only. End of Periodic Frame Interrupt (EOPF)

Indicates that the period specified in the Periodic Frame Interval field of the Device Configuration register (DCFG.PerFrInt) has been reached in the current microframe. In case of Non-Ignore Frame Number Scatter/Gather (Descriptor DMA) mode, the controller internally handles the following scenarios based on EOPF: Read Flush: At the EOPF, the controller checks if there are any pending packets in the FIFO corresponding to the current (micro)Frame. - If there are any pending packets, then the controller initiates read flush, due to which the read pointer is updated to the starting location of the next micro-frame packet. - If there are no pending packets corresponding to the current (micro)Frame, the controller does not take any action. Write Flush: At the EOPF, if the controller is still fetching the current micro-frame data, then the controller stops pushing data into the TXFIFO but keeps fetching the complete packet from the System Memory. After completing the scheduled packet size fetch, the controller updates the Status Quadlet Fields (Transmit Status to BUFFLUSH) and closes the Descriptor. During the descriptor close, the controller initiates write flush, due to which the write pointer is updated to the starting location of the next micro-frame packet. Because the controller stops pushing the packet to the TxFIFO after EOPF, to bring the write pointer to the starting location of the next micro-frame, write flush is done.

INACTIVE

0

Not active

ACTIVE

1

End of Periodic Frame Interrupt

O

RW

RSTRDONEINT

Mode: Device only. Restore Done Interrupt (RstrDoneInt)

The controller sets this bit to indicate that the restore command after Hibernation was completed by the core. The controller continues from Suspended state into the mode dictated by PCGCCTL.RestoreMode field.

INACTIVE

0

Not active

ACTIVE

1

Restore Done Interrupt

P

RW

EPMIS

Mode: Device only. Endpoint Mismatch Interrupt (EPMis)

Note: This interrupt is valid only in shared FIFO operation. Indicates that an IN token has been received for a non-periodic endpoint, but the data for another endpoint is present in the top of the Non-periodic Transmit FIFO and the IN endpoint mismatch count programmed by the application has expired.

INACTIVE

0

Not active

ACTIVE

1

Endpoint Mismatch Interrupt

Q

R

IEPINT

Mode: Device only. IN Endpoints Interrupt (IEPInt)

The core sets this bit to indicate that an interrupt is pending on one of the IN endpoints of the core (in Device mode). The application must read the Device All Endpoints Interrupt (DAINT) register to determine the exact number of the IN endpoint on Device IN Endpoint-n Interrupt (DIEPINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding DIEPINTn register to clear this bit.

INACTIVE

0

Not active

ACTIVE

1

IN Endpoints Interrupt

R

R

OEPINT

Mode: Device only. OUT Endpoints Interrupt (OEPInt)

The controller sets this bit to indicate that an interrupt is pending on one of the OUT endpoints of the core (in Device mode). The application must read the Device All Endpoints Interrupt (DAINT) register to determine the exact number of the OUT endpoint on which the interrupt occurred, and then read the corresponding Device OUT Endpoint-n Interrupt (DOEPINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the corresponding DOEPINTn register to clear this bit.

INACTIVE

0

Not active

ACTIVE

1

OUT Endpoints Interrupt

S

RW

INCOMPISOIN

Mode: Device only. Incomplete Isochronous IN Transfer (incompISOIN)

The core sets this interrupt to indicate that there is at least one isochronous IN endpoint on which the transfer is not completed in the current microframe. This interrupt is asserted along with the End of Periodic Frame Interrupt (EOPF) bit in this register. Note: This interrupt is not asserted in Scatter/Gather DMA mode.

INACTIVE

0

Not active

ACTIVE

1

Incomplete Isochronous IN Transfer

T

RW

INCOMPLP

Incomplete Periodic Transfer (incomplP)

Mode: Host only In Host mode, the core sets this interrupt bit when there are incomplete periodic transactions still pending which are scheduled for the current microframe. Incomplete Isochronous OUT Transfer (incompISOOUT) Mode: Device only The Device mode, the core sets this interrupt to indicate that there is at least one isochronous OUT endpoint on which the transfer is not completed in the current microframe. This interrupt is asserted along with the End of Periodic Frame Interrupt (EOPF) bit in this register.

INACTIVE

0

Not active

ACTIVE

1

Incomplete Periodic Transfer

U

RW

FETSUSP

Mode: Device only. Data Fetch Suspended (FetSusp)

This interrupt is valid only in DMA mode. This interrupt indicates that the core has stopped fetching data. For IN endpoints due to the unavailability of TxFIFO space or Request Queue space. This interrupt is used by the application for an endpoint mismatch algorithm. For example, after detecting an endpoint mismatch, the application: - Sets a Global non-periodic IN NAK handshake - Disables IN endpoints - Flushes the FIFO - Determines the token sequence from the IN Token Sequence Learning Queue - Re-enables the endpoints - Clears the Global non-periodic IN NAK handshake If the Global non-periodic IN NAK is cleared, the core has not yet fetched data for the IN endpoint, and the IN token is received. The core generates an 'IN token received when FIFO empty' interrupt. It then sends the host a NAK response. To avoid this scenario, the application can check the GINTSTS.FetSusp interrupt, which ensures that the FIFO is full before clearing a Global NAK handshake. Alternatively, the application can mask the IN token received when FIFO empty interrupt when clearing a Global IN NAK handshake.

INACTIVE

0

Not active

ACTIVE

1

Data Fetch Suspended

V

RW

RESETDET

Mode: Device only. Reset detected Interrupt (ResetDet)

In Device mode, this interrupt is asserted when a reset is detected on the USB in partial power-down mode when the device is in Suspend. In Host mode, this interrupt is not asserted.

INACTIVE

0

Not active

ACTIVE

1

Reset detected Interrupt

W

R

PRTINT

Mode: Host only. Host Port Interrupt (PrtInt)

The core sets this bit to indicate a change in port status of one of the controller ports in Host mode. The application must read the Host Port Control and Status (HPRT) register to determine the exact event that caused this interrupt. The application must clear the appropriate status bit in the Host Port Control and Status register to clear this bit.

INACTIVE

0

Not active

ACTIVE

1

Host Port Interrupt

X

R

HCHINT

Mode: Host only. Host Channels Interrupt (HChInt)

The core sets this bit to indicate that an interrupt is pending on one of the channels of the core (in Host mode). The application must read the Host All Channels Interrupt (HAINT) register to determine the exact number of the channel on which the interrupt occurred, and Then read the corresponding Host Channel-n Interrupt (HCINTn) register to determine the exact cause of the interrupt. The application must clear the appropriate status bit in the HCINTn register to clear this bit.

INACTIVE

0

Not active

ACTIVE

1

Host Channels Interrupt

Y

R

PTXFEMP

Mode: Host only. Periodic TxFIFO Empty (PTxFEmp)

This interrupt is asserted when the Periodic Transmit FIFO is either half or completely empty and there is space for at least one entry to be written in the Periodic Request Queue. The half or completely empty status is determined by the Periodic TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.PTxFEmpLvl).

INACTIVE

0

Not active

ACTIVE

1

Periodic TxFIFO Empty

Z

RW

LPMINT

Mode: Host and Device. LPM Transaction Received Interrupt (LPM_Int).

- Device Mode: This interrupt is asserted when the device receives an LPM transaction and responds with a non-ERRORed response. - Host Mode: This interrupt is asserted when the device responds to an LPM transaction with a non-ERRORed response or when the host core has completed LPM transactions for the programmed number of times (GLPMCFG.RetryCnt).

INACTIVE

0

Not Active

ACTIVE

1

LPM Transaction Received Interrupt

a

RW

CONIDSTSCHNG

Mode: Host and Device. Connector ID Status Change (ConIDStsChng)

The core sets this bit when there is a change in connector ID status.

INACTIVE

0

Not Active

ACTIVE

1

Connector ID Status Change

b

RW

DISCONNINT

Mode: Host only. Disconnect Detected Interrupt (DisconnInt)

Asserted when a device disconnect is detected.

INACTIVE

0

Not active

ACTIVE

1

Disconnect Detected Interrupt

c

RW

SESSREQINT

Mode: Host and Device. Session Request/New Session Detected Interrupt (SessReqInt)

In Host mode, this interrupt is asserted when a session request is detected from the device. In Host mode, this interrupt is asserted when a session request is detected from the device. In Device mode, this interrupt is asserted when the utmisrp_bvalid signal goes high. For more information on how to use this interrupt, see 'Partial Power-Down and Clock Gating Programming Model' in the Programming Guide.

INACTIVE

0

Not active

ACTIVE

1

Session Request New Session Detected Interrupt

d

RW

WKUPINT

Mode: Host and Device. Resume/Remote Wakeup Detected Interrupt (WkUpInt)

Wakeup Interrupt during Suspend(L2) or LPM(L1) state. - During Suspend(L2): -- Device Mode: This interrupt is asserted only when Host Initiated Resume is detected on USB. -- Host Mode: This interrupt is asserted only when Device Initiated Remote Wakeup is detected on USB. For more information, see 'Partial Power-Down and Clock Gating Programming Model' in the Programming Guide. - During LPM(L1): -- Device Mode: This interrupt is asserted for either Host Initiated Resume or Device Initiated Remote Wakeup on USB. -- Host Mode: This interrupt is asserted for either Host Initiated Resume or Device Initiated Remote Wakeup on USB. For more information, see 'LPM Entry and Exit Programming Model' in the Programming Guide.

INACTIVE

0

Not active

ACTIVE

1

Resume or Remote Wakeup Detected Interrupt

GINTMSK

Address offset: 0x018

Interrupt Mask Register

This register works with the Interrupt Register (GINTSTS) to interrupt the application. When an interrupt bit is masked, the interrupt associated with that bit is not generated. However, the GINTSTS register bit corresponding to that interrupt is still set. Note: The fields of this register change depending on host or device mode.

Bit number313029282726252423222120191817161514131211109876543210
IDbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MODEMISMSK

Mode: Host and Device. Mode Mismatch Interrupt Mask (ModeMisMsk)

MASK

0

Mode Mismatch Interrupt Mask

NOMASK

1

No Mode Mismatch Interrupt Mask

B

RW

OTGINTMSK

Mode: Host and Device. OTG Interrupt Mask (OTGIntMsk)

MASK

0

OTG Interrupt Mask

NOMASK

1

No OTG Interrupt Mask

C

RW

SOFMSK

Mode: Host and Device. Start of (micro)Frame Mask (SofMsk)

MASK

0

Start of Frame Mask

NOMASK

1

No Start of Frame Mask

D

RW

RXFLVLMSK

Mode: Host and Device. Receive FIFO Non-Empty Mask (RxFLvlMsk)

MASK

0

Receive FIFO Non-Empty Mask

NOMASK

1

No Receive FIFO Non-Empty Mask

E

RW

NPTXFEMPMSK

Mode: Host and Device. Non-periodic TxFIFO Empty Mask (NPTxFEmpMsk)

MASK

0

Non-periodic TxFIFO Empty Mask

NOMASK

1

No Non-periodic TxFIFO Empty Mask

F

RW

GINNAKEFFMSK

Mode: Device only,. Global Non-periodic IN NAK Effective Mask (GINNakEffMsk)

MASK

0

Global Non-periodic IN NAK Effective Mask

NOMASK

1

No Global Non-periodic IN NAK Effective Mask

G

RW

GOUTNAKEFFMSK

Mode: Device only. Global OUT NAK Effective Mask (GOUTNakEffMsk)

MASK

0

Global OUT NAK Effective Mask

NOMASK

1

No Global OUT NAK Effective Mask

H

RW

ERLYSUSPMSK

Mode: Device only. Early Suspend Mask (ErlySuspMsk)

MASK

0

Early Suspend Mask

NOMASK

1

No Early Suspend Mask

I

RW

USBSUSPMSK

Mode: Device only. USB Suspend Mask (USBSuspMsk)

MASK

0

USB Suspend Mask

NOMASK

1

No USB Suspend Mask

J

RW

USBRSTMSK

Mode: Device only. USB Reset Mask (USBRstMsk)

MASK

0

USB Reset Mask

NOMASK

1

No USB Reset Mask

K

RW

ENUMDONEMSK

Mode: Device only. Enumeration Done Mask (EnumDoneMsk)

MASK

0

Enumeration Done Mask

NOMASK

1

No Enumeration Done Mask

L

RW

ISOOUTDROPMSK

Mode: Device only. Isochronous OUT Packet Dropped Interrupt Mask (ISOOutDropMsk)

MASK

0

Isochronous OUT Packet Dropped Interrupt Mask

NOMASK

1

No Isochronous OUT Packet Dropped Interrupt Mask

M

RW

EOPFMSK

Mode: Device only. End of Periodic Frame Interrupt Mask (EOPFMsk)

MASK

0

End of Periodic Frame Interrupt Mask

NOMASK

1

No End of Periodic Frame Interrupt Mask

N

RW

RSTRDONEINTMSK

Mode: Host and Device. Restore Done Interrupt Mask (RstrDoneIntMsk)

MASK

0

Restore Done Interrupt Mask

NOMASK

1

No Restore Done Interrupt Mask

O

RW

EPMISMSK

Mode: Device only. Endpoint Mismatch Interrupt Mask (EPMisMsk)

MASK

0

Endpoint Mismatch Interrupt Mask

NOMASK

1

No Endpoint Mismatch Interrupt Mask

P

RW

IEPINTMSK

Mode: Device only. IN Endpoints Interrupt Mask (IEPIntMsk)

MASK

0

IN Endpoints Interrupt Mask

NOMASK

1

No IN Endpoints Interrupt Mask

Q

RW

OEPINTMSK

Mode: Device only. OUT Endpoints Interrupt Mask (OEPIntMsk)

MASK

0

OUT Endpoints Interrupt Mask

NOMASK

1

No OUT Endpoints Interrupt Mask

R

RW

INCOMPLPMSK

Incomplete Periodic Transfer Mask (incomplPMsk)

Mode: Host only Incomplete Isochronous OUT Transfer Interrupt Mask (incompISOOUTMsk) Mode: Device only

MASK

0

Host mode: Incomplete Periodic Transfer MaskDevice mode: Incomplete Isochronous OUT Transfer Mask

NOMASK

1

Host mode: No Incomplete Periodic Transfer MaskDevice mode: No Incomplete Isochronous OUT Transfer Mask

S

RW

FETSUSPMSK

Mode: Device only. Data Fetch Suspended Mask (FetSuspMsk)

MASK

0

Data Fetch Suspended Mask

NOMASK

1

No Data Fetch Suspended Mask

T

RW

RESETDETMSK

Mode: Device only. Reset detected Interrupt Mask (ResetDetMsk)

MASK

0

Reset detected Interrupt Mask

NOMASK

1

No Reset detected Interrupt Mask

U

RW

PRTINTMSK

Mode: Host only. Host Port Interrupt Mask (PrtIntMsk)

MASK

0

Host Port Interrupt Mask

NOMASK

1

No Host Port Interrupt Mask

V

RW

HCHINTMSK

Mode: Host only. Host Channels Interrupt Mask (HChIntMsk)

MASK

0

Host Channels Interrupt Mask

NOMASK

1

No Host Channels Interrupt Mask

W

RW

PTXFEMPMSK

Mode: Host only. Periodic TxFIFO Empty Mask (PTxFEmpMsk)

MASK

0

Periodic TxFIFO Empty Mask

NOMASK

1

No Periodic TxFIFO Empty Mask

X

RW

LPMINTMSK

Mode: Host and Device. LPM Transaction Received Interrupt (LPM_Int)

LPM Transaction received interrupt Mask

MASK

0

LPM Transaction received interrupt Mask

NOMASK

1

No LPM Transaction received interrupt Mask

Y

RW

CONIDSTSCHNGMSK

Mode: Host and Device. Connector ID Status Change Mask (ConIDStsChngMsk)

MASK

0

Connector ID Status Change Mask

NOMASK

1

No Connector ID Status Change Mask

Z

RW

DISCONNINTMSK

Mode: Host and Device. Disconnect Detected Interrupt Mask (DisconnIntMsk)

MASK

0

Disconnect Detected Interrupt Mask

NOMASK

1

No Disconnect Detected Interrupt Mask

a

RW

SESSREQINTMSK

Mode: Host and Device. Session Request/New Session Detected Interrupt Mask (SessReqIntMsk)

MASK

0

Session Request or New Session Detected Interrupt Mask

NOMASK

1

No Session Request or New Session Detected Interrupt Mask

b

RW

WKUPINTMSK

Mode: Host and Device. Resume/Remote Wakeup Detected Interrupt Mask (WkUpIntMsk)

The WakeUp bit is used for LPM state wake up in a way similar to that of wake up in suspend state.

MASK

0

Resume or Remote Wakeup Detected Interrupt Mask

NOMASK

1

Unmask Resume Remote Wakeup Detected Interrupt

GRXSTSR

Address offset: 0x01C

Receive Status Debug Read Register

A read to the Receive Status Debug Read register returns the contents of the top of the Receive FIFO. The receive status contents must be interpreted differently in Host and Device modes. The core ignores the receive status read when the receive FIFO is empty and returns a value of 32'h0000_0000. Note: - Use of these fields vary based on whether the core is functioning as a host or a device. - Do not read this register's reset value before configuring the core because the read value is 'X' in the simulation.

Bit number313029282726252423222120191817161514131211109876543210
IDEEEEDDDDCCBBBBBBBBBBBAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

CHNUM

Channel Number (ChNum)

Mode: Host only Indicates the channel number to which the current received packet belongs. Endpoint Number (EPNum) Mode: Device only Indicates the endpoint number to which the current received packet belongs.

CHEP0

0

Channel or EndPoint 0

CHEP1

1

Channel or EndPoint 1

CHEP2

2

Channel or EndPoint 2

CHEP3

3

Channel or EndPoint 3

CHEP4

4

Channel or EndPoint 4

CHEP5

5

Channel or EndPoint 5

CHEP6

6

Channel or EndPoint 6

CHEP7

7

Channel or EndPoint 7

CHEP8

8

Channel or EndPoint 8

CHEP9

9

Channel or EndPoint 9

CHEP10

10

Channel or EndPoint 10

CHEP11

11

Channel or EndPoint 11

CHEP12

12

Channel or EndPoint 12

CHEP13

13

Channel or EndPoint 13

CHEP14

14

Channel or EndPoint 14

CHEP15

15

Channel or EndPoint 15

B

R

BCNT

Byte Count (BCnt)

In host mode, indicates the byte count of the received IN data packet. In device mode, indicates the byte count of the received data packet.

C

R

DPID

Data PID (DPID)

In host mode, indicates the Data PID of the received packet. In device mode, indicates the Data PID of the received OUT data packet.

DATA0

0

DATA0

DATA2

1

DATA2

DATA1

2

DATA1

MDATA

3

MDATA

D

R

PKTSTS

Packet Status (PktSts) indicates the status of the received packet.

In host mode, In device mode,

OUTNAK

1

Global OUT NAK in device mode (triggers an interrupt)

INOUTDPRX

2

IN data packet received in host mode and OUT data packet received in device mode

INOUTTRCOM

3

IN or OUT transfer completed in both host and device mode (triggers an interrupt)

DSETUPCOM

4

SETUP transaction completed in device mode (triggers an interrupt)

DTTOG

5

Data toggle error (triggers an interrupt) in host mode

DSETUPRX

6

SETUP data packet received in device mode

CHHALT

7

Channel halted in host mode (triggers an interrupt)

E

R

FN

Mode: Device only. Frame Number (FN)

This is the least significant 4 bits of the (micro)Frame number in which the packet is received on the USB. This field is supported only when isochronous OUT endpoints are supported.

GRXSTSP

Address offset: 0x020

Receive Status Read/Pop Register

A read to the Receive Status Read and Pop register returns the contents of the top of the Receive FIFO and additionally pops the top data entry out of the RxFIFO. The receive status contents must be interpreted differently in Host and Device modes. The core ignores the receive status pop/read when the receive FIFO is empty and returns a value of 32'h0000_0000. The application must only pop the Receive Status FIFO when the Receive FIFO Non-Empty bit of the Core Interrupt register (GINTSTS.RxFLvl) is asserted. Note: - Use of these fields vary based on whether the core is functioning as a host or a device. - Do not read this register's reset value before configuring the core because the read value is 'X' in the simulation.

Bit number313029282726252423222120191817161514131211109876543210
IDEEEEDDDDCCBBBBBBBBBBBAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

CHNUM

Channel Number (ChNum)

Mode: Host only Indicates the channel number to which the current received packet belongs. Endpoint Number (EPNum) Mode: Device only Indicates the endpoint number to which the current received packet belongs.

CHEP0

0

Channel or EndPoint 0

CHEP1

1

Channel or EndPoint 1

CHEP2

2

Channel or EndPoint 2

CHEP3

3

Channel or EndPoint 3

CHEP4

4

Channel or EndPoint 4

CHEP5

5

Channel or EndPoint 5

CHEP6

6

Channel or EndPoint 6

CHEP7

7

Channel or EndPoint 7

CHEP8

8

Channel or EndPoint 8

CHEP9

9

Channel or EndPoint 9

CHEP10

10

Channel or EndPoint 10

CHEP11

11

Channel or EndPoint 11

CHEP12

12

Channel or EndPoint 12

CHEP13

13

Channel or EndPoint 13

CHEP14

14

Channel or EndPoint 14

CHEP15

15

Channel or EndPoint 15

B

R

BCNT

Byte Count (BCnt)

In host mode, indicates the byte count of the received IN data packet. In device mode, indicates the byte count of the received data packet.

C

R

DPID

Data PID (DPID)

In host mode, indicates the Data PID of the received packet. In device mode, indicates the Data PID of the received OUT data packet.

DATA0

0

DATA0

DATA2

1

DATA2

DATA1

2

DATA1

MDATA

3

MDATA

D

R

PKTSTS

Packet Status (PktSts) indicates the status of the received packet.

In host mode, In device mode,

OUTNAK

1

Global OUT NAK in device mode (triggers an interrupt)

INOUTDPRX

2

IN data packet received in host mode and OUT data packet received in device mode

INOUTTRCOM

3

IN or OUT transfer completed in both host and device mode (triggers an interrupt)

DSETUPCOM

4

SETUP transaction completed in device mode (triggers an interrupt)

DTTOG

5

Data toggle error (triggers an interrupt) in host mode

E

R

FN

Mode: Device only. Frame Number (FN)

This is the least significant 4 bits of the (micro)Frame number in which the packet is received on the USB. This field is supported only when isochronous OUT endpoints are supported.

GRXFSIZ

Address offset: 0x024

Receive FIFO Size Register

The application can program the RAM size that must be allocated to the RxFIFO.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

RW

RXFDEP

Mode: Host and Device. RxFIFO Depth (RxFDep)

This value is in terms of 32-bit words. - Minimum value is 16 - Maximum value is 32,768 The power-on reset value of this register is specified as the Largest Rx Data FIFO Depth during configuration. If Enable Dynamic FIFO Sizing is selected in coreConsultant, these flops are optimized, and reads return the power-on value. If Enable Dynamic FIFO Sizing is selected in coreConsultant, you can write a new value in this field. Programmed values must not exceed the power-on value.

GNPTXFSIZ

Address offset: 0x028

Non-periodic Transmit FIFO Size Register

The application can program the RAM size and the memory start address for the Non-periodic TxFIFO Note: The fields of this register change depending on host or device mode.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBAAAAAAAAAAAA
Reset 0x0C000C0000001100000000000000110000000000
IDR/WFieldValue IDValueDescription
A

RW

NPTXFSTADDR

Non-periodic Transmit RAM Start Address (NPTxFStAddr)

For host mode, this field is always valid. This field contains the memory start address for Non-periodic Transmit FIFO RAM. - This field is determined during coreConsultant configuration by "Enable Dynamic FIFO Sizing?" (OTG_DFIFO_DYNAMIC):OTG_DFIFO_DYNAMIC = 0 These flops are optimized, and reads return the power-on value. - OTG_DFIFO_DYNAMIC = 1 The application can write a new value in this field. Programmed values must not exceed the power-on value set in coreConsultant. Programmed values must not exceed the power-on value set in coreConsultant. The power-on reset value of this field is specified during coreConsultant configuration by Largest Rx Data FIFO Depth (parameter OTG_RX_DFIFO_DEPTH).

B

RW

NPTXFDEP

Mode: Host only. Non-periodic TxFIFO Depth (NPTxFDep)

For host mode, this field is always valid. For device mode, this field is valid only when OTG_EN_DED_TX_FIFO=0. This value is in terms of 32-bit words. - Minimum value is 16 - Maximum value is 32,768 This attribute of field is determined during coreConsultant configuration by "Enable Dynamic FIFO Sizing?" (OTG_DFIFO_DYNAMIC): - OTG_DFIFO_DYNAMIC = 0: These flops are optimized, and reads return the power-on value. - OTG_DFIFO_DYNAMIC = 1: The application can write a new value in this field. Programmed values must not exceed the power-on value set in coreConsultant. The power-on reset value of this field is specified during coreConsultant configuration as Largest IN Endpoint FIFO 0 Depth (parameter OTG_TX_DINEP_DFIFO_DEPTH_0).

GNPTXSTS

Address offset: 0x02C

Non-periodic Transmit FIFO/Queue Status Register

In Device mode, this register is valid only in Shared FIFO operation. This read-only register contains the free space information for the Non-periodic TxFIFO and the Non-periodic Transmit Request Queue.

Bit number313029282726252423222120191817161514131211109876543210
IDCCCCCCCBBBBBBBBAAAAAAAAAAAAAAAA
Reset 0x00080C0000000000000010000000110000000000
IDR/WFieldValue IDValueDescription
A

R

NPTXFSPCAVAIL

Non-periodic TxFIFO Space Avail (NPTxFSpcAvail)

Indicates the amount of free space available in the Non-periodic TxFIFO. Values are in terms of 32-bit words. Reset: Configurable

B

R

NPTXQSPCAVAIL

Non-periodic Transmit Request Queue Space Available (NPTxQSpcAvail)

Indicates the amount of free space available in the Non-periodic Transmit Request Queue. This queue holds both IN and OUT requests in Host mode. Device mode has only IN requests. - n: n locations available (0 <= n <= 8) Reset: Configurable

FULL

0

Non-periodic Transmit Request Queue is full

QUE1

1

1 location available

QUE2

2

2 locations available

QUE3

3

3 locations available

QUE4

4

4 locations available

QUE5

5

5 locations available

QUE6

6

6 locations available

QUE7

7

7 locations available

QUE8

8

8 locations available

C

R

NPTXQTOP

Top of the Non-periodic Transmit Request Queue (NPTxQTop)

Entry in the Non-periodic Tx Request Queue that is currently being processed by the MAC.

INOUTTK

0

IN/OUT token

ZEROTX

1

Zero-length transmit packet (device IN/host OUT)

PINGCSPLIT

2

PING/CSPLIT token

CHNHALT

3

Channel halt command

GGPIO

Address offset: 0x038

General Purpose Input/Output Register

The application can use this register for general purpose input/output ports or for debugging.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

GPI

General Purpose Input (GPI) This field's read value reflects the gp_i[15:0] core input value.

B

RW

GPO

General Purpose Output (GPO) This field is driven as an output from the core, gp_o[15:0]. The application can program this field to determine the corresponding value on the gp_o[15:0] output.

GUID

Address offset: 0x03C

User ID Register

This is a read/write register containing the User ID. It is implemented only if Remove Optional Features? was deselected during coreConsultant configuration (parameter OTG_RM_OPT_FEATURES = 0). The power-on value for this register is specified as the Power-on Value of User ID Register User Identification Register during coreConsultant configuration (parameter OTG_USERID). This register can be used in the following ways: - To store the version or revision of your system - To store hardware configurations that are outside the DWC_otg core - As a scratch register

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

GUID

User ID (UserID) Application-programmable ID field.

Reset value is configurable.

GSNPSID

Address offset: 0x040

Synopsys ID Register

This read-only register contains the release number of the core being used.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x4F54500B01001111010101000101000000001011
IDR/WFieldValue IDValueDescription
A

R

SYNOPSYSID

Release number of the controller being used currently.

Bits [31:16]: - 0x4f54: ASCII Value for OT Bits [15:0]: Current Release Number. For example, 0x400a corresponds to v4.00a Release number.

GHWCFG1

Address offset: 0x044

User Hardware Configuration 1 Register

This register contains the logical endpoint direction(s) selected using coreConsultant.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

EPDIR

This 32-bit field uses two bits per

endpoint to determine the endpoint direction. Endpoint ... Direction Note: This field is configured using the OTG_EP_DIR_1(n) parameter.

GHWCFG2

Address offset: 0x048

User Hardware Configuration 2 Register

This register contains configuration options selected using coreConsultant.

Bit number313029282726252423222120191817161514131211109876543210
IDMMMMMLLKKJIHGGGGFFFFEEDDCBBAAA
Reset 0x228FFC5200100010100011111111110001010010
IDR/WFieldValue IDValueDescription
A

R

OTGMODE

Mode of Operation (OtgMode)

- 3'b000: HNP- and SRP-Capable OTG (Host & Device) Note: This field is configured using the OTG_MODE parameter.

HNPSRP

0

HNP- and SRP-Capable OTG (Host and Device)

SRPOTG

1

SRP-Capable OTG (Host and Device)

NHNPNSRP

2

Non-HNP and Non-SRP Capable OTG (Host and Device)

SRPCAPD

3

SRP-Capable Device

NONOTGD

4

Non-OTG Device

SRPCAPH

5

SRP-Capable Host

NONOTGH

6

Non-OTG Host

B

R

OTGARCH

Architecture (OtgArch)

- 2'b00: Completer-Only Note: This field is configured using the OTG_ARCHITECTURE parameter.

COMPLETERMODE

0

Completer Mode

EXTERNALDMA

1

External DMA Mode

INTERNALDMA

2

Internal DMA Mode

C

R

SINGPNT

Point-to-Point (SingPnt)

- 1'b0: Multi-point application (hub and split support) Note: This field is configured using the OTG_SINGLE_POINT parameter.

MULTIPOINT

0

Multi-point application (hub and split support)

SINGLEPOINT

1

Single-point application (no hub and split support)

D

R

HSPHYTYPE

High-Speed PHY Interface Type (HSPhyType)

- 2'b00: High-Speed interface not supported Note: This field is configured using the OTG_HSPHY_INTERFACE parameter.

NOHS

0

High-Speed interface not supported

UTMIPLUS

1

High Speed Interface UTMI+ is supported

ULPI

2

High Speed Interface ULPI is supported

UTMIPUSULPI

3

High Speed Interfaces UTMI+ and ULPI is supported

E

R

FSPHYTYPE

Full-Speed PHY Interface Type (FSPhyType)

- 2'b00: Full-speed interface not supported Note: This field is configured using the OTG_FSPHY_INTERFACE parameter.

NOFS

0

Full-speed interface not supported

FS

1

Dedicated full-speed interface is supported

FSPLUSUTMI

2

FS pins shared with UTMI+ pins is supported

FSPLUSULPI

3

FS pins shared with ULPI pins is supported

F

R

NUMDEVEPS

Number of Device Endpoints (NumDevEps)

Indicates the number of device endpoints supported by the core in Device mode. The range of this field is 0-15. Note: This field is configured using the OTG_NUM_EPS parameter.

ENDPT0

0

End point 0

ENDPT1

1

End point 1

ENDPT2

2

End point 2

ENDPT3

3

End point 3

ENDPT4

4

End point 4

ENDPT5

5

End point 5

ENDPT6

6

End point 6

ENDPT7

7

End point 7

ENDPT8

8

End point 8

ENDPT9

9

End point 9

ENDPT10

10

End point 10

ENDPT11

11

End point 11

ENDPT12

12

End point 12

ENDPT13

13

End point 13

ENDPT14

14

End point 14

ENDPT15

15

End point 15

G

R

NUMHSTCHNL

Number of Host Channels (NumHstChnl)

Indicates the number of host channels supported by the core in Host mode. The range of this field is 0-15: 0 specifies 1 channel, 15 specifies 16 channels. Note: This field is configured using the OTG_NUM_HOST_CHAN parameter.

HOSTCH0

0

Host Channel 1

HOSTCH1

1

Host Channel 2

HOSTCH2

2

Host Channel 3

HOSTCH3

3

Host Channel 4

HOSTCH4

4

Host Channel 5

HOSTCH5

5

Host Channel 6

HOSTCH6

6

Host Channel 7

HOSTCH7

7

Host Channel 8

HOSTCH8

8

Host Channel 9

HOSTCH9

9

Host Channel 10

HOSTCH10

10

Host Channel 11

HOSTCH11

11

Host Channel 12

HOSTCH12

12

Host Channel 13

HOSTCH13

13

Host Channel 14

HOSTCH14

14

Host Channel 15

HOSTCH15

15

Host Channel 16

H

R

PERIOSUPPORT

Periodic OUT Channels Supported in Host Mode (PerioSupport)

- 1'b0: No Note: This field is configured using the OTG_EN_PERIO_HOST parameter.

DISABLED

0

Periodic OUT Channels is not supported in Host Mode

ENABLED

1

Periodic OUT Channels Supported in Host Mode Supported

I

R

DYNFIFOSIZING

Dynamic FIFO Sizing Enabled (DynFifoSizing)

- 1'b0: No Note: This field is configured using the OTG_DFIFO_DYNAMIC parameter.

DISABLED

0

Dynamic FIFO Sizing Disabled

ENABLED

1

Dynamic FIFO Sizing Enabled

J

R

MULTIPROCINTRPT

Multi Processor Interrupt Enabled (MultiProcIntrpt)

- 1'b0: No Note: This field is configured using the OTG_MULTI_PROC_INTRPT parameter.

DISABLED

0

No Multi Processor Interrupt Enabled

ENABLED

1

Multi Processor Interrupt Enabled

K

R

NPTXQDEPTH

Non-periodic Request Queue Depth (NPTxQDepth)

- 2'b00: 2 Note: This field is configured using the OTG_NPERIO_TX_QUEUE_DEPTH parameter.

TWO

0

Queue size 2

FOUR

1

Queue size 4

EIGHT

2

Queue size 8

L

R

PTXQDEPTH

Host Mode Periodic Request Queue Depth (PTxQDepth)

- 2'b00: 2 Note: This field is configured using the OTG_PERIO_TX_QUEUE_DEPTH parameter.

QUE2

0

Queue Depth 2

QUE4

1

Queue Depth 4

QUE8

2

Queue Depth 8

QUE16

3

Queue Depth 16

M

R

TKNQDEPTH

Device Mode IN Token Sequence Learning Queue Depth (TknQDepth)

Range: 0-30 Note: This field is configured using the OTG_TOKEN_QUEUE_DEPTH parameter.

GHWCFG3

Address offset: 0x04C

User Hardware Configuration 3 Register

This register contains configuration options selected using coreConsultant.

Bit number313029282726252423222120191817161514131211109876543210
IDLLLLLLLLLLLLLLLLKJIHGFEDCBBBAAAA
Reset 0x0BE0C0E800001011111000001100000011101000
IDR/WFieldValue IDValueDescription
A

R

XFERSIZEWIDTH

Width of Transfer Size Counters (XferSizeWidth)

- 4'b0000: 11 bits ... Note: This field is configured using the OTG_PACKET_COUNT_WIDTH parameter.

WIDTH11

0

Width of Transfer Size Counter 11 bits

WIDTH12

1

Width of Transfer Size Counter 12 bits

WIDTH13

2

Width of Transfer Size Counter 13 bits

WIDTH14

3

Width of Transfer Size Counter 14 bits

WIDTH15

4

Width of Transfer Size Counter 15 bits

WIDTH16

5

Width of Transfer Size Counter 16 bits

WIDTH17

6

Width of Transfer Size Counter 17 bits

WIDTH18

7

Width of Transfer Size Counter 18 bits

WIDTH19

8

Width of Transfer Size Counter 19 bits

B

R

PKTSIZEWIDTH

Width of Packet Size Counters (PktSizeWidth)

- 3'b000: 4 bits Note: This field is configured using the OTG_PACKET_COUNT_WIDTH parameter.

BITS4

0

Width of Packet Size Counter 4

BITS5

1

Width of Packet Size Counter 5

BITS6

2

Width of Packet Size Counter 6

BITS7

3

Width of Packet Size Counter 7

BITS8

4

Width of Packet Size Counter 8

BITS9

5

Width of Packet Size Counter 9

BITS10

6

Width of Packet Size Counter 10

C

R

OTGEN

OTG Function Enabled (OtgEn)

The application uses this bit to indicate the OTG capabilities of the controller . Note: This field is configured using the OTG_MODE parameter.

DISABLED

0

Not OTG Capable

ENABLED

1

OTG Capable

D

R

I2CINTSEL

I2C Selection (I2CIntSel)

- 1'b0: I2C Interface is not available on the controller. Note: This field is configured using the OTG_I2C_INTERFACE parameter.

DISABLED

0

I2C Interface is not available

ENABLED

1

I2C Interface is available

E

R

VNDCTLSUPT

Vendor Control Interface Support (VndctlSupt)

- 1'b0: Vendor Control Interface is not available on the core. Note: This field is configured using the OTG_VENDOR_CTL_INTERFACE parameter.

DISABLED

0

Vendor Control Interface is not available.

ENABLED

1

Vendor Control Interface is available.

F

R

OPTFEATURE

Optional Features Removed (OptFeature)

Indicates whether the User ID register, GPIO interface ports, and SOF toggle and counter ports were removed for gate count optimization by enabling Remove Optional Features. Note: This field is configured using the OTG_RM_OPT_FEATURES parameter.

DISABLED

0

Optional features were not Removed

ENABLED

1

Optional Features have been Removed

G

R

RSTTYPE

Reset Style for Clocked always Blocks in RTL (RstType)

- 1'b0: Asynchronous reset is used in the controller Note: This field is configured using the OTG_SYNC_RESET_TYPE parameter.

ASYNCRST

0

Asynchronous reset is used in the core

SYNCRST

1

Synchronous reset is used in the core

H

R

ADPSUPPORT

This bit indicates whether ADP logic is present within or external to the controller

- 0: No ADP logic present with the controller - 1: ADP logic is present along with the controller.

DISABLED

0

ADP logic is not present along with the controller

ENABLED

1

ADP logic is present along with the controller

I

R

HSICMODE

HSIC mode specified for Mode of Operation

Value Range: 0 - 1 - 1: HSIC-capable with shared UTMI PHY interface - 0: Non-HSIC-capable

DISABLED

0

No HSIC capability

ENABLED

1

HSIC-capable with shared UTMI PHY interface

J

R

BCSUPPORT

This bit indicates the controller support for Battery Charger.

- 0 - No Battery Charger Support

DISABLED

0

No Battery Charger Support

ENABLED

1

Battery Charger Support present

K

R

LPMMODE

LPM mode specified for Mode of Operation.

DISABLED

0

LPM disabled

ENABLED

1

LPM enabled

L

R

DFIFODEPTH

DFIFO Depth (DfifoDepth - EP_LOC_CNT)

This value is in terms of 32-bit words. - Minimum value is 32 - Maximum value is 32,768 Note: This field is configured using the OTG_DFIFO_DEPTH parameter. For more information on EP_LOC_CNT, see the "Endpoint Information Controller (EPINFO_CTL)" section.

GHWCFG4

Address offset: 0x050

User Hardware Configuration 4 Register

This register contains configuration options selected using coreConsultant. Note: Bit [31] is available only when Scatter/Gather DMA mode is enabled. When Scatter/Gather DMA mode is disabled, this field is reserved.

Bit number313029282726252423222120191817161514131211109876543210
IDUTSSSSRQPONMLLLLKKJIHGFEDCBAAAA
Reset 0x3E10AA6000111110000100001010101001100000
IDR/WFieldValue IDValueDescription
A

R

NUMDEVPERIOEPS

Number of Device Mode Periodic IN Endpoints (NumDevPerioEps)

Range: 0-15

VALUE0

0

Number of Periodic IN EPs is 0

VALUE1

1

Number of Periodic IN EPs is 1

VALUE2

2

Number of Periodic IN EPs is 2

VALUE3

3

Number of Periodic IN EPs is 3

VALUE4

4

Number of Periodic IN EPs is 4

VALUE5

5

Number of Periodic IN EPs is 5

VALUE6

6

Number of Periodic IN EPs is 6

VALUE7

7

Number of Periodic IN EPs is 7

VALUE8

8

Number of Periodic IN EPs is 8

VALUE9

9

Number of Periodic IN EPs is 9

VALUE10

10

Number of Periodic IN EPs is 10

VALUE11

11

Number of Periodic IN EPs is 11

VALUE12

12

Number of Periodic IN EPs is 12

VALUE13

13

Number of Periodic IN EPs is 13

VALUE14

14

Number of Periodic IN EPs is 14

VALUE15

15

Number of Periodic IN EPs is 15

B

R

PARTIALPWRDN

Enable Partial Power Down (PartialPwrDn)

- 1'b0: Partial Power Down Not Enabled

DISABLED

0

Partial Power Down disabled

ENABLED

1

Partial Power Down enabled

C

R

AHBFREQ

Minimum AHB Frequency Less Than 60 MHz (AhbFreq)

- 1'b0: No

DISABLED

0

Minimum AHB Frequency More Than 60 MHz

ENABLED

1

Minimum AHB Frequency Less Than 60 MHz

D

R

HIBERNATION

Enable Hibernation (Hibernation)

- 1'b0: Hibernation feature not enabled

DISABLED

0

Hibernation feature disabled

ENABLED

1

Hibernation feature enabled

E

R

EXTENDEDHIBERNATION

Enable Hibernation

- 1'b0: Extended Hibernation feature not enabled

DISABLED

0

Extended Hibernation feature not enabled

ENABLED

1

Extended Hibernation feature enabled

F

R

ENHANCEDLPMSUPT1

Enhanced LPM Support1 (EnhancedLPMSupt1)

- This bit indicates that the controller supports L1 entry based on FIFO status. - Accept L1 Request even if Bulk/Interrupt TxFIFO is not empty.

DISABLED

0

Reject L1 Request even if Non-Periodic (Bulk/Interrupt) TxFIFO is not empty.

ENABLED

1

Accept L1 Request even if Non-Periodic (Bulk/Interrupt) TxFIFO is not empty

G

R

SERVINTFLOW

Service Interval Flow

This bit indicates that the controller supports Service-Interval based scheduling flow for ISOC IN EPs.

DISABLED

0

Service Interval Flow not supported

ENABLED

1

Service Interval Flow supported

H

R

IPGISOCSUPT

Interpacket Gap ISOC OUT Worst-case Support (ipgisocSupt)

This bit indicates that the controller supports the worst-case scenario of Rx followed by Rx Inter Packet Gap (IPG) (32-bit times) as per the UTMI Specification for any token following an ISOC OUT token. Without this support, when any token follows an ISOC OUT token with the worst-case IPG, the controller does not detect the followed token. The worst-case IPG of the controller without this support depends on the AHB and PHY clock frequency.By default IPG Support is enabled.

DISABLED

0

Interpacket Gap ISOC OUT Worst-case Support is Disabled

ENABLED

1

Interpacket Gap ISOC OUT Worst-case Support is Enabled (Default)

I

R

ACGSUPT

Active Clock Gating Support

This bit indicates that the controller supports the Dynamic (Switching) Power Reduction during periods when there is no USB and AHB Traffic.

DISABLED

0

ENABLED

1

Active Clock Gating Support

J

R

ENHANCEDLPMSUPT

Enhanced LPM Support (EnhancedLPMSupt)

This bit indicates that the controller supports the following behavior: L1 Entry Behavior based on FIFO Status - TX FIFO - Accept L1 Request even if ISOC IN TX FIFO is not empty. - Reject L1 Request if Non-Periodic TX FIFO is not empty. - Ensure application can flush the TX FIFO while the Controller is in L1. - RX FIFO - Accept L1 Request even if RX FIFO (common to Periodic and Non-Periodic) is not empty. - Accept L1 Request but delay SLEEPM assertion until RX SINK Buffer is empty. Prevent L1 Entry if a Control Transfer is in progress on any Control Endpoint. Ability to Flush TxFIFO even if PHY Clock is gated.

ENABLED

1

Enhanced LPM Support is enabled

K

R

PHYDATAWIDTH

UTMI+ PHY/ULPI-to-Internal UTMI+ Wrapper Data Width

(PhyDataWidth)<vr>When a ULPI PHY is used, an internal wrapper converts ULPI to UTMI+.

WIDTH1

0

8 bits

WIDTH2

1

16 bits

WIDTH3

2

8/16 bits, software selectable

L

R

NUMCTLEPS

Number of Device Mode Control Endpoints in Addition to

Endpoint 0 (NumCtlEps) Range: 0-15

ENDPT0

0

End point 0

ENDPT1

1

End point 1

ENDPT2

2

End point 2

ENDPT3

3

End point 3

ENDPT4

4

End point 4

ENDPT5

5

End point 5

ENDPT6

6

End point 6

ENDPT7

7

End point 7

ENDPT8

8

End point 8

ENDPT9

9

End point 9

ENDPT10

10

End point 10

ENDPT11

11

End point 11

ENDPT12

12

End point 12

ENDPT13

13

End point 13

ENDPT14

14

End point 14

ENDPT15

15

End point 15

M

R

IDDGFLTR

IDDIG Filter Enable (IddgFltr)

- 1'b0: No filter

DISABLED

0

Iddig Filter Disabled

ENABLED

1

Iddig Filter Enabled

N

R

VBUSVALIDFLTR

VBUS Valid Filter Enabled (VBusValidFltr)

- 1'b0: No filter

DISABLED

0

Vbus Valid Filter Disabled

ENABLED

1

Vbus Valid Filter Enabled

O

R

AVALIDFLTR

a_valid Filter Enabled (AValidFltr)

- 1'b0: No filter

DISABLED

0

No filter

ENABLED

1

Filter

P

R

BVALIDFLTR

b_valid Filter Enabled (BValidFltr)

- 1'b0: No filter

DISABLED

0

No Filter

ENABLED

1

Filter

Q

R

SESSENDFLTR

session_end Filter Enabled (SessEndFltr)

- 1'b0: No filter

DISABLED

0

No filter

ENABLED

1

Filter

R

R

DEDFIFOMODE

Enable Dedicated Transmit FIFO for device IN Endpoints

(DedFifoMode)

DISABLED

0

Dedicated Transmit FIFO Operation not enabled

ENABLED

1

Dedicated Transmit FIFO Operation enabled

S

R

INEPS

Number of Device Mode IN Endpoints Including Control Endpoints (INEps)

- 0: 1 IN Endpoint - 1: 2 IN Endpoints .... - 15: 16 IN Endpoints

ENDPT1

0

1 IN Endpoint

ENDPT2

1

2 IN Endpoints

ENDPT3

2

3 IN Endpoints

ENDPT4

3

4 IN Endpoints

ENDPT5

4

5 IN Endpoints

ENDPT6

5

6 IN Endpoints

ENDPT7

6

7 IN Endpoints

ENDPT8

7

8 IN Endpoints

ENDPT9

8

9 IN Endpoints

ENDPT10

9

10 IN Endpoints

ENDPT11

10

11 IN Endpoints

ENDPT12

11

12 IN Endpoints

ENDPT13

12

13 IN Endpoints

ENDPT14

13

14 IN Endpoints

ENDPT15

14

15 IN Endpoints

ENDPT16

15

16 IN Endpoints

T

R

DESCDMAENABLED

Scatter/Gather DMA configuration

- 1'b0: Non-Scatter/Gather DMA configuration

DISABLE

0

Non-Scatter/Gather DMA configuration

ENABLE

1

Scatter/Gather DMA configuration

U

R

DESCDMA

Scatter/Gather DMA configuration

- 1'b0: Non Dynamic configuration Note: This field is configured using the OTG_EN_DESC_DMA parameter.

CONFIG1

0

Non Dynamic configuration

CONFIG2

1

Dynamic configuration

GLPMCFG

Address offset: 0x054

LPM Config Register

Register to control the LPM functionality of the controller.

Bit number313029282726252423222120191817161514131211109876543210
IDONMMMLKKKJJJJIHGGFFFFFEDCCCCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

LPMCAP

LPM-Capable (LPMCap)

The application uses this bit to control the controller LPM capabilities. If the core operates as a non-LPM-capable host, it cannot request the connected device/hub to activate LPM mode. If the core operates as a non-LPM-capable device, it cannot respond to any LPM transactions. If GLPMCFG.LPMCap is 1'b0, the software must not set any of the remaining fields in the GLPMCFG register and these fields must hold their Reset values.

DISABLED

0

LPM capability is not enabled

ENABLED

1

LPM capability is enabled

B

RW

APPL1RES

Mode: Device only. LPM response programmed by application (AppL1Res)

Handshake response to LPM token pre-programmed by device application software. The response depends on GLPMCFG.LPMCap. If GLPMCFG.LPMCap is 1'b0, the core operates as a non-LPM-capable Device and does not respond to any LPM transactions. If GLPMCFG.LPMCap is 1'b1, the core responds as follows: - 1: ACK Even though an ACK is pre-programmed, the core responds with an ACK only on a successful LPM transaction. The LPM transaction is successful if: -- There are no PID/CRC5 errors in both the EXT token and the LPM token (else ERROR) -- A valid bLinkState = 0001B (L1) is received in the LPM transaction (else STALL) -- No data is pending in the Transmit queue (else NYET) - 0: NYET The pre-programmed software bit is overridden for response to LPM token when: -- The received bLinkState is not L1 (STALL response) -- An error is detected in either of the LPM token packets due to corruption (ERROR response).

NYETRESP

0

The core responds with a NYET when an error is detected in either of the LPM token packets due to corruption

ACKRESP

1

The core responds with an ACK only on a successful LPM transaction

C

RW

HIRD

Host-Initiated Resume Duration (HIRD)

EnBESL = 1'b0 Host Initiated Resume Duration. - Host Mode: The value of HIRD to be sent in an LPM transaction. This value is also used to initiate resume for a duration TL1HubDrvResume1 for host-initiated resume. - Device Mode: This field is read only and is updated with the Received LPM Token HIRD bmAttribute when an ACK/NYET/STALL response is sent to an LPM transaction. If HIRD[3:0], EnBESL = 1'b1 Best Effort Service Latency (BESL). - Host Mode: The value of BESL to be sent in an LPM transaction. This value is also used to initiate resume for a duration TL1HubDrvResume1 for host-initiated resume. - Device Mode: This field is updated with the Received LPM Token BESL bmAttribute when an ACK/NYET/STALL response is sent to an LPM transaction. If BESL[3:0],

D

RW

BREMOTEWAKE

RemoteWakeEnable (bRemoteWake)

Mode: Host and Device Host Mode: The value of remote wake up to be sent in wIndex field of LPM transaction. Device Mode: This field is read only. It is updated with the Received LPM Token bRemoteWake bmAttribute when an ACK/NYET/STALL response is sent to an LPM transaction.

DISABLED

0

Remote Wakeup is disabled

ENABLED

1

In Host or device mode, this field takes the value of remote wake up

E

RW

ENBLSLPM

Enable utmi_sleep_n (EnblSlpM)

Mode: Host and Device For ULPI interface: The application uses this bit to control the utmi_sleep_n assertion to the PHY when in L1 state. For the host, this bit is valid only in Local Device mode. Note: - When a ULPI interface is configured, enabling this bit results in a write to Bit 7 of the ULPI Function Control register. The Synopsys ULPI PHY supports writing to this bit, and in the L1 state asserts SleepM when utmi_l1_suspend_n cannot be asserted. - When a ULPI/UTMI PHY associated with the controller (Host or device) does not support the LPM sleep feature clock gating, it is recommended to keep the EnblSlpM bit in disabled state (= 1'b0). This ensures the ULPI wrapper is in enabled mode and detects any wakeup events. For all other interfaces: The application uses this bit to control utmi_sleep_n assertion to the PHY in the L1 state. For the host, this bit is valid only in Local Device mode.

DISABLED

0

utmi_sleep_n assertion from the core is not transferred to the external PHY

ENABLED

1

utmi_sleep_n assertion from the core is transferred to the external PHY when utmi_l1_suspend_n cannot be asserted

F

RW

HIRDTHRES

BESL/HIRD Threshold (HIRD_Thres)

Device Mode: Note: When a ULPI/UTMI PHY associated with the controller (Host or device) does not support the LPM sleep feature clock gating, it is recommended to keep the HIRD_Thres[12] bit in disabled state (= 1'b0). This ensures the ULPI wrapper is in enabled mode and detects any wakeup events. - EnBESL = 1'b0: The core puts the PHY into deep low power mode in L1 (by core asserting L1SuspendM) when HIRD value is greater than or equal to the value defined in this field HIRD_Thres[3:0] and HIRD_Thres[4] is set to 1b1. - EnBESL = 1'b1: The core puts the PHY into deep low power mode in L1 (by core asserting L1SuspendM) when BESL value is greater than or equal to the value defined in this field BESL_Thres[3:0] and BESL_Thres [4] is set to 1'b1. - DCTL.DeepSleepBESLReject = 1'b1: In device initiated resume, the core expects the Host to resume service to the device within the BESL value corresponding to L1 exit time specified in HIRD_Thres[3:0]. The Device sends a NYET response when the received HIRD in LPM token is greater than HIRD threshold. Host Mode: The core puts the PHY into deep low power mode in L1 (by core asserting L1SuspendM) when HIRD_Thres[4] is set to 1'b1. HIRD_Thres[3:0] specifies the time for which resume signaling is to be reflected by host (TL1HubDrvResume2) on the USB bus when it detects device initiated resume. To differentiate between Deep Sleep and Shallow Sleep, HIRD greater than or equal to HIRD threshold comparison is done. For differentiating between NYET or ACK response for LPM token HIRD greater than HIRD Threshold comparison is used. - When EnBESL = 1'b0, HIRD_Thres must not be programmed with a value greater than 4'b1100 in host mode since this exceeds maximum TL1HubDrvResume2. - When EnBESL = 1'b1, HIRD_Thres must not be programmed with a value greater than 4'b0110 in host mode since this exceeds maximum TL1HubDrvResume2. For additional details, see the "Additional Details on GLPMCFG.HIRD_Thres Register Field" section in the databook.

G

R

COREL1RES

LPM Response (CoreL1Res)

Device Mode: The response of the core to LPM transaction received is reflected in these two bits. Host Mode: Handshake response received from local device for LPM transaction

LPMRESP1

0

ERROR : No handshake response

LPMRESP2

1

STALL response

LPMRESP3

2

NYET response

LPMRESP4

3

ACK response

H

R

SLPSTS

Port Sleep Status (SlpSts)

Device Mode: This bit is set as long as a Sleep condition is present on the USB bus. The core enters the Sleep state when an ACK response is sent to an LPM transaction and the TL1TokenRetry timer has expired. To stop the PHY clock, the application must set the Port Clock Stop bit, which asserts the PHY Suspend input signal. The application must rely on SlpSts and not ACK in CoreL1Res to confirm transition into sleep. The core comes out of sleep: - When there is any activity on the USB line_state - When the application writes to the Remote Wakeup Signaling bit in the Device Control register (DCTL.RmtWkUpSig) or when the application resets or soft-disconnects the device. Host Mode: The host transitions to Sleep (L1) state as a side-effect of a successful LPM transaction by the core to the local port with ACK response from the device. The read value of this bit reflects the current Sleep status of the port. The core clears this bit after: - The core detects a remote L1 Wakeup signal; - The application sets the Port Reset bit or the Port L1Resume bit in the HPRT register; or - The application sets the L1Resume/ Remote Wakeup Detected Interrupt bit or Disconnect Detected Interrupt bit in the Core Interrupt register (GINTSTS.L1WkUpInt or GINTSTS.DisconnInt, respectively).

CORENOTINL1

0

In Host or Device mode, this bit indicates core is not in L1

COREINL1

1

In Host mode, this bit indicates the core transitions to Sleep state as a successful LPM transaction. In Device mode, the core enters the Sleep state when an ACK response is sent to an LPM transaction

I

R

L1RESUMEOK

Sleep State Resume OK (L1ResumeOK)

Device and Host Mode: Indicates that the application or host can start resume from Sleep state. This bit is valid in LPM sleep (L1) state. It is set in sleep mode after a delay of 50 micro sec (TL1Residency). The bit is reset when SlpSts is 0.

NOTOK

0

The application/core cannot start Resume from Sleep state

OK

1

The application/core can start Resume from Sleep state

J

RW

LPMCHNLINDX

LPM Channel Index

Host Mode: The channel number on which the LPM transaction has to be applied while sending an LPM transaction to the local device. Based on the LPM channel index, the core automatically inserts the device address and end point number programmed in the corresponding channel into the LPM transaction. Device Mode: LPM Accept Control (LPM_Accept_Ctrl) LPM_Accept_Ctrl[0] (LPM_Chnl_Indx[3]): The application can use this bit to accept an LPM token even if data is present in the INTR endpoint TxFIFO. This bit is applicable only for Dedicated TX FIFO configurations (OTG_EN_DED_TX_FIFO=1).

CH0

0

Channel 0

CH1

1

Channel 1

CH2

2

Channel 2

CH3

3

Channel 3

CH4

4

Channel 4

CH5

5

Channel 5

CH6

6

Channel 6

CH7

7

Channel 7

CH8

8

Channel 8

CH9

9

Channel 9

CH10

10

Channel 10

CH11

11

Channel 11

CH12

12

Channel 12

CH13

13

Channel 13

CH14

14

Channel 14

CH15

15

Channel15

K

RW

LPMRETRYCNT

LPM Retry Count (LPM_Retry_Cnt)

Host Mode: Number of additional LPM retries that the HOST would perform if the Device Response was an ERROR until a valid device response is received (STALL/NYET/ACK). Device Mode: LPM Accept Control (LPM_Accept_Ctrl) LPM_Accept_Ctrl[1]: The application can use this bit to reject an LPM token (NYET) between multiple stages of a single control transfer LPM_Accept_Ctrl[2]: The application can use this bit to accept an LPM token even if data is present in the ISOC endpoint TxFIFO. This bit is applicable only for Dedicated TxFIFO configurations (OTG_EN_DED_TX_FIFO=1). LPM_Accept_Ctrl[3]: The application can use this bit to accept an LPM token even if data is present in the BULK endpoint TxFIFO. This bit is applicable only for Dedicated TxFIFO configurations (OTG_EN_DED_TX_FIFO=1).

RETRY0

0

Zero LPM retries

RETRY1

1

One LPM retry

RETRY2

2

Two LPM retries

RETRY3

3

Three LPM retries

RETRY4

4

Four LPM retries

RETRY5

5

Five LPM retries

RETRY6

6

Six LPM retries

RETRY7

7

Seven LPM retries

L

RW

SNDLPM

Send LPM Transaction (SndLPM)

Host Mode: When set by application software, an LPM transaction containing two tokens, EXT & LPM is sent. Cleared by the hardware once a valid response (STALL./NYET/ACK) is received from the Device or the core had finished transmitting the programmed number of LPM retries. Note that this bit must be set only when the host is connected to local port.

DISABLED

0

In host-only mode: Received the response from the device for the LPM transaction

ENABLED

1

In host-only mode: Sending LPM transaction containing EXT and LPM tokens

M

R

LPMRETRYCNTSTS

LPM Retry Count Status (LPM_RetryCnt_Sts)

Host Mode: Number of LPM Host Retries still remaining to be transmitted for the current LPM sequence.

RETRYREM0

0

Zero LPM retries remaining

RETRYREM1

1

One LPM retry remaining

RETRYREM2

2

Two LPM retries remaining

RETRYREM3

3

Three LPM retries remaining

RETRYREM4

4

Four LPM retries remaining

RETRYREM5

5

Five LPM retries remaining

RETRYREM6

6

Six LPM retries remaining

RETRYREM7

7

Seven LPM retries remaining

N

RW

LPMENBESL

LPM Enable BESL (LPM_EnBESL)

This bit enables the BESL feature as defined in LPM Errata

DISABLED

0

BESL is disabled

ENABLED

1

BESL is enabled as defined in LPM Errata

O

RW

LPMRESTORESLPSTS

LPM Restore Sleep Status (LPM_RestoreSlpSts)

When the application power gates the core (Partial Power Down / Hibernation) the application needs to program this bit to restore the LPM status in the core. The application needs to program this bit, during restore process, based on whether it decides to go into Shallow Sleep (Clock Gating Only) or Deep Sleep (Power Gating) based on the BESL value received from the Host

DISABLED

0

Puts the core in Shallow Sleep mode based on the BESL value from the Host

ENABLED

1

Puts the core in Deep Sleep mode based on the BESL value from the Host

GPWRDN

Address offset: 0x058

Global Power Down Register

This is the Hibernation control register. This register is active only during hibernation and ADP. The application can get the status of the wakeup_logic and control it through this register.

Bit number313029282726252423222120191817161514131211109876543210
IDWWWWWVUTTSRQPONMLKJIHGFEDCBA
Reset 0x0000001000000000000000000000000000010000
IDR/WFieldValue IDValueDescription
A

RW

PMUINTSEL

PMU Interrupt Select (PMUIntSel)

A write to this bit with 1'b1 enables the PMU to generate interrupts to the application. During this state all interrupts from the DWC_otg_core module are blocked to the application. Note: This bit must be set to 1'b1 before the core is put into hibernation. Note: This bit must not be written to during normal mode of operation.

DISABLE

0

Internal DWC_otg_core interrupt is selected

ENABLE

1

External DWC_otg_pmu interrupt is selected

B

RW

PMUACTV

PMU Active (PMUActv)

This is bit is to enable or disable the PMU logic. Note: This bit must not be written to during normal mode of operation.

DISABLE

0

Disable PMU module

ENABLE

1

Enable PMU module

C

RW

RESTORE

Restore

The application must program this bit to enable or disable restore mode from the PMU module. Note: This bit must not be written to during normal mode of operation.

DISABLE

0

The controller in normal mode of operation

ENABLE

1

The controller in Restore mode

D

RW

PWRDNCLMP

Power Down Clamp (PwrDnClmp)

The application must program this bit to enable or disable the clamps to all the outputs of the core module to prevent the corruption of other active logic.

DISABLE

0

Disable PMU power clamp

ENABLE

1

Enable PMU power clamp

E

RW

PWRDNRSTN

Power Down ResetN (PwrDnRst_n)

The application must program this bit to reset the core during the Hibernation exit process or during ADP when powering up the core (in case the core was powered off during ADP process). Note: This bit must not be written to during normal mode of operation.

DISABLE

0

Reset the controller

ENABLE

1

The controller is in normal operation

F

RW

PWRDNSWTCH

Power Down Switch (PwrDnSwtch)

This bit indicates to the controller whether the VDD switch is in ON/OFF state. Note: This bit must not be written to during normal mode of operation.

ON

0

The controller is in ON state

OFF

1

The controller is in OFF state

G

RW

DISABLEVBUS

DisableVBUS

Host Mode: The application must program this bit if HPRT0.PrtPwr was programmed to 0 before entering Hibernation. This is to indicate PMU whether session was ended before entering Hibernation. Device Mode: The application must program this bit to inform the PMU whether the bvalid valid signal is high (session valid) or low (session end) whenever the core is switched off. This bit is valid only when GPWRDN.PMUActv is 1.

DISABLED

0

Host mode:HPRT0.PrtPwr was not programmed to 0, and in Device mode:Session Valid

ENABLED

1

Host mode:HPRT0.PrtPwr was programmed to 0 and in Device mode:Session End

H

RW

LNSTSCHNG

Line State Change (LnStsChng)

This interrupt is asserted when there is a Linestate Change detected by the PMU. The application must read GPWRDN.Linestate to determine the current linestate on USB. This bit is valid only when GPWRDN.PMUActv is 1.

DISABLED

0

No LineState change on USB

ENABLED

1

LineState change on USB

I

RW

LINESTAGECHANGEMSK

LineStageChangeMsk

Mask for LineStateChange interrupt.

MASK

0

Mask for LineStateChange Interrupt

NOMASK

1

No LineStateChange Interrupt Mask

J

RW

RESETDETECTED

ResetDetected

This field indicates that Reset has been detected by the PMU module. This field generates an interrupt.

DISABLED

0

Reset not detected

ENABLED

1

Reset detected

K

RW

RESETDETMSK

ResetDetMsk

Mask for ResetDetected interrupt

MASK

0

Mask for ResetDetect Interrupt

NOMASK

1

No ResetDetect Interrupt Mask

L

RW

DISCONNECTDETECT

DisconnectDetect

This field indicates that Disconnect has been detected by the PMU. This field generates an interrupt. After detecting disconnect during hibernation the application must not restore the core, but instead start the initialization process.

DISABLED

0

Disconnect not detected

ENABLED

1

Disconnect detected

M

RW

DISCONNECTDETECTMSK

DisconnectDetectMsk

Mask For DisconnectDetect Interrupt

MASK

0

Mask for DisconnectDetect Interrupt

NOMASK

1

No DisconnectDetect Interrupt Mask

N

RW

CONNECTDET

ConnectDet

This field indicates that a new connect has been detected

DISABLED

0

Connect not detected

ENABLED

1

Connect detected

O

RW

CONNDETMSK

ConnDetMsk

Mask for ConnectDet interrupt

NOMASK

0

No ConnectDet Interrupt Mask

MASK

1

Mask for ConnectDet Interrupt

P

RW

SRPDETECT

SRPDetect

This field indicates that SRP has been detected by the PMU. This field generates an interrupt. After detecting SRP during hibernation the application must not restore the core. The application must get into the initialization process.

DISABLED

0

SRP not detected

ENABLED

1

SRP detected

Q

RW

SRPDETECTMSK

SRPDetectMsk

Mask for SRPDetect Interrupt

NOMASK

0

No SRPDetect Interrupt Mask

MASK

1

Mask for SRPDetect Interrupt

R

RW

STSCHNGINT

Status Change Interrupt (StsChngInt)

This field indicates a status change in either the IDDIG or BSessVld signal. After receiving this interrupt the application must read the GPWRDN register and interpret the change in IDDIG or BSesVld with respect to the previous value stored by the application. Note: When Battery Charger is enabled and the ULPI interface is used, if StsChngInt is received and the application reads GPWRDN register and determines that it is because of a change in the value of IDDIG, then StsChngInt may be generated once again within the next few clock cycles. This occurs because of an ambiguity in the implementation of Battery Charger Support over the ULPI interface. After receiving the StsChngInt for the second time the application can once again read the GPWRDN register. However, this time the valueIDDIG (or BSesVld) would not have changed. The application then processes the second interrupt but no further action will be required as a result.

DISABLED

0

No Status change

ENABLED

1

Status change detected

S

RW

STSCHNGINTMSK

StsChngIntMsk

Mask for StsChng Interrupt

MASK

0

Mask for Status Change Interrupt

NOMASK

1

No Status Change Interrupt Mask

T

R

LINESTATE

LineState

This field indicates the current linestate on USB as seen by the PMU module. This bit is valid only when GPWRDN.PMUActv is 1.

LS1

0

Linestate on USB: DM = 0, DP = 0

LS2

1

Linestate on USB: DM = 0, DP = 1

LS3

2

Linestate on USB: DM = 1, DP = 0

LS4

3

Linestate on USB: Not-defined

U

R

IDDIG

This bit indicates the status of the signal IDDIG. The application must read this bit after receiving GPWRDN.StsChngInt and decode based on the previous value stored by the application.

Indicates the current mode. This bit is valid only when GPWRDN.PMUActv is 1.

DISABLED

0

Host Mode

ENABLED

1

Device Mode

V

R

BSESSVLD

B Session Valid (BSessVld)

This field reflects the B session valid status signal from the PHY. This bit is valid only when GPWRDN.PMUActv is 1.

NOTVALID

0

B_Valid is 0

VALID

1

B_Valid is 1

W

R

MULTVALIDBC

MultValIdBC

Battery Charger ACA inputs in the following order: These bits are present only if BC_SUPPORT = 1. Otherwise, these bits are reserved and will read 5'h0.

RID0

0

OTG device as B-device

RIDC

1

OTG device as B-device, can connect

RIDB

2

OTG device as B-device, cannot connect

RIDA

4

OTG device as A-device

RIDGND

8

ID_OTG pin is grounded

RIDARIDGND

12

OTG device as A-device, RID_A=1 and RID_GND=1

RIDFLOAT

16

ID pull down when ID_OTG is floating

RIDCRIDFLOAT

17

OTG device as B-device, can connect, RID_C=1 and RID_FLOAT=1

RIDBRIDFLOAT

18

OTG device as B-device, cannot connect, RID_B=1 and RID_FLOAT=1

RID1

31

OTG device as A-device

GDFIFOCFG

Address offset: 0x05C

Global DFIFO Configuration Register

Register to configure the DFIFOs for the controller.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAA
Reset 0x0BE00C0000001011111000000000110000000000
IDR/WFieldValue IDValueDescription
A

RW

GDFIFOCFG

GDFIFOCfg

This field is for dynamic programming of the DFIFO Size. This value takes effect only when the application programs a non zero value to this register. The value programmed must conform to the guidelines described in 'FIFO RAM Allocation'. The core does not have any corrective logic if the FIFO sizes are programmed incorrectly.

B

RW

EPINFOBASEADDR

This field provides the start address of the EP info controller.

The EP info controller manages the stored values in the last few locations of the SPRAM as listed below. - Host Buffer DMA mode: One location per channel is used in SPRAM to store the HCDMAn value. - Host Scatter/Gather DMA mode: Four locations per channel are used in SPRAM to store the Base Descriptor address, Current Descriptor address, Current Buffer Pointer, and the Status Quadlet. - Device Buffer DMA mode: One location per endpoint direction is used in SPRAM to store the DIEPDMA and DOEPDMA value. - Device Scatter/Gather DMA mode: Four locations per endpoint direction are used in SPRAM to store the Base Descriptor address, Current Descriptor address, Current Buffer Pointer and the Status Quadlet.

GINTMSK2

Address offset: 0x068

Interrupt Mask Register 2

This register works with the Interrupt Register (GINTSTS2) to interrupt the application. When an interrupt bit is masked, the interrupt associated with that bit is not generated. However, the GINTSTS2 register bit corresponding to that interrupt is still set. Note: The fields of this register change depending on host or device mode.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

GINTMSK2

GINTSTS2

Address offset: 0x06C

Interrupt Register 2

This register interrupts the application for system-level events in the current mode (Device mode or Host mode). Some of the bits in this register are valid only in Host mode, while others are valid in Device mode only. This register also indicates the current mode. To clear the interrupt status bits of type R_SS_WC, the application must write 1'b1 to the bit. The application must clear the GINTSTS2 register at initialization before unmasking the interrupt bit to avoid any interrupts generated prior to initialization.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

GINTSTS2

HPTXFSIZ

Address offset: 0x100

Host Periodic Transmit FIFO Size Register

This register holds the size and the memory start address of the Periodic TxFIFO. Note: Read the reset value of this register only after the following conditions: - If IDDIG_FILTER is disabled, read only after PHY clock is stable. - If IDDIG_FILTER is enabled, read only after the filter timer expires.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBAAAAAAAAAAAAA
Reset 0x0C00180000001100000000000001100000000000
IDR/WFieldValue IDValueDescription
A

RW

PTXFSTADDR

Host Periodic TxFIFO Start Address (PTxFStAddr)

The power-on reset value of this register is the sum of the Largest Rx Data FIFO Depth and Largest Non-periodic Tx Data FIFO Depth.These parameters are: In shared FIFO operation: - OTG_RX_DFIFO_DEPTH + OTG_TX_NPERIO_DFIFO_DEPTH In dedicated FIFO mode: - OTG_RX_DFIFO_DEPTH + OTG_TX_HNPERIO_DFIFO_DEPTH If Enable Dynamic FIFO Sizing? was deselected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 0), these flops are optimized, and reads return the power-on value. If Enable Dynamic FIFO Sizing? was selected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 1), you can write a new value in this field. Programmed values must not exceed the power-on value set in coreConsultant.

B

RW

PTXFSIZE

Host Periodic TxFIFO Depth (PTxFSize)

This value is in terms of 32-bit words. - Minimum value is 16 - Maximum value is 32,768 The power-on reset value of this register is specified as the Largest Host Mode Periodic Tx Data FIFO Depth. - If Enable Dynamic FIFO Sizing? was deselected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 0), these flops are optimized, and reads return the power-on value. - If Enable Dynamic FIFO Sizing? was selected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 1), you can write a new value in this field. Programmed values must not exceed the power-on value set in coreConsultant.

DIEPTXF[n]

Address offset: 0x104 + (n × 0x4)

Device IN Endpoint Transmit FIFO 1 Size Register

This register is valid only in dedicated FIFO mode (OTG_EN_DED_TX_FIFO=1). It holds the size and memory start address of IN endpoint TxFIFOs implemented in Device mode. Each FIFO holds the data for one IN endpoint. This register is repeated for instantiated IN endpoint FIFOs 1 to 15. For IN endpoint FIFO 0, use GNPTXFSIZ register for programming the size and memory start address.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBAAAAAAAAAAAAA
Reset 0x0C00180000001100000000000001100000000000
IDR/WFieldValue IDValueDescription
A

RW

INEPNTXFSTADDR

IN Endpoint FIFOn Transmit RAM Start Address (INEPnTxFStAddr)

This field contains the memory start address for the IN endpoint Transmit FIFO that this register corresponds to. The power-on reset value of this register is calculated according to the following formula: OTG_RX_DFIFO_DEPTH + SUM of OTG_TX_DINEP_DFIFO_DEPTH_'n', where n = 0 to (FIFO number-1). For example, Start address of INEP FIFO 1 (DIEPTXF1) is OTG_RX_DFIFO_DEPTH + OTG_TX_DINEP_DFIFO_DEPTH_0, start address of INEP FIFO 2 (DIEPTXF2) is OTG_RX_DFIFO_DEPTH + OTG_TX_DINEP_DFIFO_DEPTH_0 + OTG_TX_DINEP_DFIFO_DEPTH_1, and so on. If at POR the calculated value (C) exceeds 65535, then the Reset value becomes Reset Value(A) = (C-65536). - If Enable Dynamic FIFO Sizing is deselected in coreConsultant (OTG_DFIFO_DYNAMIC = 0), this field is read-only and read value is the power-on reset value. - If Enable Dynamic FIFO Sizing is selected in coreConsultant (OTG_DFIFO_DYNAMIC = 1), and you have calculated or programmed a new value for RxFIFO depth or TX FIFO depths, you can program their values according to the above formula. Programmed values must not exceed the power-on value set in coreConsultant.

B

RW

INEPNTXFDEP

IN Endpoint TxFIFO Depth (INEPnTxFDep)

This value is in terms of 32-bit words. - Minimum value is 16 - Maximum value is 32,768 The power-on reset value of this register is specified as the Largest IN Endpoint FIFO number Depth (parameter OTG_TX_DINEP_DFIFO_DEPTH_i) set during coreConsultant configuration, where i is the FIFO number this register corresponds to. - If "Enable Dynamic FIFO Sizing?" was deselected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 0), these flops are optimized, and reads return the power-on value. - If "Enable Dynamic FIFO Sizing?" was selected in coreConsultant (parameter OTG_DFIFO_DYNAMIC = 1), you can write a new value in this field. Programmed values must not exceed the power-on value.

HCFG

Address offset: 0x400

Host Configuration Register

This register is used to configure the controller in Host mode.

Bit number313029282726252423222120191817161514131211109876543210
IDEDDDDDDDDCBAA
Reset 0x0000020000000000000000000000001000000000
IDR/WFieldValue IDValueDescription
A

RW

FSLSPCLKSEL

FS/LS PHY Clock Select (FSLSPclkSel)

When the core is in FS Host mode When the core is in LS Host mode Notes: - When Core in FS mode, the internal and external clocks have the same frequency. - When Core in LS mode, -- If FSLSPclkSel = 2'b00: Internal and external clocks have the same frequency -- If FSLSPclkSel = 2'b10: Internal clock is the divided by eight version of external 48 MHz clock

CLK3060

0

PHY clock is running at 30/60 MHz

CLK48

1

PHY clock is running at 48 MHz

CLK6

2

PHY clock is running at 6 MHz

B

RW

FSLSSUPP

FS- and LS-Only Support (FSLSSupp)

The application uses this bit to control the core's enumeration speed. Using this bit, the application can make the core enumerate as a FS host, even If the connected device supports HS traffic. Do not make changes to this field after initial programming.

HSFSLS

0

HS/FS/LS, based on the maximum speed supported by the connected device

FSLS

1

FS/LS-only, even if the connected device can support HS

C

RW

ENA32KHZS

Enable 32 KHz Suspend mode (Ena32KHzS)

This bit can be set only in FS PHY interface is selected. Else, this bit needs to be set to zero. When FS PHY interface is chosen and this bit is set, the core expects that the PHY clock during Suspend is switched from 48 MHz to 32 KHz.

DISABLED

0

32 KHz Suspend mode disabled

ENABLED

1

32 KHz Suspend mode enabled

D

RW

RESVALID

Resume Validation Period (ResValid)

This field is effective only when HCFG.Ena32KHzS is set. It controls the resume period when the core resumes from suspend. The core counts for 'ResValid' number of clock cycles to detect a valid resume when this is set.

E

RW

MODECHTIMEN

Mode Change Ready Timer Enable (ModeChTimEn)

This bit is used to enable/disable the Host core to wait 200 PHY clock cycles at the end of Resume to change the opmode signal to the PHY to 00 after Suspend or LPM.

ENABLED

0

The Host core waits for either 200 PHY clock cycles or a linestate of SE0 at the end of resume to change the opmode from 0x2 to 0x0

DISABLED

1

The Host core waits only for a linestate of SE0 at the end of resume to change the opmode from 0x2 to 0x0

HFIR

Address offset: 0x404

Host Frame Interval Register

This register is used to control the interval between two consecutive SOFs.

Bit number313029282726252423222120191817161514131211109876543210
IDBAAAAAAAAAAAAAAAA
Reset 0x0000EA6000000000000000001110101001100000
IDR/WFieldValue IDValueDescription
A

RW

FRINT

Frame Interval (FrInt)

The value that the application programs to this field specifies the interval between two consecutive SOFs (FS) or micro- SOFs (HS) or Keep-Alive tokens (HS). This field contains the number of PHY clocks that constitute the required frame interval. The Default value set in this field is for FS operation when the PHY clock frequency is 60 MHz. The application can write a value to this register only after the Port Enable bit of the Host Port Control and Status register (HPRT.PrtEnaPort) has been Set. If no value is programmed, the core calculates the value based on the PHY clock specified in the FS/LS PHY Clock Select field of the Host Configuration register (HCFG.FSLSPclkSel). Do not change the value of this field after the initial configuration. - 125 us * (PHY clock frequency for HS) - 1 ms * (PHY clock frequency for FS/LS)

B

RW

HFIRRLDCTRL

Reload Control (HFIRRldCtrl)

This bit allows dynamic reloading of the HFIR register during run time. This bit needs to be programmed during initial configuration and its value must not be changed during runtime.

DISABLED

0

The HFIR cannot be reloaded dynamically

ENABLED

1

The HFIR can be dynamically reloaded during runtime

HFNUM

Address offset: 0x408

Host Frame Number/Frame Time Remaining Register

This register indicates the current frame number. It also indicates the time remaining (in terms of the number of PHY clocks) in the current (micro)frame. Note: Read the reset value of this register only after the following conditions: - If IDDIG_FILTER is disabled, read only when the PHY clock is stable. - If IDDIG_FILTER is enabled, read only after the filter timer expires.

Bit number313029282726252423222120191817161514131211109876543210
IDBBBBBBBBBBBBBBBBAAAAAAAAAAAAAAAA
Reset 0x00003FFF00000000000000000011111111111111
IDR/WFieldValue IDValueDescription
A

R

FRNUM

Frame Number (FrNum)

This field increments when a new SOF is transmitted on the USB, and is reset to 0 when it reaches 16'h3FFF.

INACTIVE

0

No SOF is transmitted

ACTIVE

1

SOF is transmitted

B

R

FRREM

Frame Time Remaining (FrRem)

Indicates the amount of time remaining in the current microframe (HS) or Frame (FS/LS), in terms of PHY clocks. This field decrements on each PHY clock. When it reaches zero, this field is reloaded with the value in the Frame Interval register and a new SOF is transmitted on the USB.

HPTXSTS

Address offset: 0x410

Host Periodic Transmit FIFO/Queue Status Register

This register contains information about the Periodic Transmit Queue in the Host controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCCCCCCCCBBBBBBBAAAAAAAAAAAAAAAA
Reset 0x00080C0000000000000010000000110000000000
IDR/WFieldValue IDValueDescription
A

R

PTXFSPCAVAIL

Periodic Transmit Data FIFO Space Available (PTxFSpcAvail)

Indicates the number of free locations available to be written to in the Periodic TxFIFO. Values are in terms of 32-bit words - Others : Reserved

B

R

PTXQSPCAVAIL

Periodic Transmit Request Queue Space Available (PTxQSpcAvail)

Indicates the number of free locations available to be written in the Periodic Transmit Request Queue. This queue holds both IN and OUT requests. - n: n locations available (0 <= n <= 16)

FULL

0

Periodic Transmit Request Queue is full

FREE1

1

1 location available

FREE2

2

2 locations available

FREE3

3

3 locations available

FREE4

4

4 locations available

FREE5

5

5 locations available

FREE6

6

6 locations available

FREE7

7

7 locations available

FREE8

8

8 locations available

FREE9

9

9 locations available

FREE10

10

10 locations available

FREE11

11

11 locations available

FREE12

12

12 locations available

FREE13

13

13 locations available

FREE14

14

14 locations available

FREE15

15

15 locations available

C

R

PTXQTOP

Top of the Periodic Transmit Request Queue (PTxQTop)

This indicates the Entry in the Periodic Tx Request Queue that is currently being processed by the MAC. This register is used for debugging.

HAINT

Address offset: 0x414

Host All Channels Interrupt Register

When a significant event occurs on a channel, the Host All Channels Interrupt register interrupts the application using the Host Channels Interrupt bit of the Core Interrupt register (GINTSTS.HChInt). This is shown in the "Interrupt Hierarchy" figure in the databook. There is one interrupt bit per channel, up to a maximum of 16 bits. Bits in this register are set and cleared when the application sets and clears bits in the corresponding Host Channel-n Interrupt register.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

HAINT

Channel Interrupt for channel no.

INACTIVE

0

Not active

ACTIVE

1

Host Channel Interrupt

HAINTMSK

Address offset: 0x418

Host All Channels Interrupt Mask Register

The Host All Channel Interrupt Mask register works with the Host All Channel Interrupt register to interrupt the application when an event occurs on a channel. There is one interrupt mask bit per channel, up to a maximum of 16 bits.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

HAINTMSK

Channel Interrupt Mask (HAINTMsk)

One bit per channel: Bit 0 for channel 0, bit 15 for channel 15

MASK

0

Mask Channel interrupt

UNMASK

1

UnMask Channel interrupt

HPRT

Address offset: 0x440

Host Port Control and Status Register

This register is available only in Host mode. Currently, the OTG Host supports only one port. A single register holds USB port-related information such as USB reset, enable, suspend, resume, connect status, and test mode for each port. It is shown in the "Interrupt Hierarchy" figure in the databook. The R_SS_WC bits in this register can trigger an interrupt to the application through the Host Port Interrupt bit of the Core Interrupt register (GINTSTS.PrtInt). On a Port Interrupt, the application must read this register and clear the bit that caused the interrupt. For the R_SS_WC bits, the application must write a 1 to the bit to clear the interrupt.

Bit number313029282726252423222120191817161514131211109876543210
IDMMLLLLKJJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

PRTCONNSTS

Port Connect Status (PrtConnSts)

- 0: No device is attached to the port. - 1: A device is attached to the port.

NOTATTACHED

0

No device is attached to the port

ATTACHED

1

A device is attached to the port

B

RW

PRTCONNDET

Port Connect Detected (PrtConnDet)

The core sets this bit when a device connection is detected to trigger an interrupt to the application using the Host Port Interrupt bit of the Core Interrupt register (GINTSTS.PrtInt).This bit can be set only by the core and the application must write 1 to clear it.The application must write a 1 to this bit to clear the interrupt.

INACTIVE

0

No device connection detected

ACTIVE

1

Device connection detected

C

RW

PRTENA

Port Enable (PrtEna)

A port is enabled only by the core after a reset sequence, and is disabled by an overcurrent condition, a disconnect condition, or by the application clearing this bit. The application cannot Set this bit by a register write. It can only clear it to disable the port by writing 1. This bit does not trigger any interrupt to the application.

DISABLED

0

Port disabled

ENABLED

1

Port enabled

D

RW

PRTENCHNG

Port Enable/Disable Change (PrtEnChng)

The core sets this bit when the status of the Port Enable bit [2] of this register changes.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

Port Enable bit 2 has not changed

ACTIVE

1

Port Enable bit 2 changed

E

R

PRTOVRCURRACT

Port Overcurrent Active (PrtOvrCurrAct)

Indicates the overcurrent condition of the port.

INACTIVE

0

No overcurrent condition

ACTIVE

1

Overcurrent condition

F

RW

PRTOVRCURRCHNG

Port Overcurrent Change (PrtOvrCurrChng)

The core sets this bit when the status of the Port Overcurrent Active bit (bit 4) in this register changes.This bit can be set only by the core and the application must write 1 to clear it

INACTIVE

0

Status of port overcurrent status is not changed

ACTIVE

1

Status of port overcurrent changed

G

RW

PRTRES

Port Resume (PrtRes)

The application sets this bit to drive resume signaling on the port. The core continues to drive the resume signal until the application clears this bit. If the core detects a USB remote wakeup sequence, as indicated by the Port Resume/Remote Wakeup Detected Interrupt bit of the Core Interrupt register (GINTSTS.WkUpInt), the core starts driving resume signaling without application intervention and clears this bit when it detects a disconnect condition. The read value of this bit indicates whether the core is currently driving resume signaling. When LPM is enabled, In L1 state the behavior of this bit is as follows: The application sets this bit to drive resume signaling on the port. The core continues to drive the resume signal until a pre-determined time specified in GLPMCFG.HIRD_Thres[3:0] field. If the core detects a USB remote wakeup sequence, as indicated by the Port L1Resume/Remote L1Wakeup Detected Interrupt bit of the Core Interrupt register (GINTSTS.L1WkUpInt), the core starts driving resume signaling without application intervention and clears this bit at the end of resume.This bit can be set by both core or application and also cleared by core or application. This bit is cleared by the core even if there is no device connected to the Host.

NORESUME

0

No resume driven

RESUME

1

Resume driven

H

RW

PRTSUSP

Port Suspend (PrtSusp)

The application sets this bit to put this port in Suspend mode. The core only stops sending SOFs when this is Set. To stop the PHY clock, the application must Set the Port Clock Stop bit, which asserts the suspend input pin of the PHY. The read value of this bit reflects the current suspend status of the port. This bit is cleared by the core after a remote wakeup signal is detected or the application sets the Port Reset bit or Port Resume bit in this register or the Resume/Remote Wakeup Detected Interrupt bit or Disconnect Detected Interrupt bit in the Core Interrupt register (GINTSTS.WkUpInt or GINTSTS.DisconnInt, respectively).This bit is cleared by the core even if there is no device connected to the Host.

INACTIVE

0

Port not in Suspend mode

ACTIVE

1

Port in Suspend mode

I

RW

PRTRST

Port Reset (PrtRst)

When the application sets this bit, a reset sequence is started on this port. The application must time the reset period and clear this bit after the reset sequence is complete. The application must leave this bit set for at least a minimum duration mentioned below to start a reset on the port. The application can leave it set for another 10 ms in addition to the required minimum duration, before clearing the bit, even though there is no maximum limit Set by the USB standard.This bit is cleared by the core even if there is no device connected to the Host. - High speed: 50 ms - Full speed/Low speed: 10 ms

DISABLED

0

Port not in reset

ENABLED

1

Port in reset

J

R

PRTLNSTS

Port Line Status (PrtLnSts)

Indicates the current logic level USB data lines

PLUSD

1

Logic level of D+

MINUSD

2

Logic level of D-

K

RW

PRTPWR

Port Power (PrtPwr)

The application uses this field to control power to this port (write 1'b1 to set to 1'b1 and write 1'b0 to set to 1'b0), and the core can clear this bit on an over current condition. Note: This bit is interface independent. The application needs to program this bit for all interfaces as described in the host programming flow in the Programming Guide.

OFF

0

Power off

ON

1

Power on

L

RW

PRTTSTCTL

Port Test Control (PrtTstCtl)

The application writes a nonzero value to this field to put the port into a Test mode, and the corresponding pattern is signaled on the port. To move the DWC_otg controller to test mode, you must set this field. Complete the following steps to move the DWC_otg core to test mode: - 1. Power on the core. - 2. Load the DWC_otg driver. - 3. Connect an HS device and enumerate to HS mode. - 4. Access the HPRT register to send test packets. - 5. Remove the device and connect to fixture (OPT) port. The DWC_otg host core continues sending out test packets. - 6. Test the eye diagram.

DISABLED

0

Test mode disabled

TESTJ

1

Test_J mode

TESTK

2

Test_K mode

TESTSN

3

Test_SE0_NAK mode

TESTPM

4

Test_Packet mode

TESTFENB

5

Test_force_Enable

M

R

PRTSPD

Port Speed (PrtSpd)

Indicates the speed of the device attached to this port.

HIGHSPD

0

High speed

FULLSPD

1

Full speed

LOWSPD

2

Low speed

PRTSPDRSVD3

3

HC[n].CHAR

Address offset: 0x500 + (n × 0x18)

Host Channel Characteristics Register 0

This register contains the characteristics of the Host Channel.

Bit number313029282726252423222120191817161514131211109876543210
IDJIHGGGGGGGFFEEDCBBBBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

Indicates the maximum packet size of the associated endpoint.

B

RW

EPNUM

Endpoint Number (EPNum)

Indicates the endpoint number on the device serving as the data source or sink.

ENDPT0

0

End point 0

ENDPT1

1

End point 1

ENDPT2

2

End point 2

ENDPT3

3

End point 3

ENDPT4

4

End point 4

ENDPT5

5

End point 5

ENDPT6

6

End point 6

ENDPT7

7

End point 7

ENDPT8

8

End point 8

ENDPT9

9

End point 9

ENDPT10

10

End point 10

ENDPT11

11

End point 11

ENDPT12

12

End point 12

ENDPT13

13

End point 13

ENDPT14

14

End point 14

ENDPT15

15

End point 15

C

RW

EPDIR

Endpoint Direction (EPDir)

Indicates whether the transaction is IN or OUT.

OUT

0

OUT Direction

IN

1

IN Direction

D

RW

LSPDDEV

Low-Speed Device (LSpdDev)

This field is Set by the application to indicate that this channel is communicating to a low-speed device. The application must program this bit when a low speed device is connected to the host through an FS HUB. The DWC_otg Host core uses this field to drive the XCVR_SELECT signal to 2'b11 while communicating to the LS Device through the FS hub. Note: In a peer to peer setup, the DWC_otg Host core ignores this bit even if it is set by the application software.

DISABLED

0

Not Communicating with low speed device

ENABLED

1

Communicating with low speed device

E

RW

EPTYPE

Endpoint Type (EPType)

Indicates the transfer type selected.

CTRL

0

Control

ISOC

1

Isochronous

BULK

2

Bulk

INTERR

3

Interrupt

F

RW

EC

Multi Count (MC) / Error Count (EC)

When the Split Enable bit of the Host Channel-n Split Control register (HCSPLTn.SpltEna) is reset (1'b0), this field indicates to the host the number of transactions that must be executed per microframe for this periodic endpoint. For non periodic transfers, this field is used only in DMA mode, and specifies the number packets to be fetched for this channel before the internal DMA engine changes arbitration. When HCSPLTn.SpltEna is Set (1'b1), this field indicates the number of immediate retries to be performed for a periodic split transactions on transaction errors. This field must be Set to at least 2'b01.

ECRSVD0

0

Reserved. This field yields undefined result

TRANSONE

1

1 transaction

TRANSTWO

2

2 transactions to be issued for this endpoint per microframe

TRANSTHREE

3

3 transactions to be issued for this endpoint per microframe

G

RW

DEVADDR

Device Address (DevAddr)

This field selects the specific device serving as the data source or sink.

H

RW

ODDFRM

Odd Frame (OddFrm)

This field is set (reset) by the application to indicate that the OTG host must perform a transfer in an odd (micro)Frame. This field is applicable for only periodic (isochronous and interrupt) transactions.

EFRAME

0

Even Frame Transfer

OFRAME

1

Odd Frame Transfer

I

RW

CHDIS

Channel Disable (ChDis)

The application sets this bit to stop transmitting/receiving data on a channel, even before the transfer for that channel is complete. The application must wait for the Channel Disabled interrupt before treating the channel as disabled.

INACTIVE

0

Transmit/Recieve normal

ACTIVE

1

Stop transmitting/receiving data on channel

J

RW

CHENA

Channel Enable (ChEna)

When Scatter/Gather mode is enabled When Scatter/Gather mode is disabled This field is set by the application and cleared by the OTG host.

DISABLED

0

If Scatter/Gather mode is enabled, indicates that the descriptor structure is not yet ready. If Scatter/Gather mode is disabled, indicates that the channel is disabled.

ENABLED

1

If Scatter/Gather mode is enabled, indicates that the descriptor structure and data buffer with data is set up and this channel can access the descriptor. If Scatter/Gather mode is disabled, indicates that the channel is enabled.

HC[n].SPLT

Address offset: 0x504 + (n × 0x18)

Host Channel Split Control Register 0

This register contains the Split characteristics of the Host Channel.

Bit number313029282726252423222120191817161514131211109876543210
IDEDCCBBBBBBBAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

PRTADDR

Port Address (PrtAddr)

This field is the port number of the recipient transaction translator.

B

RW

HUBADDR

Hub Address (HubAddr)

This field holds the device address of the transaction translator's hub.

C

RW

XACTPOS

Transaction Position (XactPos)

This field is used to determine whether to send all, first, middle, or last payloads with each OUT transaction.

MIDDLE

0

Mid. This is the middle payload of this transaction (which is larger than 188 bytes)

END

1

End. This is the last payload of this transaction (which is larger than 188 bytes)

BEGIN

2

Begin. This is the first data payload of this transaction (which is larger than 188 bytes)

ALL

3

All. This is the entire data payload of this transaction (which is less than or equal to 188 bytes)

D

RW

COMPSPLT

Do Complete Split (CompSplt)

The application sets this field to request the OTG host to perform a complete split transaction.

NOSPLIT

0

No complete split transaction

SPLIT

1

Complete Split transaction

E

RW

SPLTENA

Split Enable (SpltEna)

The application sets this field to indicate that this channel is enabled to perform split transactions.

DISABLED

0

Split not enabled

ENABLED

1

Split enabled

HC[n].INT

Address offset: 0x508 + (n × 0x18)

Host Channel Interrupt Register 0

This register indicates the status of a channel with respect to USB- and AHB-related events. It is shown in the "Interrupt Hierarchy" figure in the databook. The application must read this register when the Host Channels Interrupt bit of the Core Interrupt register (GINTSTS.HChInt) is set. Before the application can read this register, it must first read the Host All Channels Interrupt (HAINT) register to get the exact channel number for the Host Channel-n Interrupt register. The application must clear the appropriate bit in this register to clear the corresponding bits in the HAINT and GINTSTS registers.

Bit number313029282726252423222120191817161514131211109876543210
IDKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed (XferCompl)

Transfer completed normally without any errors.This bit can be set only by the core and the application must write 1 to clear it. - For Scatter/Gather DMA mode, it indicates that current descriptor processing got completed with IOC bit set in its descriptor. - In non Scatter/Gather DMA mode, it indicates that Transfer completed normally without any errors.

INACTIVE

0

Transfer in progress or No Active Transfer

ACTIVE

1

Transfer completed normally without any errors

B

RW

CHHLTD

Channel Halted (ChHltd)

In non Scatter/Gather DMA mode, it indicates the transfer completed abnormally either because of any USB transaction error or in response to disable request by the application or because of a completed transfer. In Scatter/gather DMA mode, this indicates that transfer completed due to any of the following - EOL being set in descriptor - AHB error - Excessive transaction errors - Babble - Stall

INACTIVE

0

Channel not halted

ACTIVE

1

Channel Halted

C

RW

AHBERR

AHB Error (AHBErr)

This is generated only in Internal DMA mode when there is an AHB error during AHB read/write. The application can read the corresponding channel's DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB error

ACTIVE

1

AHB error during AHB read/write

D

RW

STALL

STALL Response Received Interrupt (STALL)

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Stall Response Received Interrupt

ACTIVE

1

Stall Response Received Interrupt

E

RW

NAK

NAK Response Received Interrupt (NAK)

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No NAK Response Received Interrupt

ACTIVE

1

NAK Response Received Interrupt

F

RW

ACK

ACK Response Received/Transmitted Interrupt (ACK)

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No ACK Response Received or Transmitted Interrupt

ACTIVE

1

ACK Response Received or Transmitted Interrup

G

RW

NYET

NYET Response Received Interrupt (NYET)

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No NYET Response Received Interrupt

ACTIVE

1

NYET Response Received Interrupt

H

RW

XACTERR

Transaction Error (XactErr)

Indicates one of the following errors occurred on the USB. - CRC check failure - Timeout - Bit stuff error - False EOP In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Transaction Error

ACTIVE

1

Transaction Error

I

RW

BBLERR

Babble Error (BblErr)

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Babble Error

ACTIVE

1

Babble Error

J

RW

FRMOVRUN

Frame Overrun (FrmOvrun).

In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core. This bit can be set only by the core and the application must write 1 to clear it.

INACTIVE

0

No Frame Overrun

ACTIVE

1

Frame Overrun

K

RW

DATATGLERR

Data Toggle Error (DataTglErr).This bit can be set only by the core and the application must write 1 to clear it.In Scatter/Gather DMA mode, the interrupt due to this bit is masked in the core.

INACTIVE

0

No Data Toggle Error

ACTIVE

1

Data Toggle Error

HC[n].INTMSK

Address offset: 0x50C + (n × 0x18)

Host Channel Interrupt Mask Register 0

This register reflects the mask for each channel status described in the previous section.

Bit number313029282726252423222120191817161514131211109876543210
IDKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPLMSK

Transfer Completed Mask (XferComplMsk)

MASK

0

Transfer Completed Mask

NOMASK

1

No Transfer Completed Mask

B

RW

CHHLTDMSK

Channel Halted Mask (ChHltdMsk)

MASK

0

Channel Halted Mask

NOMASK

1

No Channel Halted Mask

C

RW

AHBERRMSK

AHB Error Mask (AHBErrMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

AHB Error Mask

NOMASK

1

No AHB Error Mask

D

RW

STALLMSK

STALL Response Received Interrupt Mask (StallMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask STALL Response Received Interrupt

NOMASK

1

No STALL Response Received Interrupt Mask

E

RW

NAKMSK

NAK Response Received Interrupt Mask (NakMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask NAK Response Received Interrupt

NOMASK

1

No NAK Response Received Interrupt Mask

F

RW

ACKMSK

ACK Response Received/Transmitted Interrupt Mask (AckMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask ACK Response Received/Transmitted Interrupt

NOMASK

1

No ACK Response Received/Transmitted Interrupt Mask

G

RW

NYETMSK

NYET Response Received Interrupt Mask (NyetMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask NYET Response Received Interrupt

NOMASK

1

No NYET Response Received Interrupt Mask

H

RW

XACTERRMSK

Transaction Error Mask (XactErrMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask Transaction Error

NOMASK

1

No Transaction Error Mask

I

RW

BBLERRMSK

Babble Error Mask (BblErrMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask Babble Error

NOMASK

1

No Babble Error Mask

J

RW

FRMOVRUNMSK

Frame Overrun Mask (FrmOvrunMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask Overrun Mask

NOMASK

1

No Frame Overrun Mask

K

RW

DATATGLERRMSK

Data Toggle Error Mask (DataTglErrMsk) In scatter/gather DMA mode for host, interrupts are not generated due to the corresponding bits set in HCINTn.

MASK

0

Mask Data Toggle Error

NOMASK

1

No Data Toggle Error Mask

HC[n].TSIZ

Address offset: 0x510 + (n × 0x18)

Host Channel Transfer Size Register 0

This register reflects the transfer size for the Host Channel.

Bit number313029282726252423222120191817161514131211109876543210
IDDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Non-Scatter/Gather DMA Mode:

Transfer Size (XferSize) For an OUT, this field is the number of data bytes the host sends during the transfer. For an IN, this field is the buffer size that the application has Reserved for the transfer. The application is expected to program this field as an integer multiple of the maximum packet size for IN transactions (periodic and non-periodic). The width of this counter is specified as Width of Transfer Size Counters during coreConsultant configuration (parameter OTG_TRANS_COUNT_WIDTH). Scatter/Gather DMA Mode: [18:16]: Reserved [15:8]: NTD (Number of Transfer Descriptors) (Non Isochronous) This value is in terms of number of descriptors. Maximum number of descriptor that can be present in the list is 64. The values can be from 0 to 63. - 0: 1 descriptor - 63: 64 descriptors This field indicates the total number of descriptors present in that list. The core wraps around after servicing NTD number of descriptors for that list. (Isochronous) This field indicates the number of descriptors present in that list microframe. The possible values for FS are - 1: 2 descriptors - 3: 4 descriptors - 7: 8 descriptors - 15: 16 descriptors - 31: 32 descriptors - 63: 64 descriptors The possible values for HS are - 7: 8 descriptors - 15: 16 descriptors - 31: 32 descriptors - 63: 64 descriptors - 127: 128 descriptors - 255: 256 descriptors [7:0]: SCHED_INFO (Schedule information) Every bit in this 8 bit register indicates scheduling for that microframe. Bit 0 indicates scheduling for 1st microframe and bit 7 indicates scheduling for 8th microframe in that frame. A value of 8'b11111111 indicates that the corresponding interrupt channel is scheduled to issue a token every microframe in that frame. A value of 8'b10101010 indicates that the corresponding interrupt channel is scheduled to issue a token every alternate microframe starting with second microframe. Note that this field is applicable only for periodic (Isochronous and Interrupt) channels.

B

RW

PKTCNT

Non-Scatter/Gather DMA Mode:

Packet Count (PktCnt) This field is programmed by the application with the expected number of packets to be transmitted (OUT) or received (IN). The host decrements this count on every successful transmission or reception of an OUT/IN packet. Once this count reaches zero, the application is interrupted to indicate normal completion. The width of this counter is specified as Width of Packet Counters during coreConsultant configuration (parameter OTG_PACKET_COUNT_WIDTH). Scatter/Gather DMA Mode: [28:19]: Reserved

C

RW

PID

PID (Pid)

The application programs this field with the type of PID to use for the initial transaction. The host maintains this field for the rest of the transfer.

DATA0

0

DATA0

DATA2

1

DATA2

DATA1

2

DATA1

MDATA

3

MDATA (non-control)/SETUP (control)

D

RW

DOPNG

Do Ping (DoPng)

This bit is used only for OUT transfers. Setting this field to 1 directs the host to do PING protocol. Note: Do not set this bit for IN transfers. If this bit is set for IN transfers it disables the channel.

NOPING

0

No ping protocol

PING

1

Ping protocol

HC[n].DMA

Address offset: 0x514 + (n × 0x18)

Host Channel DMA Address Register 0

This register is used by the OTG host in the internal DMA mode to maintain the current buffer pointer for IN/OUT transactions. The starting DMA address must be DWORD-aligned.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

In Buffer DMA Mode:

[31:0]: DMA Address (DMAAddr) This field holds the start address in the external memory from which the data for the endpoint must be fetched or to which it must be stored. This register is incremented on every AHB transaction. Reset: X if not programmed as the register is in SPRAM. In Scatter-Gather DMA (DescDMA) Mode for Non-Isochronous: [31:9]: DMA Address (DMAAddr) The start address must be 512-bytes aligned. This field holds the start address of the 512 bytes page. The first descriptor in the list must be located in this address. The first descriptor may be or may not be ready. The core starts processing the list from the CTD value. [8:3]: Current Transfer Desc(CTD) This value is in terms of number of descriptors. The values can be from 0 to 63. This field indicates the current descriptor processed in the list. This field is updated both by application and the core. For example, if the application enables the channel after programming CTD=5, then the core starts processing the sixth descriptor. The address is obtained by adding a value of (8bytes*5=) 40(decimal) to DMAAddr. [2:0]: Reserved In Scatter-Gather DMA (DescDMA) Mode for Isochronous: [31:N]: DMA Address (DMAAddr) The start address must be 512-bytes aligned. This field holds the address of the 2*(nTD+1) bytes of locations in which the isochronous descriptors are present where N is based on nTD as follows: - [31:N]: Base Address - [N-1:3]: Offset - [2:0]: 000 For HS ISOC, if nTD is, - 7, N=6 - 15, N=7 - 31, N=8 - 63, N=9 - 127, N=10 - 255, N=11 For FS ISOC, if nTD is, - 1, N=4 - 3, N=5 - 7, N=6 - 15, N=7 - 31, N=8 - 63, N=9 [N-1:3]: Current Transfer Desc(CTD) CTD for isochronous is based on the current frame/(micro)frame value. Need to be set to zero by application. Reset: (N+1:3)'h0 [2:0]: Reserved

DCFG

Address offset: 0x800

Device Configuration Register

This register configures the core in Device mode after power-on or after certain control commands or enumeration. Do not make changes to this register after initial programming.

Bit number313029282726252423222120191817161514131211109876543210
IDJJJJJJIIHGFEEDDDDDDDCBAA
Reset 0x0802000000001000000000100000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DEVSPD

Device Speed (DevSpd)

Indicates the speed at which the application requires the core to enumerate, or the maximum speed the application can support. However, the actual bus speed is determined only after the connect sequence is completed, and is based on the speed of the USB host to which the core is connected.

USBHS20

0

High speed USB 2.0 PHY clock is 30 MHz or 60 MHz

USBFS20

1

Full speed USB 2.0 PHY clock is 30 MHz or 60 MHz

USBLS116

2

Low speed USB 1.1 transceiver clock is 6 MHz

USBFS1148

3

Full speed USB 1.1 transceiver clock is 48 MHz

B

RW

NZSTSOUTHSHK

Non-Zero-Length Status OUT Handshake (NZStsOUTHShk)

The application can use this field to select the handshake the core sends on receiving a nonzero-length data packet during the OUT transaction of a control transfer's Status stage.

SENDOUT

0

Send the received OUT packet to the application (zero-length or non-zero length) and send a handshake based on NAK and STALL bits for the endpoint in the Devce Endpoint Control Register

SENDSTALL

1

Send a STALL handshake on a nonzero-length status OUT transaction and do not send the received OUT packet to the application

C

RW

ENA32KHZSUSP

Enable 32 KHz Suspend mode (Ena32KHzSusp)

This bit can be set only if FS PHY interface is selected. Otherwise, this bit needs to be set to zero. If FS PHY interface is chosen and this bit is set, the PHY clock during Suspend must be switched from 48 MHz to 32 KHz.

DISABLED

0

USB 1.1 Full-Speed Serial Transceiver not selected

ENABLED

1

USB 1.1 Full-Speed Serial Transceiver Interface selected

D

RW

DEVADDR

Device Address (DevAddr)

The application must program this field after every SetAddress control command.

E

RW

PERFRINT

Periodic Frame Interval (PerFrInt)

Indicates the time within a (micro)Frame at which the application must be notified using the End Of Periodic Frame Interrupt. This can be used to determine If all the isochronous traffic for that (micro)Frame is complete.

EOPF80

0

80% of the (micro)Frame interval

EOPF85

1

85% of the (micro)Frame interval

EOPF90

2

90% of the (micro)Frame interval

EOPF95

3

95% of the (micro)Frame interval

F

RW

XCVRDLY

XCVRDLY

Enables or disables delay between xcvr_sel and txvalid during device chirp

DISABLE

0

No delay between xcvr_sel and txvalid during Device chirp

ENABLE

1

Enable delay between xcvr_sel and txvalid during Device chirp

G

RW

ERRATICINTMSK

Erratic Error Interrupt Mask

NOMASK

0

Early suspend interrupt is generated on erratic error

MASK

1

Mask early suspend interrupt on erratic error

H

RW

IPGISOCSUPT

Worst-Case Inter-Packet Gap ISOC OUT Support (ipgisocSupt)

This bit indicates that the controller supports the worst-case scenario of Rx followed by Rx Inter-Packet Gap (IPG) (32 bit times) as per the UTMI Specification for any token following an ISOC OUT token. Without this support, when any token follows an ISOC OUT token with the worst-case IPG, the controller does not detect the followed token. The worst-case IPG of the controller without this support depends on the AHB and PHY clock frequency.

DISABLED

0

Worst-Case Inter-Packet Gap ISOC OUT Support is disabled

ENABLED

1

Worst-Case Inter-Packet Gap ISOC OUT Support is enabled

I

RW

PERSCHINTVL

Periodic Scheduling Interval (PerSchIntvl)

PerSchIntvl must be programmed for Scatter/Gather DMA mode. This field specifies the amount of time the Internal DMA engine must allocate for fetching periodic IN endpoint data. Based on the number of periodic endpoints, this value must be specified as 25,50 or 75% of (micro)Frame. - When any periodic endpoints are active, the internal DMA engine allocates the specified amount of time in fetching periodic IN endpoint data . - When no periodic endpoints are active, Then the internal DMA engine services non-periodic endpoints, ignoring this field. - After the specified time within a (micro)Frame, the DMA switches to fetching for non-periodic endpoints.

MF25

0

25% of (micro)Frame

MF50

1

50% of (micro)Frame

MF75

2

75% of (micro)Frame

PERSCHINTVLRSVD3

3

J

RW

RESVALID

Resume Validation Period (ResValid)

This field is effective only when DCFG.Ena32KHzSusp is set. It controls the resume period when the core resumes from suspend. The core counts for ResValid number of clock cycles to detect a valid resume when this bit is set

DCTL

Address offset: 0x804

Device Control Register

This register is used to control the characteristics of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDONMLKJIHGFEEEDCBA
Reset 0x0000000200000000000000000000000000000010
IDR/WFieldValue IDValueDescription
A

RW

RMTWKUPSIG

Remote Wakeup Signaling (RmtWkUpSig)

When the application sets this bit, the core initiates remote signaling to wake up the USB host. The application must Set this bit to instruct the core to exit the Suspend state. As specified in the USB 2.0 specification, the application must clear this bit 1-15 ms after setting it. If LPM is enabled and the core is in the L1 (Sleep) state, when the application sets this bit, the core initiates L1 remote signaling to wake up the USB host. The application must set this bit to instruct the core to exit the Sleep state. As specified in the LPM specification, the hardware automatically clears this bit 50 microseconds (TL1DevDrvResume) after being set by the application. The application must not set this bit when GLPMCFG bRemoteWake from the previous LPM transaction is zero.

DISABLEDRMWKUP

0

Core does not send Remote Wakeup Signaling

ENABLERMWKUP

1

Core sends Remote Wakeup Signaling

B

RW

SFTDISCON

Soft Disconnect (SftDiscon)

The application uses this bit to signal the controller to do a soft disconnect. As long as this bit is set, the host does not see that the device is connected, and the device does not receive signals on the USB. The core stays in the disconnected state until the application clears this bit. UTMI+ to 2'b00, which generates a device connect event to the USB host. When the device is reconnected, the USB host restarts device enumeration. The following is the minimum duration under various conditions for which this bit must be set for the USB host to detect a device disconnect. To accommodate clock jitter, it is recommended that the application adds some extra delay to the specified minimum duration. For high speed, if the device state is, - Suspended, the minimum duration is 1ms + 2.5us - Idle, the minimum duration is 3ms + 2.5us - Not Idle or Suspended (performing transactions), the minimum duration 125 us For full speed/low speed, if the device state is, - Suspended, the minimum duration is 1ms + 2.5us - Idle, the minimum duration is 2.5us - Not Idle or Suspended (performing transactions), the minimum duration 125 us Note: - This bit can be also used for ULPI/FS Serial interfaces. - This bit is not impacted by a soft reset.

NODISCONNECT

0

The core drives the phy_opmode_o signal on the UTMI+ to 2'b00, which generates a device connect event to the USB host

DISCONNECT

1

The core drives the phy_opmode_o signal on the UTMI+ to 2'b01, which generates a device disconnect event to the USB host

C

R

GNPINNAKSTS

Global Non-periodic IN NAK Status (GNPINNakSts)

- 1'b0: A handshake is sent out based on the data availability in the transmit FIFO.

INACTIVE

0

A handshake is sent out based on the data availability in the transmit FIFO

ACTIVE

1

A NAK handshake is sent out on all non-periodic IN endpoints, irrespective of the data availability in the transmit FIFO.

D

R

GOUTNAKSTS

Global OUT NAK Status (GOUTNakSts)

- 1'b0: A handshake is sent based on the FIFO Status and the NAK and STALL bit settings.

INACTIVE

0

A handshake is sent based on the FIFO Status and the NAK and STALL bit settings.

ACTIVE

1

No data is written to the RxFIFO, irrespective of space availability. Sends a NAK handshake on all packets, except on SETUP transactions. All isochronous OUT packets are dropped.

E

RW

TSTCTL

Test Control (TstCtl)

- 3'b000: Test mode disabled

DISABLED

0

Test mode disabled

TESTJ

1

Test_J mode

TESTK

2

Test_K mode

TESTSN

3

Test_SE0_NAK mode

TESTPM

4

Test_Packet mode

TESTFE

5

Test_force_Enable

F

W

SGNPINNAK

Set Global Non-periodic IN NAK (SGNPInNak)

A write to this field sets the Global Non-periodic IN NAK.The application uses this bit to send a NAK handshake on all non-periodic IN endpoints. The core can also Set this bit when a timeout condition is detected on a non-periodic endpoint in shared FIFO operation. The application must Set this bit only after making sure that the Global IN NAK Effective bit in the Core Interrupt Register (GINTSTS.GINNakEff) is cleared

DISABLE

0

Disable Global Non-periodic IN NAK

ENABLE

1

Set Global Non-periodic IN NAK

G

W

CGNPINNAK

Clear Global Non-periodic IN NAK (CGNPInNak)

A write to this field clears the Global Non-periodic IN NAK.

DISABLE

0

Disable Global Non-periodic IN NAK

ENABLE

1

Clear Global Non-periodic IN NAK

H

W

SGOUTNAK

Set Global OUT NAK (SGOUTNak)

A write to this field sets the Global OUT NAK. The application uses this bit to send a NAK handshake on all OUT endpoints. The application must set the this bit only after making sure that the Global OUT NAK Effective bit in the Core Interrupt Register (GINTSTS.GOUTNakEff) is cleared.

DISABLED

0

Disable Global OUT NAK

ENABLED

1

Set Global OUT NAK

I

W

CGOUTNAK

Clear Global OUT NAK (CGOUTNak)

A write to this field clears the Global OUT NAK.

DISABLED

0

Disable Clear Global OUT NAK

ENABLED

1

Clear Global OUT NAK

J

RW

PWRONPRGDONE

Power-On Programming Done (PWROnPrgDone)

The application uses this bit to indicate that register programming is completed after a wake-up from Power Down mode.

NOTDONE

0

Power-On Programming not done

DONE

1

Power-On Programming Done

K

RW

IGNRFRMNUM

Ignore Frame Number Feature for Isochronous Endpoints (IgnrFrmNum)

This field is also used to control the Periodic Transfer Interrupt (PTI) feature. Note: Do not program IgnrFrmNum bit to 1'b1 when the core is operating in threshold mode. Completer Mode (GAHBCFG.DMAEn=0): This bit is not valid in Completer mode and must not be programmed to 1. Scatter/Gather DMA Mode (GAHBCFG.DMAEn=1,DCFG.DescDMA=1): Note: When Scatter/Gather DMA mode is enabled this feature is not applicable to High Speed, High bandwidth transfers. When this bit is enabled, there must be only one packet per descriptor. - 0: The core transmits the packets only in the frame number in which they are intended to be transmitted. - 1: The core ignores the frame number, sending packets immediately as the packets are ready. In Scatter/Gather DMA mode, if this bit is enabled, the packets are not flushed when a ISOC IN token is received for an elapsed frame. Non-Scatter/Gather DMA Mode, that is, Buffer DMA Mode (GAHBCFG.DMAEn=1,DCFG.DescDMA=0): When Scatter/Gather DMA mode is disabled, this field is used by the application to enable Periodic Transfer Interrupt (PTI) Mode. The application can program Periodic Endpoint transfers for multiple (micro)Frames. - 0: Periodic Transfer Interrupt feature is disabled, application needs to program transfers for periodic endpoints every (micro)Frame - 1: Periodic Transfer Interrupt feature is enabled, application can program transfers for multiple (micro)Frames for periodic endpoints. In the PTI mode, the application receives Transfer Complete Interrupt after transfers for multiple (micro)Frames are completed.

DISABLED

0

Scatter/Gather DMA Mode: The core transmits the packets only in the frame number in which they are intended to be transmitted.Non-Scatter/Gather DMA Mode: Periodic Transfer Interrupt feature is disabled.

ENABLED

1

Scatter/Gather DMA Mode: The core ignores the frame number, sending packets immediately as the packets are ready.Non-Scatter/Gather DMA Mode: Periodic Transfer Interrupt feature is enabled.

L

RW

NAKONBBLE

NAK on Babble Error (NakOnBble)

Set NAK automatically on babble (NakOnBble). The core sets NAK automatically for the endpoint on which babble is received.

DISABLED

0

Disable NAK on Babble Error

ENABLED

1

NAK on Babble Error

M

RW

DEEPSLEEPBESLREJECT

DeepSleepBESLReject

- 1: Deep Sleep BESL Reject feature is enabled - 0: Deep Sleep BESL Reject feature is disabled Core rejects LPM request with HIRD value greater than HIRD threshold programmed. NYET response is sent for LPM tokens with HIRD value greater than HIRD threshold. By default, the Deep Sleep BESL Reject feature is disabled.

DISABLED

0

Deep Sleep BESL Reject feature is disabled

ENABLED

1

Deep Sleep BESL Reject feature is enabled

N

RW

SERVINT

Service Interval based scheduling for Isochronous IN Endpoints

This field is used to enable service interval based scheduling feature for ISOC IN EPs. Note: This bit is applicable only in device mode and when Scatter/Gather DMA mode is used. This feature must not be enabled along with DCTL.IgnrFrmNum. Scatter/Gather DMA Mode (GAHBCFG.DMAEn=1,DCFG.DescDMA=1): When this bit is enabled, the frame number field in the ISOC IN descriptor structure is interpreted as the last frame of the service interval. In Scatter/Gather DMA mode, if this bit is enabled, the pending packets are flushed by the controller at the last frame of the service interval.

DISABLED

0

The controller behavior depends on DCTL.IgnrFrmNum field.

ENABLED

1

Scatter/Gather DMA Mode: The controller can transmit the packets in any frame of the service interval.

O

RW

UTMITERMSELCORRDIS

Disable the correction of TermSel on UTMI Interface.

When the application sets Soft disconnect (DCTL.SftDiscon=1'b1), the behavior of TermSel has been corrected to drive the valid combination of XcvrSel (FS_XCVR) and TermSel (FS_TERM). The application can set this register bit to 1'b1 to fall back to the original behavior of the Device controller driving XcvrSel (FS_XCVR) and TermSel (HS_TERM) when Soft disconnect is set (DCTL.SftDiscon=1'b1). Note: The application must program this register during Device Initialization before USB Reset and this value cannot be changed afterwards.

DISABLED

0

Valid Combination of XcvrSel and TermSel is driven by the Device Controller.

ENABLED

1

Invalid Combination of XcvrSel and TermSel is driven by the Device Controller.

DSTS

Address offset: 0x808

Device Status Register

This register indicates the status of the core with respect to USB-related events. It must be read on interrupts from Device All Interrupts (DAINT) register.

Bit number313029282726252423222120191817161514131211109876543210
IDEEDDDDDDDDDDDDDDCBBA
Reset 0x0000000200000000000000000000000000000010
IDR/WFieldValue IDValueDescription
A

R

SUSPSTS

Suspend Status (SuspSts)

In Device mode, this bit is set as long as a Suspend condition is detected on the USB. The core enters the Suspend state when there is no activity on the phy_line_state_i signal for an extended period of time. The core comes out of the suspend under the following conditions : - If there is any activity on the phy_line_state_i signal, or - If the application writes to the Remote Wakeup Signaling bit in the Device Control register (DCTL.RmtWkUpSig). When the core comes out of the suspend, this bit is set to 1'b0.

INACTIVE

0

No suspend state

ACTIVE

1

Suspend state

B

R

ENUMSPD

Enumerated Speed (EnumSpd)

Indicates the speed at which the controller has come up after speed detection through a connect or reset sequence. Low speed is not supported for devices using a UTMI+ PHY.

HS3060

0

High speed (PHY clock is running at 30 or 60 MHz)

FS3060

1

Full speed (PHY clock is running at 30 or 60 MHz)

LS6

2

Low speed (PHY clock is running at 6 MHz)

FS48

3

Full speed (PHY clock is running at 48 MHz)

C

R

ERRTICERR

Erratic Error (ErrticErr)

The core sets this bit to report any erratic errors (phy_rxvalid_i/phy_rxvldh_i or phy_rxactive_i is asserted for at least 2 ms, due to PHY error) seen on the UTMI+. Due to erratic errors, the core goes into Suspended state and an interrupt is generated to the application with Early Suspend bit of the Core Interrupt register (GINTSTS.ErlySusp). If the early suspend is asserted due to an erratic error, the application must perform a PHY reset followed by a soft reset to controller.

INACTIVE

0

No Erratic Error

ACTIVE

1

Erratic Error

D

R

SOFFN

Frame or Microframe Number of the Received SOF (SOFFN)

When the core is operating at high speed, this field contains a microframe number. When the core is operating at full or low speed, this field contains a Frame number. Note: This register may return a non-zero value if read immediately after power-on reset. In case the register bit reads non-zero immediately after power-on reset, it does not indicate that SOF has been received from the host. The read value of this interrupt is valid only after a valid connection between host and device is established.

E

R

DEVLNSTS

Device Line Status (DevLnSts)

Indicates the current logic level USB data lines - DevLnSts[1]: Logic level of D- - DevLnSts[0]: Logic level of D+

DIEPMSK

Address offset: 0x810

Device IN Endpoint Common Interrupt Mask Register

This register works with each of the Device IN Endpoint Interrupt (DIEPINTn) registers for all endpoints to generate an interrupt per IN endpoint. The IN endpoint interrupt for a specific status in the DIEPINTn register can be masked by writing to the corresponding bit in this register. Status bits are masked by default.

Bit number313029282726252423222120191817161514131211109876543210
IDIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPLMSK

Transfer Completed Interrupt Mask (XferComplMsk)

MASK

0

Mask Transfer Completed Interrupt

NOMASK

1

No Transfer Completed Interrupt Mask

B

RW

EPDISBLDMSK

Endpoint Disabled Interrupt Mask (EPDisbldMsk)

MASK

0

Mask Endpoint Disabled Interrupt

NOMASK

1

No Endpoint Disabled Interrupt Mask

C

RW

AHBERRMSK

AHB Error Mask (AHBErrMsk)

MASK

0

Mask AHB Error Interrupt

NOMASK

1

No AHB Error Interrupt Mask

D

RW

TIMEOUTMSK

Timeout Condition Mask (TimeOUTMsk) (Non-isochronous endpoints)

MASK

0

Mask Timeout Condition Interrupt

NOMASK

1

No Timeout Condition Interrupt Mask

E

RW

INTKNTXFEMPMSK

IN Token Received When TxFIFO Empty Mask (INTknTXFEmpMsk)

MASK

0

Mask IN Token Received When TxFIFO Empty Interrupt

NOMASK

1

No IN Token Received When TxFIFO Empty Interrupt

F

RW

INTKNEPMISMSK

IN Token received with EP Mismatch Mask (INTknEPMisMsk)

MASK

0

Mask IN Token received with EP Mismatch Interrupt

NOMASK

1

No Mask IN Token received with EP Mismatch Interrupt

G

RW

INEPNAKEFFMSK

IN Endpoint NAK Effective Mask (INEPNakEffMsk)

MASK

0

Mask IN Endpoint NAK Effective Interrupt

NOMASK

1

No IN Endpoint NAK Effective Interrupt Mask

H

RW

TXFIFOUNDRNMSK

Fifo Underrun Mask (TxfifoUndrnMsk)

MASK

0

Mask Fifo Underrun Interrupt

NOMASK

1

No Fifo Underrun Interrupt Mask

I

RW

NAKMSK

NAK interrupt Mask (NAKMsk)

MASK

0

Mask NAK Interrupt

NOMASK

1

No Mask NAK Interrupt

DOEPMSK

Address offset: 0x814

Device OUT Endpoint Common Interrupt Mask Register

This register works with each of the Device OUT Endpoint Interrupt (DOEPINTn) registers for all endpoints to generate an interrupt per OUT endpoint. The OUT endpoint interrupt for a specific status in the DOEPINTn register can be masked by writing into the corresponding bit in this register. Status bits are masked by default.

Bit number313029282726252423222120191817161514131211109876543210
IDKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPLMSK

Transfer Completed Interrupt Mask (XferComplMsk)

MASK

0

Mask Transfer Completed Interrupt

NOMASK

1

No Transfer Completed Interrupt Mask

B

RW

EPDISBLDMSK

Endpoint Disabled Interrupt Mask (EPDisbldMsk)

MASK

0

Mask Endpoint Disabled Interrupt

NOMASK

1

No Endpoint Disabled Interrupt Mask

C

RW

AHBERRMSK

AHB Error (AHBErrMsk)

MASK

0

Mask AHB Error Interrupt

NOMASK

1

No AHB Error Interrupt Mask

D

RW

SETUPMSK

SETUP Phase Done Mask (SetUPMsk)

Applies to control endpoints only.

MASK

0

Mask SETUP Phase Done Interrupt

NOMASK

1

No SETUP Phase Done Interrupt Mask

E

RW

OUTTKNEPDISMSK

OUT Token Received when Endpoint Disabled Mask (OUTTknEPdisMsk)

Applies to control OUT endpoints only.

MASK

0

Mask OUT Token Received when Endpoint Disabled Interrupt

NOMASK

1

No OUT Token Received when Endpoint Disabled Interrupt Mask

F

RW

STSPHSERCVDMSK

Status Phase Received Mask (StsPhseRcvdMsk)

Applies to control OUT endpoints only.

MASK

0

Status Phase Received Mask

NOMASK

1

No Status Phase Received Mask

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received Mask (Back2BackSETup)

Applies to control OUT endpoints only.

MASK

0

Mask Back-to-Back SETUP Packets Received Interrupt

NOMASK

1

No Back-to-Back SETUP Packets Received Interrupt Mask

H

RW

OUTPKTERRMSK

OUT Packet Error Mask (OutPktErrMsk)

MASK

0

Mask OUT Packet Error Interrupt

NOMASK

1

No OUT Packet Error Interrupt Mask

I

RW

BBLEERRMSK

Babble Error interrupt Mask (BbleErrMsk)

MASK

0

Mask Babble Error Interrupt

NOMASK

1

No Babble Error Interrupt Mask

J

RW

NAKMSK

NAK interrupt Mask (NAKMsk)

MASK

0

Mask NAK Interrupt

NOMASK

1

No NAK Interrupt Mask

K

RW

NYETMSK

NYET interrupt Mask (NYETMsk)

MASK

0

Mask NYET Interrupt

NOMASK

1

No NYET Interrupt Mask

DAINT

Address offset: 0x818

Device All Endpoints Interrupt Register

When a significant event occurs on an endpoint, a Device All Endpoints Interrupt register interrupts the application using the Device OUT Endpoints Interrupt bit or Device IN Endpoints Interrupt bit of the Core Interrupt register (GINTSTS.OEPInt or GINTSTS.IEPInt, respectively). This is shown in Figure 5-2. There is one interrupt bit per endpoint, up to a maximum of 16 bits for OUT endpoints and 16 bits for IN endpoints. For a bidirectional endpoint, the corresponding IN and OUT interrupt bits are used. Bits in this register are set and cleared when the application sets and clears bits in the corresponding Device Endpoint-n Interrupt register (DIEPINTn/DOEPINTn).

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

R

INEPINT0

IN Endpoint 0 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for IN EP0

B

R

INEPINT1

IN Endpoint 1 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

C

R

INEPINT2

IN Endpoint 2 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

D

R

INEPINT3

IN Endpoint 3 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

E

R

INEPINT4

IN Endpoint 4 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

F

R

INEPINT5

IN Endpoint 5 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

G

R

INEPINT6

IN Endpoint 6 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

H

R

INEPINT7

IN Endpoint 7 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

I

R

INEPINT8

IN Endpoint 8 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

J

R

INEPINT9

IN Endpoint 9 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

K

R

INEPINT10

IN Endpoint 10 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

L

R

INEPINT11

IN Endpoint 11 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

M

R

INEPINT12

IN Endpoint 12 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

N

R

INEPINT13

IN Endpoint 13 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

O

R

INEPINT14

IN Endpoint 14 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

P

R

INEPINT15

IN Endpoint 15 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the IN EP

Q

R

OUTEPINT0

OUT Endpoint 0 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for OUT EP0

R

R

OUTEPINT1

OUT Endpoint 1 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

S

R

OUTEPINT2

OUT Endpoint 2 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

T

R

OUTEPINT3

OUT Endpoint 3 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

U

R

OUTEPINT4

OUT Endpoint 4 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

V

R

OUTEPINT5

OUT Endpoint 5 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

W

R

OUTEPINT6

OUT Endpoint 6 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

X

R

OUTEPINT7

OUT Endpoint 7 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

Y

R

OUTEPINT8

OUT Endpoint 8 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

Z

R

OUTEPINT9

OUT Endpoint 9 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

a

R

OUTEPINT10

OUT Endpoint 10 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

b

R

OUTEPINT11

OUT Endpoint 11 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

c

R

OUTEPINT12

OUT Endpoint 12 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

d

R

OUTEPINT13

OUT Endpoint 13 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

e

R

OUTEPINT14

OUT Endpoint 14 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

f

R

OUTEPINT15

OUT Endpoint 15 Interrupt Bit

INACTIVE

0

No Interrupt

ACTIVE

1

Interrupt is active for the OUT EP

DAINTMSK

Address offset: 0x81C

Device All Endpoints Interrupt Mask Register

The Device Endpoint Interrupt Mask register works with the Device Endpoint Interrupt register to interrupt the application when an event occurs on a device endpoint. However, the Device All Endpoints Interrupt (DAINT) register bit corresponding to that interrupt is still set.

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

INEPMSK0

IN Endpoint 0 Interrupt mask Bit

MASK

0

Mask IN Endpoint 0 Interrupt

NOMASK

1

No Interrupt mask

B

RW

INEPMSK1

IN Endpoint 1 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

C

RW

INEPMSK2

IN Endpoint 2 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

D

RW

INEPMSK3

IN Endpoint 3 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

E

RW

INEPMSK4

IN Endpoint 4 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

F

RW

INEPMSK5

IN Endpoint 5 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

G

RW

INEPMSK6

IN Endpoint 6 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

H

RW

INEPMSK7

IN Endpoint 7 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

I

RW

INEPMSK8

IN Endpoint 8 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

J

RW

INEPMSK9

IN Endpoint 9 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

K

RW

INEPMSK10

IN Endpoint 10 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

L

RW

INEPMSK11

IN Endpoint 11 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

M

RW

INEPMSK12

IN Endpoint 12 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

N

RW

INEPMSK13

IN Endpoint 13 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

O

RW

INEPMSK14

IN Endpoint 14 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

P

RW

INEPMSK15

IN Endpoint 15 Interrupt mask Bit

MASK

0

Mask IN Endpoint Interrupt

NOMASK

1

No Interrupt mask

Q

RW

OUTEPMSK0

OUT Endpoint 0 Interrupt mask Bit

MASK

0

Mask OUT Endpoint 0 Interrupt

NOMASK

1

No Interrupt mask

R

RW

OUTEPMSK1

OUT Endpoint 1 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

S

RW

OUTEPMSK2

OUT Endpoint 2 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

T

RW

OUTEPMSK3

OUT Endpoint 3 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

U

RW

OUTEPMSK4

OUT Endpoint 4 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

V

RW

OUTEPMSK5

OUT Endpoint 5 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

W

RW

OUTEPMSK6

OUT Endpoint 6 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

X

RW

OUTEPMSK7

OUT Endpoint 7 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

Y

RW

OUTEPMSK8

OUT Endpoint 8 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

Z

RW

OUTEPMSK9

OUT Endpoint 9 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

a

RW

OUTEPMSK10

OUT Endpoint 10 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

b

RW

OUTEPMSK11

OUT Endpoint 11 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

c

RW

OUTEPMSK12

OUT Endpoint 12 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

d

RW

OUTEPMSK13

OUT Endpoint 13 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

e

RW

OUTEPMSK14

OUT Endpoint 14 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

f

RW

OUTEPMSK15

OUT Endpoint 15 Interrupt mask Bit

MASK

0

Mask OUT Endpoint Interrupt

NOMASK

1

No Interrupt mask

DVBUSDIS

Address offset: 0x828

Device VBUS Discharge Time Register

This register specifies the VBUS discharge time after VBUS pulsing during SRP.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x000017D700000000000000000001011111010111
IDR/WFieldValue IDValueDescription
A

RW

DVBUSDIS

Device VBUS Discharge Time (DVBUSDis)

Specifies the VBUS discharge time after VBUS pulsing during SRP. This value equals (VBUS discharge time in PHY clocks) / 1, 024. The value you use depends whether the PHY is operating at 30MHz (16-bit data width) or 60 MHz (8-bit data width). Depending on your VBUS load, this value can need adjustment.

DVBUSPULSE

Address offset: 0x82C

Device VBUS Pulsing Time Register

This register contains the VBUS pulsing time during SRP.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAA
Reset 0x000005B800000000000000000000010110111000
IDR/WFieldValue IDValueDescription
A

RW

DVBUSPULSE

Device VBUS Pulsing Time (DVBUSPulse)

Specifies the VBUS pulsing time during SRP. This value equals (VBUS pulsing time in PHY clocks) / 1, 024 The value you use depends whether the PHY is operating at 30MHz (16-bit data width) or 60 MHz (8-bit data width).

DTHRCTL

Address offset: 0x830

Device Threshold Control Register

This register contains the Receive and Transmit Threshold characteristics of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDGFFFFFFFFFEDDCCCCCCCCCBA
Reset 0x0810002000001000000100000000000000100000
IDR/WFieldValue IDValueDescription
A

RW

NONISOTHREN

Non-ISO IN Endpoints Threshold Enable. (NonISOThrEn)

When this bit is Set, the core enables thresholding for Non Isochronous IN endpoints.

DISABLED

0

No thresholding

ENABLED

1

Enable thresholding for non-isochronous IN endpoints

B

RW

ISOTHREN

ISO IN Endpoints Threshold Enable. (ISOThrEn) When this bit is Set, the core enables thresholding for isochronous IN endpoints.

DISABLED

0

No thresholding

ENABLED

1

Enables thresholding for isochronous IN endpoints

C

RW

TXTHRLEN

Transmit Threshold Length (TxThrLen)

This field specifies Transmit thresholding size in DWORDS. This also forms the MAC threshold and specifies the amount of data in bytes to be in the corresponding endpoint transmit FIFO, before the core can start transmit on the USB. The threshold length has to be at least eight DWORDS when the value of AHBThrRatio is 2'h00. In case the AHBThrRatio is non zero the application needs to ensure that the AHB Threshold value does not go below the recommended eight DWORD. This field controls both isochronous and non-isochronous IN endpoint thresholds. The recommended value for ThrLen is to be the same as the programmed AHB Burst Length (GAHBCFG.HBstLen). Note: - When OTG_ARCHITECTURE=0, the reset value of this register field is 0. - When OTG_ARCHITECTURE=2, the reset value of this register field is 8.

D

RW

AHBTHRRATIO

AHB Threshold Ratio (AHBThrRatio)

These bits define the ratio between the AHB threshold and the MAC threshold for the transmit path only. The AHB threshold always remains less than or equal to the USB threshold, because this does not increase overhead. Both the AHB and the MAC threshold must be DWORD-aligned. The application needs to program TxThrLen and the AHBThrRatio to make the AHB Threshold value DWORD aligned. If the AHB threshold value is not DWORD aligned, the core might not behave correctly. When programming the TxThrLen and AHBThrRatio, the application must ensure that the minimum AHB threshold value does not go below 8 DWORDS to meet the USB turnaround time requirements.

THRESZERO

0

AHB threshold = MAC threshold

THRESONE

1

AHB threshold = MAC threshold /2

THRESTWO

2

AHB threshold = MAC threshold /4

THRESTHREE

3

AHB threshold = MAC threshold /8

E

RW

RXTHREN

Receive Threshold Enable (RxThrEn)

When this bit is set, the core enables thresholding in the receive direction. Note: We recommends that you do not enable RxThrEn, because it may cause issues in the RxFIFO especially during error conditions such as RxError and Babble.

DISABLED

0

Disable thresholding

ENABLED

1

Enable thresholding in the receive direction

F

RW

RXTHRLEN

Receive Threshold Length (RxThrLen)

This field specifies Receive thresholding size in DWORDS. This field also specifies the amount of data received on the USB before the core can start transmitting on the AHB. The threshold length has to be at least eight DWORDS. The recommended value for ThrLen is to be the same as the programmed AHB Burst Length (GAHBCFG.HBstLen).

G

RW

ARBPRKEN

Arbiter Parking Enable (ArbPrkEn)

This bit controls internal DMA arbiter parking for IN endpoints. If thresholding is enabled and this bit is set to one, then the arbiter parks on the IN endpoint for which there is a token received on the USB. This is done to avoid getting into underrun conditions. By default, arbiter parking is enabled.

DISABLED

0

Disable DMA arbiter parking

ENABLED

1

Enable DMA arbiter parking for IN endpoints

DIEPEMPMSK

Address offset: 0x834

Device IN Endpoint FIFO Empty Interrupt Mask Register

This register is valid only in Dedicated FIFO operation (OTG_EN_DED_TX_FIFO = 1). This register is used to control the IN endpoint FIFO empty interrupt generation (DIEPINTn.TxfEmp).

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

INEPTXFEMPMSK

IN EP Tx FIFO Empty Interrupt Mask Bits (InEpTxfEmpMsk)

These bits acts as mask bits for DIEPINTn.TxFEmp interrupt, one bit per IN Endpoint: Bit 0 for IN EP 0, bit 15 for IN EP 15

EP0MASK

1

Mask IN EP0 Tx FIFO Empty Interrupt

EP1MASK

2

Mask IN EP1 Tx FIFO Empty Interrupt

EP2MASK

4

Mask IN EP2 Tx FIFO Empty Interrupt

EP3MASK

8

Mask IN EP3 Tx FIFO Empty Interrupt

EP4MASK

16

Mask IN EP4 Tx FIFO Empty Interrupt

EP5MASK

32

Mask IN EP5 Tx FIFO Empty Interrupt

EP6MASK

64

Mask IN EP6 Tx FIFO Empty Interrupt

EP7MASK

128

Mask IN EP7 Tx FIFO Empty Interrupt

EP8MASK

256

Mask IN EP8 Tx FIFO Empty Interrupt

EP9MASK

512

Mask IN EP9 Tx FIFO Empty Interrupt

EP10MASK

1024

Mask IN EP10 Tx FIFO Empty Interrupt

EP11MASK

2048

Mask IN EP11 Tx FIFO Empty Interrupt

EP12MASK

4096

Mask IN EP12 Tx FIFO Empty Interrupt

EP13MASK

8192

Mask IN EP13 Tx FIFO Empty Interrupt

EP14MASK

16384

Mask IN EP14 Tx FIFO Empty Interrupt

EP15MASK

32768

Mask IN EP15 Tx FIFO Empty Interrupt

DIEPCTL0

Address offset: 0x900

Device Control IN Endpoint 0 Control Register

This register is used to control the characteristics of the IN Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDJIHGFFFFEDDCBAA
Reset 0x0000800000000000000000001000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

Applies to IN and OUT endpoints. The application must program this field with the maximum packet size for the current logical endpoint.

BYTES64

0

64 bytes

BYTES32

1

32 bytes

BYTES16

2

16 bytes

BYTES8

3

8 bytes

B

R

USBACTEP

USB Active Endpoint (USBActEP)

This bit is always SET to 1, indicating that control endpoint 0 is always active in all configurations and interfaces.

ACTIVE0

1

Control endpoint is always active

C

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When this bit is set, either by the application or core, the core stops transmitting data, even If there is data available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

INACTIVE

0

The core is transmitting non-NAK handshakes based on the FIFO status

ACTIVE

1

The core is transmitting NAK handshakes on this endpoint

D

R

EPTYPE

Endpoint Type (EPType)

Hardcoded to 00 for control.

ACTIVE

0

Endpoint Control 0

E

RW

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, Global Nonperiodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority.

INACTIVE

0

No Stall

ACTIVE

1

Stall Handshake

F

RW

TXFNUM

TxFIFO Number (TxFNum)

- For Shared FIFO operation, this value is always set to 0, indicating that control IN endpoint 0 data is always written in the Non-Periodic Transmit FIFO. - For Dedicated FIFO operation, this value is set to the FIFO number that is assigned to IN Endpoint.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

NOCLEAR

0

No action

CLEAR

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

NOSET

0

No action

SET

1

Set NAK

I

RW

EPDIS

Endpoint Disable (EPDis)

The application sets this bit to stop transmitting data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled Interrupt. The application must Set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No action

ACTIVE

1

Disabled Endpoint

J

RW

EPENA

Endpoint Enable (EPEna)

When Scatter/Gather DMA mode is enabled for IN endpoints, this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. When Scatter/Gather DMA mode is disabled (such as in buffer pointer based DMA mode) this bit indicates that data is ready to be transmitted on the endpoint. The core clears this bit before setting the following interrupts on this endpoint: - Endpoint Disabled - Transfer Completed

INACTIVE

0

No action

ACTIVE

1

Enable Endpoint

DIEPINT0

Address offset: 0x908

Device IN Endpoint 0 Interrupt Register

This register indicates the status of an endpoint with respect to USB- and AHB-related events. It is shown in the "Interrupt Hierarchy" figure in the databook. The application must read this register when the OUT Endpoints Interrupt bit or IN Endpoints Interrupt bit of the Core Interrupt register (GINTSTS.OEPInt or GINTSTS.IEPInt, respectively) is set. Before the application can read this register, it must first read the Device All Endpoints Interrupt (DAINT) register to get the exact endpoint number for the Device Endpoint-n Interrupt register. The application must clear the appropriate bit in this register to clear the corresponding bits in the DAINT and GINTSTS registers

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Completed Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received when TxFIFO Empty interrupt

ACTIVE

1

IN Token Received when TxFIFO Empty Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No IN Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN Endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints only. The core generates this interrupt when it detects a transmit FIFO underrun condition in threshold mode for this endpoint.

INACTIVE

0

No Fifo Underrun interrupt

ACTIVE

1

Fifo Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. <brIn case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ0

Address offset: 0x910

Device IN Endpoint 0 Transfer Size Register

The application must modify this register before enabling endpoint 0. Once endpoint 0 is enabled using Endpoint Enable bit of the Device Control Endpoint 0 Control registers (DIEPCTL0.EPEna/DOEPCTL0.EPEna), the core modifies this register. The application can only read this register once the core has cleared the Endpoint Enable bit. Nonzero endpoints use the registers for endpoints 115. When Scatter/Gather DMA mode is enabled, this register must not be programmed by the application. If the application reads this register when Scatter/Gather DMA mode is enabled, the core returns all zeros.

Bit number313029282726252423222120191817161514131211109876543210
IDBBAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

This field contains the transfer size in bytes for the current endpoint. The transfer size (XferSize) = Sum of buffer sizes across all descriptors in the list for the endpoint. In Buffer DMA, the core only interrupts the application after it has exhausted the transfer size amount of data. The transfer size can be set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. - IN Endpoints: The core decrements this field every time a packet from the external memory is written to the TxFIFO. - OUT Endpoints: The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. - IN Endpoints : This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO. - OUT Endpoints: This field is decremented every time a packet (maximum size or short packet) is written to the RxFIFO.

DIEPDMA0

Address offset: 0x914

Device IN Endpoint 0 DMA Address Register

This register contains the DMA Address for the IN Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

DMAAddr

This field holds the start address of the external memory for storing or fetching endpoint data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS0

Address offset: 0x918

Device IN Endpoint Transmit FIFO Status Register 0

This register contains information about the IN Endpoint Transmit FIFO of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field is, - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion

DIEPCTL1

Address offset: 0x920

Device Control IN Endpoint Control Register 1

This register is used to control the characteristics of Endpoint 1. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT1

Address offset: 0x928

Device IN Endpoint Interrupt Register 1

This register contains the interrupts for the IN Endpoint 1 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ1

Address offset: 0x930

Device IN Endpoint Transfer Size Register 1

This register reflects the Transfer Size of the IN Endpoint 1 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA1

Address offset: 0x934

Device IN Endpoint DMA Address Register 1

This register contains the DMA Address for the IN Endpoint 1 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS1

Address offset: 0x938

Device IN Endpoint Transmit FIFO Status Register 1

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 1 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL2

Address offset: 0x940

Device Control IN Endpoint Control Register 2

This register is used to control the characteristics of Endpoint 2. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT2

Address offset: 0x948

Device IN Endpoint Interrupt Register 2

This register contains the interrupts for the IN Endpoint 2 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ2

Address offset: 0x950

Device IN Endpoint Transfer Size Register 2

This register reflects the Transfer Size of the IN Endpoint 2 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA2

Address offset: 0x954

Device IN Endpoint DMA Address Register 2

This register contains the DMA Address for the IN Endpoint 2 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS2

Address offset: 0x958

Device IN Endpoint Transmit FIFO Status Register 2

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 2 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL3

Address offset: 0x960

Device Control IN Endpoint Control Register 3

This register is used to control the characteristics of Endpoint 3. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT3

Address offset: 0x968

Device IN Endpoint Interrupt Register 3

This register contains the interrupts for the IN Endpoint 3 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ3

Address offset: 0x970

Device IN Endpoint Transfer Size Register 3

This register reflects the Transfer Size of the IN Endpoint 3 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA3

Address offset: 0x974

Device IN Endpoint DMA Address Register 3

This register contains the DMA Address for the IN Endpoint 3 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS3

Address offset: 0x978

Device IN Endpoint Transmit FIFO Status Register 3

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 3 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL4

Address offset: 0x980

Device Control IN Endpoint Control Register 4

This register is used to control the characteristics of Endpoint 4. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT4

Address offset: 0x988

Device IN Endpoint Interrupt Register 4

This register contains the interrupts for the IN Endpoint 4 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ4

Address offset: 0x990

Device IN Endpoint Transfer Size Register 4

This register reflects the Transfer Size of the IN Endpoint 4 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA4

Address offset: 0x994

Device IN Endpoint DMA Address Register 4

This register contains the DMA Address for the IN Endpoint 4 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS4

Address offset: 0x998

Device IN Endpoint Transmit FIFO Status Register 4

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 4 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL5

Address offset: 0x9A0

Device Control IN Endpoint Control Register 5

This register is used to control the characteristics of Endpoint 5. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT5

Address offset: 0x9A8

Device IN Endpoint Interrupt Register 5

This register contains the interrupts for the IN Endpoint 5 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ5

Address offset: 0x9B0

Device IN Endpoint Transfer Size Register 5

This register reflects the Transfer Size of the IN Endpoint 5 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA5

Address offset: 0x9B4

Device IN Endpoint DMA Address Register 5

This register contains the DMA Address for the IN Endpoint 5 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS5

Address offset: 0x9B8

Device IN Endpoint Transmit FIFO Status Register 5

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 5 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL6

Address offset: 0x9C0

Device Control IN Endpoint Control Register 6

This register is used to control the characteristics of Endpoint 6. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT6

Address offset: 0x9C8

Device IN Endpoint Interrupt Register 6

This register contains the interrupts for the IN Endpoint 6 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ6

Address offset: 0x9D0

Device IN Endpoint Transfer Size Register 6

This register reflects the Transfer Size of the IN Endpoint 6 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA6

Address offset: 0x9D4

Device IN Endpoint DMA Address Register 6

This register contains the DMA Address for the IN Endpoint 6 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS6

Address offset: 0x9D8

Device IN Endpoint Transmit FIFO Status Register 6

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 6 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL7

Address offset: 0x9E0

Device Control IN Endpoint Control Register 7

This register is used to control the characteristics of Endpoint 7. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT7

Address offset: 0x9E8

Device IN Endpoint Interrupt Register 7

This register contains the interrupts for the IN Endpoint 7 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ7

Address offset: 0x9F0

Device IN Endpoint Transfer Size Register 7

This register reflects the Transfer Size of the IN Endpoint 7 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA7

Address offset: 0x9F4

Device IN Endpoint DMA Address Register 7

This register contains the DMA Address for the IN Endpoint 7 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS7

Address offset: 0x9F8

Device IN Endpoint Transmit FIFO Status Register 7

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 7 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL8

Address offset: 0xA00

Device Control IN Endpoint Control Register 8

This register is used to control the characteristics of Endpoint 8. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT8

Address offset: 0xA08

Device IN Endpoint Interrupt Register 8

This register contains the interrupts for the IN Endpoint 8 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ8

Address offset: 0xA10

Device IN Endpoint Transfer Size Register 8

This register reflects the Transfer Size of the IN Endpoint 8 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA8

Address offset: 0xA14

Device IN Endpoint DMA Address Register 8

This register contains the DMA Address for the IN Endpoint 8 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS8

Address offset: 0xA18

Device IN Endpoint Transmit FIFO Status Register 8

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 8 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL9

Address offset: 0xA20

Device Control IN Endpoint Control Register 9

This register is used to control the characteristics of Endpoint 9. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT9

Address offset: 0xA28

Device IN Endpoint Interrupt Register 9

This register contains the interrupts for the IN Endpoint 9 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ9

Address offset: 0xA30

Device IN Endpoint Transfer Size Register 9

This register reflects the Transfer Size of the IN Endpoint 9 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA9

Address offset: 0xA34

Device IN Endpoint DMA Address Register 9

This register contains the DMA Address for the IN Endpoint 9 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS9

Address offset: 0xA38

Device IN Endpoint Transmit FIFO Status Register 9

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 9 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL10

Address offset: 0xA40

Device Control IN Endpoint Control Register 10

This register is used to control the characteristics of Endpoint 10. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT10

Address offset: 0xA48

Device IN Endpoint Interrupt Register 10

This register contains the interrupts for the IN Endpoint 10 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ10

Address offset: 0xA50

Device IN Endpoint Transfer Size Register 10

This register reflects the Transfer Size of the IN Endpoint 10 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA10

Address offset: 0xA54

Device IN Endpoint DMA Address Register 10

This register contains the DMA Address for the IN Endpoint 10 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS10

Address offset: 0xA58

Device IN Endpoint Transmit FIFO Status Register 10

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 10 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL11

Address offset: 0xA60

Device Control IN Endpoint Control Register 11

This register is used to control the characteristics of Endpoint 11. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT11

Address offset: 0xA68

Device IN Endpoint Interrupt Register 11

This register contains the interrupts for the IN Endpoint 11 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ11

Address offset: 0xA70

Device IN Endpoint Transfer Size Register 11

This register reflects the Transfer Size of the IN Endpoint 11 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA11

Address offset: 0xA74

Device IN Endpoint DMA Address Register 11

This register contains the DMA Address for the IN Endpoint 11 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS11

Address offset: 0xA78

Device IN Endpoint Transmit FIFO Status Register 11

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 11 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL12

Address offset: 0xA80

Device Control IN Endpoint Control Register 12

This register is used to control the characteristics of Endpoint 12. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT12

Address offset: 0xA88

Device IN Endpoint Interrupt Register 12

This register contains the interrupts for the IN Endpoint 12 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ12

Address offset: 0xA90

Device IN Endpoint Transfer Size Register 12

This register reflects the Transfer Size of the IN Endpoint 12 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA12

Address offset: 0xA94

Device IN Endpoint DMA Address Register 12

This register contains the DMA Address for the IN Endpoint 12 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS12

Address offset: 0xA98

Device IN Endpoint Transmit FIFO Status Register 12

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 12 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL13

Address offset: 0xAA0

Device Control IN Endpoint Control Register 13

This register is used to control the characteristics of Endpoint 13. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT13

Address offset: 0xAA8

Device IN Endpoint Interrupt Register 13

This register contains the interrupts for the IN Endpoint 13 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ13

Address offset: 0xAB0

Device IN Endpoint Transfer Size Register 13

This register reflects the Transfer Size of the IN Endpoint 13 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA13

Address offset: 0xAB4

Device IN Endpoint DMA Address Register 13

This register contains the DMA Address for the IN Endpoint 13 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS13

Address offset: 0xAB8

Device IN Endpoint Transmit FIFO Status Register 13

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 13 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL14

Address offset: 0xAC0

Device Control IN Endpoint Control Register 14

This register is used to control the characteristics of Endpoint 14. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT14

Address offset: 0xAC8

Device IN Endpoint Interrupt Register 14

This register contains the interrupts for the IN Endpoint 14 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ14

Address offset: 0xAD0

Device IN Endpoint Transfer Size Register 14

This register reflects the Transfer Size of the IN Endpoint 14 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA14

Address offset: 0xAD4

Device IN Endpoint DMA Address Register 14

This register contains the DMA Address for the IN Endpoint 14 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS14

Address offset: 0xAD8

Device IN Endpoint Transmit FIFO Status Register 14

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 14 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DIEPCTL15

Address offset: 0xAE0

Device Control IN Endpoint Control Register 15

This register is used to control the characteristics of Endpoint 15. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDMLKJIHGGGGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID) Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: Applies to isochronous IN and OUT endpoints only. Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

DATA0EVENFRM

0

DATA0 or Even Frame

DATA1ODDFRM

1

DATA1 or Odd Frame

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUP

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

RW

TXFNUM

TxFIFO Number (TxFNum)

Shared FIFO Operation non-periodic endpoints must set this bit to zero. Periodic endpoints must map this to the corresponding Periodic TxFIFO number. - Others: Specified Periodic TxFIFO.number Note: An interrupt IN endpoint can be configured as a non-periodic endpoint for applications such as mass storage. The core treats an IN endpoint as a non-periodic endpoint if the TxFNum field is set to 0. Otherwise, a separate periodic FIFO must be allocated for an interrupt IN endpoint, and the number of this FIFO must be programmed into the TxFNum field. Configuring an interrupt IN endpoint as a non-periodic endpoint saves the extra periodic FIFO area. Dedicated FIFO Operation: These bits specify the FIFO number associated with this endpoint. Each active IN endpoint must be programmed to a separate FIFO number. This field is valid only for IN endpoints.

TXFIFO0

0

Tx FIFO 0

TXFIFO1

1

Tx FIFO 1

TXFIFO2

2

Tx FIFO 2

TXFIFO3

3

Tx FIFO 3

TXFIFO4

4

Tx FIFO 4

TXFIFO5

5

Tx FIFO 5

TXFIFO6

6

Tx FIFO 6

TXFIFO7

7

Tx FIFO 7

TXFIFO8

8

Tx FIFO 8

TXFIFO9

9

Tx FIFO 9

TXFIFO10

10

Tx FIFO 10

TXFIFO11

11

Tx FIFO 11

TXFIFO12

12

Tx FIFO 12

TXFIFO13

13

Tx FIFO 13

TXFIFO14

14

Tx FIFO 14

TXFIFO15

15

Tx FIFO 15

H

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

I

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

J

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to Even (micro)Frame

K

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd (micro)Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to Odd (micro)Frame

L

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

M

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled, -- For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. -- For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. - When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: -- For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. -- For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set to be able to transfer SETUP data packets in memory.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DIEPINT15

Address offset: 0xAE8

Device IN Endpoint Interrupt Register 15

This register contains the interrupts for the IN Endpoint 15 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000008000000000000000000000000010000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

TIMEOUT

Timeout Condition (TimeOUT)

- In shared TX FIFO mode, applies to non-isochronous IN endpoints only. - In dedicated FIFO mode, applies only to Control IN endpoints. - In Scatter/Gather DMA mode, the TimeOUT interrupt is not asserted. Indicates that the core has detected a timeout condition on the USB for the last IN token on this endpoint.

INACTIVE

0

No Timeout interrupt

ACTIVE

1

Timeout interrupt

E

RW

INTKNTXFEMP

IN Token Received When TxFIFO is Empty (INTknTXFEmp)

Applies to non-periodic IN endpoints only. Indicates that an IN token was received when the associated TxFIFO (periodic/non-periodic) was empty. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received interrupt

ACTIVE

1

IN Token Received Interrupt

F

RW

INTKNEPMIS

IN Token Received with EP Mismatch (INTknEPMis)

Applies to non-periodic IN endpoints only. Indicates that the data in the top of the non-periodic TxFIFO belongs to an endpoint other than the one for which the IN token was received. This interrupt is asserted on the endpoint for which the IN token was received.

INACTIVE

0

No IN Token Received with EP Mismatch interrupt

ACTIVE

1

IN Token Received with EP Mismatch interrupt

G

RW

INEPNAKEFF

IN Endpoint NAK Effective (INEPNakEff)

Applies to periodic IN endpoints only. This bit can be cleared when the application clears the IN endpoint NAK by writing to DIEPCTLn.CNAK. This interrupt indicates that the core has sampled the NAK bit Set (either by the application or by the core). The interrupt indicates that the IN endpoint NAK bit Set by the application has taken effect in the core. This interrupt does not guarantee that a NAK handshake is sent on the USB. A STALL bit takes priority over a NAK bit.

INACTIVE

0

No Endpoint NAK Effective interrupt

ACTIVE

1

IN Endpoint NAK Effective interrupt

H

R

TXFEMP

Transmit FIFO Empty (TxFEmp)

This bit is valid only for IN endpoints This interrupt is asserted when the TxFIFO for this endpoint is either half or completely empty. The half or completely empty status is determined by the TxFIFO Empty Level bit in the Core AHB Configuration register (GAHBCFG.NPTxFEmpLvl)).

INACTIVE

0

No Transmit FIFO Empty interrupt

ACTIVE

1

Transmit FIFO Empty interrupt

I

RW

TXFIFOUNDRN

Fifo Underrun (TxfifoUndrn)

Applies to IN endpoints Only This bit is valid only If thresholding is enabled. The core generates this interrupt when it detects a transmit FIFO underrun condition for this endpoint.

INACTIVE

0

No Tx FIFO Underrun interrupt

ACTIVE

1

TxFIFO Underrun interrupt

J

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

K

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

L

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No interrupt

ACTIVE

1

BbleErr interrupt

M

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

N

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

DIEPTSIZ15

Address offset: 0xAF0

Device IN Endpoint Transfer Size Register 15

This register reflects the Transfer Size of the IN Endpoint 15 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet from the external memory is written to the TxFIFO.

B

RW

PKTCNT

Packet Count (PktCnt)

Indicates the total number of USB packets that constitute the Transfer Size amount of data for endpoint 0. This field is decremented every time a packet (maximum size or short packet) is read from the TxFIFO.

C

RW

MC

MC

Applies to IN endpoints only. For periodic IN endpoints, this field indicates the number of packets that must be transmitted per microframe on the USB. The core uses this field to calculate the data PID for isochronous IN endpoints. For non-periodic IN endpoints, this field is valid only in Internal DMA mode. It specifies the number of packets the core must fetchfor an IN endpoint before it switches to the endpoint pointed to by the Next Endpoint field of the Device Endpoint-n Control register (DIEPCTLn.NextEp)

PACKETONE

1

1 packet

PACKETTWO

2

2 packets

PACKETTHREE

3

3 packets

DIEPDMA15

Address offset: 0xAF4

Device IN Endpoint DMA Address Register 15

This register contains the DMA Address for the IN Endpoint 15 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DTXFSTS15

Address offset: 0xAF8

Device IN Endpoint Transmit FIFO Status Register 15

This register reflects the status of the IN Endpoint Transmit FIFO Status Register 15 of the Device controller. Note: This register exists for an endpoint i if the OTG_EP_DIR_i parameter is 0 or 1 for that endpoint.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAA
Reset 0x00000C0000000000000000000000110000000000
IDR/WFieldValue IDValueDescription
A

R

INEPTXFSPCAVAIL

IN Endpoint TxFIFO Space Avail (INEPTxFSpcAvail)

Indicates the amount of free space available in the Endpoint TxFIFO. Values are in terms of 32-bit words. In DRD configurations (OTG_MODE = 0, 1, or 2) with dynamic FIFO sizing feature enabled (OTG_DFIFO_DYNAMIC = 1), the value of this field (before DIEPCTLi.TxFNum is programmed) is - the maximum value of (OTG_TX_HNPERIO_DFIFO_DEPTH, OTG_TX_DINEP_DFIFO_DEPTH_0) during reset, and - OTG_TX_DINEP_DFIFO_DEPTH_0, immediately after reset deassertion After DIEPCTLi.TxFNum is programmed, the value of this field will return OTG_TX_DINEP_DFIFO_DEPTH_i

DOEPCTL0

Address offset: 0xB00

Device Control OUT Endpoint 0 Control Register

This register is used to control the characteristics of the OUT Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDIHGFEDDCBAA
Reset 0x0000800000000000000000001000000000000000
IDR/WFieldValue IDValueDescription
A

R

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.

BYTE64

0

64 bytes

BYTE32

1

32 bytes

BYTE16

2

16 bytes

BYTE8

3

8 bytes

B

R

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.

ACTIVE

1

USB Active Endpoint 0

C

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: 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.

INACTIVE

0

The core is transmitting non-NAK handshakes based on the FIFO status

ACTIVE

1

The core is transmitting NAK handshakes on this endpoint

D

R

EPTYPE

Endpoint Type (EPType)

Hardcoded to 2'b00 for control.

ACTIVE

0

Endpoint Control 0

E

RW

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.

INACTIVE

0

No Stall

ACTIVE

1

Stall Handshake

F

W

CNAK

Clear NAK (CNAK)

A write to this bit clears the NAK bit for the endpoint.

NOCLEAR

0

No action

CLEAR

1

Clear NAK

G

W

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.

NOSET

0

No action

SET

1

Set NAK

H

R

EPDIS

Endpoint Disable (EPDis)

The application cannot disable control OUT endpoint 0.

INACTIVE

0

No Endpoint disable

I

RW

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 and it is not cleared on Transfer Completed interrupt of SETUP packet.

INACTIVE

0

No action

ACTIVE

1

Enable Endpoint

DOEPINT0

Address offset: 0xB08

Device OUT Endpoint 0 Interrupt Register

This register contains the interrupts for the OUT Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled - For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. - For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. Note: In DMA mode, this bit must be set for the core to transfer SETUP data packets into memory. When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the core to process, such as Host busy or DMA done.

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ0

Address offset: 0xB10

Device OUT Endpoint 0 Transfer Size Register

This register contains the Transfer Size for the OUT Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for endpoint 0. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

RW

SUPCNT

SETUP Packet Count (SUPCnt)

This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

ONEPACKET

1

1 packet

TWOPACKET

2

2 packets

THREEPACKET

3

3 packets

DOEPDMA0

Address offset: 0xB14

Device OUT Endpoint 0 DMA Address Register

This register contains the DMA Address for the OUT Endpoint 0 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL1

Address offset: 0xB20

Device Control OUT Endpoint Control Register 1

This register is used to control the characteristics of OUT Endpoint 1 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT1

Address offset: 0xB28

Device OUT Endpoint Interrupt Register 1

This register contains the interrupts for the OUT Endpoint 1 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ1

Address offset: 0xB30

Device OUT Endpoint Transfer Size Register 1

This register contains the Transfer Size for the OUT Endpoint 1 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA1

Address offset: 0xB34

Device OUT Endpoint DMA Address Register 1

This register contains the DMA Address for the OUT Endpoint 1 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL2

Address offset: 0xB40

Device Control OUT Endpoint Control Register 2

This register is used to control the characteristics of OUT Endpoint 2 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT2

Address offset: 0xB48

Device OUT Endpoint Interrupt Register 2

This register contains the interrupts for the OUT Endpoint 2 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ2

Address offset: 0xB50

Device OUT Endpoint Transfer Size Register 2

This register contains the Transfer Size for the OUT Endpoint 2 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA2

Address offset: 0xB54

Device OUT Endpoint DMA Address Register 2

This register contains the DMA Address for the OUT Endpoint 2 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL3

Address offset: 0xB60

Device Control OUT Endpoint Control Register 3

This register is used to control the characteristics of OUT Endpoint 3 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT3

Address offset: 0xB68

Device OUT Endpoint Interrupt Register 3

This register contains the interrupts for the OUT Endpoint 3 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ3

Address offset: 0xB70

Device OUT Endpoint Transfer Size Register 3

This register contains the Transfer Size for the OUT Endpoint 3 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA3

Address offset: 0xB74

Device OUT Endpoint DMA Address Register 3

This register contains the DMA Address for the OUT Endpoint 3 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL4

Address offset: 0xB80

Device Control OUT Endpoint Control Register 4

This register is used to control the characteristics of OUT Endpoint 4 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT4

Address offset: 0xB88

Device OUT Endpoint Interrupt Register 4

This register contains the interrupts for the OUT Endpoint 4 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ4

Address offset: 0xB90

Device OUT Endpoint Transfer Size Register 4

This register contains the Transfer Size for the OUT Endpoint 4 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA4

Address offset: 0xB94

Device OUT Endpoint DMA Address Register 4

This register contains the DMA Address for the OUT Endpoint 4 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL5

Address offset: 0xBA0

Device Control OUT Endpoint Control Register 5

This register is used to control the characteristics of OUT Endpoint 5 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT5

Address offset: 0xBA8

Device OUT Endpoint Interrupt Register 5

This register contains the interrupts for the OUT Endpoint 5 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ5

Address offset: 0xBB0

Device OUT Endpoint Transfer Size Register 5

This register contains the Transfer Size for the OUT Endpoint 5 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA5

Address offset: 0xBB4

Device OUT Endpoint DMA Address Register 5

This register contains the DMA Address for the OUT Endpoint 5 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL6

Address offset: 0xBC0

Device Control OUT Endpoint Control Register 6

This register is used to control the characteristics of OUT Endpoint 6 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT6

Address offset: 0xBC8

Device OUT Endpoint Interrupt Register 6

This register contains the interrupts for the OUT Endpoint 6 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ6

Address offset: 0xBD0

Device OUT Endpoint Transfer Size Register 6

This register contains the Transfer Size for the OUT Endpoint 6 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA6

Address offset: 0xBD4

Device OUT Endpoint DMA Address Register 6

This register contains the DMA Address for the OUT Endpoint 6 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL7

Address offset: 0xBE0

Device Control OUT Endpoint Control Register 7

This register is used to control the characteristics of OUT Endpoint 7 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT7

Address offset: 0xBE8

Device OUT Endpoint Interrupt Register 7

This register contains the interrupts for the OUT Endpoint 7 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ7

Address offset: 0xBF0

Device OUT Endpoint Transfer Size Register 7

This register contains the Transfer Size for the OUT Endpoint 7 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA7

Address offset: 0xBF4

Device OUT Endpoint DMA Address Register 7

This register contains the DMA Address for the OUT Endpoint 7 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL8

Address offset: 0xC00

Device Control OUT Endpoint Control Register 8

This register is used to control the characteristics of OUT Endpoint 8 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT8

Address offset: 0xC08

Device OUT Endpoint Interrupt Register 8

This register contains the interrupts for the OUT Endpoint 8 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ8

Address offset: 0xC10

Device OUT Endpoint Transfer Size Register 8

This register contains the Transfer Size for the OUT Endpoint 8 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA8

Address offset: 0xC14

Device OUT Endpoint DMA Address Register 8

This register contains the DMA Address for the OUT Endpoint 8 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL9

Address offset: 0xC20

Device Control OUT Endpoint Control Register 9

This register is used to control the characteristics of OUT Endpoint 9 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT9

Address offset: 0xC28

Device OUT Endpoint Interrupt Register 9

This register contains the interrupts for the OUT Endpoint 9 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ9

Address offset: 0xC30

Device OUT Endpoint Transfer Size Register 9

This register contains the Transfer Size for the OUT Endpoint 9 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA9

Address offset: 0xC34

Device OUT Endpoint DMA Address Register 9

This register contains the DMA Address for the OUT Endpoint 9 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL10

Address offset: 0xC40

Device Control OUT Endpoint Control Register 10

This register is used to control the characteristics of OUT Endpoint 10 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT10

Address offset: 0xC48

Device OUT Endpoint Interrupt Register 10

This register contains the interrupts for the OUT Endpoint 10 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ10

Address offset: 0xC50

Device OUT Endpoint Transfer Size Register 10

This register contains the Transfer Size for the OUT Endpoint 10 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA10

Address offset: 0xC54

Device OUT Endpoint DMA Address Register 10

This register contains the DMA Address for the OUT Endpoint 10 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL11

Address offset: 0xC60

Device Control OUT Endpoint Control Register 11

This register is used to control the characteristics of OUT Endpoint 11 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT11

Address offset: 0xC68

Device OUT Endpoint Interrupt Register 11

This register contains the interrupts for the OUT Endpoint 11 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ11

Address offset: 0xC70

Device OUT Endpoint Transfer Size Register 11

This register contains the Transfer Size for the OUT Endpoint 11 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA11

Address offset: 0xC74

Device OUT Endpoint DMA Address Register 11

This register contains the DMA Address for the OUT Endpoint 11 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL12

Address offset: 0xC80

Device Control OUT Endpoint Control Register 12

This register is used to control the characteristics of OUT Endpoint 12 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT12

Address offset: 0xC88

Device OUT Endpoint Interrupt Register 12

This register contains the interrupts for the OUT Endpoint 12 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ12

Address offset: 0xC90

Device OUT Endpoint Transfer Size Register 12

This register contains the Transfer Size for the OUT Endpoint 12 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA12

Address offset: 0xC94

Device OUT Endpoint DMA Address Register 12

This register contains the DMA Address for the OUT Endpoint 12 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL13

Address offset: 0xCA0

Device Control OUT Endpoint Control Register 13

This register is used to control the characteristics of OUT Endpoint 13 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT13

Address offset: 0xCA8

Device OUT Endpoint Interrupt Register 13

This register contains the interrupts for the OUT Endpoint 13 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ13

Address offset: 0xCB0

Device OUT Endpoint Transfer Size Register 13

This register contains the Transfer Size for the OUT Endpoint 13 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA13

Address offset: 0xCB4

Device OUT Endpoint DMA Address Register 13

This register contains the DMA Address for the OUT Endpoint 13 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL14

Address offset: 0xCC0

Device Control OUT Endpoint Control Register 14

This register is used to control the characteristics of OUT Endpoint 14 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT14

Address offset: 0xCC8

Device OUT Endpoint Interrupt Register 14

This register contains the interrupts for the OUT Endpoint 14 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ14

Address offset: 0xCD0

Device OUT Endpoint Transfer Size Register 14

This register contains the Transfer Size for the OUT Endpoint 14 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA14

Address offset: 0xCD4

Device OUT Endpoint DMA Address Register 14

This register contains the DMA Address for the OUT Endpoint 14 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

DOEPCTL15

Address offset: 0xCE0

Device Control OUT Endpoint Control Register 15

This register is used to control the characteristics of OUT Endpoint 15 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDLKJIHGFEEDCBAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

MPS

Maximum Packet Size (MPS)

The application must program this field with the maximum packet size for the current logical endpoint. This value is in bytes.

B

RW

USBACTEP

USB Active Endpoint (USBActEP)

Indicates whether this endpoint is active in the current configuration and interface. The core clears this bit for all endpoints (other than EP 0) after detecting a USB reset. After receiving the SetConfiguration and SetInterface commands, the application must program endpoint registers accordingly and set this bit.

DISABLED

0

Not Active

ENABLED

1

USB Active Endpoint

C

R

DPID

Endpoint Data PID (DPID)

Applies to interrupt/bulk IN and OUT endpoints only. Contains the PID of the packet to be received or transmitted on this endpoint. The application must program the PID of the first packet to be received or transmitted on this endpoint, after the endpoint is activated. The applications use the SetD1PID and SetD0PID fields of this register to program either DATA0 or DATA1 PID. This field is applicable for both Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. Even/Odd (Micro)Frame (EO_FrNum) In non-Scatter/Gather DMA mode: - Applies to isochronous IN and OUT endpoints only. - Indicates the (micro)frame number in which the core transmits/receives isochronous data for this endpoint. The application must program the even/odd (micro)frame number in which it intends to transmit/receive isochronous data for this endpoint using the SetEvnFr and SetOddFr fields in this register. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is provided in the transmit descriptor structure. The frame in which data is received is updated in receive descriptor structure.

INACTIVE

0

Endpoint Data PID not active

ACTIVE

1

Endpoint Data PID active

D

R

NAKSTS

NAK Status (NAKSts)

Indicates the following: When either the application or the core sets this bit: - The core stops receiving any data on an OUT endpoint, even if there is space in the RxFIFO to accommodate the incoming packet. - For non-isochronous IN endpoints: The core stops transmitting any data on an IN endpoint, even if there data is available in the TxFIFO. - For isochronous IN endpoints: The core sends out a zero-length data packet, even if there data is available in the TxFIFO. Irrespective of this bit's setting, the core always responds to SETUP data packets with an ACK handshake.

NONNAK

0

The core is transmitting non-NAK handshakes based on the FIFO status

NAK

1

The core is transmitting NAK handshakes on this endpoint

E

RW

EPTYPE

Endpoint Type (EPType)

This is the transfer type supported by this logical endpoint.

CONTROL

0

Control

ISOCHRONOUS

1

Isochronous

BULK

2

Bulk

INTERRUPT

3

Interrupt

F

RW

STALL

STALL Handshake (Stall)

Applies to non-control, non-isochronous IN and OUT endpoints only. The application sets this bit to stall all tokens from the USB host to this endpoint. If a NAK bit, Global Non-periodic IN NAK, or Global OUT NAK is set along with this bit, the STALL bit takes priority. Only the application can clear this bit, never the core. Applies to control endpoints only. 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, Global Non-periodic IN NAK, 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.

INACTIVE

0

STALL All non-active tokens

ACTIVE

1

STALL All Active Tokens

G

W

CNAK

Clear NAK (CNAK) A write to this bit clears the NAK bit for the endpoint.

INACTIVE

0

No Clear NAK

ACTIVE

1

Clear NAK

H

W

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 this bit for an endpoint after a SETUP packet is received on that endpoint.

INACTIVE

0

No Set NAK

ACTIVE

1

Set NAK

I

W

SETD0PID

Set DATA0 PID (SetD0PID)

- Applies to interrupt/bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA0. - This field is applicable both for Scatter/Gather DMA mode and non-Scatter/Gather DMA mode. In non-Scatter/Gather DMA mode: Set Even (micro)frame (SetEvenFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the Even/Odd (micro)frame (EO_FrNum) field to even (micro)frame. - When Scatter/Gather DMA mode is enabled, this field is reserved. The frame number in which to send data is in the transmit descriptor structure. The frame in which to receive data is updated in receive descriptor structure.

DISABLED

0

Disables Set DATA0 PID or Do not force Even Frame

ENABLED

1

Set Endpoint Data PID to DATA0 or Sets EO_FrNum field to odd (micro)Frame

J

W

SETD1PID

Set DATA1 PID (SetD1PID)

- Applies to interrupt and bulk IN and OUT endpoints only. - Writing to this field sets the Endpoint Data PID (DPID) field in this register to DATA1. - This field is applicable both for scatter-gather DMA mode and non scatter-gather DMA mode. Set Odd (micro)frame (SetOddFr) - Applies to isochronous IN and OUT endpoints only. - Writing to this field sets the even and odd (micro)frame (EO_FrNum) field to odd (micro)frame.

DISABLED

0

Disables Set DATA1 PID or Do not force Odd Frame

ENABLED

1

Set Endpoint Data PID to DATA1 or Sets EO_FrNum field to odd (micro)Frame

K

RW

EPDIS

Endpoint Disable (EPDis)

Applies to IN and OUT endpoints. The application sets this bit to stop transmitting/receiving data on an endpoint, even before the transfer for that endpoint is complete. The application must wait for the Endpoint Disabled interrupt before treating the endpoint as disabled. The core clears this bit before setting the Endpoint Disabled interrupt. The application must set this bit only if Endpoint Enable is already set for this endpoint.

INACTIVE

0

No Action

ACTIVE

1

Disable Endpoint

L

RW

EPENA

Endpoint Enable (EPEna)

Applies to IN and OUT endpoints. When Scatter/Gather DMA mode is enabled, - For IN endpoints this bit indicates that the descriptor structure and data buffer with data ready to transmit is setup. - For OUT endpoint it indicates that the descriptor structure and data buffer to receive data is setup. When Scatter/Gather DMA mode is enabled such as for buffer-pointer based DMA mode: - For IN endpoints, this bit indicates that data is ready to be transmitted on the endpoint. - For OUT endpoints, 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: For control endpoints in DMA mode, this bit must be set for the controller to transfer SETUP data packets to the memory. This bit is not cleared on Transfer Completed interrupt of the SETUP packet.

INACTIVE

0

No Action

ACTIVE

1

Enable Endpoint

DOEPINT15

Address offset: 0xCE8

Device OUT Endpoint Interrupt Register 15

This register contains the interrupts for the OUT Endpoint 15 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDNMLKJIHGFEDCBA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERCOMPL

Transfer Completed Interrupt (XferCompl)

Applies to IN and OUT endpoints. - When Scatter/Gather DMA mode is enabled -- For IN endpoint this field indicates that the requested data from the descriptor is moved from external system memory to internal FIFO. -- For OUT endpoint this field indicates that the requested data from the internal FIFO is moved to external system memory. This interrupt is generated only when the corresponding endpoint descriptor is closed, and the IOC bit for the corresponding descriptor is Set. - When Scatter/Gather DMA mode is disabled, this field indicates that the programmed transfer is complete on the AHB as well as on the USB, for this endpoint.

INACTIVE

0

No Transfer Complete Interrupt

ACTIVE

1

Transfer Complete Interrupt

B

RW

EPDISBLD

Endpoint Disabled Interrupt (EPDisbld)

Applies to IN and OUT endpoints. This bit indicates that the endpoint is disabled per the application's request.

INACTIVE

0

No Endpoint Disabled Interrupt

ACTIVE

1

Endpoint Disabled Interrupt

C

RW

AHBERR

AHB Error (AHBErr)

Applies to IN and OUT endpoints. This is generated only in Internal DMA mode when there is an AHB error during an AHB read/write. The application can read the corresponding endpoint DMA address register to get the error address. For details, see "AHB Error Handling" section in the Programming Guide.

INACTIVE

0

No AHB Error Interrupt

ACTIVE

1

AHB Error interrupt

D

RW

SETUP

SETUP Phase Done (SetUp)

Applies to control OUT endpoints only. Indicates that the SETUP phase for the control endpoint is complete and no more back-to-back SETUP packets were received for the current control transfer. On this interrupt, the application can decode the received SETUP data packet.

INACTIVE

0

No SETUP Phase Done

ACTIVE

1

SETUP Phase Done

E

RW

OUTTKNEPDIS

OUT Token Received When Endpoint Disabled (OUTTknEPdis)

Applies only to control OUT endpoints. Indicates that an OUT token was received when the endpoint was not yet enabled. This interrupt is asserted on the endpoint for which the OUT token was received.

INACTIVE

0

No OUT Token Received When Endpoint Disabled

ACTIVE

1

OUT Token Received When Endpoint Disabled

F

RW

STSPHSERCVD

Status Phase Received for Control Write (StsPhseRcvd)

This interrupt is valid only for Control OUT endpoints. This interrupt is generated only after the core has transferred all the data that the host has sent during the data phase of a control write transfer, to the system memory buffer. The interrupt indicates to the application that the host has switched from data phase to the status phase of a Control Write transfer. The application can use this interrupt to ACK or STALL the Status phase, after it has decoded the data phase.

INACTIVE

0

No Status Phase Received for Control Write

ACTIVE

1

Status Phase Received for Control Write

G

RW

BACK2BACKSETUP

Back-to-Back SETUP Packets Received (Back2BackSETup)

Applies to Control OUT endpoints only. This bit indicates that the core has received more than three back-to-back SETUP packets for this particular endpoint. For information about handling this interrupt, refer to Programming guide section "Handling More Than Three Back-to-Back SETUP Packets". This bit is not valid in Completer mode.

INACTIVE

0

No Back-to-Back SETUP Packets Received

ACTIVE

1

Back-to-Back SETUP Packets Received

H

RW

OUTPKTERR

OUT Packet Error (OutPktErr)

Applies to OUT endpoints Only This interrupt is valid only when thresholding is enabled. This interrupt is asserted when the core detects an overflow or a CRC error for non-Isochronous OUT packet.

INACTIVE

0

No OUT Packet Error

ACTIVE

1

OUT Packet Error

I

RW

BNAINTR

BNA (Buffer Not Available) Interrupt (BNAIntr)

This bit is valid only when Scatter/Gather DMA mode is enabled. The core generates this interrupt when the descriptor accessed is not ready for the Core to process, such as Host busy or DMA done

INACTIVE

0

No BNA interrupt

ACTIVE

1

BNA interrupt

J

RW

PKTDRPSTS

Packet Drop Status (PktDrpSts)

This bit indicates to the application that an ISOC OUT packet has been dropped. This bit does not have an associated mask bit and does not generate an interrupt. Dependency: This bit is valid in non Scatter/Gather DMA mode when periodic transfer interrupt feature is selected.

INACTIVE

0

No interrupt

ACTIVE

1

Packet Drop Status interrupt

K

RW

BBLEERR

NAK Interrupt (BbleErr)

The core generates this interrupt when babble is received for the endpoint.

INACTIVE

0

No BbleErr interrupt

ACTIVE

1

BbleErr interrupt

L

RW

NAKINTRPT

NAK Interrupt (NAKInterrupt)

The core generates this interrupt when a NAK is transmitted or received by the device. In case of isochronous IN endpoints the interrupt gets generated when a zero length packet is transmitted due to un-availability of data in the TXFifo.

INACTIVE

0

No NAK interrupt

ACTIVE

1

NAK Interrupt

M

RW

NYETINTRPT

NYET Interrupt (NYETIntrpt)

The core generates this interrupt when a NYET response is transmitted for a non isochronous OUT endpoint.

INACTIVE

0

No NYET interrupt

ACTIVE

1

NYET Interrupt

N

RW

STUPPKTRCVD

Setup Packet Received

Applicable for Control OUT Endpoints in only in the Buffer DMA Mode Set by the controller, this bit indicates that this buffer holds 8 bytes of setup data. There is only one Setup packet per buffer. On receiving a Setup packet, the controller closes the buffer and disables the corresponding endpoint. The application has to re-enable the endpoint to receive any OUT data for the Control Transfer and reprogram the buffer start address. Note: Because of the above behavior, the controller can receive any number of back to back setup packets and one buffer for every setup packet is used.

NOTRCVD

0

No Setup packet received

RCVD

1

Setup packet received

DOEPTSIZ15

Address offset: 0xCF0

Device OUT Endpoint Transfer Size Register 15

This register contains the Transfer Size for the OUT Endpoint 15 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDCCBBBBBBBBBBAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

XFERSIZE

Transfer Size (XferSize)

Indicates the transfer size in bytes for the endpoint. The core interrupts the application only after it has exhausted the transfer size amount of data. The transfer size can be Set to the maximum packet size of the endpoint, to be interrupted at the end of each packet. The core decrements this field every time a packet is read from the RxFIFO and written to the external memory.

B

RW

PKTCNT

Packet Count (PktCnt)

This field is decremented to zero after a packet is written into the RxFIFO.

C

R

RXDPID

RxDPID

Applies to isochronous OUT endpoints only. This is the data PID received in the last packet for this endpoint. SETUP Packet Count (SUPCnt) Applies to control OUT Endpoints only. This field specifies the number of back-to-back SETUP data packets the endpoint can receive.

DATA0

0

DATA0

DATA2PACKET1

1

DATA2 or 1 packet

DATA1PACKET2

2

DATA1 or 2 packets

MDATAPACKET3

3

MDATA or 3 packets

DOEPDMA15

Address offset: 0xCF4

Device OUT Endpoint DMA Address Register 15

This register contains the DMA Address for the OUT Endpoint 15 of the Device controller.

Bit number313029282726252423222120191817161514131211109876543210
IDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription
A

RW

DMAADDR

Holds the start address of the external memory for storing or fetching endpoint

data. Note: For control endpoints, this field stores control OUT data packets as well as SETUP transaction data packets. When more than three SETUP packets are received back-to-back, the SETUP data packet in the memory is overwritten. This register is incremented on every AHB transaction. The application can give only a DWORD-aligned address. - When Scatter/Gather DMA mode is not enabled, the application programs the start address value in this field. - When Scatter/Gather DMA mode is enabled, this field indicates the base pointer for the descriptor list.

PCGCCTL

Address offset: 0xE00

Power and Clock Gating Control Register

This register is used to control the Power and Clock Gating characteristics of the controller.

Bit number313029282726252423222120191817161514131211109876543210
IDIIIIIIIIIIIIIIIIIIHGFEDCBA
Reset 0x880A000010001000000010100000000000000000
IDR/WFieldValue IDValueDescription
A

RW

STOPPCLK

Stop Pclk (StopPclk)

- The application sets this bit to stop the PHY clock (phy_clk) when the USB is suspended, the session is not valid, or the device is disconnected. - The application clears this bit when the USB is resumed or a new session starts.

DISABLED

0

Disable Stop Pclk

ENABLED

1

Enable Stop Pclk

B

RW

GATEHCLK

Gate Hclk (GateHclk)

- The application sets this bit to gate hclk to modules other than the AHB Completer and Requester and wakeup logic when the USB is suspended or the session is not valid. - The application clears this bit when the USB is resumed or a new session starts.

DISABLED

0

Clears this bit when the USB is resumed or a new session starts

ENABLED

1

Sets this bit to gate hclk to modules when the USB is suspended or the session is not valid

C

RW

RSTPDWNMODULE

Reset Power-Down Modules (RstPdwnModule)

This bit is valid only in Partial Power-Down mode. - The application sets this bit when the power is turned off. - The application clears this bit after the power is turned on and the PHY clock is up. Note: The R/W of all core registers are possible only when this bit is set to 1b0.

ON

0

Power is turned on

OFF

1

Power is turned off

D

RW

ENBLL1GATING

Enable Sleep Clock Gating

If this bit is set, core internal clock gating is enabled sleep state if utmi_l1_suspend_n cannot be asserted by the core. The PHY clock is not gated in sleep state if Enbl_L1Gating is not set.

DISABLED

0

The PHY clock is not gated in Sleep state

ENABLED

1

The Core internal clock gating is enabled in Sleep state

E

R

PHYSLEEP

PHY In Sleep

Indicates that the PHY is in Sleep State.

INACTIVE

0

Phy not in Sleep state

ACTIVE

1

Phy in Sleep state

F

R

L1SUSPENDED

L1 Deep Sleep

Indicates that the PHY is in deep sleep when in L1 state.

INACTIVE

0

Non Deep Sleep

ACTIVE

1

Deep Sleep

G

RW

RESTOREMODE

Restore Mode (RestoreMode)

The application must program this bit to specify the restore mode during RESTORE POINT before programming PCGCCTL.EssRegRest bit is set. - Host Mode: - Device Mode:

DISABLED

0

In Host mode,this bit indicates Host-initiated Resume and Reset. In Device mode, this bit indicates Device-initiated Remote Wakeup

ENABLED

1

In Host mode,this bit indicates Device-initiated Remote Wakeup. In Device mode, this bit indicates Host-initiated Resume and Reset

H

W

ESSREGRESTORED

Essential Register Values Restored (EssRegRestored)

A write of one into this field indicates that register values of essential registers have been restored. For definition of essential registers, refer programming flow section for Hibernation.

NOTRESTORED

0

Register values of essential registers are not restored

RESTORED

1

Register values of essential registers have been restored

I

RW

RESTOREVALUE

Restore Value (RestoreValue)

When Hibernation mode is enabled, the RestoreValue needs to be read at SAVE_POINT to store in non-volatile memory and at RESTORE_POINT restored before PCGCCTL.EssRegRestored field is set. - [31] if_dev_mode -- 1: Device mode, core restored as device -- 0: Host mode, core restored as host - [30:29] p2hd_prt_spd (PRT speed) -- 00: HS -- 01: FS -- 10: LS -- 11: Reserved - [28:27] p2hd_dev_enum_spd (Device enumerated speed) -- 00: HS -- 01: FS (30/60 MHz clk) -- 10: LS -- 11: FS (48 MHz clk) - [26:20] mac_dev_addr (MAC device address) Device address - [19] mac_termselect (Termination selection) -- 0: HS_TERM (Program for High Speed) -- 1: FS_TERM (Program for Full Speed) - [18:17] mac_xcvrselect (Transceiver select) -- 00: HS_XCVR (High Speed) -- 01: FS_XCVR (Full Speed) -- 10: LS_XCVR (Low Speed) -- 11: LFS_XCVR (Reserved) - [16] sh2pl_prt_ctl[0] -- 1: prt_power enabled -- 0: prt_power disabled - [15:14] prt_clk_sel (Refer prt_clk_sel table) Defines port clock select for different speeds.

GSTARFXDIS

Address offset: 0xF00

Global STAR Fix Disable Register

This register is used to disable STAR fixes added in the controller. The application can set the register fields to operate with the functionality before the fix was done.

Bit number313029282726252423222120191817161514131211109876543210
IDaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0x0000220000000000000000000010001000000000
IDR/WFieldValue IDValueDescription
A

RW

HOSTIGNORESRMTWKUPDIS

Disable the STAR fix added for Device controller to go back to low power mode when Host ignores Remote wakeup

The application programs Host_Ignores_RmtWkup_dis=1 to disable the device controller from going back to low power mode (SUSPENDED state) when the host ignores the remote wakeup signalling from the device and does not respond back with resume. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Device controller goes back into SUSPENDED state when host ignores Remote Wakeup

DISABLEFIX

1

Device controller waits indefinitely without entering SUSPENDED state when host ignores the Remote Wakeup

B

RW

RESUMEFRMCHKBUSDIS

Disable the STAR fix added for Device controller to detect lineK and move to RESUMING state after the 50us pull-up delay ends

The application programs Resume_frm_CHK_BUS_dis=1 to disable the device controller from detecting line K and transitioning to RESUMING state in the scenario where Host resume starts immediately after the 50us pull-up delay timer expires. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Device controller detects line K and resumes

DISABLEFIX

1

Device controller does not detect line K and resume

C

RW

IGNORECTLOUTDATA0DIS

Disable the STAR fix added for Device controller to reject DATA0 for the first Control OUT Data Phase and Control Status OUT Phase

The application programs Ignore_CtlOUT_DATA0_dis=1 to disable the device controller from reporting transaction error when DATA0 PID is received from host for the first Control OUT Data Phase and Control Status OUT phase. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Transaction Error reported when host sends DATA0 PID

DISABLEFIX

1

Transaction Error not reported when host sends DATA0 PID

D

RW

SSPLITSTALLNYETERRDIS

Disable the STAR fix added for Host controller to flag error for SSPLIT STALL/NYET

The application programs SSPLIT_STALLNYET_Err_dis=1 to disable the host controller from reporting transaction error for STALL/NYET received from device for SSPLIT transfer. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Transaction Error reported when device sends STALL/NYET for SSPLIT

DISABLEFIX

1

Transaction Error not reported when device sends STALL/NYET for SSPLIT

E

RW

ACCEPTISOCSPLITDATA1DIS

Disable the STAR fix added for Host controller to accept DATA1 PID from device for ISOC Split transfers

The application programs Accept_Isoc_split_DATA1_dis=1 to disable the host controller from accepting DATA1 PID from device for ISOC Split transfers. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Transaction Error not reported when device sends DATA1 PID for ISOC Split

DISABLEFIX

1

Transaction Error reported when device sends DATA1 PID for ISOC Split

F

RW

HANDLEFAULTYCABLEDIS

Disable the STAR fix added for Host controller to handle Faulty cable scenarios

The application programs HandleFaultyCable_dis=1 to disable the host controller from reporting Port Babble error when the linestate is stuck at 1 (in FS mode) or 2 (in LS mode) due to a Faulty cable. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Fix for handling faulty cable enabled

DISABLEFIX

1

Fix for handling faulty cable disabled

G

RW

LSIPGINCRDIS

Disable the STAR fix added for Host controller LS mode IPG increment from 2 LS bit times to 3 LS bit times

The application programs LS_IPG_incr_dis=1 to disable the IPG increment from 2 to 3 LS bit times when host controller is operating in LS mode. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host LS mode IPG is 3 LS bit times

DISABLEFIX

1

Host LS mode IPG is 2 LS bit times

H

RW

FSDISCIDLEDIS

Disable the STAR fix added for Device controller to transition to IDLE state during FS device disconnect

The application programs FSDisc_Idle_dis=1 to disable the Transmit/Receive state machine from moving to IDLE state when FS device disconnect happens. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Device controller transitions to IDLE state during FS device disconnect

DISABLEFIX

1

Device controller does not transition to IDLE state during FS device disconnect

I

RW

CONCURRENTRMTWKUPUSBRESUMEDIS

Disable the STAR fix added for Device controller to not start Remote Wakeup signalling when USB resume has already started

The application programs Concurrent_Rmtwkup_USBResume_dis=1 to allow the controller to do remote wakeup signalling when USB resume has already started from the Host. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Device controller does not start remote wakeup signalling when host resume has already started

DISABLEFIX

1

Device controller is allowed to start remote wakeup signalling when host resume has already started

J

RW

LSIPGCHKAFTERNAKSTALLFORINDIS

Disable the STAR fix added for Host controller to wait for IPG duration to send next token after receiving NAK/STALL for previous IN token with FS/LS device

The application programs LS_IPG_chk_after_NAK_STALL_for_IN_dis=1 to allow the controller to send the next token without waiting for the interpacket gap duration after receiving a NAK/STALL from device for the previous IN token. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller checks IPG after NAK/STALL for IN token

DISABLEFIX

1

Host controller does not check IPG after NAK/STALL for IN token

K

RW

PHYIOPXCVRSELTXVLDCORRDIS

Disable the STAR fix added for Host controller to increase the gap between utmi_xcvrselect switching and utmi_txvalid assertion in LS/FS mode

The application programs PHY_IOp_xcvrsel_txvld_corr_dis=1 to allow the controller to assert utmi_txvalid 1 cycle after the utmi_xcvrselect switching. This can cause interop issues with SNPS PHY which requires at least 2 cycles of gap between the utmi_xcvrselect switch and the utmi_txvalid assertion. Hence it is recommended to program PHY_IOp_xcvrsel_txvld_corr_dis=0. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller asserts utmi_txvalid at least 2 utmi_clk cycles after utmi_xcvrselect switching

DISABLEFIX

1

Host controller can assert utmi_txvalid after 1 utmi_clk cycle of utmi_xcvrselect switching

L

RW

ULPIXCVRSELSWITCHCORRDIS

Disable the STAR fix added for Host controller to increase the preamble transceiver select switch delay to accommodate time taken for ULPI function control write

The application programs ULPI_xcvrsel_switch_corr_dis=1 to allow the controller to do back to back transceiver select switching within the duration required for a single ULPI function control write (around 5-6 ulpi_clk cycles). This can cause a corrupted packet to go on the bus since the ULPI wrapper may not be able to do the second ULPI functional update (register write) correctly. Hence it is recommended to program ULPI_xcvrsel_switch_corr_dis=0. With ULPI_xcvrsel_switch_corr_dis=0, the delay between transceiver select switch and txvalid assertion has also been increased for FS/LS mode to resolve PHY interop issues. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller waits for previous functional register update to complete before switching the transceiver select again or asserting txvalid

DISABLEFIX

1

Host controller does not wait for the previous functional register update to complete before switching the transceiver select again or asserting txvalid

M

RW

XACTERRDATA0CTRLSTSINDIS

Disable the STAR fix added for Host controller to report transaction error when DATA0 PID is received for CTRL STATUS IN transfer in DMA mode

The application programs XactErr_DATA0_CTRL_STS_IN_dis=1 to allow the controller to respond with ACK for the incorrect DATA0 PID and then retry the control STATUS IN transfer until DATA1 PID is received. With XactErr_DATA0_CTRL_STS_IN_dis=0, the controller generates Transaction Error interrupt when the incorrect PID is received. This STAR fix is applicable only for Buffer DMA and Descriptor DMA modes. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller reports transaction error when DATA0 PID is received for CTRL STATUS IN transfer in DMA mode

DISABLEFIX

1

Host controller retries the transfer when DATA0 PID is received for CTRL STATUS IN transfer in DMA mode

N

RW

HOSTUTMITXVLDCORRDIS

Disable the correction to OpMode/XcvrSel/TermSel on UTMI Interface in Host mode.

When HPRT.PrtRst is set by the application, the Host controller can change the Opmode, XcvrSel and TermSel while TxValid is still high (1'b1) during SOF transmission in 8-bit UTMI mode. This behavior of the controller has been corrected to handle port reset during SOF transmission. With the fix, the controller waits for Txvalid to go low (1'b0) and then changes the OpMode, XcvrSel and TermSel. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Opmode, XcvrSel, TermSel are changed by the Host Controller after TxValid goes LOW (1'b0)

DISABLEFIX

1

Opmode, XcvrSel, TermSel are changed by the Host Controller without waiting for TxValid to go LOW (1'b0) during SOF transmission

O

RW

OPMODEXCVRSELCHIRPENCORRDIS

Disable the STAR fix added for correcting Opmode and XcvrSel on UTMI Interface when reset is detected in suspend state.

In configurations with Battery charger support enabled (and GOTGCTL.ChirpEn programmed to 1), the RTL has been updated to wait for 1ms and then change the opmode and xcvrselect when reset is detected in the suspend state. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller and change Opmode and XcvrSel without waiting for 1ms after reset detection. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Valid Combination of Opmode and XcvrSel is driven when reset is detected in suspend state

DISABLEFIX

1

Invalid Combination of Opmode and XcvrSel is driven when reset is detected in suspend state

P

RW

TXVALIDDEASSERTIONCORRDIS

Disable the STAR fix added for correcting Txvalid deassertion on UTMI Interface when soft disconnect is done.

The RTL has been updated to wait for utmi_txready and then de-assert the utmi_txvalid being driven by MAC DSSR when soft disconnect is done. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller and change Txvalid without waiting for Txready. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Txvalid is deasserted during soft disconnect after receiving Txready from the PHY

DISABLEFIX

1

Txvalid is deasserted during soft disconnect without waiting for Txready from the PHY

Q

RW

HOSTNOXFERAFTERPRTDISFIXDIS

Disable the STAR fix added for correcting Host behavior when port is disabled.

The RTL has been updated to not assert utmi_txvalid when the port is disabled. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Txvalid is not asserted when port is disabled

DISABLEFIX

1

Txvalid can be asserted when port is disabled

R

RW

LINESTATESE0FILTERFOREOPDIS

Disable the STAR fix added for filtering SE0 from the linestate during EOP detection..

The RTL has been updated to filter glitches occurred in the linestate. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Filter for linestate is enabled

DISABLEFIX

1

Filter for linestate is not enabled

S

RW

DMPULLDOWNUPDATEINOTGFORHIBANDPP

Disable the STAR fix added for utmiotg_dmpulldown update in Hibernation and Partial power down modes.

The RTL has been updated for OTG mode to remove the glitch in utmiotg_dmpulldown signal while controller is exiting from Hibernation or Partial power down. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

utmiotg_dmpulldown logic for hiberabtion and partial power down is enabled

DISABLEFIX

1

utmiotg_dmpulldown logic for hiberabtion and partial power down is not enabled

T

RW

CHIRPDETECTIONUPDTHSTDIS

Disable the Chirp detection logic change in host mode.

The RTL has been updated in Host mode to avoid the unexpected chirp detection when there is no chirp K from device. After the RTL fix chirp detection logic depends on the delayed WAIT_CHIRP state. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Chirp detection logic in MAC PRT module depends on the delayed WAIT_CHIRP state and only valid chirp K from device is detected

DISABLEFIX

1

Chirp detection logic depends on the WAIT_CHIRP state and controller might detect false chirp K from device

U

RW

PROGRAMMABLESE0DURATIONTODETECTEOP

Disable the STAR fix added for programmable se0 duration to detect EOP in Host mode .

The RTL Enhancement has been done to reduce the EOP SE0 detection time for USB2 SOF,transmitted by the core to work with longer cables and/or devices with longer delays. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Programmable se0 duration to detect EOP in Host mode is enabled

DISABLEFIX

1

Programmable se0 duration to detect EOP in Host mode is disabled

V

RW

ENABLELEVELSYNCHRONISERFORH2PDTXF0LENPKT

Disable the STAR fix added for h2pd_txf_0len_pkt signal which is passing through a level synchronizer.

Dummy synchronizer of h2pd_txf_0len_pkt signal has been replaced with Level synchronizer. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

level synchroniser for h2pd_txf_0len_pkt is enabled and disabled dummy synchronizer

DISABLEFIX

1

level synchroniser for h2pd_txf_0len_pkt is disabled and connected through dummy synchronizer

W

RW

EUSB2TERMINATERESUMEONDISCDIS

Disable fix for Terminating Resume if UTMI HostDisconnect is detected.

The RTL has been updated in Host mode to terminate Resume if UTMI HostDisconnect is asserted, this is to avoid the controller and PHY from being out of sync if HostDisconnect coincides with the beginning of Resume transmission. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller terminates Resume if HostDisconnect is asserted

DISABLEFIX

1

Host controller does not terminate Resume if HostDisconnect is asserted

X

RW

EUSB2FSLSDISCDETECTIONDIS

Disable fix for FS/LS disconnect detection using UTMI HostDisconnect in MAC PRT.

The RTL has been updated in Host mode to detect disconnect using the utmi_hostdisconnect signal instead of monitoring 2.5us of SE0 on DP/DM. The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller detects FS/LS disconnect using utmi_hostdisconnect signal

DISABLEFIX

1

Host controller detects disconnect by monitoring 2.5us of SE0 on DP/DM

Y

RW

HOSTFLUSHEXCESSTKNFIXDIS

Disable fix for recovering the Host controller when sufficient time is not available in the current uF for an overscheduled ISOC OUT or INTR IN transfer.

The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

Host controller functionality is as expected if there is an overscheduled ISOC OUT or INTR IN transfer

DISABLEFIX

1

Host controller functionality cannot be determined if there is an overscheduled ISOC OUT or INTR IN transfer

Z

RW

TITRANSDONETGLDURINGISOCEOPFDISABLE

Disable the fix added to not toggle ti_trans_done in SEND_EOP state when the ISOC in tokens responds with zero length packets after end of periodic frame till next start of frame. The fix is added when operating in descriptor dma device mode.

The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

ti_transdone is not toggled after eopf during ISOC IN transfer till next SOF

DISABLEFIX

1

ti_transdone is toggled after eopf during ISOC IN transfer till next SOF

a

RW

CLEARSOFREFCLKTIMERDURINGDISC

Disable the STAR fix added to clear the SOF refclk timer during disconnect detection. The STAR fix is added when using both UTMI and eUSB2 PHY.

The application can set this register bit to 1'b1 to fall back to the original behavior of the controller. This bit must be programmed during the initial configuration of the controller and must not be modified later.

ENABLEFIX

0

SOF refclk timer is cleared immediately after device disconnect is detected.

DISABLEFIX

1

SOF refclk timer is not cleared immediately after device disconnect is detected.

DWCOTGDFIFO[n].DATA[o]

Address offset: 0x1000 + (n × 0x1000) + (o × 0x4)

Data FIFO Access Register Map 0

Bit number313029282726252423222120191817161514131211109876543210
ID
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription

DWCOTGDFIFODIRECTACCESS.DATA[n]

Address offset: 0x11000 + (n × 0x4)

Data FIFO Direct Access Register Map

Bit number313029282726252423222120191817161514131211109876543210
ID
Reset 0x0000000000000000000000000000000000000000
IDR/WFieldValue IDValueDescription