FreeBSD kernel usb device Code
xhcireg.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define PCI_XHCI_CBMEM   0x10 /* configuration base MEM */
 
#define PCI_XHCI_USBREV   0x60 /* RO USB protocol revision */
 
#define PCI_USB_REV_3_0   0x30 /* USB 3.0 */
 
#define PCI_XHCI_FLADJ   0x61 /* RW frame length adjust */
 
#define PCI_XHCI_INTEL_XUSB2PR   0xD0 /* Intel USB2 Port Routing */
 
#define PCI_XHCI_INTEL_USB2PRM   0xD4 /* Intel USB2 Port Routing Mask */
 
#define PCI_XHCI_INTEL_USB3_PSSEN   0xD8 /* Intel USB3 Port SuperSpeed Enable */
 
#define PCI_XHCI_INTEL_USB3PRM   0xDC /* Intel USB3 Port Routing Mask */
 
#define XHCI_CAPLENGTH   0x00 /* RO capability */
 
#define XHCI_RESERVED   0x01 /* Reserved */
 
#define XHCI_HCIVERSION   0x02 /* RO Interface version number */
 
#define XHCI_HCIVERSION_0_9   0x0090 /* xHCI version 0.9 */
 
#define XHCI_HCIVERSION_1_0   0x0100 /* xHCI version 1.0 */
 
#define XHCI_HCSPARAMS1   0x04 /* RO structural parameters 1 */
 
#define XHCI_HCS1_DEVSLOT_MAX(x)   ((x) & 0xFF)
 
#define XHCI_HCS1_IRQ_MAX(x)   (((x) >> 8) & 0x3FF)
 
#define XHCI_HCS1_N_PORTS(x)   (((x) >> 24) & 0xFF)
 
#define XHCI_HCSPARAMS2   0x08 /* RO structural parameters 2 */
 
#define XHCI_HCS2_IST(x)   ((x) & 0xF)
 
#define XHCI_HCS2_ERST_MAX(x)   (((x) >> 4) & 0xF)
 
#define XHCI_HCS2_SPR(x)   (((x) >> 26) & 0x1)
 
#define XHCI_HCS2_SPB_MAX(x)   ((((x) >> 16) & 0x3E0) | (((x) >> 27) & 0x1F))
 
#define XHCI_HCSPARAMS3   0x0C /* RO structural parameters 3 */
 
#define XHCI_HCS3_U1_DEL(x)   ((x) & 0xFF)
 
#define XHCI_HCS3_U2_DEL(x)   (((x) >> 16) & 0xFFFF)
 
#define XHCI_HCSPARAMS0   0x10 /* RO capability parameters */
 
#define XHCI_HCS0_AC64(x)   ((x) & 0x1) /* 64-bit capable */
 
#define XHCI_HCS0_BNC(x)   (((x) >> 1) & 0x1) /* BW negotiation */
 
#define XHCI_HCS0_CSZ(x)   (((x) >> 2) & 0x1) /* context size */
 
#define XHCI_HCS0_PPC(x)   (((x) >> 3) & 0x1) /* port power control */
 
#define XHCI_HCS0_PIND(x)   (((x) >> 4) & 0x1) /* port indicators */
 
#define XHCI_HCS0_LHRC(x)   (((x) >> 5) & 0x1) /* light HC reset */
 
#define XHCI_HCS0_LTC(x)   (((x) >> 6) & 0x1) /* latency tolerance msg */
 
#define XHCI_HCS0_NSS(x)   (((x) >> 7) & 0x1) /* no secondary sid */
 
#define XHCI_HCS0_PSA_SZ_MAX(x)   (((x) >> 12) & 0xF) /* max pri. stream array size */
 
#define XHCI_HCS0_XECP(x)   (((x) >> 16) & 0xFFFF) /* extended capabilities pointer */
 
#define XHCI_DBOFF   0x14 /* RO doorbell offset */
 
#define XHCI_RTSOFF   0x18 /* RO runtime register space offset */
 
#define XHCI_USBCMD   0x00 /* XHCI command */
 
#define XHCI_CMD_RS   0x00000001 /* RW Run/Stop */
 
#define XHCI_CMD_HCRST   0x00000002 /* RW Host Controller Reset */
 
#define XHCI_CMD_INTE   0x00000004 /* RW Interrupter Enable */
 
#define XHCI_CMD_HSEE   0x00000008 /* RW Host System Error Enable */
 
#define XHCI_CMD_LHCRST   0x00000080 /* RO/RW Light Host Controller Reset */
 
#define XHCI_CMD_CSS   0x00000100 /* RW Controller Save State */
 
#define XHCI_CMD_CRS   0x00000200 /* RW Controller Restore State */
 
#define XHCI_CMD_EWE   0x00000400 /* RW Enable Wrap Event */
 
#define XHCI_CMD_EU3S   0x00000800 /* RW Enable U3 MFINDEX Stop */
 
#define XHCI_USBSTS   0x04 /* XHCI status */
 
#define XHCI_STS_HCH   0x00000001 /* RO - Host Controller Halted */
 
#define XHCI_STS_HSE   0x00000004 /* RW - Host System Error */
 
#define XHCI_STS_EINT   0x00000008 /* RW - Event Interrupt */
 
#define XHCI_STS_PCD   0x00000010 /* RW - Port Change Detect */
 
#define XHCI_STS_SSS   0x00000100 /* RO - Save State Status */
 
#define XHCI_STS_RSS   0x00000200 /* RO - Restore State Status */
 
#define XHCI_STS_SRE   0x00000400 /* RW - Save/Restore Error */
 
#define XHCI_STS_CNR   0x00000800 /* RO - Controller Not Ready */
 
#define XHCI_STS_HCE   0x00001000 /* RO - Host Controller Error */
 
