Module Name:    src
Committed By:   msaitoh
Date:           Sun Apr 21 23:46:06 UTC 2013

Modified Files:
        src/sys/dev/pci: pci_subr.c pcireg.h

Log Message:
- Add some PCIe 2.0 or higher capability register definitions.
- Rename some registers.
- Add comments.
- Indent.


To generate a diff of this commit:
cvs rdiff -u -r1.103 -r1.104 src/sys/dev/pci/pci_subr.c
cvs rdiff -u -r1.83 -r1.84 src/sys/dev/pci/pcireg.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/pci_subr.c
diff -u src/sys/dev/pci/pci_subr.c:1.103 src/sys/dev/pci/pci_subr.c:1.104
--- src/sys/dev/pci/pci_subr.c:1.103	Sun Apr 21 19:59:41 2013
+++ src/sys/dev/pci/pci_subr.c	Sun Apr 21 23:46:06 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: pci_subr.c,v 1.103 2013/04/21 19:59:41 msaitoh Exp $	*/
+/*	$NetBSD: pci_subr.c,v 1.104 2013/04/21 23:46:06 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 1997 Zubin D. Dittia.  All rights reserved.
@@ -40,7 +40,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.103 2013/04/21 19:59:41 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pci_subr.c,v 1.104 2013/04/21 23:46:06 msaitoh Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_pci.h"
@@ -1222,10 +1222,10 @@ pci_conf_print_pcie_cap(const pcireg_t *
 		reg = regs[o2i(capoff + PCIE_RSR)];
 		printf("    Root Status Register: %08x\n", reg);
 		printf("      PME Requester ID: %04x\n",
-		    (unsigned int)(reg & PCIE_RSR_REQESTER));
-		if ((reg & PCIE_RSR_PMESTAT) != 0)
+		    (unsigned int)(reg & PCIE_RSR_PME_REQESTER));
+		if ((reg & PCIE_RSR_PME_STAT) != 0)
 			printf("      PME was asserted\n");
-		if ((reg & PCIE_RSR_PMEPEND) != 0)
+		if ((reg & PCIE_RSR_PME_PEND) != 0)
 			printf("      another PME is pending\n");
 	}
 }

Index: src/sys/dev/pci/pcireg.h
diff -u src/sys/dev/pci/pcireg.h:1.83 src/sys/dev/pci/pcireg.h:1.84
--- src/sys/dev/pci/pcireg.h:1.83	Sun Apr 21 19:59:41 2013
+++ src/sys/dev/pci/pcireg.h	Sun Apr 21 23:46:06 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcireg.h,v 1.83 2013/04/21 19:59:41 msaitoh Exp $	*/
+/*	$NetBSD: pcireg.h,v 1.84 2013/04/21 23:46:06 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 1995, 1996, 1999, 2000
@@ -629,143 +629,179 @@ struct pci_msix_table_entry {
 /*
  * PCI Express; access via capability pointer.
  */
-#define PCIE_XCAP		0x00	/* Capability List & Capabilities
-					 * Register
-					 */
-#define	PCIE_XCAP_MASK	__BITS(31, 16)
+#define PCIE_XCAP	0x00	/* Capability List & Capabilities Register */
+#define	PCIE_XCAP_MASK		__BITS(31, 16)
 /* Capability Version */
 #define PCIE_XCAP_VER_MASK	__SHIFTIN(__BITS(3, 0), PCIE_XCAP_MASK)
-#define	 PCIE_XCAP_VER_1_0		__SHIFTIN(1, PCIE_XCAP_VER_MASK)
-#define	 PCIE_XCAP_VER_2_0		__SHIFTIN(2, PCIE_XCAP_VER_MASK)
+#define	 PCIE_XCAP_VER_1_0	__SHIFTIN(1, PCIE_XCAP_VER_MASK)
+#define	 PCIE_XCAP_VER_2_0	__SHIFTIN(2, PCIE_XCAP_VER_MASK)
 #define	PCIE_XCAP_TYPE_MASK	__SHIFTIN(__BITS(7, 4), PCIE_XCAP_MASK)
