|
libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
|


Go to the source code of this file.
Macros | |
| #define | USB_FADDR MMIO8(USB_BASE + 0x00) |
| #define | USB_POWER MMIO8(USB_BASE + 0x01) |
| #define | USB_TXIS MMIO16(USB_BASE + 0x02) |
| #define | USB_RXIS MMIO16(USB_BASE + 0x04) |
| #define | USB_TXIE MMIO16(USB_BASE + 0x06) |
| #define | USB_RXIE MMIO16(USB_BASE + 0x08) |
| #define | USB_IS MMIO8(USB_BASE + 0x0A) |
| #define | USB_IE MMIO8(USB_BASE + 0x0B) |
| #define | USB_FRAME MMIO16(USB_BASE + 0x0C) |
| #define | USB_EPIDX MMIO8(USB_BASE + 0x0E) |
| #define | USB_TEST MMIO8(USB_BASE + 0x0F) |
| #define | USB_FIFO8(n) MMIO8(USB_BASE + 0x20 + (n)*0x04) |
| #define | USB_FIFO16(n) MMIO16(USB_BASE + 0x20 + (n)*0x04) |
| #define | USB_FIFO32(n) MMIO32(USB_BASE + 0x20 + (n)*0x04) |
| #define | USB_TXFIFOSZ MMIO8(USB_BASE + 0x62) |
| #define | USB_RXFIFOSZ MMIO8(USB_BASE + 0x63) |
| #define | USB_TXFIFOADD MMIO16(USB_BASE + 0x64) |
| #define | USB_RXFIFOADD MMIO16(USB_BASE + 0x66) |
| #define | USB_CONTIM MMIO8(USB_BASE + 0x7A) |
| #define | USB_FSEOF MMIO8(USB_BASE + 0x7D) |
| #define | USB_LSEOF MMIO8(USB_BASE + 0x7E) |
| #define | USB_CSRL0 MMIO8(USB_BASE + 0x102) |
| #define | USB_CSRH0 MMIO8(USB_BASE + 0x103) |
| #define | USB_COUNT0 MMIO8(USB_BASE + 0x108) |
| #define | USB_TXMAXP(n) MMIO16(USB_BASE + 0x100 + (n)*0x10) |
| #define | USB_TXCSRL(n) MMIO8(USB_BASE + 0x102 + (n)*0x10) |
| #define | USB_TXCSRH(n) MMIO8(USB_BASE + 0x103 + (n)*0x10) |
| #define | USB_RXMAXP(n) MMIO16(USB_BASE + 0x104 + (n)*0x10) |
| #define | USB_RXCSRL(n) MMIO8(USB_BASE + 0x106 + (n)*0x10) |
| #define | USB_RXCSRH(n) MMIO8(USB_BASE + 0x107 + (n)*0x10) |
| #define | USB_RXCOUNT(n) MMIO16(USB_BASE + 0x108 + (n)*0x10) |
| #define | USB_RXDPKTBUFDIS MMIO16(USB_BASE + 0x340) |
| #define | USB_TXDPKTBUFDIS MMIO16(USB_BASE + 0x342) |
| #define | USB_DRRIS MMIO32(USB_BASE + 0x410) |
| #define | USB_DRIM MMIO32(USB_BASE + 0x414) |
| #define | USB_DRISC MMIO32(USB_BASE + 0x418) |
| #define | USB_DMASEL MMIO32(USB_BASE + 0x450) |
| #define | USB_PP MMIO32(USB_BASE + 0xFC0) |
| #define | USB_FADDR_FUNCADDR_MASK (0x3f << 0) |
| Function Address. More... | |
| #define | USB_POWER_ISOUP (1 << 7) |
| Isochronous Update. More... | |
| #define | USB_POWER_SOFTCONN (1 << 6) |
| Soft Connect/Disconnect. More... | |
| #define | USB_POWER_RESET (1 << 3) |
| RESET signaling. More... | |
| #define | USB_POWER_RESUME (1 << 2) |
| RESUME signaling. More... | |
| #define | USB_POWER_SUSPEND (1 << 1) |
| SUSPEND mode. More... | |
| #define | USB_POWER_PWRDNPHY (1 << 0) |
| Power down PHY. More... | |
| #define | USB_EP7 (1 << 7) |
| #define | USB_EP6 (1 << 6) |
| #define | USB_EP5 (1 << 5) |
| #define | USB_EP4 (1 << 4) |
| #define | USB_EP3 (1 << 3) |
| #define | USB_EP2 (1 << 2) |
| #define | USB_EP1 (1 << 1) |
| #define | USB_EP0 (1 << 0) |
| #define | USB_IM_DISCON (1 << 5) |
| USB disconnect interrupt. More... | |
| #define | USB_IM_SOF (1 << 3) |
| Start of frame. More... | |
| #define | USB_IM_RESET (1 << 2) |
| RESET signaling detected. More... | |
| #define | USB_IM_RESUME (1 << 1) |
| RESUME signaling detected. More... | |
| #define | USB_IM_SUSPEND (1 << 0) |
| SUSPEND signaling detected. More... | |
| #define | USB_FRAME_MASK (0x03FF) |
| Frame number. More... | |
| #define | USB_EPIDX_MASK (0x0F) |
| Endpoint Index. More... | |
| #define | USB_TEST_FIFOACC (1 << 6) |
| FIFO access. More... | |
| #define | USB_TEST_FORCEFS (1 << 5) |
| Force full-speed mode. More... | |
| #define | USB_FIFOSZ_DPB (1 << 4) |
| Double packet buffer support. More... | |
| #define | USB_FIFOSZ_SIZE_MASK (0x0F << 0) |
| #define | USB_FIFOSZ_SIZE_8 (0x00 << 0) |
| #define | USB_FIFOSZ_SIZE_16 (0x01 << 0) |
| #define | USB_FIFOSZ_SIZE_32 (0x02 << 0) |
| #define | USB_FIFOSZ_SIZE_64 (0x03 << 0) |
| #define | USB_FIFOSZ_SIZE_128 (0x04 << 0) |
| #define | USB_FIFOSZ_SIZE_256 (0x05 << 0) |
| #define | USB_FIFOSZ_SIZE_512 (0x06 << 0) |
| #define | USB_FIFOSZ_SIZE_1024 (0x07 << 0) |
| #define | USB_FIFOSZ_SIZE_2048 (0x08 << 0) |
| #define | USB_CONTIM_WTCON_MASK (0x0F << 4) |
| Connect wait. More... | |
| #define | USB_CONTIM_WTID_MASK (0x0F << 0) |
| Wait ID. More... | |
| #define | USB_CSRL0_SETENDC (1 << 7) |
| Setup End Clear. More... | |
| #define | USB_CSRL0_RXRDYC (1 << 6) |
| RXRDY Clear. More... | |
| #define | USB_CSRL0_STALL (1 << 5) |
| Send Stall. More... | |
| #define | USB_CSRL0_SETEND (1 << 4) |
| Setup End. More... | |
| #define | USB_CSRL0_DATAEND (1 << 3) |
| Data End. More... | |
| #define | USB_CSRL0_STALLED (1 << 2) |
| Endpoint Stalled. More... | |
| #define | USB_CSRL0_TXRDY (1 << 1) |
| Transmit Packet Ready. More... | |
| #define | USB_CSRL0_RXRDY (1 << 0) |
| Receive Packet Ready. More... | |
| #define | USB_CSRH0_FLUSH (1 << 0) |
| Flush FIFO. More... | |
| #define | USB_TXCSRL_CLRDT (1 << 6) |
| Clear data toggle. More... | |
| #define | USB_TXCSRL_STALLED (1 << 5) |
| Endpoint Stalled. More... | |
| #define | USB_TXCSRL_STALL (1 << 4) |
| Send Stall. More... | |
| #define | USB_TXCSRL_FLUSH (1 << 3) |
| Flush FIFO. More... | |
| #define | USB_TXCSRL_UNDRN (1 << 2) |
| Underrun. More... | |
| #define | USB_TXCSRL_FIFONE (1 << 1) |
| FIFO not empty. More... | |
| #define | USB_TXCSRL_TXRDY (1 << 0) |
| Transmit Packet Ready. More... | |
| #define | USB_TXCSRH_AUTOSET (1 << 7) |
| Auto set. More... | |
| #define | USB_TXCSRH_ISO (1 << 6) |
| Isochronous transfers. More... | |
| #define | USB_TXCSRH_MODE (1 << 5) |
| Mode. More... | |
| #define | USB_TXCSRH_DMAEN (1 << 4) |
| DMA request enable. More... | |
| #define | USB_TXCSRH_FDT (1 << 3) |
| Force data toggle. More... | |
| #define | USB_TXCSRH_DMAMOD (1 << 2) |
| DMA request mode. More... | |
| #define | USB_RXCSRL_CLRDT (1 << 7) |
| Clear data toggle. More... | |
| #define | USB_RXCSRL_STALLED (1 << 6) |
| Endpoint Stalled. More... | |
| #define | USB_RXCSRL_STALL (1 << 5) |
| Send Stall. More... | |
| #define | USB_RXCSRL_FLUSH (1 << 4) |
| Flush FIFO. More... | |
| #define | USB_RXCSRL_DATAERR (1 << 2) |
| Data error. More... | |
| #define | USB_RXCSRL_OVER (1 << 2) |
| Overrun. More... | |
| #define | USB_RXCSRL_FULL (1 << 1) |
| FIFO full. More... | |
| #define | USB_RXCSRL_RXRDY (1 << 0) |
| Receive Packet Ready. More... | |
| #define | USB_RXCSRH_AUTOCL (1 << 7) |
| Auto clear. More... | |
| #define | USB_RXCSRH_ISO (1 << 6) |
| Isochronous transfers. More... | |
| #define | USB_RXCSRH_DMAEN (1 << 5) |
| DMA request enable. More... | |
| #define | USB_RXCSRH_PIDERR (1 << 4) |
| Disable NYET / PID error. More... | |
| #define | USB_RXCSRH_DMAMOD (1 << 3) |
| DMA request mode. More... | |
| #define | USB_DRRIS_RESUME (1 << 0) |
| RESUME interrupt status. More... | |
| #define | USB_DRIM_RESUME (1 << 0) |
| RESUME interrupt mask. More... | |
| #define | USB_DRISC_RESUME (1 << 0) |
| RESUME interrupt status and clear. More... | |
| #define | USB_PP_ECNT_MASK (0xFF << 8) |
| Endpoint count. More... | |
| #define | USB_PP_USB_MASK (0x03 << 6) |
| USB capability. More... | |
| #define | USB_PP_USB_NA (0x00 << 6) |
| #define | USB_PP_USB_DEVICE (0x01 << 6) |
| #define | USB_PP_USB_HOST (0x02 << 6) |
| #define | USB_PP_USB_OTG (0x03 << 6) |
| #define | USB_PP_PHY (1 << 4) |
| PHY present. More... | |
| #define | USB_PP_TYPE_MASK (0x0F << 0) |
| Controller type. More... | |
Enumerations | |
| enum | usb_interrupt { USB_INT_DISCON = USB_IM_DISCON , USB_INT_SOF = USB_IM_SOF , USB_INT_RESET = USB_IM_RESET , USB_INT_RESUME = USB_IM_RESUME , USB_INT_SUSPEND = USB_IM_SUSPEND } |
| enum | usb_ep_interrupt { USB_EP0_INT = USB_EP0 , USB_EP1_INT = USB_EP1 , USB_EP2_INT = USB_EP2 , USB_EP3_INT = USB_EP3 , USB_EP4_INT = USB_EP4 , USB_EP5_INT = USB_EP5 , USB_EP6_INT = USB_EP6 , USB_EP7_INT = USB_EP7 } |
Functions | |
| void | usb_enable_interrupts (enum usb_interrupt ints, enum usb_ep_interrupt rx_ints, enum usb_ep_interrupt tx_ints) |
| Enable Specific USB Interrupts. More... | |
| void | usb_disable_interrupts (enum usb_interrupt ints, enum usb_ep_interrupt rx_ints, enum usb_ep_interrupt tx_ints) |
| Disable Specific USB Interrupts. More... | |