#define XHCI_PAGESIZE   0x08 /* XHCI page size mask */
 
#define XHCI_PAGESIZE_4K   0x00000001 /* 4K Page Size */
 
#define XHCI_PAGESIZE_8K   0x00000002 /* 8K Page Size */
 
#define XHCI_PAGESIZE_16K   0x00000004 /* 16K Page Size */
 
#define XHCI_PAGESIZE_32K   0x00000008 /* 32K Page Size */
 
#define XHCI_PAGESIZE_64K   0x00000010 /* 64K Page Size */
 
#define XHCI_DNCTRL   0x14 /* XHCI device notification control */
 
#define XHCI_DNCTRL_MASK(n)   (1U << (n))
 
#define XHCI_CRCR_LO   0x18 /* XHCI command ring control */
 
#define XHCI_CRCR_LO_RCS   0x00000001 /* RW - consumer cycle state */
 
#define XHCI_CRCR_LO_CS   0x00000002 /* RW - command stop */
 
#define XHCI_CRCR_LO_CA   0x00000004 /* RW - command abort */
 
#define XHCI_CRCR_LO_CRR   0x00000008 /* RW - command ring running */
 
#define XHCI_CRCR_LO_MASK   0x0000000F
 
#define XHCI_CRCR_HI   0x1C /* XHCI command ring control */
 
#define XHCI_DCBAAP_LO   0x30 /* XHCI dev context BA pointer */
 
#define XHCI_DCBAAP_HI   0x34 /* XHCI dev context BA pointer */
 
#define XHCI_CONFIG   0x38
 
#define XHCI_CONFIG_SLOTS_MASK   0x000000FF /* RW - number of device slots enabled */
 
#define XHCI_PORTSC(n)   (0x3F0 + (0x10 * (n))) /* XHCI port status */
 
#define XHCI_PS_CCS   0x00000001 /* RO - current connect status */
 
#define XHCI_PS_PED   0x00000002 /* RW - port enabled / disabled */
 
#define XHCI_PS_OCA   0x00000008 /* RO - over current active */
 
#define XHCI_PS_PR   0x00000010 /* RW - port reset */
 
#define XHCI_PS_PLS_GET(x)   (((x) >> 5) & 0xF) /* RW - port link state */
 
#define XHCI_PS_PLS_SET(x)   (((x) & 0xF) << 5) /* RW - port link state */
 
#define XHCI_PS_PP   0x00000200 /* RW - port power */
 
#define XHCI_PS_SPEED_GET(x)   (((x) >> 10) & 0xF) /* RO - port speed */
 
#define XHCI_PS_PIC_GET(x)   (((x) >> 14) & 0x3) /* RW - port indicator */
 
#define XHCI_PS_PIC_SET(x)   (((x) & 0x3) << 14) /* RW - port indicator */
 
#define XHCI_PS_LWS   0x00010000 /* RW - port link state write strobe */
 
#define XHCI_PS_CSC   0x00020000 /* RW - connect status change */
 
#define XHCI_PS_PEC   0x00040000 /* RW - port enable/disable change */
 
#define XHCI_PS_WRC   0x00080000 /* RW - warm port reset change */
 
#define XHCI_PS_OCC   0x00100000 /* RW - over-current change */
 
#define XHCI_PS_PRC   0x00200000 /* RW - port reset change */
 
#define XHCI_PS_PLC   0x00400000 /* RW - port link state change */
 
#define XHCI_PS_CEC   0x00800000 /* RW - config error change */
 
#define XHCI_PS_CAS   0x01000000 /* RO - cold attach status */
 
#define XHCI_PS_WCE   0x02000000 /* RW - wake on connect enable */
 
#define XHCI_PS_WDE   0x04000000 /* RW - wake on disconnect enable */
 
#define XHCI_PS_WOE   0x08000000 /* RW - wake on over-current enable */
 
#define XHCI_PS_DR   0x40000000 /* RO - device removable */
 
#define XHCI_PS_WPR   0x80000000U /* RW - warm port reset */
 
#define XHCI_PS_CLEAR   0x80FF01FFU /* command bits */
 
#define XHCI_PORTPMSC(n)   (0x3F4 + (0x10 * (n))) /* XHCI status and control */
 
#define XHCI_PM3_U1TO_GET(x)   (((x) >> 0) & 0xFF) /* RW - U1 timeout */
 
#define XHCI_PM3_U1TO_SET(x)   (((x) & 0xFF) << 0) /* RW - U1 timeout */
 
#define XHCI_PM3_U2TO_GET(x)   (((x) >> 8) & 0xFF) /* RW - U2 timeout */
 
#define XHCI_PM3_U2TO_SET(x)   (((x) & 0xFF) << 8) /* RW - U2 timeout */
 
#define XHCI_PM3_FLA   0x00010000 /* RW - Force Link PM Accept */
 
#define XHCI_PM2_L1S_GET(x)   (((x) >> 0) & 0x7) /* RO - L1 status */
 
#define XHCI_PM2_RWE   0x00000008 /* RW - remote wakup enable */
 
#define XHCI_PM2_HIRD_GET(x)   (((x) >> 4) & 0xF) /* RW - host initiated resume duration */
 
#define XHCI_PM2_HIRD_SET(x)   (((x) & 0xF) << 4) /* RW - host initiated resume duration */
 
#define XHCI_PM2_L1SLOT_GET(x)   (((x) >> 8) & 0xFF) /* RW - L1 device slot */
 
#define XHCI_PM2_L1SLOT_SET(x)   (((x) & 0xFF) << 8) /* RW - L1 device slot */
 
#define XHCI_PM2_HLE   0x00010000 /* RW - hardware LPM enable */
 
#define XHCI_PORTLI(n)   (0x3F8 + (0x10 * (n))) /* XHCI port link info */
 
