The USB device (USBD) controller implements a full speed USB device function that meets 2.0 revision of the USB specification.
Listed here are the main features for USBD:
- Implements full-speed (12 Mbps) device fully compliant to Universal
Serial Bus Specification Revision 2.0, including following engineering change notices
(ECNs) issued by USB Implementers Forum:
- Pull-up/pull-down Resistors ECN
- 5V Short Circuit Withstand Requirement Change ECN
- USB device stack available in the Nordic SDK
- Integrated (on-chip) USB transceiver (PHY)
- Software controlled on-chip pull-up on D+
- Endpoints:
- 2 control (1 IN, 1 OUT)
- 14 bulk/interrupt (7 IN, 7 OUT)
- 2 isochronous (1 IN, 1 OUT)
- Supports double buffering for isochronous (ISO) endpoints (IN/OUT)
- Supports USB suspend, resume, and remote wake-up
- 64 bytes buffer size for each bulk/interrupt endpoint
- Up to 1023 bytes buffer size for ISO endpoints
- EasyDMA for all data transfers
USB device states
The behavior of a USB device can be modeled through a state diagram.
The USB 2.0 Specification (see Chapter 9 USB Device Framework) defines a number of states for a USB device, as shown in the following figure.
The USB device must change state according to host-initiated traffic and USB bus states. It is up to the software to implement a state machine that matches the above definition.To detect the presence or absence of USB supply (VBUS), two events USBDETECTED and USBREMOVED can be used to implement the state machine. For more details on these events, see USBREG — USB regulator control.
When implementing the software, the USB host behavior shall never be assumed to be predictable. In particular the sequence of commands received during an enumeration. The software shall always react to the current bus conditions or commands sent by the USB host.
USB terminology
The USB specification defines bus states, rather than logic levels on the D+ and D- lines.
For a full speed device, the bus state where the D+ line is high and the D- line is low is defined as the J state. The bus state where D+ is low and D- high is called the K state.
An idle bus, where D+ and D- lines are only polarized through the pull-up on D+ and pull-downs on the USB host side, will be in J state.
Both lines low are called SE0 (single-ended 0), and both lines high SE1 (single-ended 1).
USB pins
The USBD peripheral features a number of dedicated pins.
The dedicated USB pins can be grouped in two categories, signal and power. The signal pins consist of the D+ and D- pins, which connect to the USB host. They are dedicated pins, and not available as standard GPIOs. The USBD peripheral is implemented according to the USB Specification v2.0, 5V Short Circuit Withstand ECN Requirement Change, meaning these two pins are not 5 V tolerant. USB power is supplied on the VBUS pin.
- When VBUS is in its valid voltage range
- USBD is enabled through the ENABLE register
For more information about USB power supply and VBUS detection, see USBREG — USB regulator control. For pinout see Pin assignments.
USBD power-up sequence
The physical layer interface (PHY) of the USB transceiver has its own power-supply pin VBUS, which affects USBD power-up sequence.
The nRF5340 device is not able to properly signal its presence to the USB host and handle traffic from the USB host, unless the PHY power supply is enabled and stable. Turning the PHY power supply on or off is directly linked to register ENABLE. nRF5340 provides events that help synchronizing software to the various steps during the power-up sequence.
- Enable USBD only after VBUS has been detected
- Turn the USB pull-up on after the following events have occurred:
- USBPWRRDY
- USBEVENT, with the READY condition flagged in EVENTCAUSE
Upon detecting VBUS removal, it is recommended to wait for ongoing EasyDMA transfers to finish before disabling USBD (relevant ENDEPIN[n], ENDISOIN, ENDEPOUT[n], or ENDISOOUT events, see EasyDMA). The USBREMOVED event, described in USBREG — USB regulator control, signals when the VBUS is removed. Reading the ENABLE register will return Enabled until USBD is completely disabled.
USB reset
The USB specification defines a USB reset, which is not be confused with a reset of the nRF5340. The USB reset is a normal USB bus condition, and is used as part of the enumeration sequence, it does not reset the nRF5340.
The USB reset results from a single-ended low state (SE0) on lines D+/D- for a tUSB,DETRST amount of time. Only the USB host is allowed to drive a USB reset condition on the bus. UBSD automatically interprets a SE0 longer than tUSB,DETRST as a USB reset. When nRF5340 detects a USB reset and generates a USBRESET event, the USB stack and related parts of the application shall re-initialize themselves, and go back to the default state.
Some of the registers in USBD get automatically reset to a known state, in particular all data endpoints are disabled and the USBADDR reset to 0.
After nRF5340 has connected to the USB bus (i.e. after VBUS is applied), the USB device shall not respond to any traffic from the time the pull-up is enabled until it has seen a USB reset condition. This is automatically ensured by USBD.
After a USB reset, nRF5340 shall be fully responsive after at most TRSTRCY (according to chapter 7 in the USB specification). Software shall take into account the time it takes the hardware to recover from USB reset condition.
USB suspend and resume
Normally, the USB host will maintain activity on the USB bus at least every millisecond according to USB specification. A USB device will enter suspend when there is no activity on the USB bus (idle) for a given time. The USB device will resume operation when it receives any non idle signaling.
To signal that the USB device shall enter Low-power mode (suspend), the USB host stops activity on the USB bus, which becomes idle. Only the USB device pull-up and host pull-downs act on D+ and D-, and the USB bus is kept at a constant J state. It is up to the USB device to detect this lack of activity, and enter the Low-power mode (suspend) within a specified time.
The USB host can decide to suspend or resume USB activity at any time. If remote wake-up is enabled, the USB device may signal to the USB host to resume from suspend.
Entering suspend
USBD automatically detects lack of activity on the USB bus for more than a defined amount of time.
When no activity has been detected for longer than tUSB,SUSPEND, USBD generates the USBEVENT event with SUSPEND bit
set in register EVENTCAUSE. The software shall ensure
that the current drawn from the USB supply line VBUS is within the specified limits before
T2SUSP, as defined in chapter 7 of the USB specification. In order to reduce idle
current of USBD, the software must explicitly place USBD in Low-power mode by writing
LowPower to register LOWPOWER.
In order to save power, and provided that no other peripheral needs it, the crystal oscillator (HFXO) in CLOCK may be disabled by software during the USB suspend, while the USB pull-up is disconnected, or when VBUS is not present. Software must explicitly enable it at any other time. USBD is not able to respond to USB traffic unless HFXO is enabled and stable.
Host-initiated resume
Once the USB host resumes the USB bus activity, the USB device has to be responsive to incoming requests on the USB bus within the time TRSMRCY (as defined in chapter 7 of the USB specification) and revert to Normal power consumption mode.
If the USB host resumes USB bus activity with or without a RESUME condition (in other words: the USB bus activity is defined as any non-J state), USBD will generate a USBEVENT event, with RESUME bit set in register EVENTCAUSE. If the USB host resumes bus activity simply by restarting sending frames, USBD will generate SOF events.
Device-initiated remote wake-up
Assuming the remote wake-up is supported by the USB device and enabled by the USB host, the device can request the USB host to resume from suspend if the wake-up condition is met.
To do so, the HFXO needs to be enabled first. After waking up the HFXO, the software must bring
USBD out of Low-power mode and set Normal mode by writing
ForceNormal in register LOWPOWER. It can
then instruct USBD to drive a RESUME condition (K state) on the USB bus by
triggering the DPDMDRIVE task, attempting to wake up the USB host. By choosing
Resume in DPDMVALUE, the duration of the
RESUME state is under hardware control (tUSB,DRIVEK). By choosing J or K, the
duration of that state is under software control (the J or K state is maintained until a
DPDMNODRIVE task is triggered) and has to meet TDRSMUP as specified in USB
specification chapter 7.
Upon writing the ForceNormal in register LOWPOWER, a USBEVENT event is generated with the USBWUALLOWED bit set in register EVENTCAUSE.
The value in register DPDMVALUE will only be captured and used when the DPDMDRIVE task is triggered. This value defines the state the USB bus will be forced into after the DPDMDRIVE task.
The USB device must not initiate a remote wake-up request before TWTRSM (according to USB specification chapter 7) after the USB bus has entered idle state. Using the recommended resume value in DPDMVALUE (rather than K) takes care of this, and postpones the RESUME state accordingly.
EasyDMA
USBD implements EasyDMA for accessing memory without CPU involvement.
Each endpoint has an associated set of registers, tasks, and events. EasyDMA and traffic on the USB bus are closely related. Several events provide insight on USB bus activity, with a number of tasks allowing an automated response to the traffic.
Registers
Enabling endpoints is controlled through the EPINEN and EPOUTEN registers.
The following registers define the memory address of the buffer for a specific IN or OUT endpoint:
- EPIN[n].PTR, (n=0..7)
- EPOUT[n].PTR, (n=0..7)
- ISOIN.PTR
- ISOOUT.PTR
The following registers define the amount of bytes to be sent on the USB bus for next transaction:
- EPIN[n].MAXCNT, (n=0..7)
- ISOIN.MAXCNT
The following registers define the length of the buffer (in bytes) for next transfer of incoming data:
- EPOUT[n].MAXCNT, (n=1..7)
- ISOOUT.MAXCNT
Since the USB host decides how many bytes are sent over the USB bus, the MAXCNT value can be copied from register SIZE.EPOUT[n] (n=1..7) or register SIZE.ISOOUT.
Register EPOUT[0].MAXCNT defines the length of
the OUT buffer (in bytes) for the control endpoint 0.
Register SIZE.EPOUT[0] shall indicate the same value
as MaxPacketSize from the USB device descriptor or wLength
from the SETUP command, whichever is the least.
The .AMOUNT registers indicate how many bytes actually have been transferred over EasyDMA during the last transfer.
Stalling bulk/interrupt endpoints is controlled through the EPSTALL register.
EasyDMA will not copy the SETUP data to memory (it will only transfer data from the Data stage). The following are separate registers in USBD that have setup data.
The EVENTCAUSE register provides details on what caused a given USBEVENT event, for instance if a CRC error is detected during a transaction, or if bus activity stops or resumes.
Tasks
Tasks STARTEPIN[n], STARTEPOUT[n] (n=0..7), STARTISOIN, and STARTISOOUT capture the values for .PTR and .MAXCNT registers. For IN endpoints, a transaction over the USB bus is automatically triggered when the EasyDMA transfer is complete. For OUT endpoints, it is up to software to allow the next transaction over the USB bus. See the examples in Control transfers, Bulk and interrupt transactions, and Isochronous transactions.
For the control endpoint 0, OUT transactions are allowed through the EP0RCVOUT task. The EP0STATUS task allows a Status stage to be initiated, and the EP0STALL task allows stalling further traffic (Data or Status stage) on the control endpoint.
Events
The STARTED event confirms that the values of the .PTR and .MAXCNT registers of the endpoints flagged in register EPSTATUS have been captured. Those can then be modified by software for the next transfer.
Events ENDEPIN[n], ENDEPOUT[n] (n=0..7), ENDISOIN, and ENDISOOUT events indicate that the entire buffer has been consumed. The buffer can be accessed safely by the software.
Only a single EasyDMA transfer can take place in USBD at any time. Software must ensure that tasks STARTEPIN[n] (n=0..7), STARTISOIN , STARTEPOUT[n] (n=0..7), or STARTISOOUT are not triggered before events ENDEPIN[n] (n=0..7), ENDISOIN, ENDEPOUT[n] (n=0..7), or ENDISOOUT are received from an on-going transfer.
The EPDATA event indicates that a successful (acknowledged) data transaction has occurred on the data endpoint(s) flagged in register EPDATASTATUS. A successful (acknowledged) data transaction on endpoint 0 is signalled by the EP0DATADONE event.
At any time a USBEVENT event may be sent, with details provided in EVENTCAUSE register.
The EP0SETUP event indicates that a SETUP token has been received on the control endpoint 0, and that the setup data is available in the setup data registers.
Control transfers
The USB specification mandates every USB device to implement endpoint 0 IN and OUT as control endpoints.
A control transfer consists of two or three stages:
- Setup stage
- Data stage (optional)
- Status stage
Each control transfer can be one of following types:
- Control read
- Control read no data
- Control write
- Control write no data
An EP0SETUP event indicates that the data in the setup stage (following the SETUP token) is available in registers.
The data in the Data stage (following the IN or OUT token) is transferred from or to the desired location using EasyDMA.
The control endpoint buffer can be of any size.
After receiving the SETUP token, the USB controller will not accept (NAK) any incoming IN or OUT tokens until the software has finished decoding the command, determined the type of transfer, and prepared for the next stage (Data or Status) appropriately.
The software can stall a command when in the Data and Status stages, through the EP0STALL task, when the command is not supported or if its wValue, wIndex or wLength parameters are wrong. The following shows a stalled control read transfer, but the same mechanism (tasks) applies to stalling a control write transfer.
See the USB 2.0 Specification and relevant class specifications for rules on stalling commands.
Control read transfer
This section describes how the software behaves when responding to a control read transfer.
As mentioned earlier, the USB controller will not accept (NAK) any incoming IN tokens until software has finished decoding the command, determining the type of transfer, and preparing for the next stage (Data or Status) appropriately.
For a control read, transferring the data from memory into USBD will trigger a valid, acknowledged (ACK) IN transaction on the USB bus.
The software has to prepare EasyDMA by pointing to the buffer containing the data to be transferred. If no other EasyDMA transfers are on-going with USBD, the software can send the STARTEPIN0 task, which will initiate the data transfer and transaction on the USB bus.
A STARTED event (with EPIN0 bit set in the EPSTATUS register) will be generated as soon as the EPIN[0].PTR and .MAXCNT registers have been captured. Software may then prepare them for the next data transaction.
An ENDEPIN[0] event will be generated when the data has been transferred from memory to the USBD peripheral.
Finally, an EP0DATADONE event will be generated when the data has been transmitted over the USB bus and acknowledged by the USB host.
The software can then either prepare and transmit the next data transaction by repeating the above sequence, or initiate the Status stage through the EP0STATUS task.
It is possible to enable a shortcut from the EP0DATADONE event to the EP0STATUS task, typically if the Data stage is expected to take a single transfer. If there is no data stage, the software can initiate the Status stage through the EP0STATUS task right away, as as shown in the following figure.
Control write transfer
This section describes how the software responds to a control write transfer.
The software has to prepare EasyDMA by pointing to the buffer in memory that shall contain the incoming data. If no other EasyDMA transfers are ongoing with USBD, the software can then send the EP0RCVOUT task, which will make USBD acknowledge (ACK) the first OUT+DATA transaction from the USB host.
An EP0DATADONE event will be generated when a new OUT+DATA has been transmitted over the USB bus, before being acknowledged by the USB device.
After receiving the first transaction, a STARTED event (the EPOUT0 bit set in the EPSTATUS register) is generated when the EPOUT[0].PTR and .MAXCNT registers have been captured. Software may then prepare them for the next data transaction.
An ENDEPOUT[0] event will be generated when the data has been transferred from USBD to memory. The software can then either prepare to receive the next data transaction by repeating the above sequence, or initiate the Status stage through the EP0STATUS task. Until then, further incoming OUT+DATA transactions get a NAK response by the USB device.
Bulk and interrupt transactions
The USBD peripheral implements seven pairs of bulk/interrupt endpoints.
The bulk/interrupt endpoints have a fixed USB endpoint number, summarized in the following table.
| Bulk endpoint # | USB IN endpoint | USB OUT endpoint |
|---|---|---|
| [1] | 0x81 | 0x01 |
| [2] | 0x82 | 0x02 |
| [3] | 0x83 | 0x03 |
| [4] | 0x84 | 0x04 |
| [5] | 0x85 | 0x05 |
| [6] | 0x86 | 0x06 |
| [7] | 0x87 | 0x07 |
A bulk/interrupt transaction consists of a single Data stage. Two consecutive, successful transactions are distinguished through alternating leading process ID (PID): DATA0 follows DATA1, DATA1 follows DATA0, etc. A repeated transaction is detected by re-using the same PID as previous transaction, i.e DATA0 follows DATA0, or DATA1 follows DATA1.
The USBD controller automatically toggles DATA0/DATA1 PIDs for every bulk/interrupt transaction.
If incoming data is corrupted (CRC does not match), USBD automatically prevents DATA0/DATA1 from toggling, to request the USB host to resend the data.
In some specific cases, the software may want to force a data toggle (usually reset) on a specific IN endpoint, or force the expected toggle on an OUT endpoint, for instance as a consequence of the USB host issuing ClearFeature, SetInterface, or selecting an alternate setting. Controlling the data toggle of data IN or OUT endpoint n (n=1..7) is done through register DTOGGLE.
The bulk/interrupt transaction in USB full-speed can be of any size up to 64 bytes. It must be a multiple of four bytes and 32-bit aligned in memory.
When the USB transaction has completed, an EPDATA event is generated. Until new data has been transferred by EasyDMA from memory to USBD (signalled by the ENDEPIN[n] event), the hardware will automatically respond with NAK to all incoming IN tokens. Software has to configure and start the EasyDMA transfer once it is ready to send more data.
Each IN or OUT data endpoint has to be explicitly enabled by software through register EPINEN or EPOUTEN, according to the configuration declared by the USB device and selected by the USB host through the SetConfig command.
A disabled data endpoint will not respond to any traffic from the USB host. An enabled data endpoint will normally respond NAK or ACK (depending on the readiness of the buffers), or STALL (if configured in register EPSTALL), in which case the endpoint is asked to halt. The Halted or NotHalted state of a given endpoint can be read back from register HALTED.EPIN[n] or HALTED.EPOUT[n]. The format of the returned 16-bit value can be copied as is, as a response to a GetStatusEndpoint request from the USB host.
Enabling or disabling an endpoint will not change its Halted state. However, a USB reset will disable and clear the Halted state of all data endpoints.
The control endpoint 0 IN and OUT can also be enabled and/or halted using the same mechanisms, but due to USB specification, receiving a SETUP will override its state.
Bulk and interrupt IN transaction
The host issues IN tokens to receive bulk/interrupt data. In order to send data, the software has to enable the endpoint and prepare an EasyDMA transfer on the desired endpoint.
Bulk/interrupt IN endpoints are enabled or disabled through their respective INn bit (n=1..7) in EPINEN register.
It is also possible to stall or resume communication on an endpoint through the EPSTALL register.
It is possible (and in some situations it is required) to respond to an IN token with a zero-length data packet.
Bulk and interrupt OUT transaction
When the USB host wants to transmit bulk/interrupt data, it issues an OUT token (packet) followed by a DATA packet on a given endpoint n (n=1..7).
A NAK is returned until the software writes any value to register SIZE.EPOUT[n], indicating that the content of the local buffer can be overwritten. Upon receiving the next OUT+DATA transaction, an ACK is returned to the USB host while an EPDATA event is generated (and the EPDATASTATUS register flags are set to indicate on which endpoint this happened). Once the EasyDMA is prepared and enabled, by writing the EPOUT[n] registers and triggering the STARTEPOUT[n] task, the incoming data will be transferred to memory. Until that transfer is finished, the hardware will automatically NAK any other incoming OUT+DATA packets. Only when the EasyDMA transfer is done (signalled by the ENDEPOUT[n] event), or as soon as any values are written by the software in register SIZE.EPOUT[n], the endpoint n will accept incoming OUT+DATA again.
It is allowed for the USB host to send zero-length data packets.
Bulk/interrupt OUT endpoints are enabled or disabled through their respective OUTn bit (n=1..7) in the EPOUTEN register. It is also possible to stall or resume communication on an endpoint through the EPSTALL register.
Isochronous transactions
The USBD peripheral implements isochronous (ISO) endpoints.
The ISO endpoints have a fixed USB endpoint number, summarized in the following table.
| ISO endpoint # | USB IN endpoint | USB OUT endpoint |
|---|---|---|
| [0] | 0x88 | 0x08 |
An isochronous transaction consists of a single, non-acknowledged Data stage. The host sends out a start of frame at a regular interval (1 ms), and data follows IN or OUT tokens within each frame.
EasyDMA allows transferring ISO data directly from and to memory. EasyDMA transfers must be initiated by the software, which can synchronize with the SOF (start of frame) events.
Because the timing of the start of frame is very accurate, the SOF event can be used for jobs such as synchronizing a local timer through the SOF event and PPI. The SOF event gets synchronized to the 16 MHz clock prior to being made available to the PPI.
Every start of frame increments a free-running counter, which can be read by software through the FRAMECNTR register.
Each IN or OUT ISO data endpoint has to be explicitly enabled by software through register EPINEN or EPOUTEN, according to the configuration declared by the USB device and selected by the USB host through the SetConfig command. A disabled ISO IN data endpoint will not respond to any traffic from the USB host. A disabled ISO OUT data endpoint will ignore any incoming traffic from the host.
The USBD peripheral has an internal 1 kB buffer associated with ISO endpoints. The user can either allocate the full amount to the IN or the OUT endpoint, or split the buffer allocation between the two using register ISOSPLIT.
The internal buffer also sets the maximum size of the ISO OUT and ISO IN transfers: 1023 bytes when the full buffer is dedicated to either ISO OUT or ISO IN, and half when the buffer is split between the two.
Isochronous IN transaction
When the USB host wants to receive isochronous (ISO) data, it issues an IN token on the isochronous endpoint.
After the data has been transferred using the EasyDMA, the USB controller on the isochronous IN endpoint responds to the IN token with the transferred data using the ISOIN.MAXCNT for the size of the packet.
The ISO IN data endpoint has to be explicitly enabled by software through the ISOIN0 bit in register EPINEN.
When an ISO IN endpoint is enabled and no data transferred with EasyDMA, the response of the USBD depends on the setting of the RESPONSE field in register ISOINCONFIG. It can either provide no response to an IN token or respond with a zero-length data.
If the EasyDMA transfer on the isochronous endpoint is not completed before the next SOF event, the result of the transfer is undefined.
The maximum size of an ISO IN transfer in USB full-speed is 1023 bytes. The data buffer has to be a multiple of 4 bytes 32-bit aligned in memory. However, the amount of bytes transferred on the USB data endpoint can be of any size (up to 1023 bytes, if not shared with an OUT ISO endpoint).
Isochronous OUT transaction
When the USB host wants to send isochronous (ISO) data, it issues an OUT token on the isochronous endpoint, followed by data.
The ISO OUT data endpoint has to be explicitly enabled by software through the ISOOUT0 bit in register EPOUTEN.
The amount of last received ISO OUT data is provided in the SIZE.ISOOUT register. Software shall interpret the ZERO and SIZE fields as presented in the following table.
| ZERO | SIZE | Last received data size |
|---|---|---|
| Normal | 0 | No data received at all |
| Normal | 1..1023 | 1..1023 bytes of data received |
| ZeroData | (not of interest) | Zero-length data packet received |
When EasyDMA is prepared and started, triggering a STARTISOOUT task initiates an EasyDMA transfer to memory. Software shall synchronize ISO OUT transfers with the SOF events. EasyDMA uses the address in ISOOUT.PTR and size in ISOOUT.MAXCNT for every new transfer.
If the EasyDMA transfer on the isochronous endpoint is not completed before the next SOF event, the result of the transfer is undefined.
The maximum size of an isochronous OUT transfer in USB full-speed is 1023 bytes. The data buffer has to be a multiple of 4 bytes and 32-bit aligned in Data RAM. However, the amount of bytes transferred on the USB data endpoint can be of any size (up to 1023 bytes if not shared with an IN ISO endpoint).
If the last received ISO data packet is corrupted (wrong CRC), the USB controller generates an USBEVENT event (at the same time as SOF) and indicates a CRC error on ISOOUTCRC in register EVENTCAUSE. EasyDMA will transfer the data anyway if it has been set up properly.
USB register access limitations
Some of the registers in USBD cannot be accessed in specific conditions.
This may be the case when USBD is not enabled (using the ENABLE register) and ready (signalled by the READY bit in EVENTCAUSE after a USBEVENT event), or when USBD is in Low-power mode while the USB bus is suspended.
- HALTED.EPIN[0..7]
- HALTED.EPOUT[0..7]
- USBADDR
- BMREQUESTTYPE
- BREQUEST
- WVALUEL
- WVALUEH
- WINDEXL
- WINDEXH
- WLENGTHL
- WLENGTHH
- SIZE.EPOUT[0..7]
- SIZE.ISOOUT
- USBPULLUP
- DTOGGLE
- EPINEN
- EPOUTEN
- EPSTALL
- ISOSPLIT
- FRAMECNTR
Registers
Instances
| Instance | Domain | Base address | TrustZone | Split access | Description | ||
|---|---|---|---|---|---|---|---|
| Map | Att | DMA | |||||
|
USBD : S |
APPLICATION |
0x50036000 |
US | S | SA | No |
Universal serial bus device |
Register overview
| Register | Offset | TZ | Description |
|---|---|---|---|
| TASKS_STARTEPIN[n] | 0x004 |
Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host |
|
| TASKS_STARTISOIN | 0x024 |
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint |
|
| TASKS_STARTEPOUT[n] | 0x028 |
Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host |
|
| TASKS_STARTISOOUT | 0x048 |
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint |
|
| TASKS_EP0RCVOUT | 0x04C |
Allows OUT data stage on control endpoint 0 |
|
| TASKS_EP0STATUS | 0x050 |
Allows status stage on control endpoint 0 |
|
| TASKS_EP0STALL | 0x054 |
Stalls data and status stage on control endpoint 0 |
|
| TASKS_DPDMDRIVE | 0x058 |
Forces D+ and D- lines into the state defined in the DPDMVALUE register |
|
| TASKS_DPDMNODRIVE | 0x05C |
Stops forcing D+ and D- lines into any state (USB engine takes control) |
|
| SUBSCRIBE_STARTEPIN[n] | 0x084 |
Subscribe configuration for task STARTEPIN[n] |
|
| SUBSCRIBE_STARTISOIN | 0x0A4 |
Subscribe configuration for task STARTISOIN |
|
| SUBSCRIBE_STARTEPOUT[n] | 0x0A8 |
Subscribe configuration for task STARTEPOUT[n] |
|
| SUBSCRIBE_STARTISOOUT | 0x0C8 |
Subscribe configuration for task STARTISOOUT |
|
| SUBSCRIBE_EP0RCVOUT | 0x0CC |
Subscribe configuration for task EP0RCVOUT |
|
| SUBSCRIBE_EP0STATUS | 0x0D0 |
Subscribe configuration for task EP0STATUS |
|
| SUBSCRIBE_EP0STALL | 0x0D4 |
Subscribe configuration for task EP0STALL |
|
| SUBSCRIBE_DPDMDRIVE | 0x0D8 |
Subscribe configuration for task DPDMDRIVE |
|
| SUBSCRIBE_DPDMNODRIVE | 0x0DC |
Subscribe configuration for task DPDMNODRIVE |
|
| EVENTS_USBRESET | 0x100 |
Signals that a USB reset condition has been detected on USB lines |
|
| EVENTS_STARTED | 0x104 |
Confirms that the EPIN[n].PTR and EPIN[n].MAXCNT, or EPOUT[n].PTR and EPOUT[n].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register |
|
| EVENTS_ENDEPIN[n] | 0x108 |
The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_EP0DATADONE | 0x128 |
An acknowledged data transfer has taken place on the control endpoint |
|
| EVENTS_ENDISOIN | 0x12C |
The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_ENDEPOUT[n] | 0x130 |
The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_ENDISOOUT | 0x150 |
The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software. |
|
| EVENTS_SOF | 0x154 |
Signals that a SOF (start of frame) condition has been detected on USB lines |
|
| EVENTS_USBEVENT | 0x158 |
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause. |
|
| EVENTS_EP0SETUP | 0x15C |
A valid SETUP token has been received (and acknowledged) on the control endpoint |
|
| EVENTS_EPDATA | 0x160 |
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register |
|
| PUBLISH_USBRESET | 0x180 |
Publish configuration for event USBRESET |
|
| PUBLISH_STARTED | 0x184 |
Publish configuration for event STARTED |
|
| PUBLISH_ENDEPIN[n] | 0x188 |
Publish configuration for event ENDEPIN[n] |
|
| PUBLISH_EP0DATADONE | 0x1A8 |
Publish configuration for event EP0DATADONE |
|
| PUBLISH_ENDISOIN | 0x1AC |
Publish configuration for event ENDISOIN |
|
| PUBLISH_ENDEPOUT[n] | 0x1B0 |
Publish configuration for event ENDEPOUT[n] |
|
| PUBLISH_ENDISOOUT | 0x1D0 |
Publish configuration for event ENDISOOUT |
|
| PUBLISH_SOF | 0x1D4 |
Publish configuration for event SOF |
|
| PUBLISH_USBEVENT | 0x1D8 |
Publish configuration for event USBEVENT |
|
| PUBLISH_EP0SETUP | 0x1DC |
Publish configuration for event EP0SETUP |
|
| PUBLISH_EPDATA | 0x1E0 |
Publish configuration for event EPDATA |
|
| SHORTS | 0x200 |
Shortcuts between local events and tasks |
|
| INTEN | 0x300 |
Enable or disable interrupt |
|
| INTENSET | 0x304 |
Enable interrupt |
|
| INTENCLR | 0x308 |
Disable interrupt |
|
| EVENTCAUSE | 0x400 |
Details on what caused the USBEVENT event |
|
| HALTED.EPIN[n] | 0x420 |
IN endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
|
| HALTED.EPOUT[n] | 0x444 |
OUT endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
|
| EPSTATUS | 0x468 |
Provides information on which endpoint's EasyDMA registers have been captured |
|
| EPDATASTATUS | 0x46C |
Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event) |
|
| USBADDR | 0x470 |
Device USB address |
|
| BMREQUESTTYPE | 0x480 |
SETUP data, byte 0, bmRequestType |
|
| BREQUEST | 0x484 |
SETUP data, byte 1, bRequest |
|
| WVALUEL | 0x488 |
SETUP data, byte 2, LSB of wValue |
|
| WVALUEH | 0x48C |
SETUP data, byte 3, MSB of wValue |
|
| WINDEXL | 0x490 |
SETUP data, byte 4, LSB of wIndex |
|
| WINDEXH | 0x494 |
SETUP data, byte 5, MSB of wIndex |
|
| WLENGTHL | 0x498 |
SETUP data, byte 6, LSB of wLength |
|
| WLENGTHH | 0x49C |
SETUP data, byte 7, MSB of wLength |
|
| SIZE.EPOUT[n] | 0x4A0 |
Number of bytes received last in the data stage of this OUT endpoint |
|
| SIZE.ISOOUT | 0x4C0 |
Number of bytes received last on this ISO OUT data endpoint |
|
| ENABLE | 0x500 |
Enable USB |
|
| USBPULLUP | 0x504 |
Control of the USB pull-up |
|
| DPDMVALUE | 0x508 |
State D+ and D- lines will be forced into by the DPDMDRIVE task. The DPDMNODRIVE task reverts the control of the lines to MAC IP (no forcing). |
|
| DTOGGLE | 0x50C |
Data toggle control and status |
|
| EPINEN | 0x510 |
Endpoint IN enable |
|
| EPOUTEN | 0x514 |
Endpoint OUT enable |
|
| EPSTALL | 0x518 |
STALL endpoints |
|
| ISOSPLIT | 0x51C |
Controls the split of ISO buffers |
|
| FRAMECNTR | 0x520 |
Returns the current value of the start of frame counter |
|
| LOWPOWER | 0x52C |
Controls USBD peripheral Low-power mode during USB suspend |
|
| ISOINCONFIG | 0x530 |
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent |
|
| EPIN[n].PTR | 0x600 |
Data pointer |
|
| EPIN[n].MAXCNT | 0x604 |
Maximum number of bytes to transfer |
|
| EPIN[n].AMOUNT | 0x608 |
Number of bytes transferred in the last transaction |
|
| ISOIN.PTR | 0x6A0 |
Data pointer |
|
| ISOIN.MAXCNT | 0x6A4 |
Maximum number of bytes to transfer |
|
| ISOIN.AMOUNT | 0x6A8 |
Number of bytes transferred in the last transaction |
|
| EPOUT[n].PTR | 0x700 |
Data pointer |
|
| EPOUT[n].MAXCNT | 0x704 |
Maximum number of bytes to transfer |
|
| EPOUT[n].AMOUNT | 0x708 |
Number of bytes transferred in the last transaction |
|
| ISOOUT.PTR | 0x7A0 |
Data pointer |
|
| ISOOUT.MAXCNT | 0x7A4 |
Maximum number of bytes to transfer |
|
| ISOOUT.AMOUNT | 0x7A8 |
Number of bytes transferred in the last transaction |
TASKS_STARTEPIN[n] (n=0..7)
Address offset: 0x004 + (n × 0x4)
Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_STARTEPIN |
Captures the EPIN[n].PTR and EPIN[n].MAXCNT registers values, and enables endpoint IN n to respond to traffic from host |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_STARTISOIN
Address offset: 0x024
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_STARTISOIN |
Captures the ISOIN.PTR and ISOIN.MAXCNT registers values, and enables sending data on ISO endpoint |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_STARTEPOUT[n] (n=0..7)
Address offset: 0x028 + (n × 0x4)
Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_STARTEPOUT |
Captures the EPOUT[n].PTR and EPOUT[n].MAXCNT registers values, and enables endpoint n to respond to traffic from host |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_STARTISOOUT
Address offset: 0x048
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_STARTISOOUT |
Captures the ISOOUT.PTR and ISOOUT.MAXCNT registers values, and enables receiving of data on ISO endpoint |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_EP0RCVOUT
Address offset: 0x04C
Allows OUT data stage on control endpoint 0
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_EP0RCVOUT |
Allows OUT data stage on control endpoint 0 |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_EP0STATUS
Address offset: 0x050
Allows status stage on control endpoint 0
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_EP0STATUS |
Allows status stage on control endpoint 0 |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_EP0STALL
Address offset: 0x054
Stalls data and status stage on control endpoint 0
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_EP0STALL |
Stalls data and status stage on control endpoint 0 |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_DPDMDRIVE
Address offset: 0x058
Forces D+ and D- lines into the state defined in the DPDMVALUE register
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_DPDMDRIVE |
Forces D+ and D- lines into the state defined in the DPDMVALUE register |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
TASKS_DPDMNODRIVE
Address offset: 0x05C
Stops forcing D+ and D- lines into any state (USB engine takes control)
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
TASKS_DPDMNODRIVE |
Stops forcing D+ and D- lines into any state (USB engine takes control) |
||||||||||||||||||||||||||||||||
|
Trigger |
1 |
Trigger task |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_STARTEPIN[n] (n=0..7)
Address offset: 0x084 + (n × 0x4)
Subscribe configuration for task STARTEPIN[n]
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task STARTEPIN[n] will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_STARTISOIN
Address offset: 0x0A4
Subscribe configuration for task STARTISOIN
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task STARTISOIN will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_STARTEPOUT[n] (n=0..7)
Address offset: 0x0A8 + (n × 0x4)
Subscribe configuration for task STARTEPOUT[n]
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task STARTEPOUT[n] will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_STARTISOOUT
Address offset: 0x0C8
Subscribe configuration for task STARTISOOUT
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task STARTISOOUT will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_EP0RCVOUT
Address offset: 0x0CC
Subscribe configuration for task EP0RCVOUT
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task EP0RCVOUT will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_EP0STATUS
Address offset: 0x0D0
Subscribe configuration for task EP0STATUS
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task EP0STATUS will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_EP0STALL
Address offset: 0x0D4
Subscribe configuration for task EP0STALL
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task EP0STALL will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_DPDMDRIVE
Address offset: 0x0D8
Subscribe configuration for task DPDMDRIVE
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task DPDMDRIVE will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
SUBSCRIBE_DPDMNODRIVE
Address offset: 0x0DC
Subscribe configuration for task DPDMNODRIVE
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that task DPDMNODRIVE will subscribe to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable subscription |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable subscription |
|||||||||||||||||||||||||||||||||
EVENTS_USBRESET
Address offset: 0x100
Signals that a USB reset condition has been detected on USB lines
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_USBRESET |
Signals that a USB reset condition has been detected on USB lines |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_STARTED
Address offset: 0x104
Confirms that the EPIN[n].PTR and EPIN[n].MAXCNT, or EPOUT[n].PTR and EPOUT[n].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_STARTED |
Confirms that the EPIN[n].PTR and EPIN[n].MAXCNT, or EPOUT[n].PTR and EPOUT[n].MAXCNT registers have been captured on all endpoints reported in the EPSTATUS register |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_ENDEPIN[n] (n=0..7)
Address offset: 0x108 + (n × 0x4)
The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_ENDEPIN |
The whole EPIN[n] buffer has been consumed. The buffer can be accessed safely by software. |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_EP0DATADONE
Address offset: 0x128
An acknowledged data transfer has taken place on the control endpoint
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_EP0DATADONE |
An acknowledged data transfer has taken place on the control endpoint |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_ENDISOIN
Address offset: 0x12C
The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_ENDISOIN |
The whole ISOIN buffer has been consumed. The buffer can be accessed safely by software. |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_ENDEPOUT[n] (n=0..7)
Address offset: 0x130 + (n × 0x4)
The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_ENDEPOUT |
The whole EPOUT[n] buffer has been consumed. The buffer can be accessed safely by software. |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_ENDISOOUT
Address offset: 0x150
The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_ENDISOOUT |
The whole ISOOUT buffer has been consumed. The buffer can be accessed safely by software. |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_SOF
Address offset: 0x154
Signals that a SOF (start of frame) condition has been detected on USB lines
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_SOF |
Signals that a SOF (start of frame) condition has been detected on USB lines |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_USBEVENT
Address offset: 0x158
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_USBEVENT |
An event or an error not covered by specific events has occurred. Check EVENTCAUSE register to find the cause. |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_EP0SETUP
Address offset: 0x15C
A valid SETUP token has been received (and acknowledged) on the control endpoint
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_EP0SETUP |
A valid SETUP token has been received (and acknowledged) on the control endpoint |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
EVENTS_EPDATA
Address offset: 0x160
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EVENTS_EPDATA |
A data transfer has occurred on a data endpoint, indicated by the EPDATASTATUS register |
||||||||||||||||||||||||||||||||
|
NotGenerated |
0 |
Event not generated |
|||||||||||||||||||||||||||||||||
|
Generated |
1 |
Event generated |
|||||||||||||||||||||||||||||||||
PUBLISH_USBRESET
Address offset: 0x180
Publish configuration for event USBRESET
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event USBRESET will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_STARTED
Address offset: 0x184
Publish configuration for event STARTED
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event STARTED will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_ENDEPIN[n] (n=0..7)
Address offset: 0x188 + (n × 0x4)
Publish configuration for event ENDEPIN[n]
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event ENDEPIN[n] will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_EP0DATADONE
Address offset: 0x1A8
Publish configuration for event EP0DATADONE
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event EP0DATADONE will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_ENDISOIN
Address offset: 0x1AC
Publish configuration for event ENDISOIN
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event ENDISOIN will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_ENDEPOUT[n] (n=0..7)
Address offset: 0x1B0 + (n × 0x4)
Publish configuration for event ENDEPOUT[n]
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event ENDEPOUT[n] will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_ENDISOOUT
Address offset: 0x1D0
Publish configuration for event ENDISOOUT
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event ENDISOOUT will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_SOF
Address offset: 0x1D4
Publish configuration for event SOF
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event SOF will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_USBEVENT
Address offset: 0x1D8
Publish configuration for event USBEVENT
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event USBEVENT will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_EP0SETUP
Address offset: 0x1DC
Publish configuration for event EP0SETUP
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event EP0SETUP will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
PUBLISH_EPDATA
Address offset: 0x1E0
Publish configuration for event EPDATA
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CHIDX |
[0..255] |
DPPI channel that event EPDATA will publish to |
|||||||||||||||||||||||||||||||
| B |
RW |
EN |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable publishing |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable publishing |
|||||||||||||||||||||||||||||||||
SHORTS
Address offset: 0x200
Shortcuts between local events and tasks
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | E | D | C | B | A | ||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EP0DATADONE_STARTEPIN0 |
Shortcut between event EP0DATADONE and task STARTEPIN[0] |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable shortcut |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable shortcut |
|||||||||||||||||||||||||||||||||
| B |
RW |
EP0DATADONE_STARTEPOUT0 |
Shortcut between event EP0DATADONE and task STARTEPOUT[0] |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable shortcut |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable shortcut |
|||||||||||||||||||||||||||||||||
| C |
RW |
EP0DATADONE_EP0STATUS |
Shortcut between event EP0DATADONE and task EP0STATUS |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable shortcut |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable shortcut |
|||||||||||||||||||||||||||||||||
| D |
RW |
ENDEPOUT0_EP0STATUS |
Shortcut between event ENDEPOUT[0] and task EP0STATUS |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable shortcut |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable shortcut |
|||||||||||||||||||||||||||||||||
| E |
RW |
ENDEPOUT0_EP0RCVOUT |
Shortcut between event ENDEPOUT[0] and task EP0RCVOUT |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable shortcut |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable shortcut |
|||||||||||||||||||||||||||||||||
INTEN
Address offset: 0x300
Enable or disable interrupt
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | ||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
USBRESET |
Enable or disable interrupt for event USBRESET |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| B |
RW |
STARTED |
Enable or disable interrupt for event STARTED |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| C-J |
RW |
ENDEPIN[i] (i=0..7) |
Enable or disable interrupt for event ENDEPIN[i] |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| K |
RW |
EP0DATADONE |
Enable or disable interrupt for event EP0DATADONE |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| L |
RW |
ENDISOIN |
Enable or disable interrupt for event ENDISOIN |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| M-T |
RW |
ENDEPOUT[i] (i=0..7) |
Enable or disable interrupt for event ENDEPOUT[i] |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| U |
RW |
ENDISOOUT |
Enable or disable interrupt for event ENDISOOUT |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| V |
RW |
SOF |
Enable or disable interrupt for event SOF |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| W |
RW |
USBEVENT |
Enable or disable interrupt for event USBEVENT |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| X |
RW |
EP0SETUP |
Enable or disable interrupt for event EP0SETUP |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
| Y |
RW |
EPDATA |
Enable or disable interrupt for event EPDATA |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Disable |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Enable |
|||||||||||||||||||||||||||||||||
INTENSET
Address offset: 0x304
Enable interrupt
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | ||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
USBRESET |
Write '1' to enable interrupt for event USBRESET |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| B |
RW |
STARTED |
Write '1' to enable interrupt for event STARTED |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| C-J |
RW |
ENDEPIN[i] (i=0..7) |
Write '1' to enable interrupt for event ENDEPIN[i] |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| K |
RW |
EP0DATADONE |
Write '1' to enable interrupt for event EP0DATADONE |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| L |
RW |
ENDISOIN |
Write '1' to enable interrupt for event ENDISOIN |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| M-T |
RW |
ENDEPOUT[i] (i=0..7) |
Write '1' to enable interrupt for event ENDEPOUT[i] |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| U |
RW |
ENDISOOUT |
Write '1' to enable interrupt for event ENDISOOUT |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| V |
RW |
SOF |
Write '1' to enable interrupt for event SOF |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| W |
RW |
USBEVENT |
Write '1' to enable interrupt for event USBEVENT |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| X |
RW |
EP0SETUP |
Write '1' to enable interrupt for event EP0SETUP |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| Y |
RW |
EPDATA |
Write '1' to enable interrupt for event EPDATA |
||||||||||||||||||||||||||||||||
|
Set |
1 |
Enable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
INTENCLR
Address offset: 0x308
Disable interrupt
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | ||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
USBRESET |
Write '1' to disable interrupt for event USBRESET |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| B |
RW |
STARTED |
Write '1' to disable interrupt for event STARTED |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| C-J |
RW |
ENDEPIN[i] (i=0..7) |
Write '1' to disable interrupt for event ENDEPIN[i] |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| K |
RW |
EP0DATADONE |
Write '1' to disable interrupt for event EP0DATADONE |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| L |
RW |
ENDISOIN |
Write '1' to disable interrupt for event ENDISOIN |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| M-T |
RW |
ENDEPOUT[i] (i=0..7) |
Write '1' to disable interrupt for event ENDEPOUT[i] |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| U |
RW |
ENDISOOUT |
Write '1' to disable interrupt for event ENDISOOUT |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| V |
RW |
SOF |
Write '1' to disable interrupt for event SOF |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| W |
RW |
USBEVENT |
Write '1' to disable interrupt for event USBEVENT |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| X |
RW |
EP0SETUP |
Write '1' to disable interrupt for event EP0SETUP |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
| Y |
RW |
EPDATA |
Write '1' to disable interrupt for event EPDATA |
||||||||||||||||||||||||||||||||
|
Clear |
1 |
Disable |
|||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Read: Disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Read: Enabled |
|||||||||||||||||||||||||||||||||
EVENTCAUSE
Address offset: 0x400
Details on what caused the USBEVENT event
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | E | D | C | B | A | ||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
ISOOUTCRC |
CRC error was detected on isochronous OUT endpoint 8. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotDetected |
0 |
No error detected |
|||||||||||||||||||||||||||||||||
|
Detected |
1 |
Error detected |
|||||||||||||||||||||||||||||||||
| B |
RW |
SUSPEND |
Signals that USB lines have been idle long enough for the device to enter suspend. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotDetected |
0 |
Suspend not detected |
|||||||||||||||||||||||||||||||||
|
Detected |
1 |
Suspend detected |
|||||||||||||||||||||||||||||||||
| C |
RW |
RESUME |
Signals that a RESUME condition (K state or activity restart) has been detected on USB lines. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotDetected |
0 |
Resume not detected |
|||||||||||||||||||||||||||||||||
|
Detected |
1 |
Resume detected |
|||||||||||||||||||||||||||||||||
| D |
RW |
USBWUALLOWED |
USB MAC has been woken up and operational. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotAllowed |
0 |
Wake up not allowed |
|||||||||||||||||||||||||||||||||
|
Allowed |
1 |
Wake up allowed |
|||||||||||||||||||||||||||||||||
| E |
RW |
READY |
USB device is ready for normal operation. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotDetected |
0 |
USBEVENT was not issued due to USBD peripheral ready |
|||||||||||||||||||||||||||||||||
|
Ready |
1 |
USBD peripheral is ready |
|||||||||||||||||||||||||||||||||
HALTED.EPIN[n] (n=0..7)
Address offset: 0x420 + (n × 0x4)
IN endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
GETSTATUS |
IN endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
||||||||||||||||||||||||||||||||
|
NotHalted |
0 |
Endpoint is not halted |
|||||||||||||||||||||||||||||||||
|
Halted |
1 |
Endpoint is halted |
|||||||||||||||||||||||||||||||||
HALTED.EPOUT[n] (n=0..7)
Address offset: 0x444 + (n × 0x4)
OUT endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
GETSTATUS |
OUT endpoint halted status. Can be used as is as response to a GetStatus() request to endpoint. |
||||||||||||||||||||||||||||||||
|
NotHalted |
0 |
Endpoint is not halted |
|||||||||||||||||||||||||||||||||
|
Halted |
1 |
Endpoint is halted |
|||||||||||||||||||||||||||||||||
EPSTATUS
Address offset: 0x468
Provides information on which endpoint's EasyDMA registers have been captured
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | |||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A-I |
RW |
EPIN[i] (i=0..8) |
Captured state of endpoint's EasyDMA registers. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NoData |
0 |
EasyDMA registers have not been captured for this endpoint |
|||||||||||||||||||||||||||||||||
|
DataDone |
1 |
EasyDMA registers have been captured for this endpoint |
|||||||||||||||||||||||||||||||||
| J-R |
RW |
EPOUT[i] (i=0..8) |
Captured state of endpoint's EasyDMA registers. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NoData |
0 |
EasyDMA registers have not been captured for this endpoint |
|||||||||||||||||||||||||||||||||
|
DataDone |
1 |
EasyDMA registers have been captured for this endpoint |
|||||||||||||||||||||||||||||||||
EPDATASTATUS
Address offset: 0x46C
Provides information on which endpoint(s) an acknowledged data transfer has occurred (EPDATA event)
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | N | M | L | K | J | I | H | G | F | E | D | C | B | A | |||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| -F |
RW |
EPIN[i] (i=1..7) |
Acknowledged data transfer on this IN endpoint. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotDone |
0 |
No acknowledged data transfer on this endpoint |
|||||||||||||||||||||||||||||||||
|
DataDone |
1 |
Acknowledged data transfer on this endpoint has occurred |
|||||||||||||||||||||||||||||||||
| -M |
RW |
EPOUT[i] (i=1..7) |
Acknowledged data transfer on this OUT endpoint. Write '1' to clear. |
||||||||||||||||||||||||||||||||
|
NotStarted |
0 |
No acknowledged data transfer on this endpoint |
|||||||||||||||||||||||||||||||||
|
Started |
1 |
Acknowledged data transfer on this endpoint has occurred |
|||||||||||||||||||||||||||||||||
USBADDR
Address offset: 0x470
Device USB address
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
ADDR |
Device USB address |
||||||||||||||||||||||||||||||||
BMREQUESTTYPE
Address offset: 0x480
SETUP data, byte 0, bmRequestType
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | C | B | B | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
RECIPIENT |
Data transfer type |
||||||||||||||||||||||||||||||||
|
Device |
0 |
Device |
|||||||||||||||||||||||||||||||||
|
Interface |
1 |
Interface |
|||||||||||||||||||||||||||||||||
|
Endpoint |
2 |
Endpoint |
|||||||||||||||||||||||||||||||||
|
Other |
3 |
Other |
|||||||||||||||||||||||||||||||||
| B |
R |
TYPE |
Data transfer type |
||||||||||||||||||||||||||||||||
|
Standard |
0 |
Standard |
|||||||||||||||||||||||||||||||||
|
Class |
1 |
Class |
|||||||||||||||||||||||||||||||||
|
Vendor |
2 |
Vendor |
|||||||||||||||||||||||||||||||||
| C |
R |
DIRECTION |
Data transfer direction |
||||||||||||||||||||||||||||||||
|
HostToDevice |
0 |
Host-to-device |
|||||||||||||||||||||||||||||||||
|
DeviceToHost |
1 |
Device-to-host |
|||||||||||||||||||||||||||||||||
BREQUEST
Address offset: 0x484
SETUP data, byte 1, bRequest
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
BREQUEST |
SETUP data, byte 1, bRequest. Values provided for standard requests only, user must implement class and vendor values. |
||||||||||||||||||||||||||||||||
|
STD_GET_STATUS |
0 |
Standard request GET_STATUS |
|||||||||||||||||||||||||||||||||
|
STD_CLEAR_FEATURE |
1 |
Standard request CLEAR_FEATURE |
|||||||||||||||||||||||||||||||||
|
STD_SET_FEATURE |
3 |
Standard request SET_FEATURE |
|||||||||||||||||||||||||||||||||
|
STD_SET_ADDRESS |
5 |
Standard request SET_ADDRESS |
|||||||||||||||||||||||||||||||||
|
STD_GET_DESCRIPTOR |
6 |
Standard request GET_DESCRIPTOR |
|||||||||||||||||||||||||||||||||
|
STD_SET_DESCRIPTOR |
7 |
Standard request SET_DESCRIPTOR |
|||||||||||||||||||||||||||||||||
|
STD_GET_CONFIGURATION |
8 |
Standard request GET_CONFIGURATION |
|||||||||||||||||||||||||||||||||
|
STD_SET_CONFIGURATION |
9 |
Standard request SET_CONFIGURATION |
|||||||||||||||||||||||||||||||||
|
STD_GET_INTERFACE |
10 |
Standard request GET_INTERFACE |
|||||||||||||||||||||||||||||||||
|
STD_SET_INTERFACE |
11 |
Standard request SET_INTERFACE |
|||||||||||||||||||||||||||||||||
|
STD_SYNCH_FRAME |
12 |
Standard request SYNCH_FRAME |
|||||||||||||||||||||||||||||||||
WVALUEL
Address offset: 0x488
SETUP data, byte 2, LSB of wValue
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WVALUEL |
SETUP data, byte 2, LSB of wValue |
||||||||||||||||||||||||||||||||
WVALUEH
Address offset: 0x48C
SETUP data, byte 3, MSB of wValue
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WVALUEH |
SETUP data, byte 3, MSB of wValue |
||||||||||||||||||||||||||||||||
WINDEXL
Address offset: 0x490
SETUP data, byte 4, LSB of wIndex
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WINDEXL |
SETUP data, byte 4, LSB of wIndex |
||||||||||||||||||||||||||||||||
WINDEXH
Address offset: 0x494
SETUP data, byte 5, MSB of wIndex
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WINDEXH |
SETUP data, byte 5, MSB of wIndex |
||||||||||||||||||||||||||||||||
WLENGTHL
Address offset: 0x498
SETUP data, byte 6, LSB of wLength
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WLENGTHL |
SETUP data, byte 6, LSB of wLength |
||||||||||||||||||||||||||||||||
WLENGTHH
Address offset: 0x49C
SETUP data, byte 7, MSB of wLength
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
WLENGTHH |
SETUP data, byte 7, MSB of wLength |
||||||||||||||||||||||||||||||||
SIZE.EPOUT[n] (n=0..7)
Address offset: 0x4A0 + (n × 0x4)
Number of bytes received last in the data stage of this OUT endpoint
Write to any value to accept further OUT traffic on this endpoint, and overwrite the intermediate buffer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
SIZE |
Number of bytes received last in the data stage of this OUT endpoint |
||||||||||||||||||||||||||||||||
SIZE.ISOOUT
Address offset: 0x4C0
Number of bytes received last on this ISO OUT data endpoint
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | B | A | A | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||
| Reset 0x00010000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
SIZE |
Number of bytes received last on this ISO OUT data endpoint |
||||||||||||||||||||||||||||||||
| B |
R |
ZERO |
Zero-length data packet received |
||||||||||||||||||||||||||||||||
|
Normal |
0 |
No zero-length data received, use value in SIZE |
|||||||||||||||||||||||||||||||||
|
ZeroData |
1 |
Zero-length data received, ignore value in SIZE |
|||||||||||||||||||||||||||||||||
ENABLE
Address offset: 0x500
Enable USB
After writing Disabled to this register, reading the register will return Enabled until USBD is completely disabled.
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
ENABLE |
Enable USB |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
USB peripheral is disabled |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
USB peripheral is enabled |
|||||||||||||||||||||||||||||||||
USBPULLUP
Address offset: 0x504
Control of the USB pull-up
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
CONNECT |
Control of the USB pull-up on the D+ line |
||||||||||||||||||||||||||||||||
|
Disabled |
0 |
Pull-up is disconnected |
|||||||||||||||||||||||||||||||||
|
Enabled |
1 |
Pull-up is connected to D+ |
|||||||||||||||||||||||||||||||||
DPDMVALUE
Address offset: 0x508
State D+ and D- lines will be forced into by the DPDMDRIVE task. The DPDMNODRIVE task reverts the control of the lines to MAC IP (no forcing).
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | ||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
STATE |
State D+ and D- lines will be forced into by the DPDMDRIVE task |
||||||||||||||||||||||||||||||||
|
Resume |
1 |
D+ forced low, D- forced high (K state) for a timing preset in hardware (50 μs or 5 ms, depending on bus state) |
|||||||||||||||||||||||||||||||||
|
J |
2 |
D+ forced high, D- forced low (J state) |
|||||||||||||||||||||||||||||||||
|
K |
4 |
D+ forced low, D- forced high (K state) |
|||||||||||||||||||||||||||||||||
DTOGGLE
Address offset: 0x50C
Data toggle control and status
First write this register with VALUE=Nop to select the endpoint, then either read it to get the status from VALUE, or write it again with VALUE=Data0 or Data1
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | C | C | B | A | A | A | |||||||||||||||||||||||||||||
| Reset 0x00000100 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
EP |
Select bulk endpoint number |
||||||||||||||||||||||||||||||||
| B |
RW |
IO |
Selects IN or OUT endpoint |
||||||||||||||||||||||||||||||||
|
Out |
0 |
Selects OUT endpoint |
|||||||||||||||||||||||||||||||||
|
In |
1 |
Selects IN endpoint |
|||||||||||||||||||||||||||||||||
| C |
RW |
VALUE |
Data toggle value |
||||||||||||||||||||||||||||||||
|
Nop |
0 |
No action on data toggle when writing the register with this value |
|||||||||||||||||||||||||||||||||
|
Data0 |
1 |
Data toggle is DATA0 on endpoint set by EP and IO |
|||||||||||||||||||||||||||||||||
|
Data1 |
2 |
Data toggle is DATA1 on endpoint set by EP and IO |
|||||||||||||||||||||||||||||||||
EPINEN
Address offset: 0x510
Endpoint IN enable
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | I | H | G | F | E | D | C | B | A | ||||||||||||||||||||||||||
| Reset 0x00000001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A-H |
RW |
IN[i] (i=0..7) |
Enable IN endpoint i |
||||||||||||||||||||||||||||||||
|
Disable |
0 |
Disable endpoint IN i (no response to IN tokens) |
|||||||||||||||||||||||||||||||||
|
Enable |
1 |
Enable endpoint IN i (response to IN tokens) |
|||||||||||||||||||||||||||||||||
| I |
RW |
ISOIN |
Enable ISO IN endpoint |
||||||||||||||||||||||||||||||||
|
Disable |
0 |
Disable ISO IN endpoint 8 |
|||||||||||||||||||||||||||||||||
|
Enable |
1 |
Enable ISO IN endpoint 8 |
|||||||||||||||||||||||||||||||||
EPOUTEN
Address offset: 0x514
Endpoint OUT enable
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | I | H | G | F | E | D | C | B | A | ||||||||||||||||||||||||||
| Reset 0x00000001 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A-H |
RW |
OUT[i] (i=0..7) |
Enable OUT endpoint i |
||||||||||||||||||||||||||||||||
|
Disable |
0 |
Disable endpoint OUT i (no response to OUT tokens) |
|||||||||||||||||||||||||||||||||
|
Enable |
1 |
Enable endpoint OUT i (response to OUT tokens) |
|||||||||||||||||||||||||||||||||
| I |
RW |
ISOOUT |
Enable ISO OUT endpoint 8 |
||||||||||||||||||||||||||||||||
|
Disable |
0 |
Disable ISO OUT endpoint 8 |
|||||||||||||||||||||||||||||||||
|
Enable |
1 |
Enable ISO OUT endpoint 8 |
|||||||||||||||||||||||||||||||||
EPSTALL
Address offset: 0x518
STALL endpoints
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | C | B | A | A | A | ||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
W |
EP |
Select endpoint number |
||||||||||||||||||||||||||||||||
| B |
W |
IO |
Selects IN or OUT endpoint |
||||||||||||||||||||||||||||||||
|
Out |
0 |
Selects OUT endpoint |
|||||||||||||||||||||||||||||||||
|
In |
1 |
Selects IN endpoint |
|||||||||||||||||||||||||||||||||
| C |
W |
STALL |
Stall selected endpoint |
||||||||||||||||||||||||||||||||
|
UnStall |
0 |
Don't stall selected endpoint |
|||||||||||||||||||||||||||||||||
|
Stall |
1 |
Stall selected endpoint |
|||||||||||||||||||||||||||||||||
ISOSPLIT
Address offset: 0x51C
Controls the split of ISO buffers
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
SPLIT |
Controls the split of ISO buffers |
||||||||||||||||||||||||||||||||
|
OneDir |
0x0000 |
Full buffer dedicated to either ISO IN or OUT |
|||||||||||||||||||||||||||||||||
|
HalfIN |
0x0080 |
Lower half for IN, upper half for OUT |
|||||||||||||||||||||||||||||||||
FRAMECNTR
Address offset: 0x520
Returns the current value of the start of frame counter
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | ||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
R |
FRAMECNTR |
Returns the current value of the start of frame counter |
||||||||||||||||||||||||||||||||
LOWPOWER
Address offset: 0x52C
Controls USBD peripheral Low-power mode during USB suspend
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
LOWPOWER |
Controls USBD peripheral Low-power mode during USB suspend |
||||||||||||||||||||||||||||||||
|
ForceNormal |
0 |
Software must write this value to exit Low-power mode and before performing a remote wake-up |
|||||||||||||||||||||||||||||||||
|
LowPower |
1 |
Software must write this value to enter Low-power mode after DMA and software have finished interacting with the USB peripheral |
|||||||||||||||||||||||||||||||||
ISOINCONFIG
Address offset: 0x530
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | ||||||||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
RESPONSE |
Controls the response of the ISO IN endpoint to an IN token when no data is ready to be sent |
||||||||||||||||||||||||||||||||
|
NoResp |
0 |
Endpoint does not respond in that case |
|||||||||||||||||||||||||||||||||
|
ZeroData |
1 |
Endpoint responds with a zero-length data packet in that case |
|||||||||||||||||||||||||||||||||
EPIN[n].PTR (n=0..7)
Address offset: 0x600 + (n × 0x14)
Data pointer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
PTR |
Data pointer See the memory chapter for details about which memories are available for EasyDMA. |
||||||||||||||||||||||||||||||||
EPIN[n].MAXCNT (n=0..7)
Address offset: 0x604 + (n × 0x14)
Maximum number of bytes to transfer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
RW |
MAXCNT |
[64..0] |
Maximum number of bytes to transfer |
|||||||||||||||||||||||||||||||
EPIN[n].AMOUNT (n=0..7)
Address offset: 0x608 + (n × 0x14)
Number of bytes transferred in the last transaction
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
R |
AMOUNT |
Number of bytes transferred in the last transaction |
||||||||||||||||||||||||||||||||
ISOIN.PTR
Address offset: 0x6A0
Data pointer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
PTR |
Data pointer See the memory chapter for details about which memories are available for EasyDMA. |
||||||||||||||||||||||||||||||||
ISOIN.MAXCNT
Address offset: 0x6A4
Maximum number of bytes to transfer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
RW |
MAXCNT |
[1023..1] |
Maximum number of bytes to transfer |
|||||||||||||||||||||||||||||||
ISOIN.AMOUNT
Address offset: 0x6A8
Number of bytes transferred in the last transaction
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
R |
AMOUNT |
Number of bytes transferred in the last transaction |
||||||||||||||||||||||||||||||||
EPOUT[n].PTR (n=0..7)
Address offset: 0x700 + (n × 0x14)
Data pointer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
PTR |
Data pointer See the memory chapter for details about which memories are available for EasyDMA. |
||||||||||||||||||||||||||||||||
EPOUT[n].MAXCNT (n=0..7)
Address offset: 0x704 + (n × 0x14)
Maximum number of bytes to transfer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
RW |
MAXCNT |
[64..0] |
Maximum number of bytes to transfer |
|||||||||||||||||||||||||||||||
EPOUT[n].AMOUNT (n=0..7)
Address offset: 0x708 + (n × 0x14)
Number of bytes transferred in the last transaction
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | ||||||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
R |
AMOUNT |
Number of bytes transferred in the last transaction |
||||||||||||||||||||||||||||||||
ISOOUT.PTR
Address offset: 0x7A0
Data pointer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | A | |||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A |
RW |
PTR |
Data pointer See the memory chapter for details about which memories are available for EasyDMA. |
||||||||||||||||||||||||||||||||
ISOOUT.MAXCNT
Address offset: 0x7A4
Maximum number of bytes to transfer
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
RW |
MAXCNT |
Maximum number of bytes to transfer |
||||||||||||||||||||||||||||||||
ISOOUT.AMOUNT
Address offset: 0x7A8
Number of bytes transferred in the last transaction
| Bit number | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ID | A | A | A | A | A | A | A | A | A | A | |||||||||||||||||||||||||
| Reset 0x00000000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| ID | R/W | Field | Value ID | Value | Description | ||||||||||||||||||||||||||||||
| A- |
R |
AMOUNT |
Number of bytes transferred in the last transaction |
||||||||||||||||||||||||||||||||
Electrical specification
USB Electrical Specification
| Symbol | Description | Min. | Typ. | Max. | Units |
|---|---|---|---|---|---|
| RUSB,PU,ACTIVE |
Value of pull-up on D+, bus active (upstream device transmitting) |
1425 | 2300 | 3090 | Ω |
| RUSB,PU,IDLE |
Value of pull-up on D+, bus idle |
900 | 1200 | 1575 | Ω |
| tUSB,DETRST |
Minimum duration of an SE0 state to be detected as a USB reset condition |
10 | µs | ||
| fUSB,CLK |
Frequency of local clock, USB active |
48 | MHz | ||
| fUSB,TOL |
Accuracy of local clock, USB active1 |
±1000 | ppm | ||
| TUSB,JITTER |
Jitter on USB local clock, USB active |
±1 | ns |