Lines Matching +full:max +full:- +full:link +full:- +full:speed
1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
5 * Copyright 1997--1999 Martin Mares <mj@ucw.cz>
18 * The HyperTransport I/O Link Specification
25 * Conventional PCI and PCI-X Mode 1 devices have 256 bytes of
26 * configuration space. PCI-X Mode 2 and PCIe devices have 4096 bytes of
50 #define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */
59 #define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */
83 #define PCI_HEADER_TYPE_MFD 0x80 /* Multi-Function Device (possible) */
124 /* 0x35-0x3b are reserved */
130 /* Header type 1 (PCI-to-PCI bridges) */
158 /* 0x35-0x3b is reserved */
160 /* 0x3c-0x3d are same as for htype 0 */
191 /* 0x3c-0x3d are same as for htype 0 */
199 #define PCI_CB_BRIDGE_CTL_16BIT_INT 0x80 /* Enable interrupt for 16-bit cards */
205 #define PCI_CB_LEGACY_MODE_BASE 0x44 /* 16-bit PC Card legacy mode base address (ExCa) */
206 /* 0x48-0x7f reserved */
217 #define PCI_CAP_ID_PCIX 0x07 /* PCI-X */
219 #define PCI_CAP_ID_VNDR 0x09 /* Vendor-Specific */
222 #define PCI_CAP_ID_SHPC 0x0C /* PCI Standard Hot-Plug Controller */
224 #define PCI_CAP_ID_AGP3 0x0E /* AGP Target PCI-PCI bridge */
227 #define PCI_CAP_ID_MSIX 0x11 /* MSI-X */
256 #define PCI_PM_CTRL_NO_SOFT_RESET 0x0008 /* No reset for D3hot->D0 */
272 #define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */
274 #define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing supported */
283 #define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow processing of 64-bit addresses */
295 #define PCI_VPD_DATA 4 /* 32-bits of data returned here */
311 #define PCI_MSI_FLAGS_64BIT 0x0080 /* 64-bit addresses allowed */
312 #define PCI_MSI_FLAGS_MASKBIT 0x0100 /* Per-vector masking capable */
316 #define PCI_MSI_DATA_32 0x08 /* 16 bits of data for 32-bit devices */
317 #define PCI_MSI_MASK_32 0x0c /* Mask bits register for 32-bit devices */
318 #define PCI_MSI_PENDING_32 0x10 /* Pending intrs for 32-bit devices */
319 #define PCI_MSI_DATA_64 0x0c /* 16 bits of data for 64-bit devices */
320 #define PCI_MSI_MASK_64 0x10 /* Mask bits register for 64-bit devices */
321 #define PCI_MSI_PENDING_64 0x14 /* Pending intrs for 64-bit devices */
323 /* MSI-X registers (in MSI-X capability) */
327 #define PCI_MSIX_FLAGS_ENABLE 0x8000 /* MSI-X enable */
337 /* MSI-X Table entry format (in memory mapped by a BAR) */
353 #define PCI_CHSWP_EXT 0x40 /* ENUM# status - extraction */
354 #define PCI_CHSWP_INS 0x80 /* ENUM# status - insertion */
382 /* 0-5 map to BARs 0-5 respectively */
388 /* 9-14 map to VF BARs 0-5 respectively */
391 #define PCI_EA_BEI_RESERVED 15 /* Reserved - Treat like ENI */
394 #define PCI_EA_P_MEM 0x00 /* Non-Prefetch Memory */
398 #define PCI_EA_P_VF_MEM 0x04 /* VF Non-Prefetch Memory */
399 #define PCI_EA_P_BRIDGE_MEM 0x05 /* Bridge Non-Prefetch Memory */
402 /* 0x08-0xfc reserved */
411 #define PCI_EA_IS_64 0x00000002 /* 64-bit field flag */
412 #define PCI_EA_FIELD_MASK 0xfffffffc /* For Base & Max Offset */
414 /* PCI-X registers (Type 0 (non-bridge) devices) */
423 #define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */
424 /* Max # of outstanding split transactions */
425 #define PCI_X_CMD_SPLIT_1 0x0000 /* Max 1 */
426 #define PCI_X_CMD_SPLIT_2 0x0010 /* Max 2 */
427 #define PCI_X_CMD_SPLIT_3 0x0020 /* Max 3 */
428 #define PCI_X_CMD_SPLIT_4 0x0030 /* Max 4 */
429 #define PCI_X_CMD_SPLIT_8 0x0040 /* Max 8 */
430 #define PCI_X_CMD_SPLIT_12 0x0050 /* Max 12 */
431 #define PCI_X_CMD_SPLIT_16 0x0060 /* Max 16 */
432 #define PCI_X_CMD_SPLIT_32 0x0070 /* Max 32 */
433 #define PCI_X_CMD_MAX_SPLIT 0x0070 /* Max Outstanding Split Transactions */
435 #define PCI_X_STATUS 4 /* PCI-X capabilities */
438 #define PCI_X_STATUS_64BIT 0x00010000 /* 64-bit device */
443 #define PCI_X_STATUS_MAX_READ 0x00600000 /* Designed Max Memory Read Count */
444 #define PCI_X_STATUS_MAX_SPLIT 0x03800000 /* Designed Max Outstanding Split Transactions */
445 #define PCI_X_STATUS_MAX_CUM 0x1c000000 /* Designed Max Cumulative Read Size */
454 /* PCI-X registers (Type 1 (bridge) devices) */
460 #define PCI_X_SSTATUS_VERS 0x3000 /* PCI-X Capability Version */
482 #define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCIe to PCI/PCI-X Bridge */
483 #define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIe Bridge */
497 #define PCI_EXP_DEVCAP_RBER 0x00008000 /* Role-Based Error Reporting */
503 #define PCI_EXP_DEVCTL_NFERE 0x0002 /* Non-Fatal Error Reporting Enable */
528 #define PCI_EXP_DEVSTA_NFED 0x0002 /* Non-Fatal Error Detected */
533 #define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V1 12 /* v1 endpoints without link end here */
534 #define PCI_EXP_LNKCAP 0x0c /* Link Capabilities */
535 #define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
542 #define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
550 #define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */
551 #define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */
553 #define PCI_EXP_LNKCTL 0x10 /* Link Control */
558 #define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
559 #define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
564 #define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */
565 #define PCI_EXP_LNKCTL_LABIE 0x0800 /* Link Autonomous Bandwidth Interrupt Enable */
566 #define PCI_EXP_LNKSTA 0x12 /* Link Status */
567 #define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */
568 #define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */
569 #define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
570 #define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */
571 #define PCI_EXP_LNKSTA_CLS_16_0GB 0x0004 /* Current Link Speed 16.0GT/s */
572 #define PCI_EXP_LNKSTA_CLS_32_0GB 0x0005 /* Current Link Speed 32.0GT/s */
573 #define PCI_EXP_LNKSTA_CLS_64_0GB 0x0006 /* Current Link Speed 64.0GT/s */
574 #define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */
575 #define PCI_EXP_LNKSTA_NLW_X1 0x0010 /* Current Link Width x1 */
576 #define PCI_EXP_LNKSTA_NLW_X2 0x0020 /* Current Link Width x2 */
577 #define PCI_EXP_LNKSTA_NLW_X4 0x0040 /* Current Link Width x4 */
578 #define PCI_EXP_LNKSTA_NLW_X8 0x0080 /* Current Link Width x8 */
579 #define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */
580 #define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */
582 #define PCI_EXP_LNKSTA_DLLLA 0x2000 /* Data Link Layer Link Active */
583 #define PCI_EXP_LNKSTA_LBMS 0x4000 /* Link Bandwidth Management Status */
584 #define PCI_EXP_LNKSTA_LABS 0x8000 /* Link Autonomous Bandwidth Status */
585 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1 20 /* v1 endpoints with link end here */
592 #define PCI_EXP_SLTCAP_HPS 0x00000020 /* Hot-Plug Surprise */
593 #define PCI_EXP_SLTCAP_HPC 0x00000040 /* Hot-Plug Capable */
605 #define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */
619 #define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */
621 #define PCI_EXP_SLTCTL_IBPD_DISABLE 0x4000 /* In-band PD disable */
631 #define PCI_EXP_SLTSTA_DLLSC 0x0100 /* Data Link Layer State Changed */
634 #define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */
648 * Link Capabilities 2, Link Status 2, Link Control 2,
656 #define PCI_EXP_DEVCAP2_ARI 0x00000020 /* Alternative Routing-ID */
664 #define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
665 #define PCI_EXP_DEVCAP2_EE_PREFIX 0x00200000 /* End-End TLP Prefix */
669 #define PCI_EXP_DEVCTL2_ARI 0x0020 /* Alternative Routing-ID */
679 #define PCI_CAP_EXP_RC_ENDPOINT_SIZEOF_V2 0x2c /* end of v2 EPs w/o link */
680 #define PCI_EXP_LNKCAP2 0x2c /* Link Capabilities 2 */
681 #define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002 /* Supported Speed 2.5GT/s */
682 #define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 /* Supported Speed 5GT/s */
683 #define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 /* Supported Speed 8GT/s */
684 #define PCI_EXP_LNKCAP2_SLS_16_0GB 0x00000010 /* Supported Speed 16GT/s */
685 #define PCI_EXP_LNKCAP2_SLS_32_0GB 0x00000020 /* Supported Speed 32GT/s */
686 #define PCI_EXP_LNKCAP2_SLS_64_0GB 0x00000040 /* Supported Speed 64GT/s */
688 #define PCI_EXP_LNKCTL2 0x30 /* Link Control 2 */
690 #define PCI_EXP_LNKCTL2_TLS_2_5GT 0x0001 /* Supported Speed 2.5GT/s */
691 #define PCI_EXP_LNKCTL2_TLS_5_0GT 0x0002 /* Supported Speed 5GT/s */
692 #define PCI_EXP_LNKCTL2_TLS_8_0GT 0x0003 /* Supported Speed 8GT/s */
693 #define PCI_EXP_LNKCTL2_TLS_16_0GT 0x0004 /* Supported Speed 16GT/s */
694 #define PCI_EXP_LNKCTL2_TLS_32_0GT 0x0005 /* Supported Speed 32GT/s */
695 #define PCI_EXP_LNKCTL2_TLS_64_0GT 0x0006 /* Supported Speed 64GT/s */
698 #define PCI_EXP_LNKCTL2_HASD 0x0020 /* HW Autonomous Speed Disable */
699 #define PCI_EXP_LNKSTA2 0x32 /* Link Status 2 */
701 #define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 0x32 /* end of v2 EPs w/ link */
703 #define PCI_EXP_SLTCAP2_IBPD 0x00000001 /* In-band PD Disable Supported */
707 /* Extended Capabilities (PCI-X 2.0 and Express) */
716 #define PCI_EXT_CAP_ID_RCLD 0x05 /* Root Complex Link Declaration */
717 #define PCI_EXT_CAP_ID_RCILC 0x06 /* Root Complex Internal Link Control */
719 #define PCI_EXT_CAP_ID_MFVC 0x08 /* Multi-Function VC Capability */
722 #define PCI_EXT_CAP_ID_VNDR 0x0B /* Vendor-Specific */
723 #define PCI_EXT_CAP_ID_CAC 0x0C /* Config Access - obsolete */
742 #define PCI_EXT_CAP_ID_DVSEC 0x23 /* Designated Vendor-Specific */
743 #define PCI_EXT_CAP_ID_DLF 0x25 /* Data Link Feature */
756 #define PCI_ERR_UNC_DLP 0x00000010 /* Data Link Protocol */
782 #define PCI_ERR_COR_ADV_NFAT 0x00002000 /* Advisory Non-Fatal */
796 #define PCI_ERR_ROOT_CMD_NONFATAL_EN 0x00000002 /* Non-Fatal Err Reporting Enable */
804 #define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 /* Non-Fatal Received */
861 /* Vendor-Specific (VSEC, PCI_EXT_CAP_ID_VNDR) */
862 #define PCI_VNDR_HEADER 4 /* Vendor-Specific Header */
876 #define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */
877 #define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */
901 /* Alternative Routing-ID Interpretation */
915 #define PCI_ATS_MAX_QDEP 32 /* Max Invalidate Queue Depth */
932 #define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
933 #define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
948 #define PCI_SRIOV_CAP 0x04 /* SR-IOV Capabilities */
951 #define PCI_SRIOV_CTRL 0x08 /* SR-IOV Control */
957 #define PCI_SRIOV_STATUS 0x0a /* SR-IOV Status */
962 #define PCI_SRIOV_FUNC_LINK 0x12 /* Function Dependency Link */
984 #define PCI_LTR_NOSNOOP_VALUE 0x03ff0000 /* Max No-Snoop Latency Value */
985 #define PCI_LTR_NOSNOOP_SCALE 0x1c000000 /* Scale for Max Value */
1001 #define PCI_VSEC_HDR 4 /* extended cap - vendor-specific */
1006 #define PCI_SATA_REGS_MASK 0xF /* location - BAR#/inline */
1023 #define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
1031 #define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
1087 #define PCI_L1SS_CAP_PCIPM_L1_2 0x00000001 /* PCI-PM L1.2 Supported */
1088 #define PCI_L1SS_CAP_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Supported */
1096 #define PCI_L1SS_CTL1_PCIPM_L1_2 0x00000001 /* PCI-PM L1.2 Enable */
1097 #define PCI_L1SS_CTL1_PCIPM_L1_1 0x00000002 /* PCI-PM L1.1 Enable */
1109 /* Designated Vendor-Specific (DVSEC, PCI_EXT_CAP_ID_DVSEC) */
1110 #define PCI_DVSEC_HEADER1 0x4 /* Designated Vendor-Specific Header1 */
1114 #define PCI_DVSEC_HEADER2 0x8 /* Designated Vendor-Specific Header2 */
1117 /* Data Link Feature */
1119 #define PCI_DLF_EXCHANGE_ENABLE 0x80000000 /* Data Link Feature Exchange Enable */
1178 /* DOE Data Object - note not actually registers */
1189 /* Compute Express Link (CXL r3.1, sec 8.1.5) */