#define XHCI_PLI3_ERR_GET(x)   (((x) >> 0) & 0xFFFF) /* RO - port link errors */
 
#define XHCI_PORTRSV(n)   (0x3FC + (0x10 * (n))) /* XHCI port reserved */
 
#define XHCI_MFINDEX   0x0000 /* RO - microframe index */
 
#define XHCI_MFINDEX_GET(x)   ((x) & 0x3FFF)
 
#define XHCI_IMAN(n)   (0x0020 + (0x20 * (n))) /* XHCI interrupt management */
 
#define XHCI_IMAN_INTR_PEND   0x00000001 /* RW - interrupt pending */
 
#define XHCI_IMAN_INTR_ENA   0x00000002 /* RW - interrupt enable */
 
#define XHCI_IMOD(n)   (0x0024 + (0x20 * (n))) /* XHCI interrupt moderation */
 
#define XHCI_IMOD_IVAL_GET(x)   (((x) >> 0) & 0xFFFF) /* 250ns unit */
 
#define XHCI_IMOD_IVAL_SET(x)   (((x) & 0xFFFF) << 0) /* 250ns unit */
 
#define XHCI_IMOD_ICNT_GET(x)   (((x) >> 16) & 0xFFFF) /* 250ns unit */
 
#define XHCI_IMOD_ICNT_SET(x)   (((x) & 0xFFFF) << 16) /* 250ns unit */
 
#define XHCI_IMOD_DEFAULT   0x000001F4U /* 8000 IRQs/second */
 
#define XHCI_IMOD_DEFAULT_LP   0x000003F8U /* 4000 IRQs/second - LynxPoint */
 
#define XHCI_ERSTSZ(n)   (0x0028 + (0x20 * (n))) /* XHCI event ring segment table size */
 
#define XHCI_ERSTS_GET(x)   ((x) & 0xFFFF)
 
#define XHCI_ERSTS_SET(x)   ((x) & 0xFFFF)
 
#define XHCI_ERSTBA_LO(n)   (0x0030 + (0x20 * (n))) /* XHCI event ring segment table BA */
 
#define XHCI_ERSTBA_HI(n)   (0x0034 + (0x20 * (n))) /* XHCI event ring segment table BA */
 
#define XHCI_ERDP_LO(n)   (0x0038 + (0x20 * (n))) /* XHCI event ring dequeue pointer */
 
#define XHCI_ERDP_LO_SINDEX(x)   ((x) & 0x7) /* RO - dequeue segment index */
 
#define XHCI_ERDP_LO_BUSY   0x00000008 /* RW - event handler busy */
 
#define XHCI_ERDP_HI(n)   (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */
 
#define XHCI_DOORBELL(n)   (0x0000 + (4 * (n)))
 
#define XHCI_DB_TARGET_GET(x)   ((x) & 0xFF) /* RW - doorbell target */
 
#define XHCI_DB_TARGET_SET(x)   ((x) & 0xFF) /* RW - doorbell target */
 
#define XHCI_DB_SID_GET(x)   (((x) >> 16) & 0xFFFF) /* RW - doorbell stream ID */
 
#define XHCI_DB_SID_SET(x)   (((x) & 0xFFFF) << 16) /* RW - doorbell stream ID */
 
#define XHCI_XECP_ID(x)   ((x) & 0xFF)
 
#define XHCI_XECP_NEXT(x)   (((x) >> 8) & 0xFF)
 
#define XHCI_XECP_BIOS_SEM   0x0002
 
#define XHCI_XECP_OS_SEM   0x0003
 
#define XHCI_ID_USB_LEGACY   0x0001
 
#define XHCI_ID_PROTOCOLS   0x0002
 
#define XHCI_ID_POWER_MGMT   0x0003
 
#define XHCI_ID_VIRTUALIZATION   0x0004
 
#define XHCI_ID_MSG_IRQ   0x0005
 
#define XHCI_ID_USB_LOCAL_MEM   0x0006
 
#define XREAD1(sc, what, a)
 
#define XREAD2(sc, what, a)
 
#define XREAD4(sc, what, a)
 
#define XWRITE1(sc, what, a, x)
 
#define XWRITE2(sc, what, a, x)
 
#define XWRITE4(sc, what, a, x)
 

Macro Definition Documentation

◆ PCI_USB_REV_3_0

#define PCI_USB_REV_3_0   0x30 /* USB 3.0 */

Definition at line 36 of file xhcireg.h.

◆ PCI_XHCI_CBMEM

#define PCI_XHCI_CBMEM   0x10 /* configuration base MEM */

Definition at line 34 of file xhcireg.h.

◆ PCI_XHCI_FLADJ

#define PCI_XHCI_FLADJ   0x61 /* RW frame length adjust */

Definition at line 37 of file xhcireg.h.

◆ PCI_XHCI_INTEL_USB2PRM

#define PCI_XHCI_INTEL_USB2PRM   0xD4 /* Intel USB2 Port Routing Mask */

Definition at line 40 of file xhcireg.h.

◆ PCI_XHCI_INTEL_USB3_PSSEN

#define PCI_XHCI_INTEL_USB3_PSSEN   0xD8 /* Intel USB3 Port SuperSpeed Enable */

Definition at line 41 of file xhcireg.h.

◆ PCI_XHCI_INTEL_USB3PRM

#define PCI_XHCI_INTEL_USB3PRM   0xDC /* Intel USB3 Port Routing Mask */

Definition at line 42 of file xhcireg.h.

◆ PCI_XHCI_INTEL_XUSB2PR

#define PCI_XHCI_INTEL_XUSB2PR   0xD0 /* Intel USB2 Port Routing */

Definition at line 39 of file xhcireg.h.

◆ PCI_XHCI_USBREV