-#define	 PCIE_XCAP_TYPE_PCIE_DEV	__SHIFTIN(0x0, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCIE_DEV __SHIFTIN(0x0, PCIE_XCAP_TYPE_MASK)
 #define	 PCIE_XCAP_TYPE_PCI_DEV	__SHIFTIN(0x1, PCIE_XCAP_TYPE_MASK)
 #define	 PCIE_XCAP_TYPE_ROOT	__SHIFTIN(0x4, PCIE_XCAP_TYPE_MASK)
-#define	 PCIE_XCAP_TYPE_UP		__SHIFTIN(0x5, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_UP	__SHIFTIN(0x5, PCIE_XCAP_TYPE_MASK)
 #define	 PCIE_XCAP_TYPE_DOWN	__SHIFTIN(0x6, PCIE_XCAP_TYPE_MASK)
-#define	 PCIE_XCAP_TYPE_PCIE2PCI	__SHIFTIN(0x7, PCIE_XCAP_TYPE_MASK)
-#define	 PCIE_XCAP_TYPE_PCI2PCIE	__SHIFTIN(0x8, PCIE_XCAP_TYPE_MASK)
-#define	 PCIE_XCAP_TYPE_ROOT_INTEP	__SHIFTIN(0x9, PCIE_XCAP_TYPE_MASK)
-#define	 PCIE_XCAP_TYPE_ROOT_EVNTC	__SHIFTIN(0xa, PCIE_XCAP_TYPE_MASK)
-#define PCIE_XCAP_SI	__SHIFTIN(__BIT(8), PCIE_XCAP_MASK)		/* Slot Implemented */
-#define PCIE_XCAP_IRQ	__SHIFTIN(__BITS(13, 9), PCIE_XCAP_MASK)
-#define PCIE_DCAP		0x04	/* Device Capabilities Register */
-#define PCIE_DCAP_MAX_PAYLOAD	__BITS(2, 0)
-#define PCIE_DCAP_PHANTOM_FUNCS	__BITS(4, 3)
-#define PCIE_DCAP_EXT_TAG_FIELD	__BIT(5)
-#define PCIE_DCAP_L0S_LATENCY	__BITS(8, 6)
-#define PCIE_DCAP_L1_LATENCY	__BITS(11, 9)
-#define PCIE_DCAP_ATTN_BUTTON	__BIT(12)
-#define PCIE_DCAP_ATTN_IND		__BIT(13)
-#define PCIE_DCAP_PWR_IND		__BIT(14)
-#define PCIE_DCAP_ROLE_ERR_RPT	__BIT(15)
-#define PCIE_DCAP_SLOT_PWR_LIM_VAL	__BITS(25, 18)
-#define PCIE_DCAP_SLOT_PWR_LIM_SCALE __BITS(27, 26)
-#define PCIE_DCAP_FLR		__BIT(28)
-#define PCIE_DCSR		0x08	/* Device Control & Status Register */
-#define PCIE_DCSR_ENA_COR_ERR	__BIT(0)
-#define PCIE_DCSR_ENA_NFER		__BIT(1)
-#define PCIE_DCSR_ENA_FER		__BIT(2)
-#define PCIE_DCSR_ENA_URR		__BIT(3)
-#define PCIE_DCSR_ENA_RELAX_ORD	__BIT(4)
-#define PCIE_DCSR_MAX_PAYLOAD	__BITS(7, 5)
-#define PCIE_DCSR_EXT_TAG_FIELD	__BIT(8)
-#define PCIE_DCSR_PHANTOM_FUNCS	__BIT(9)
-#define PCIE_DCSR_AUX_POWER_PM	__BIT(10)
-#define PCIE_DCSR_ENA_NO_SNOOP	__BIT(11)
-#define PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12)
-#define PCIE_DCSR_BRDG_CFG_RETRY	__BIT(15)
-#define PCIE_DCSR_INITIATE_FLR	__BIT(15)
-#define PCIE_DCSR_CED		__BIT(0 + 16)
-#define PCIE_DCSR_NFED		__BIT(1 + 16)
-#define PCIE_DCSR_FED		__BIT(2 + 16)
-#define PCIE_DCSR_URD		__BIT(3 + 16)
-#define PCIE_DCSR_AUX_PWR		__BIT(4 + 16)
-#define PCIE_DCSR_TRANSACTION_PND	__BIT(5 + 16)
-#define PCIE_LCAP		0x0c	/* Link Capabilities Register */
-#define PCIE_LCAP_MAX_SPEED		__BITS(3, 0)
-#define PCIE_LCAP_MAX_WIDTH		__BITS(9, 4)
-#define PCIE_LCAP_ASPM		__BITS(11, 10)
-#define PCIE_LCAP_L0S_EXIT		__BITS(14, 12)
-#define PCIE_LCAP_L1_EXIT		__BITS(17, 15)
-#define PCIE_LCAP_CLOCK_PM		__BIT(18)
-#define PCIE_LCAP_SURPRISE_DOWN	__BIT(19)
-#define PCIE_LCAP_DL_ACTIVE		__BIT(20)
-#define PCIE_LCAP_LINK_BW_NOTIFY	__BIT(21)
-#define PCIE_LCAP_ASPM_COMPLIANCE	__BIT(22)
-#define PCIE_LCAP_PORT		__BITS(31, 24)
-#define PCIE_LCSR		0x10	/* Link Control & Status Register */
-#define PCIE_LCSR_ASPM_L0S	__BIT(0)
-#define PCIE_LCSR_ASPM_L1	__BIT(1)
-#define PCIE_LCSR_RCB	__BIT(3)
-#define PCIE_LCSR_LINK_DIS	__BIT(4)
-#define PCIE_LCSR_RETRAIN	__BIT(5)
-#define PCIE_LCSR_COMCLKCFG	__BIT(6)
-#define PCIE_LCSR_EXTNDSYNC	__BIT(7)
-#define PCIE_LCSR_ENCLKPM	__BIT(8)
-#define PCIE_LCSR_HAWD	__BIT(9)
-#define PCIE_LCSR_LBMIE	__BIT(10)
-#define PCIE_LCSR_LABIE	__BIT(11)
-#define	PCIE_LCSR_LINKSPEED	__BITS(19,16)
-#define	PCIE_LCSR_NLW	__BITS(25,20)
-#define	PCIE_LCSR_LINKTRAIN_ERR	__BIT(26)
-#define	PCIE_LCSR_LINKTRAIN	__BIT(27)
-#define	PCIE_LCSR_SLOTCLKCFG __BIT(28)
-#define	PCIE_LCSR_DLACTIVE	__BIT(29)
-#define	PCIE_LCSR_LINK_BW_MGMT	__BIT(30)
-#define	PCIE_LCSR_LINK_AUTO_BW	__BIT(31)
-#define PCIE_SLCAP		0x14	/* Slot Capabilities Register */
-#define PCIE_SLCAP_ABP	__BIT(0)	/* Attention Button Present */
-#define PCIE_SLCAP_PCP	__BIT(1)	/* Power Controller Present */
-#define PCIE_SLCAP_MSP	__BIT(2)	/* MRL Sensor Present */
-#define PCIE_SLCAP_AIP	__BIT(3)	/* Attention Indicator
-						 * Present
-						 */
-#define PCIE_SLCAP_PIP	__BIT(4)	/* Power Indicator Present */
-#define PCIE_SLCAP_HPS	__BIT(5)	/* Hot-Plug Surprise */
-#define PCIE_SLCAP_HPC	__BIT(6)	/* Hot-Plug Capable */
-#define	PCIE_SLCAP_SPLV	__BITS(14, 7)
-#define	PCIE_SLCAP_SPLS	__BITS(16, 15)
-#define	PCIE_SLCAP_EIP	__BIT(17)
-#define	PCIE_SLCAP_NCCS	__BIT(18)
-#define	PCIE_SLCAP_PSN	__BITS(31, 19)
-#define PCIE_SLCSR		0x18	/* Slot Control & Status Register */
-#define PCIE_SLCSR_ABE	__BIT(0)
-#define PCIE_SLCSR_PFE	__BIT(1)
-#define PCIE_SLCSR_MSE	__BIT(2)
-#define PCIE_SLCSR_PDE	__BIT(3)
-#define PCIE_SLCSR_CCE	__BIT(4)
-#define PCIE_SLCSR_HPE	__BIT(5)
-#define PCIE_SLCSR_AIC	__BITS(7, 6)
-#define PCIE_SLCSR_PIC	__BITS(9, 8)
-#define PCIE_SLCSR_PCC	__BIT(10)
-#define PCIE_SLCSR_EIC	__BIT(11)
-#define PCIE_SLCSR_DLLSCE	__BIT(12)
-
-#define PCIE_SLCSR_ABP	__BIT(0 + 16)
-#define PCIE_SLCSR_PFD	__BIT(1 + 16)
-#define PCIE_SLCSR_MSC	__BIT(2 + 16)
-#define PCIE_SLCSR_PDC	__BIT(3 + 16)
-#define PCIE_SLCSR_CC	__BIT(4 + 16)
-#define PCIE_SLCSR_MS	__BIT(5 + 16)
-#define PCIE_SLCSR_PDS	__BIT(6 + 16)
-#define PCIE_SLCSR_EIS	__BIT(7 + 16)
-#define PCIE_SLCSR_LACS	__BIT(8 + 16)
-#define PCIE_RCR		0x1c	/* Root Control & Capabilities Reg. */
-#define PCIE_RCR_SERR_CER	__BIT(0)
-#define PCIE_RCR_SERR_NFER	__BIT(1)
-#define PCIE_RCR_SERR_FER	__BIT(2)
-#define PCIE_RCR_PME_IE	__BIT(3)
-#define PCIE_RSR		0x20	/* Root Status Register */
-#define PCIE_RSR_REQESTER	__BITS(15, 0)
-#define PCIE_RSR_PMESTAT	__BIT(16)
-#define PCIE_RSR_PMEPEND	__BIT(17)
-#define PCIE_DCAP2		0x24	/* Device Capabilities 2 Register */
-#define PCIE_DCSR2		0x28	/* Device Control & Status 2 Reg. */
-#define PCIE_LCAP2		0x2c	/* Link Capabilities 2 Register */
-#define PCIE_LCSR2		0x30	/* Link Control & Status 2 Register */
-#define PCIE_SLCAP2		0x34	/* Slot Capabilities 2 Register */
-#define PCIE_SLCSR2		0x38	/* Slot Control & Status 2 Register */
+#define	 PCIE_XCAP_TYPE_PCIE2PCI __SHIFTIN(0x7, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_PCI2PCIE __SHIFTIN(0x8, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_ROOT_INTEP __SHIFTIN(0x9, PCIE_XCAP_TYPE_MASK)
+#define	 PCIE_XCAP_TYPE_ROOT_EVNTC __SHIFTIN(0xa, PCIE_XCAP_TYPE_MASK)
+#define PCIE_XCAP_SI		__SHIFTIN(__BIT(8), PCIE_XCAP_MASK) /* Slot Implemented */
+#define PCIE_XCAP_IRQ		__SHIFTIN(__BITS(13, 9), PCIE_XCAP_MASK)
+#define PCIE_DCAP	0x04	/* Device Capabilities Register */
+#define PCIE_DCAP_MAX_PAYLOAD	__BITS(2, 0)   /* Max Payload Size Supported */
+#define PCIE_DCAP_PHANTOM_FUNCS	__BITS(4, 3)   /* Phantom Functions Supported*/
+#define PCIE_DCAP_EXT_TAG_FIELD	__BIT(5)       /* Extended Tag Field Support */
+#define PCIE_DCAP_L0S_LATENCY	__BITS(8, 6)   /* Endpoint L0 Accptbl Latency*/
+#define PCIE_DCAP_L1_LATENCY	__BITS(11, 9)  /* Endpoint L1 Accptbl Latency*/
+#define PCIE_DCAP_ATTN_BUTTON	__BIT(12)      /* Attention Indicator Button */
+#define PCIE_DCAP_ATTN_IND	__BIT(13)      /* Attention Indicator Present*/
+#define PCIE_DCAP_PWR_IND	__BIT(14)      /* Power Indicator Present */
+#define PCIE_DCAP_ROLE_ERR_RPT	__BIT(15)      /* Role-Based Error Reporting */
+#define PCIE_DCAP_SLOT_PWR_LIM_VAL __BITS(25, 18) /* Cap. Slot PWR Limit Val */
+#define PCIE_DCAP_SLOT_PWR_LIM_SCALE __BITS(27, 26) /* Cap. SlotPWRLimit Scl */
+#define PCIE_DCAP_FLR		__BIT(28)      /* Function-Level Reset Cap. */
+#define PCIE_DCSR	0x08	/* Device Control & Status Register */
+#define PCIE_DCSR_ENA_COR_ERR	__BIT(0)       /* Correctable Error Report En*/
+#define PCIE_DCSR_ENA_NFER	__BIT(1)       /* Non-Fatal Error Report En. */
+#define PCIE_DCSR_ENA_FER	__BIT(2)       /* Fatal Error Reporting Enabl*/
+#define PCIE_DCSR_ENA_URR	__BIT(3)       /* Unsupported Request Rpt En */
+#define PCIE_DCSR_ENA_RELAX_ORD	__BIT(4)       /* Enable Relaxed Ordering */
+#define PCIE_DCSR_MAX_PAYLOAD	__BITS(7, 5)   /* Max Payload Size */
+#define PCIE_DCSR_EXT_TAG_FIELD	__BIT(8)       /* Extended Tag Field Enable */
+#define PCIE_DCSR_PHANTOM_FUNCS	__BIT(9)       /* Phantom Functions Enable */
+#define PCIE_DCSR_AUX_POWER_PM	__BIT(10)      /* Aux Power PM Enable */
+#define PCIE_DCSR_ENA_NO_SNOOP	__BIT(11)      /* Enable No Snoop */
+#define PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12) /* Max Read Request Size */
+#define PCIE_DCSR_BRDG_CFG_RETRY __BIT(15)     /* Bridge Config Retry Enable */
+#define PCIE_DCSR_INITIATE_FLR	__BIT(15)      /* Initiate Function-Level Rst*/
+#define PCIE_DCSR_CED		__BIT(0 + 16)  /* Correctable Error Detected */
+#define PCIE_DCSR_NFED		__BIT(1 + 16)  /* Non-Fatal Error Detected */
+#define PCIE_DCSR_FED		__BIT(2 + 16)  /* Fatal Error Detected */
+#define PCIE_DCSR_URD		__BIT(3 + 16)  /* Unsupported Req. Detected */
+#define PCIE_DCSR_AUX_PWR	__BIT(4 + 16)  /* Aux Power Detected */
+#define PCIE_DCSR_TRANSACTION_PND __BIT(5 + 16) /* Transaction Pending */
+#define PCIE_LCAP	0x0c	/* Link Capabilities Register */
+#define PCIE_LCAP_MAX_SPEED	__BITS(3, 0)   /* Max Link Speed */
+#define PCIE_LCAP_MAX_WIDTH	__BITS(9, 4)   /* Maximum Link Width */
+#define PCIE_LCAP_ASPM		__BITS(11, 10) /* Active State Link PM Supp. */
+#define PCIE_LCAP_L0S_EXIT	__BITS(14, 12) /* L0s Exit Latency */
+#define PCIE_LCAP_L1_EXIT	__BITS(17, 15) /* L1 Exit Latency */
+#define PCIE_LCAP_CLOCK_PM	__BIT(18)      /* Clock Power Management */
+#define PCIE_LCAP_SURPRISE_DOWN	__BIT(19)      /* Surprise Down Err Rpt Cap. */
+#define PCIE_LCAP_DL_ACTIVE	__BIT(20)      /* Data Link Layer Link Active*/
+#define PCIE_LCAP_LINK_BW_NOTIFY __BIT(21)     /* Link BW Notification Capabl*/
+#define PCIE_LCAP_ASPM_COMPLIANCE __BIT(22)    /* ASPM Optionally Compliance */
+#define PCIE_LCAP_PORT		__BITS(31, 24) /* Port Number */
+#define PCIE_LCSR	0x10	/* Link Control & Status Register */
+#define PCIE_LCSR_ASPM_L0S	__BIT(0)       /* Active State PM Control L0s*/
+#define PCIE_LCSR_ASPM_L1	__BIT(1)       /* Active State PM Control L1 */
+#define PCIE_LCSR_RCB		__BIT(3)       /* Read Completion Boundry Ctl*/
+#define PCIE_LCSR_LINK_DIS	__BIT(4)       /* Link Disable */
+#define PCIE_LCSR_RETRAIN	__BIT(5)       /* Retrain Link */
+#define PCIE_LCSR_COMCLKCFG	__BIT(6)       /* Common Clock Configuration */
+#define PCIE_LCSR_EXTNDSYNC	__BIT(7)       /* Extended Synch */
+#define PCIE_LCSR_ENCLKPM	__BIT(8)       /* Enable Clock Power Managmt */
+#define PCIE_LCSR_HAWD		__BIT(9)       /* HW Autonomous Width Disable*/
+#define PCIE_LCSR_LBMIE		__BIT(10)      /* Link BW Management Intr En */
+#define PCIE_LCSR_LABIE		__BIT(11)      /* Link Autonomous BW Intr En */
+#define	PCIE_LCSR_LINKSPEED	__BITS(19, 16) /* Link Speed */
+#define	PCIE_LCSR_NLW		__BITS(25, 20) /* Negotiated Link Width */
+#define	PCIE_LCSR_LINKTRAIN_ERR	__BIT(10 + 16) /* Link Training Error */
+#define	PCIE_LCSR_LINKTRAIN	__BIT(11 + 16) /* Link Training */
+#define	PCIE_LCSR_SLOTCLKCFG 	__BIT(12 + 16) /* Slot Clock Configuration */
+#define	PCIE_LCSR_DLACTIVE	__BIT(13 + 16) /* Data Link Layer Link Active*/
+#define	PCIE_LCSR_LINK_BW_MGMT	__BIT(14 + 16) /* Link BW Management Status */
+#define	PCIE_LCSR_LINK_AUTO_BW	__BIT(15 + 16) /* Link Autonomous BW Status */
+#define PCIE_SLCAP	0x14	/* Slot Capabilities Register */
+#define PCIE_SLCAP_ABP		__BIT(0)       /* Attention Button Present */
+#define PCIE_SLCAP_PCP		__BIT(1)       /* Power Controller Present */
+#define PCIE_SLCAP_MSP		__BIT(2)       /* MRL Sensor Present */
+#define PCIE_SLCAP_AIP		__BIT(3)       /* Attention Indicator Present*/
+#define PCIE_SLCAP_PIP		__BIT(4)       /* Power Indicator Present */
+#define PCIE_SLCAP_HPS		__BIT(5)       /* Hot-Plug Surprise */
+#define PCIE_SLCAP_HPC		__BIT(6)       /* Hot-Plug Capable */
+#define	PCIE_SLCAP_SPLV		__BITS(14, 7)  /* Slot Power Limit Value */
+#define	PCIE_SLCAP_SPLS		__BITS(16, 15) /* Slot Power Limit Scale */
+#define	PCIE_SLCAP_EIP		__BIT(17)      /* Electromechanical Interlock*/
+#define	PCIE_SLCAP_NCCS		__BIT(18)      /* No Command Completed Supp. */
+#define	PCIE_SLCAP_PSN		__BITS(31, 19) /* Physical Slot Number */
+#define PCIE_SLCSR	0x18	/* Slot Control & Status Register */
+#define PCIE_SLCSR_ABE		__BIT(0)       /* Attention Button Pressed En*/
+#define PCIE_SLCSR_PFE		__BIT(1)       /* Power Button Pressed Enable*/
+#define PCIE_SLCSR_MSE		__BIT(2)       /* MRL Sensor Changed Enable */
+#define PCIE_SLCSR_PDE		__BIT(3)       /* Presence Detect Changed Ena*/
+#define PCIE_SLCSR_CCE		__BIT(4)       /* Command Completed Intr. En */
+#define PCIE_SLCSR_HPE		__BIT(5)       /* Hot Plug Interrupt Enable */
+#define PCIE_SLCSR_AIC		__BITS(7, 6)   /* Attention Indicator Control*/
+#define PCIE_SLCSR_PIC		__BITS(9, 8)   /* Power Indicator Control */
+#define PCIE_SLCSR_PCC		__BIT(10)      /* Power Controller Control */
+#define PCIE_SLCSR_EIC		__BIT(11)      /* Electromechanical Interlock*/
+#define PCIE_SLCSR_DLLSCE	__BIT(12)      /* DataLinkLayer State Changed*/
+#define PCIE_SLCSR_ABP		__BIT(0 + 16)  /* Attention Button Pressed */
+#define PCIE_SLCSR_PFD		__BIT(1 + 16)  /* Power Fault Detected */
+#define PCIE_SLCSR_MSC		__BIT(2 + 16)  /* MRL Sensor Changed */
+#define PCIE_SLCSR_PDC		__BIT(3 + 16)  /* Presence Detect Changed */
+#define PCIE_SLCSR_CC		__BIT(4 + 16)  /* Command Completed */
+#define PCIE_SLCSR_MS		__BIT(5 + 16)  /* MRL Sensor State */
+#define PCIE_SLCSR_PDS		__BIT(6 + 16)  /* Presence Detect State */
+#define PCIE_SLCSR_EIS		__BIT(7 + 16)  /* Electromechanical Interlock*/
+#define PCIE_SLCSR_LACS		__BIT(8 + 16)  /* Data Link Layer State Chg. */
+#define PCIE_RCR	0x1c	/* Root Control & Capabilities Reg. */
+#define PCIE_RCR_SERR_CER	__BIT(0)       /* SERR on Correctable Err. En*/
+#define PCIE_RCR_SERR_NFER	__BIT(1)       /* SERR on Non-Fatal Error En */
+#define PCIE_RCR_SERR_FER	__BIT(2)       /* SERR on Fatal Error Enable */
+#define PCIE_RCR_PME_IE		__BIT(3)       /* PME Interrupt Enable */
+#define PCIE_RSR	0x20	/* Root Status Register */
+#define PCIE_RSR_PME_REQESTER	__BITS(15, 0)  /* PME Requester ID */
+#define PCIE_RSR_PME_STAT	__BIT(16)      /* PME Status */
+#define PCIE_RSR_PME_PEND	__BIT(17)      /* PME Pending */
+#define PCIE_DCAP2	0x24	/* Device Capabilities 2 Register */
+#define PCIE_DCAP2_COMPT_RANGE	__BITS(3,0)    /* Compl. Timeout Ranges Supp */
+#define PCIE_DCAP2_COMPT_DIS	__BIT(4)       /* Compl. Timeout Disable Supp*/
+#define PCIE_DCAP2_ARI_FWD	__BIT(5)       /* ARI Forward Supported */
+#define PCIE_DCAP2_ATOM_ROUT	__BIT(6)       /* AtomicOp Routing Supported */
+#define PCIE_DCAP2_32ATOM	__BIT(7)       /* 32bit AtomicOp Compl. Supp */
+#define PCIE_DCAP2_64ATOM	__BIT(8)       /* 64bit AtomicOp Compl. Supp */
+#define PCIE_DCAP2_128CAS	__BIT(9)       /* 128bit Cas Completer Supp. */
+#define PCIE_DCAP2_NO_ROPR_PASS	__BIT(10)      /* No RO-enabled PR-PR Passng */
+#define PCIE_DCAP2_LTR_MEC	__BIT(11)      /* LTR Mechanism Supported */
+#define PCIE_DCAP2_TPH_COMP	__BITS(13, 12) /* TPH Completer Supported */
+#define PCIE_DCAP2_OBFF		__BITS(19, 18) /* OBPF */
+#define PCIE_DCAP2_EXTFMT_FLD	__BIT(20)      /* Extended Fmt Field Support */
+#define PCIE_DCAP2_EETLP_PREF	__BIT(21)      /* End-End TLP Prefix Support */
+#define PCIE_DCAP2_MAX_EETLP	__BITS(23, 22) /* Max End-End TLP Prefix Sup */
+#define PCIE_DCSR2	0x28	/* Device Control & Status 2 Register */
+#define PCIE_DCSR2_COMPT_VAL	__BITS(3, 0)   /* Completion Timeout Value */
+#define PCIE_DCSR2_COMPT_DIS	__BIT(4)       /* Completion Timeout Disable */
+#define PCIE_DCSR2_ARI_FWD	__BIT(5)       /* ARI Forwarding Enable */
+#define PCIE_DCSR2_ATOM_REQ	__BIT(6)       /* AtomicOp Requester Enable */
+#define PCIE_DCSR2_ATOM_EBLK	__BIT(7)       /* AtomicOp Egress Blocking */
+#define PCIE_DCSR2_IDO_REQ	__BIT(8)       /* IDO Request Enable */
+#define PCIE_DCSR2_IDO_COMP	__BIT(9)       /* IDO Completion Enable */
+#define PCIE_DCSR2_LTR_MEC	__BIT(10)      /* LTR Mechanism Enable */
+#define PCIE_DCSR2_OBFF_EN	__BITS(14, 13) /* OBPF Enable */
+#define PCIE_DCSR2_EETLP	__BIT(15)      /* End-End TLP Prefix Blcking */
+#define PCIE_LCAP2	0x2c	/* Link Capabilities 2 Register */
+#define PCIE_LCAP2_SUP_LNKSV	__BITS(7, 1)   /* Supported Link Speeds Vect */
+#define PCIE_LCAP2_CROSSLNK	__BIT(8)       /* Crosslink Supported */
+#define PCIE_LCSR2	0x30	/* Link Control & Status 2 Register */
+#define PCIE_LCSR2_TGT_LSPEED	__BITS(3, 0)   /* Target Link Speed */
+#define PCIE_LCSR2_ENT_COMPL	__BIT(4)       /* Enter Compliance */
+#define PCIE_LCSR2_HW_AS_DIS	__BIT(5)       /* HW Autonomous Speed Disabl */
+#define PCIE_LCSR2_SEL_DEEMP	__BIT(6)       /* Selectable De-emphasis */
+#define PCIE_LCSR2_TX_MARGIN	__BITS(9, 7)   /* Transmit Margin */
+#define PCIE_LCSR2_EN_MCOMP	__BIT(10)      /* Enter Modified Compliance */
+#define PCIE_LCSR2_COMP_SOS	__BIT(11)      /* Compliance SOS */
+#define PCIE_LCSR2_COMP_DEEMP	__BITS(15, 12) /* Compliance Present/De-emph */
+#define PCIE_LCSR2_DEEMP_LVL	__BIT(0 + 16)  /* Current De-emphasis Level */
+#define PCIE_LCSR2_EQ_COMPL	__BIT(1 + 16)  /* Equalization Complete */
+#define PCIE_LCSR2_EQP1_SUC	__BIT(2 + 16)  /* Equaliz Phase 1 Successful */
+#define PCIE_LCSR2_EQP2_SUC	__BIT(3 + 16)  /* Equaliz Phase 2 Successful */
+#define PCIE_LCSR2_EQP3_SUC	__BIT(4 + 16)  /* Equaliz Phase 3 Successful */
+#define PCIE_LCSR2_LNKEQ_REQ	__BIT(5 + 16)  /* Link Equalization Request */
+
+#define PCIE_SLCAP2	0x34	/* Slot Capabilities 2 Register */
+#define PCIE_SLCSR2	0x38	/* Slot Control & Status 2 Register */
 
 /*
  * Interrupt Configuration Register; contains interrupt pin and line.

Reply via email to