NSCL DDAS  1.0
Support for XIA DDAS at the NSCL
 All Classes Namespaces Files Functions Variables Macros Pages
PciRegs.h
1 #ifndef __PCI_REGS_H
2 #define __PCI_REGS_H
3 
4 /*******************************************************************************
5  * Copyright (c) PLX Technology, Inc.
6  *
7  * PLX Technology Inc. licenses this source file under the GNU Lesser General Public
8  * License (LGPL) version 2. This source file may be modified or redistributed
9  * under the terms of the LGPL and without express permission from PLX Technology.
10  *
11  * PLX Technology, Inc. provides this software AS IS, WITHOUT ANY WARRANTY,
12  * EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF
13  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. PLX makes no guarantee
14  * or representations regarding the use of, or the results of the use of,
15  * the software and documentation in terms of correctness, accuracy,
16  * reliability, currentness, or otherwise; and you rely on the software,
17  * documentation and results solely at your own risk.
18  *
19  * IN NO EVENT SHALL PLX BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
20  * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
21  * OF ANY KIND.
22  *
23  ******************************************************************************/
24 
25 /******************************************************************************
26  *
27  * File Name:
28  *
29  * PciRegs.h
30  *
31  * Description:
32  *
33  * This file defines the generic PCI Configuration Registers
34  *
35  * Revision:
36  *
37  * 05-01-13 : PLX SDK v7.10
38  *
39  ******************************************************************************/
40 
41 
42 // PCI Extended Capability IDs
43 #define CAP_ID_POWER_MAN 0x01
44 #define CAP_ID_AGP 0x02
45 #define CAP_ID_VPD 0x03
46 #define CAP_ID_SLOT_ID 0x04
47 #define CAP_ID_MSI 0x05
48 #define CAP_ID_HOT_SWAP 0x06
49 #define CAP_ID_PCIX 0x07
50 #define CAP_ID_HYPER_TRANSPORT 0x08
51 #define CAP_ID_VENDOR_SPECIFIC 0x09
52 #define CAP_ID_DEBUG_PORT 0x0A
53 #define CAP_ID_RESOURCE_CTRL 0x0B
54 #define CAP_ID_HOT_PLUG 0x0C
55 #define CAP_ID_BRIDGE_SUB_ID 0x0D
56 #define CAP_ID_AGP_8X 0x0E
57 #define CAP_ID_SECURE_DEVICE 0x0F
58 #define CAP_ID_PCI_EXPRESS 0x10
59 #define CAP_ID_MSI_X 0x11
60 #define CAP_ID_SATA 0x12
61 #define CAP_ID_ADV_FEATURES 0x13
62 
63 
64 // PCI Express Extended Capability IDs
65 #define PCIE_CAP_ID_ADV_ERROR_REPORTING 0x001 // Advanced Error Reporting
66 #define PCIE_CAP_ID_VIRTUAL_CHANNEL 0x002 // Virtual Channel
67 #define PCIE_CAP_ID_DEV_SERIAL_NUMBER 0x003 // Device Serial Number
68 #define PCIE_CAP_ID_POWER_BUDGETING 0x004 // Power Budgeting
69 #define PCIE_CAP_ID_RC_LINK_DECLARATION 0x005 // Root Complex Link Declaration
70 #define PCIE_CAP_ID_RC_INT_LINK_CONTROL 0x006 // Root Complex Internal Link Control
71 #define PCIE_CAP_ID_RC_EVENT_COLLECTOR 0x007 // Root Complex Event Collector Endpoint Association
72 #define PCIE_CAP_ID_MF_VIRTUAL_CHANNEL 0x008 // Multi-Function Virtual Channel
73 #define PCIE_CAP_ID_VC_WITH_MULTI_FN 0x009 // Virtual Channel with Multi-Function
74 #define PCIE_CAP_ID_RC_REG_BLOCK 0x00A // Root Complex Register Block
75 #define PCIE_CAP_ID_VENDOR_SPECIFIC 0x00B // Vendor-specific
76 #define PCIE_CAP_ID_CONFIG_ACCESS_CORR 0x00C // Configuration Access Correlation
77 #define PCIE_CAP_ID_ACCESS_CTRL_SERVICES 0x00D // Access Control Services
78 #define PCIE_CAP_ID_ALT_ROUTE_ID_INTERPRET 0x00E // Alternate Routing-ID Interpretation
79 #define PCIE_CAP_ID_SR_IOV 0x010 // SR-IOV
80 #define PCIE_CAP_ID_MR_IOV 0x011 // MR-IOV
81 #define PCIE_CAP_ID_MULTICAST 0x012 // Multicast
82 #define PCIE_CAP_ID_RESIZABLE_BAR 0x015 // Resizable BAR
83 #define PCIE_CAP_ID_DYNAMIC_POWER_ALLOC 0x016 // Dynamic Power Allocation
84 #define PCIE_CAP_ID_TLP_PROCESSING_HINT 0x017 // TLP Processing Hint (TPH) Requester
85 #define PCIE_CAP_ID_LATENCY_TOLERANCE_REPORT 0x018 // Latency Tolerance Reporting
86 #define PCIE_CAP_ID_SECONDARY_PCI_EXPRESS 0x019 // Secondary PCI Express
87 #define PCIE_CAP_ID_PROTOCOL_MULTIPLEX 0x01A // Protocol Multiplexing (PMUX)
88 #define PCIE_CAP_ID_PROCESS_ADDR_SPACE_ID 0x01B // Process Address Space ID (PASID)
89 #define PCIE_CAP_ID_LTWT_NOTIF_REQUESTER 0x01C // Lightweight Notification Requester (LNR)
90 #define PCIE_CAP_ID_DS_PORT_CONTAINMENT 0x01D // Downstream Port Containment (DPC)
91 #define PCIE_CAP_ID_L1_PM_SUBSTRATES 0x01E // L1 Power Management Substrates (L1PM)
92 #define PCIE_CAP_ID_PRECISION_TIME_MEAS 0x01F // Precision Time Measurement (PTM)
93 
94 
95 // Function codes for PCI BIOS operations
96 #define PCI_FUNC_ID 0xb1
97 #define PCI_FUNC_BIOS_PRESENT 0x01
98 #define PCI_FUNC_FIND_PCI_DEVICE 0x02
99 #define PCI_FUNC_FIND_PCI_CLASS_CODE 0x03
100 #define PCI_FUNC_GENERATE_SPECIAL_CYC 0x06
101 #define PCI_FUNC_READ_CONFIG_BYTE 0x08
102 #define PCI_FUNC_READ_CONFIG_WORD 0x09
103 #define PCI_FUNC_READ_CONFIG_DWORD 0x0a
104 #define PCI_FUNC_WRITE_CONFIG_BYTE 0x0b
105 #define PCI_FUNC_WRITE_CONFIG_WORD 0x0c
106 #define PCI_FUNC_WRITE_CONFIG_DWORD 0x0d
107 #define PCI_FUNC_GET_IRQ_ROUTING_OPTS 0x0e
108 #define PCI_FUNC_SET_PCI_HW_INT 0x0f
109 
110 
111 
112 #endif