#define PCI_XHCI_USBREV   0x60 /* RO USB protocol revision */

Definition at line 35 of file xhcireg.h.

◆ XHCI_CAPLENGTH

#define XHCI_CAPLENGTH   0x00 /* RO capability */

Definition at line 45 of file xhcireg.h.

◆ XHCI_CMD_CRS

#define XHCI_CMD_CRS   0x00000200 /* RW Controller Restore State */

Definition at line 84 of file xhcireg.h.

◆ XHCI_CMD_CSS

#define XHCI_CMD_CSS   0x00000100 /* RW Controller Save State */

Definition at line 83 of file xhcireg.h.

◆ XHCI_CMD_EU3S

#define XHCI_CMD_EU3S   0x00000800 /* RW Enable U3 MFINDEX Stop */

Definition at line 86 of file xhcireg.h.

◆ XHCI_CMD_EWE

#define XHCI_CMD_EWE   0x00000400 /* RW Enable Wrap Event */

Definition at line 85 of file xhcireg.h.

◆ XHCI_CMD_HCRST

#define XHCI_CMD_HCRST   0x00000002 /* RW Host Controller Reset */

Definition at line 79 of file xhcireg.h.

◆ XHCI_CMD_HSEE

#define XHCI_CMD_HSEE   0x00000008 /* RW Host System Error Enable */

Definition at line 81 of file xhcireg.h.

◆ XHCI_CMD_INTE

#define XHCI_CMD_INTE   0x00000004 /* RW Interrupter Enable */

Definition at line 80 of file xhcireg.h.

◆ XHCI_CMD_LHCRST

#define XHCI_CMD_LHCRST   0x00000080 /* RO/RW Light Host Controller Reset */

Definition at line 82 of file xhcireg.h.

◆ XHCI_CMD_RS

#define XHCI_CMD_RS   0x00000001 /* RW Run/Stop */

Definition at line 78 of file xhcireg.h.

◆ XHCI_CONFIG

#define XHCI_CONFIG   0x38

Definition at line 114 of file xhcireg.h.

◆ XHCI_CONFIG_SLOTS_MASK

#define XHCI_CONFIG_SLOTS_MASK   0x000000FF /* RW - number of device slots enabled */

Definition at line 115 of file xhcireg.h.

◆ XHCI_CRCR_HI

#define XHCI_CRCR_HI   0x1C /* XHCI command ring control */

Definition at line 111 of file xhcireg.h.

◆ XHCI_CRCR_LO

#define XHCI_CRCR_LO   0x18 /* XHCI command ring control */

Definition at line 105 of file xhcireg.h.

◆ XHCI_CRCR_LO_CA

#define XHCI_CRCR_LO_CA   0x00000004 /* RW - command abort */

Definition at line 108 of file xhcireg.h.

◆ XHCI_CRCR_LO_CRR

#define XHCI_CRCR_LO_CRR   0x00000008 /* RW - command ring running */

Definition at line 109 of file xhcireg.h.

◆ XHCI_CRCR_LO_CS

#define XHCI_CRCR_LO_CS   0x00000002 /* RW - command stop */

Definition at line 107 of file xhcireg.h.

◆ XHCI_CRCR_LO_MASK

#define XHCI_CRCR_LO_MASK   0x0000000F

Definition at line 110 of file xhcireg.h.

◆ XHCI_CRCR_LO_RCS

#define XHCI_CRCR_LO_RCS   0x00000001 /* RW - consumer cycle state */

Definition at line 106 of file xhcireg.h.

◆ XHCI_DB_SID_GET

#define XHCI_DB_SID_GET (   x)    (((x) >> 16) & 0xFFFF) /* RW - doorbell stream ID */

Definition at line 189 of file xhcireg.h.

◆ XHCI_DB_SID_SET

#define XHCI_DB_SID_SET (   x)    (((x) & 0xFFFF) << 16) /* RW - doorbell stream ID */

Definition at line 190 of file xhcireg.h.

◆ XHCI_DB_TARGET_GET

#define XHCI_DB_TARGET_GET (   x)    ((x) & 0xFF) /* RW - doorbell target */

Definition at line 187 of file xhcireg.h.

◆ XHCI_DB_TARGET_SET

#define XHCI_DB_TARGET_SET (   x)    ((x) & 0xFF) /* RW - doorbell target */

Definition at line 188 of file xhcireg.h.

◆ XHCI_DBOFF

#define XHCI_DBOFF   0x14 /* RO doorbell offset */

Definition at line 73 of file xhcireg.h.

◆ XHCI_DCBAAP_HI

#define XHCI_DCBAAP_HI   0x34 /* XHCI dev context BA pointer */

Definition at line 113 of file xhcireg.h.

◆ XHCI_DCBAAP_LO

#define XHCI_DCBAAP_LO   0x30 /* XHCI dev context BA pointer */

Definition at line 112 of file xhcireg.h.

◆ XHCI_DNCTRL

#define XHCI_DNCTRL   0x14 /* XHCI device notification control */

Definition at line 103 of file xhcireg.h.

◆ XHCI_DNCTRL_MASK

#define XHCI_DNCTRL_MASK (   n)    (1U << (n))

Definition at line 104 of file xhcireg.h.

◆ XHCI_DOORBELL

#define XHCI_DOORBELL (   n)    (0x0000 + (4 * (n)))

Definition at line 186 of file xhcireg.h.

◆ XHCI_ERDP_HI

#define XHCI_ERDP_HI (   n)    (0x003C + (0x20 * (n))) /* XHCI event ring dequeue pointer */

Definition at line 183 of file xhcireg.h.

◆ XHCI_ERDP_LO

#define XHCI_ERDP_LO (   n)    (0x0038 + (0x20 * (n))) /* XHCI event ring dequeue pointer */

