\n
address_offset : 0x0 Bytes (0x0)
size : 0x1C byte (0x0)
mem_usage : registers
protection :
address_offset : 0x20 Bytes (0x0)
size : 0x60 byte (0x0)
mem_usage : registers
protection :
address_offset : 0x90 Bytes (0x0)
size : 0x4 byte (0x0)
mem_usage : registers
protection :
address_offset : 0xA0 Bytes (0x0)
size : 0x4 byte (0x0)
mem_usage : registers
protection :
USB Device Interrupt Enable Register
address_offset : 0x0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BUSIEN : Bus Event Interrupt Enable Bit
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
BUS event interrupt Disabled
#1 : 1
BUS event interrupt Enabled
End of enumeration elements list.
USBIEN : USB Event Interrupt Enable Bit
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
USB event interrupt Disabled
#1 : 1
USB event interrupt Enabled
End of enumeration elements list.
VBDETIEN : VBUS Detection Interrupt Enable Bit
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
#0 : 0
VBUS detection Interrupt Disabled
#1 : 1
VBUS detection Interrupt Enabled
End of enumeration elements list.
NEVWKIEN : USB No-Event-Wake-Up Interrupt Enable Bit
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
#0 : 0
No-event-wake-up Interrupt Disabled
#1 : 1
No-event-wake-up Interrupt Enabled
End of enumeration elements list.
WKEN : Wake-Up Function Enable Bit
bits : 8 - 8 (1 bit)
access : read-write
Enumeration:
#0 : 0
USB wake-up function Disabled
#1 : 1
USB wake-up function Enabled
End of enumeration elements list.
INNAKEN : Active NAK Function And Its Status In IN Token
bits : 15 - 15 (1 bit)
access : read-write
Enumeration:
#0 : 0
When device responds NAK after receiving IN token, IN NAK status will not be updated to USBD_EPSTS register, so that the USB interrupt event will not be asserted
#1 : 1
IN NAK status will be updated to USBD_EPSTS register and the USB interrupt event will be asserted, when the device responds NAK after receiving IN token
End of enumeration elements list.
USB Device Bus Status and Attribution Register
address_offset : 0x10 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
USBRST : USB Reset Status
Note: This bit is read only.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
Bus no reset
#1 : 1
Bus reset when SE0 (single-ended 0) more than 2.5us
End of enumeration elements list.
SUSPEND : Suspend Status
Note: This bit is read only.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
Bus no suspend
#1 : 1
Bus idle more than 3ms, either cable is plugged off or host is sleeping
End of enumeration elements list.
RESUME : Resume Status
Note: This bit is read only.
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
#0 : 0
No bus resume
#1 : 1
Resume from suspend
End of enumeration elements list.
TOUT : Time-Out Status
Note: This bit is read only.
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
#0 : 0
No time-out
#1 : 1
No Bus response more than 18 bits time
End of enumeration elements list.
PHYEN : PHY Transceiver Function Enable Bit
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
#0 : 0
PHY transceiver function Disabled. The PHY means USB transceiver output
#1 : 1
PHY transceiver function Enabled
End of enumeration elements list.
RWAKEUP : Remote Wake-Up
bits : 5 - 5 (1 bit)
access : read-write
Enumeration:
#0 : 0
Release the USB bus from K state
#1 : 1
Force USB bus to K (USB_D+ low, USB_D-: high) state, used for remote wake-up
End of enumeration elements list.
USBEN : USB Controller Enable Bit
bits : 7 - 7 (1 bit)
access : read-write
Enumeration:
#0 : 0
USB Controller Disabled
#1 : 1
USB Controller Enabled
End of enumeration elements list.
DPPUEN : Pull-Up Resistor On USB_DP Enable Bit
bits : 8 - 8 (1 bit)
access : read-write
Enumeration:
#0 : 0
Pull-up resistor in USB_D+ bus Disabled
#1 : 1
Pull-up resistor in USB_D+ bus Active
End of enumeration elements list.
PDB : Power Down USB-IP Related Power and Control
bits : 9 - 9 (1 bit)
access : read-write
Enumeration:
#0 : 0
Enable power down
#1 : 1
Disable power down
End of enumeration elements list.
BYTEM : CPU Access USB SRAM Size Mode Selection
bits : 10 - 10 (1 bit)
access : read-write
Enumeration:
#0 : 0
Word mode: The size of the transfer from CPU to USB SRAM can be Word only
#1 : 1
Byte mode: The size of the transfer from CPU to USB SRAM can be Byte only
End of enumeration elements list.
USB Device VBUS Detection Register
address_offset : 0x14 Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
VBUSDET : Device VBUS Detection
Note: This bit is read only.
bits : 0 - 0 (1 bit)
access : read-only
Enumeration:
#0 : 0
Controller is not attached to the USB host
#1 : 1
Controller is attached to the USB host
End of enumeration elements list.
SETUP Token Buffer Segmentation Register
address_offset : 0x18 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
STBUFSEG : SETUP Token Buffer Segmentation
It is used to indicate the offset address for the SETUP token with the USB Device SRAM starting address The effective starting address is
USBD_SRAM address + {STBUFSEG[8:3], 3'b000}
Note: It is used for SETUP token only.
bits : 3 - 8 (6 bit)
access : read-write
Endpoint 0 Buffer Segmentation Register
address_offset : 0x20 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BUFSEG : Endpoint Buffer Segmentation
It is used to indicate the offset address for each endpoint with the USB SRAM starting address The effective starting address of the endpoint is
USBD_SRAM address + { BUFSEG[8:3], 3'b000}
Refer to the section 5.5.4.7 for the endpoint SRAM structure and its description.
bits : 3 - 8 (6 bit)
access : read-write
Endpoint 0 Maximal Payload Register
address_offset : 0x24 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
MXPLD : Maximal Payload
Define the data length which is transmitted to host (IN token) or the actual data length which is received from the host (OUT token). It also used to indicate that the endpoint is ready to be transmitted in IN token or received in OUT token.
(1) When the register is written by CPU,
For IN token, the value of MXPLD is used to define the data length to be transmitted and indicate the data buffer is ready.
For OUT token, it means that the controller is ready to receive data from the host and the value of MXPLD is the maximal data length comes from host.
(2) When the register is read by CPU,
For IN token, the value of MXPLD is indicated by the data length be transmitted to host
For OUT token, the value of MXPLD is indicated the actual data length receiving from host.
Note: Once MXPLD is written, the data packets will be transmitted/received immediately after IN/OUT token arrived.
bits : 0 - 8 (9 bit)
access : read-write
Endpoint 0 Configuration Register
address_offset : 0x28 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
EPNUM : Endpoint Number
These bits are used to define the endpoint number of the current endpoint
bits : 0 - 3 (4 bit)
access : read-write
ISOCH : Isochronous Endpoint
This bit is used to set the endpoint as Isochronous endpoint, no handshake.
bits : 4 - 4 (1 bit)
access : read-write
Enumeration:
#0 : 0
No Isochronous endpoint
#1 : 1
Isochronous endpoint
End of enumeration elements list.
STATE : Endpoint STATE
bits : 5 - 6 (2 bit)
access : read-write
Enumeration:
#00 : 0
Endpoint is Disabled
#01 : 1
Out endpoint
#10 : 2
IN endpoint
#11 : 3
Undefined
End of enumeration elements list.
DSQSYNC : Data Sequence Synchronization
Note: It is used to specify the DATA0 or DATA1 PID in the following IN token transaction. hardware will toggle automatically in IN token base on the bit.
bits : 7 - 7 (1 bit)
access : read-write
Enumeration:
#0 : 0
DATA0 PID
#1 : 1
DATA1 PID
End of enumeration elements list.
CSTALL : Clear STALL Response
bits : 9 - 9 (1 bit)
access : read-write
Enumeration:
#0 : 0
Disable the device to clear the STALL handshake in setup stage
#1 : 1
Clear the device to response STALL handshake in setup stage
End of enumeration elements list.
Endpoint 0 Set Stall and Clear In/Out Ready Control Register
address_offset : 0x2C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
CLRRDY : Clear Ready
When the USBD_MXPLDx register is set by user, it means that the endpoint is ready to transmit or receive data. If the user wants to disable this transaction before the transaction start, users can set this bit to 1 to disable it and it is auto clear to 0.
For IN token, write '1' to clear the IN token had ready to transmit the data to USB.
For OUT token, write '1' to clear the OUT token had ready to receive the data from USB.
This bit is written only and is always 0 when it is read back.
bits : 0 - 0 (1 bit)
access : read-write
SSTALL : Set STALL
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
Disable the device to response STALL
#1 : 1
Set the device to respond STALL automatically
End of enumeration elements list.
address_offset : 0x30 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x34 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x38 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x3C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
USB Device Interrupt Event Status Register
address_offset : 0x4 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BUSIF : BUS Interrupt Status
The BUS event means that there is one of the suspense or the resume function in the bus.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
No BUS event occurred
#1 : 1
Bus event occurred check USBD_ATTR[3:0] to know which kind of bus event was occurred, cleared by write 1 to USBD_INTSTS[0]
End of enumeration elements list.
USBIF : USB Event Interrupt Status
The USB event includes the SETUP Token, IN Token, OUT ACK, ISO IN, or ISO OUT events in the bus.
bits : 1 - 1 (1 bit)
access : read-write
Enumeration:
#0 : 0
No USB event occurred
#1 : 1
USB event occurred, check EPSTS0~5[2:0] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[1] or EPSTS0~7 and SETUP (USBD_INTSTS[31])
End of enumeration elements list.
VBDETIF : VBUS Detection Interrupt Status
bits : 2 - 2 (1 bit)
access : read-write
Enumeration:
#0 : 0
There is not attached/detached event in the USB
#1 : 1
There is attached/detached event in the USB bus and it is cleared by write 1 to USBD_INTSTS[2]
End of enumeration elements list.
NEVWKIF : No-Event-Wake-Up Interrupt Status
bits : 3 - 3 (1 bit)
access : read-write
Enumeration:
#0 : 0
NEVWK event does not occur
#1 : 1
No-event-wake-up event occurred, cleared by write 1 to USBD_INTSTS[3]
End of enumeration elements list.
EPEVT0 : Endpoint 0's USB Event Status
bits : 16 - 16 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 0
#1 : 1
USB event occurred on Endpoint 0, check USBD_EPSTS[10:8] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[16] or USBD_INTSTS[1]
End of enumeration elements list.
EPEVT1 : Endpoint 1's USB Event Status
bits : 17 - 17 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 1
#1 : 1
USB event occurred on Endpoint 1, check USBD_EPSTS[13:11] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[17] or USBD_INTSTS[1]
End of enumeration elements list.
EPEVT2 : Endpoint 2's USB Event Status
bits : 18 - 18 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 2
#1 : 1
USB event occurred on Endpoint 2, check USBD_EPSTS[16:14] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[18] or USBD_INTSTS[1]
End of enumeration elements list.
EPEVT3 : Endpoint 3's USB Event Status
USBD_INTSTS[1].
bits : 19 - 19 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 3
#1 : 1
USB event occurred on Endpoint 3, check USBD_EPSTS[19:17] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[19] or
End of enumeration elements list.
EPEVT4 : Endpoint 4's USB Event Status
bits : 20 - 20 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 4
#1 : 1
USB event occurred on Endpoint 4, check USBD_EPSTS[22:20] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[20] or USBD_INTSTS[1]
End of enumeration elements list.
EPEVT5 : Endpoint 5's USB Event Status
bits : 21 - 21 (1 bit)
access : read-write
Enumeration:
#0 : 0
No event occurred in endpoint 5
#1 : 1
USB event occurred on Endpoint 5, check USBD_EPSTS[25:23] to know which kind of USB event was occurred, cleared by write 1 to USBD_INTSTS[21] or USBD_INTSTS[1]
End of enumeration elements list.
SETUP : Setup Event Status
bits : 31 - 31 (1 bit)
access : read-write
Enumeration:
#0 : 0
No Setup event
#1 : 1
Setup event occurred, cleared by write 1 to USBD_INTSTS[31]
End of enumeration elements list.
address_offset : 0x40 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x44 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x48 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x4C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x50 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x54 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x58 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x5C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x60 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x64 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x68 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x6C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x70 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x74 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x78 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
address_offset : 0x7C Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
USB Device Function Address Register
address_offset : 0x8 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
FADDR : USB Device Function Address
bits : 0 - 6 (7 bit)
access : read-write
USB Device Drive SE0 Control Register
address_offset : 0x90 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
SE0 : Drive Single Ended Zero In USB Bus
The Single Ended Zero (SE0) is when both lines (USB_D+ and USB_D-) are being pulled low.
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
Normal operation
#1 : 1
Force USB PHY transceiver to drive SE0
End of enumeration elements list.
USB Buffer Self-test Register
address_offset : 0xA0 Bytes (0x0)
size : -1 bit
access : read-write
reset_value : 0x0
reset_Mask : 0x0
BISTEN : BIST mode enable
bits : 0 - 0 (1 bit)
access : read-write
Enumeration:
#0 : 0
BIST is disabled or completed (automatically cleared by BIST controller)
#1 : 1
BIST is enabled begin to perform BIST on selected memory group
End of enumeration elements list.
FINISH : BIST Operation Finish
It indicates the end of the BIST operation. When BIST controller finishes all operations, this bit will be set high.
This bit is a write clear field. Write 1 to this field clears the content and write 0 has no effect.
Note: This bit is read only.
bits : 1 - 1 (1 bit)
access : read-write
BISTFAIL : BIST Fail
The BISTFAIL indicates if the BIST test fails or succeeds. If the BISTFAIL is low at the end, the embedded SRAM pass the BIST test, otherwise, it is faulty. The BISTFAIL will be high once the BIST detects the error and remains high during the BIST operation.
The BISTFAIL is a write clear field. Write 1 to this field clears the content and write 0 has no effect.
Note: This bit is read only.
bits : 2 - 2 (1 bit)
access : read-write
USB Device Endpoint Status Register
address_offset : 0xC Bytes (0x0)
size : -1 bit
access : read-only
reset_value : 0x0
reset_Mask : 0x0
EPT : Endpoint number
bits : 0 - 3 (4 bit)
access : read-only
STS :
bits : 4 - 6 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out 0 ACK
#011 : 3
Setup ACK
#110 : 6
Out 1 ACK
#111 : 7
Isochronous translation end
End of enumeration elements list.
OV : Overrun
It indicates that the received data is over the maximum payload number or not.
bits : 7 - 7 (1 bit)
access : read-only
Enumeration:
#0 : 0
No overrun
#1 : 1
Out Data is more than the Max Payload in MXPLD register or the Setup Data is more than 8 Bytes
End of enumeration elements list.
EPSTS0 : Endpoint 0 Status
These bits are used to indicate the current status of this endpoint
bits : 8 - 10 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
EPSTS1 : Endpoint 1 Status
These bits are used to indicate the current status of this endpoint
bits : 11 - 13 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
EPSTS2 : Endpoint 2 Status
These bits are used to indicate the current status of this endpoint
bits : 14 - 16 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
EPSTS3 : Endpoint 3 Status
These bits are used to indicate the current status of this endpoint
bits : 17 - 19 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
EPSTS4 : Endpoint 4 Status
These bits are used to indicate the current status of this endpoint
bits : 20 - 22 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
EPSTS5 : Endpoint 5 Status
These bits are used to indicate the current status of this endpoint
bits : 23 - 25 (3 bit)
access : read-only
Enumeration:
#000 : 0
In ACK
#001 : 1
In NAK
#010 : 2
Out Packet Data0 ACK
#011 : 3
Setup ACK
#110 : 6
Out Packet Data1 ACK
#111 : 7
Isochronous transfer end
End of enumeration elements list.
Is something missing? Is something wrong? can you help correct it ? Please contact us at info@chipselect.org !
This website is sponsored by Embeetle, an IDE designed from scratch for embedded software developers.