Definition at line 180 of file xhcireg.h.

◆ XHCI_ERDP_LO_BUSY

#define XHCI_ERDP_LO_BUSY   0x00000008 /* RW - event handler busy */

Definition at line 182 of file xhcireg.h.

◆ XHCI_ERDP_LO_SINDEX

#define XHCI_ERDP_LO_SINDEX (   x)    ((x) & 0x7) /* RO - dequeue segment index */

Definition at line 181 of file xhcireg.h.

◆ XHCI_ERSTBA_HI

#define XHCI_ERSTBA_HI (   n)    (0x0034 + (0x20 * (n))) /* XHCI event ring segment table BA */

Definition at line 179 of file xhcireg.h.

◆ XHCI_ERSTBA_LO

#define XHCI_ERSTBA_LO (   n)    (0x0030 + (0x20 * (n))) /* XHCI event ring segment table BA */

Definition at line 178 of file xhcireg.h.

◆ XHCI_ERSTS_GET

#define XHCI_ERSTS_GET (   x)    ((x) & 0xFFFF)

Definition at line 176 of file xhcireg.h.

◆ XHCI_ERSTS_SET

#define XHCI_ERSTS_SET (   x)    ((x) & 0xFFFF)

Definition at line 177 of file xhcireg.h.

◆ XHCI_ERSTSZ

#define XHCI_ERSTSZ (   n)    (0x0028 + (0x20 * (n))) /* XHCI event ring segment table size */

Definition at line 175 of file xhcireg.h.

◆ XHCI_HCIVERSION

#define XHCI_HCIVERSION   0x02 /* RO Interface version number */

Definition at line 47 of file xhcireg.h.

◆ XHCI_HCIVERSION_0_9

#define XHCI_HCIVERSION_0_9   0x0090 /* xHCI version 0.9 */

Definition at line 48 of file xhcireg.h.

◆ XHCI_HCIVERSION_1_0

#define XHCI_HCIVERSION_1_0   0x0100 /* xHCI version 1.0 */

Definition at line 49 of file xhcireg.h.

◆ XHCI_HCS0_AC64

#define XHCI_HCS0_AC64 (   x)    ((x) & 0x1) /* 64-bit capable */

Definition at line 63 of file xhcireg.h.

◆ XHCI_HCS0_BNC

#define XHCI_HCS0_BNC (   x)    (((x) >> 1) & 0x1) /* BW negotiation */

Definition at line 64 of file xhcireg.h.

◆ XHCI_HCS0_CSZ

#define XHCI_HCS0_CSZ (   x)    (((x) >> 2) & 0x1) /* context size */

Definition at line 65 of file xhcireg.h.

◆ XHCI_HCS0_LHRC

#define XHCI_HCS0_LHRC (   x)    (((x) >> 5) & 0x1) /* light HC reset */

Definition at line 68 of file xhcireg.h.

◆ XHCI_HCS0_LTC

#define XHCI_HCS0_LTC (   x)    (((x) >> 6) & 0x1) /* latency tolerance msg */

Definition at line 69 of file xhcireg.h.

◆ XHCI_HCS0_NSS

#define XHCI_HCS0_NSS (   x)    (((x) >> 7) & 0x1) /* no secondary sid */

Definition at line 70 of file xhcireg.h.

◆ XHCI_HCS0_PIND

#define XHCI_HCS0_PIND (   x)    (((x) >> 4) & 0x1) /* port indicators */

Definition at line 67 of file xhcireg.h.

◆ XHCI_HCS0_PPC

#define XHCI_HCS0_PPC (   x)    (((x) >> 3) & 0x1) /* port power control */

Definition at line 66 of file xhcireg.h.

◆ XHCI_HCS0_PSA_SZ_MAX

#define XHCI_HCS0_PSA_SZ_MAX (   x)    (((x) >> 12) & 0xF) /* max pri. stream array size */

Definition at line 71 of file xhcireg.h.

◆ XHCI_HCS0_XECP

#define XHCI_HCS0_XECP (   x)    (((x) >> 16) & 0xFFFF) /* extended capabilities pointer */

Definition at line 72 of file xhcireg.h.

◆ XHCI_HCS1_DEVSLOT_MAX

#define XHCI_HCS1_DEVSLOT_MAX (   x)    ((x) & 0xFF)

Definition at line 51 of file xhcireg.h.

◆ XHCI_HCS1_IRQ_MAX

#define XHCI_HCS1_IRQ_MAX (   x)    (((x) >> 8) & 0x3FF)

Definition at line 52 of file xhcireg.h.

◆ XHCI_HCS1_N_PORTS

#define XHCI_HCS1_N_PORTS (   x)    (((x) >> 24) & 0xFF)

Definition at line 53 of file xhcireg.h.

◆ XHCI_HCS2_ERST_MAX

#define XHCI_HCS2_ERST_MAX (   x)    (((x) >> 4) & 0xF)

Definition at line 56 of file xhcireg.h.

◆ XHCI_HCS2_IST

#define XHCI_HCS2_IST (   x)    ((x) & 0xF)

Definition at line 55 of file xhcireg.h.

◆ XHCI_HCS2_SPB_MAX

#define XHCI_HCS2_SPB_MAX (   x)    ((((x) >> 16) & 0x3E0) | (((x) >> 27) & 0x1F))

Definition at line 58 of file xhcireg.h.

◆ XHCI_HCS2_SPR

#define XHCI_HCS2_SPR (   x)    (((x) >> 26) & 0x1)

Definition at line 57 of file xhcireg.h.

◆ XHCI_HCS3_U1_DEL

#define XHCI_HCS3_U1_DEL (   x)    ((x) & 0xFF)

Definition at line 60 of file xhcireg.h.

◆ XHCI_HCS3_U2_DEL

#define XHCI_HCS3_U2_DEL (   x)    (((x) >> 16) & 0xFFFF)

Definition at line 61 of file xhcireg.h.

◆ XHCI_HCSPARAMS0

#define XHCI_HCSPARAMS0   0x10 /* RO capability parameters */

Definition at line 62 of file xhcireg.h.

◆ XHCI_HCSPARAMS1

#define XHCI_HCSPARAMS1   0x04 /* RO structural parameters 1 */

Definition at line 50 of file xhcireg.h.

◆ XHCI_HCSPARAMS2

#define XHCI_HCSPARAMS2   0x08 /* RO structural parameters 2 */

Definition at line 54 of file xhcireg.h.

◆ XHCI_HCSPARAMS3

#define XHCI_HCSPARAMS3   0x0C /* RO structural parameters 3 */

Definition at line 59 of file xhcireg.h.

◆ XHCI_ID_MSG_IRQ

#define XHCI_ID_MSG_IRQ   0x0005

Definition at line 203 of file xhcireg.h.

◆ XHCI_ID_POWER_MGMT

#define XHCI_ID_POWER_MGMT   0x0003

Definition at line 201 of file xhcireg.h.

◆ XHCI_ID_PROTOCOLS

#define XHCI_ID_PROTOCOLS   0x0002

Definition at line 200 of file xhcireg.h.

◆ XHCI_ID_USB_LEGACY

#define XHCI_ID_USB_LEGACY   0x0001

Definition at line 199 of file xhcireg.h.

◆ XHCI_ID_USB_LOCAL_MEM

#define XHCI_ID_USB_LOCAL_MEM   0x0006

Definition at line 204 of file xhcireg.h.

◆ XHCI_ID_VIRTUALIZATION

#define XHCI_ID_VIRTUALIZATION   0x0004

Definition at line 202 of file xhcireg.h.

◆ XHCI_IMAN

#define XHCI_IMAN (   n)    (0x0020 + (0x20 * (n))) /* XHCI interrupt management */

Definition at line 165 of file xhcireg.h.

◆ XHCI_IMAN_INTR_ENA

#define XHCI_IMAN_INTR_ENA   0x00000002 /* RW - interrupt enable */

Definition at line 167 of file xhcireg.h.

◆ XHCI_IMAN_INTR_PEND

#define XHCI_IMAN_INTR_PEND   0x00000001 /* RW - interrupt pending */

Definition at line 166 of file xhcireg.h.

◆ XHCI_IMOD

#define XHCI_IMOD (   n)    (0x0024 + (0x20 * (n))) /* XHCI interrupt moderation */

Definition at line 168 of file xhcireg.h.

◆ XHCI_IMOD_DEFAULT

#define XHCI_IMOD_DEFAULT   0x000001F4U /* 8000 IRQs/second */

Definition at line 173 of file xhcireg.h.

◆ XHCI_IMOD_DEFAULT_LP

#define XHCI_IMOD_DEFAULT_LP   0x000003F8U /* 4000 IRQs/second - LynxPoint */

Definition at line 174 of file xhcireg.h.

◆ XHCI_IMOD_ICNT_GET

#define XHCI_IMOD_ICNT_GET (   x)    (((x) >> 16) & 0xFFFF) /* 250ns unit */

Definition at line 171 of file xhcireg.h.

◆ XHCI_IMOD_ICNT_SET

#define XHCI_IMOD_ICNT_SET (   x)    (((x) & 0xFFFF) << 16) /* 250ns unit */

Definition at line 172 of file xhcireg.h.

◆ XHCI_IMOD_IVAL_GET

#define XHCI_IMOD_IVAL_GET (   x)    (((x) >> 0) & 0xFFFF) /* 250ns unit */

Definition at line 169 of file xhcireg.h.

◆ XHCI_IMOD_IVAL_SET

#define XHCI_IMOD_IVAL_SET (   x)    (((x) & 0xFFFF) << 0) /* 250ns unit */

Definition at line 170 of file xhcireg.h.

◆ XHCI_MFINDEX

#define XHCI_MFINDEX   0x0000 /* RO - microframe index */

Definition at line 163 of file xhcireg.h.

◆ XHCI_MFINDEX_GET

#define XHCI_MFINDEX_GET (   x)    ((x) & 0x3FFF)

Definition at line 164 of file xhcireg.h.

◆ XHCI_PAGESIZE

#define XHCI_PAGESIZE   0x08 /* XHCI page size mask */

Definition at line 97 of file xhcireg.h.

◆ XHCI_PAGESIZE_16K

#define XHCI_PAGESIZE_16K   0x00000004 /* 16K Page Size */

Definition at line 100 of file xhcireg.h.

◆ XHCI_PAGESIZE_32K

#define XHCI_PAGESIZE_32K   0x00000008 /* 32K Page Size */

Definition at line 101 of file xhcireg.h.

◆ XHCI_PAGESIZE_4K

#define XHCI_PAGESIZE_4K   0x00000001 /* 4K Page Size */

Definition at line 98 of file xhcireg.h.

◆ XHCI_PAGESIZE_64K

#define XHCI_PAGESIZE_64K   0x00000010 /* 64K Page Size */

Definition at line 102 of file xhcireg.h.

◆ XHCI_PAGESIZE_8K

#define XHCI_PAGESIZE_8K   0x00000002 /* 8K Page Size */

Definition at line 99 of file xhcireg.h.

◆ XHCI_PLI3_ERR_GET

#define XHCI_PLI3_ERR_GET (   x)    (((x) >> 0) & 0xFFFF) /* RO - port link errors */

Definition at line 159 of file xhcireg.h.

◆ XHCI_PM2_HIRD_GET

#define XHCI_PM2_HIRD_GET (   x)    (((x) >> 4) & 0xF) /* RW - host initiated resume duration */

Definition at line 153 of file xhcireg.h.

◆ XHCI_PM2_HIRD_SET

#define XHCI_PM2_HIRD_SET (   x)    (((x) & 0xF) << 4) /* RW - host initiated resume duration */

Definition at line 154 of file xhcireg.h.

◆ XHCI_PM2_HLE

#define XHCI_PM2_HLE   0x00010000 /* RW - hardware LPM enable */

Definition at line 157 of file xhcireg.h.

◆ XHCI_PM2_L1S_GET

#define XHCI_PM2_L1S_GET (   x)    (((x) >> 0) & 0x7) /* RO - L1 status */

Definition at line 151 of file xhcireg.h.

◆ XHCI_PM2_L1SLOT_GET

#define XHCI_PM2_L1SLOT_GET (   x)    (((x) >> 8) & 0xFF) /* RW - L1 device slot */

Definition at line 155 of file xhcireg.h.

◆ XHCI_PM2_L1SLOT_SET

#define XHCI_PM2_L1SLOT_SET (   x)    (((x) & 0xFF) << 8) /* RW - L1 device slot */

Definition at line 156 of file xhcireg.h.

◆ XHCI_PM2_RWE

#define XHCI_PM2_RWE   0x00000008 /* RW - remote wakup enable */

Definition at line 152 of file xhcireg.h.

◆ XHCI_PM3_FLA

#define XHCI_PM3_FLA   0x00010000 /* RW - Force Link PM Accept */

Definition at line 150 of file xhcireg.h.

◆ XHCI_PM3_U1TO_GET

#define XHCI_PM3_U1TO_GET (   x)    (((x) >> 0) & 0xFF) /* RW - U1 timeout */

Definition at line 146 of file xhcireg.h.

◆ XHCI_PM3_U1TO_SET

#define XHCI_PM3_U1TO_SET (   x)    (((x) & 0xFF) << 0) /* RW - U1 timeout */

Definition at line 147 of file xhcireg.h.

◆ XHCI_PM3_U2TO_GET

#define XHCI_PM3_U2TO_GET (   x)    (((x) >> 8) & 0xFF) /* RW - U2 timeout */

Definition at line 148 of file xhcireg.h.

◆ XHCI_PM3_U2TO_SET

#define XHCI_PM3_U2TO_SET (   x)    (((x) & 0xFF) << 8) /* RW - U2 timeout */

Definition at line 149 of file xhcireg.h.

◆ XHCI_PORTLI

#define XHCI_PORTLI (   n)    (0x3F8 + (0x10 * (n))) /* XHCI port link info */

Definition at line 158 of file xhcireg.h.

◆ XHCI_PORTPMSC

#define XHCI_PORTPMSC (   n)    (0x3F4 + (0x10 * (n))) /* XHCI status and control */

Definition at line 145 of file xhcireg.h.

◆ XHCI_PORTRSV

#define XHCI_PORTRSV (   n)    (0x3FC + (0x10 * (n))) /* XHCI port reserved */

Definition at line 160 of file xhcireg.h.

◆ XHCI_PORTSC

#define XHCI_PORTSC (   n)    (0x3F0 + (0x10 * (n))) /* XHCI port status */

Definition at line 118 of file xhcireg.h.

◆ XHCI_PS_CAS

#define XHCI_PS_CAS   0x01000000 /* RO - cold attach status */

Definition at line 137 of file xhcireg.h.

◆ XHCI_PS_CCS

#define XHCI_PS_CCS   0x00000001 /* RO - current connect status */

Definition at line 119 of file xhcireg.h.

◆ XHCI_PS_CEC

#define XHCI_PS_CEC   0x00800000 /* RW - config error change */

Definition at line 136 of file xhcireg.h.

◆ XHCI_PS_CLEAR

#define XHCI_PS_CLEAR   0x80FF01FFU /* command bits */

Definition at line 143 of file xhcireg.h.

◆ XHCI_PS_CSC

#define XHCI_PS_CSC   0x00020000 /* RW - connect status change */

Definition at line 130 of file xhcireg.h.

◆ XHCI_PS_DR

#define XHCI_PS_DR   0x40000000 /* RO - device removable */

Definition at line 141 of file xhcireg.h.

◆ XHCI_PS_LWS

#define XHCI_PS_LWS   0x00010000 /* RW - port link state write strobe */

Definition at line 129 of file xhcireg.h.

◆ XHCI_PS_OCA

#define XHCI_PS_OCA   0x00000008 /* RO - over current active */

Definition at line 121 of file xhcireg.h.

◆ XHCI_PS_OCC

#define XHCI_PS_OCC   0x00100000 /* RW - over-current change */

Definition at line 133 of file xhcireg.h.

◆ XHCI_PS_PEC

#define XHCI_PS_PEC   0x00040000 /* RW - port enable/disable change */

Definition at line 131 of file xhcireg.h.

◆ XHCI_PS_PED

#define XHCI_PS_PED   0x00000002 /* RW - port enabled / disabled */

Definition at line 120 of file xhcireg.h.

◆ XHCI_PS_PIC_GET

#define XHCI_PS_PIC_GET (   x)    (((x) >> 14) & 0x3) /* RW - port indicator */

Definition at line 127 of file xhcireg.h.

◆ XHCI_PS_PIC_SET

#define XHCI_PS_PIC_SET (   x)    (((x) & 0x3) << 14) /* RW - port indicator */

Definition at line 128 of file xhcireg.h.

◆ XHCI_PS_PLC

#define XHCI_PS_PLC   0x00400000 /* RW - port link state change */

Definition at line 135 of file xhcireg.h.

◆ XHCI_PS_PLS_GET

#define XHCI_PS_PLS_GET (   x)    (((x) >> 5) & 0xF) /* RW - port link state */

Definition at line 123 of file xhcireg.h.

◆ XHCI_PS_PLS_SET

#define XHCI_PS_PLS_SET (   x)    (((x) & 0xF) << 5) /* RW - port link state */

Definition at line 124 of file xhcireg.h.

◆ XHCI_PS_PP

#define XHCI_PS_PP   0x00000200 /* RW - port power */

Definition at line 125 of file xhcireg.h.

◆ XHCI_PS_PR

#define XHCI_PS_PR   0x00000010 /* RW - port reset */

Definition at line 122 of file xhcireg.h.

◆ XHCI_PS_PRC

#define XHCI_PS_PRC   0x00200000 /* RW - port reset change */

Definition at line 134 of file xhcireg.h.

◆ XHCI_PS_SPEED_GET

#define XHCI_PS_SPEED_GET (   x)    (((x) >> 10) & 0xF) /* RO - port speed */

Definition at line 126 of file xhcireg.h.

◆ XHCI_PS_WCE

#define XHCI_PS_WCE   0x02000000 /* RW - wake on connect enable */

Definition at line 138 of file xhcireg.h.

◆ XHCI_PS_WDE

#define XHCI_PS_WDE   0x04000000 /* RW - wake on disconnect enable */

Definition at line 139 of file xhcireg.h.

◆ XHCI_PS_WOE

#define XHCI_PS_WOE   0x08000000 /* RW - wake on over-current enable */

Definition at line 140 of file xhcireg.h.

◆ XHCI_PS_WPR

#define XHCI_PS_WPR   0x80000000U /* RW - warm port reset */

Definition at line 142 of file xhcireg.h.

◆ XHCI_PS_WRC

#define XHCI_PS_WRC   0x00080000 /* RW - warm port reset change */

Definition at line 132 of file xhcireg.h.

◆ XHCI_RESERVED

#define XHCI_RESERVED   0x01 /* Reserved */

Definition at line 46 of file xhcireg.h.

◆ XHCI_RTSOFF

#define XHCI_RTSOFF   0x18 /* RO runtime register space offset */

Definition at line 74 of file xhcireg.h.

◆ XHCI_STS_CNR

#define XHCI_STS_CNR   0x00000800 /* RO - Controller Not Ready */

Definition at line 95 of file xhcireg.h.

◆ XHCI_STS_EINT

#define XHCI_STS_EINT   0x00000008 /* RW - Event Interrupt */

Definition at line 90 of file xhcireg.h.

◆ XHCI_STS_HCE

#define XHCI_STS_HCE   0x00001000 /* RO - Host Controller Error */

Definition at line 96 of file xhcireg.h.

◆ XHCI_STS_HCH

#define XHCI_STS_HCH   0x00000001 /* RO - Host Controller Halted */

Definition at line 88 of file xhcireg.h.

◆ XHCI_STS_HSE

#define XHCI_STS_HSE   0x00000004 /* RW - Host System Error */

Definition at line 89 of file xhcireg.h.

◆ XHCI_STS_PCD

#define XHCI_STS_PCD   0x00000010 /* RW - Port Change Detect */

Definition at line 91 of file xhcireg.h.

◆ XHCI_STS_RSS

#define XHCI_STS_RSS   0x00000200 /* RO - Restore State Status */

Definition at line 93 of file xhcireg.h.

◆ XHCI_STS_SRE

#define XHCI_STS_SRE   0x00000400 /* RW - Save/Restore Error */

Definition at line 94 of file xhcireg.h.

◆ XHCI_STS_SSS

#define XHCI_STS_SSS   0x00000100 /* RO - Save State Status */

Definition at line 92 of file xhcireg.h.

◆ XHCI_USBCMD

#define XHCI_USBCMD   0x00 /* XHCI command */

Definition at line 77 of file xhcireg.h.

◆ XHCI_USBSTS

#define XHCI_USBSTS   0x04 /* XHCI status */

Definition at line 87 of file xhcireg.h.

◆ XHCI_XECP_BIOS_SEM

#define XHCI_XECP_BIOS_SEM   0x0002

Definition at line 195 of file xhcireg.h.

◆ XHCI_XECP_ID

#define XHCI_XECP_ID (   x)    ((x) & 0xFF)

Definition at line 193 of file xhcireg.h.

◆ XHCI_XECP_NEXT

#define XHCI_XECP_NEXT (   x)    (((x) >> 8) & 0xFF)

Definition at line 194 of file xhcireg.h.

◆ XHCI_XECP_OS_SEM

#define XHCI_XECP_OS_SEM   0x0003

Definition at line 196 of file xhcireg.h.

◆ XREAD1

#define XREAD1 (   sc,
  what,
 
)
Value:
bus_space_read_1((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off)

Definition at line 207 of file xhcireg.h.

◆ XREAD2

#define XREAD2 (   sc,
  what,
 
)
Value:
bus_space_read_2((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off)

Definition at line 210 of file xhcireg.h.

◆ XREAD4

#define XREAD4 (   sc,
  what,
 
)
Value:
bus_space_read_4((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off)

Definition at line 213 of file xhcireg.h.

◆ XWRITE1

#define XWRITE1 (   sc,
  what,
  a,
 
)
Value:
bus_space_write_1((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off, (x))

Definition at line 216 of file xhcireg.h.

◆ XWRITE2

#define XWRITE2 (   sc,
  what,
  a,
 
)
Value:
bus_space_write_2((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off, (x))

Definition at line 219 of file xhcireg.h.

◆ XWRITE4

#define XWRITE4 (   sc,
  what,
  a,
 
)
Value:
bus_space_write_4((sc)->sc_io_tag, (sc)->sc_io_hdl, \
(a) + (sc)->sc_##what##_off, (x))

Definition at line 222 of file xhcireg.h.