Module Name:    src
Committed By:   msaitoh
Date:           Mon Apr 15 18:48:37 UTC 2013

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

Log Message:
Add some PCIE capability register bit definitions from FreeBSD.


To generate a diff of this commit:
cvs rdiff -u -r1.77 -r1.78 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/pcireg.h
diff -u src/sys/dev/pci/pcireg.h:1.77 src/sys/dev/pci/pcireg.h:1.78
--- src/sys/dev/pci/pcireg.h:1.77	Fri Apr 12 03:32:28 2013
+++ src/sys/dev/pci/pcireg.h	Mon Apr 15 18:48:36 2013
@@ -1,4 +1,4 @@
-/*	$NetBSD: pcireg.h,v 1.77 2013/04/12 03:32:28 msaitoh Exp $	*/
+/*	$NetBSD: pcireg.h,v 1.78 2013/04/15 18:48:36 msaitoh Exp $	*/
 
 /*
  * Copyright (c) 1995, 1996, 1999, 2000
@@ -644,17 +644,51 @@ struct pci_msix_table_entry {
 #define	 PCI_PCIE_XCAP_TYPE_DOWN	__SHIFTIN(0x6, PCI_PCIE_XCAP_TYPE_MASK)
 #define	 PCI_PCIE_XCAP_TYPE_PCIE2PCI	__SHIFTIN(0x7, PCI_PCIE_XCAP_TYPE_MASK)
 #define	 PCI_PCIE_XCAP_TYPE_PCI2PCIE	__SHIFTIN(0x8, PCI_PCIE_XCAP_TYPE_MASK)
+#define	 PCI_PCIE_XCAP_TYPE_ROOT_INTEP	__SHIFTIN(0x9, PCI_PCIE_XCAP_TYPE_MASK)
+#define	 PCI_PCIE_XCAP_TYPE_ROOT_EVNTC	__SHIFTIN(0xa, PCI_PCIE_XCAP_TYPE_MASK)
 #define PCI_PCIE_XCAP_SI	__SHIFTIN(__BIT(8), PCI_PCIE_XCAP_MASK)		/* Slot Implemented */
 #define PCI_PCIE_DCAP		0x04	/* Device Capabilities Register */
+#define PCI_PCIE_DCAP_MAX_PAYLOAD	__BITS(2, 0)
+#define PCI_PCIE_DCAP_PHANTHOM_FUNCS	__BITS(4, 3)
+#define PCI_PCIE_DCAP_EXT_TAG_FIELD	__BIT(5)
+#define PCI_PCIE_DCAP_L0S_LATENCY	__BITS(8, 6)
+#define PCI_PCIE_DCAP_L1_LATENCY	__BITS(11, 9)
+#define PCI_PCIE_DCAP_ROLE_ERR_RPT	__BIT(15)
+#define PCI_PCIE_DCAP_SLOT_PWR_LIM_VAL	__BITS(25, 18)
+#define PCI_PCIE_DCAP_SLOT_PWR_LIM_SCALE __BITS(27, 26)
+#define PCI_PCIE_DCAP_FLR		__BIT(28)
 #define PCI_PCIE_DCSR		0x08	/* Device Control & Status Register */
-#define PCI_PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12)
+#define PCI_PCIE_DCSR_ENA_COR_ERR	__BIT(0)
+#define PCI_PCIE_DCSR_ENA_NFER		__BIT(1)
+#define PCI_PCIE_DCSR_ENA_FER		__BIT(2)
+#define PCI_PCIE_DCSR_ENA_URR		__BIT(3)
 #define PCI_PCIE_DCSR_ENA_RELAX_ORD	__BIT(4)
+#define PCI_PCIE_DCSR_MAX_PAYLOAD	__BITS(7, 5)
+#define PCI_PCIE_DCSR_EXT_TAG_FIELD	__BIT(8)
+#define PCI_PCIE_DCSR_PHANTOM_FUNCS	__BIT(9)
+#define PCI_PCIE_DCSR_AUX_POWER_PM	__BIT(10)
 #define PCI_PCIE_DCSR_ENA_NO_SNOOP	__BIT(11)
-#define PCI_PCIE_DCSR_CED	__BIT(0 + 16)
-#define PCI_PCIE_DCSR_NFED	__BIT(1 + 16)
-#define PCI_PCIE_DCSR_FED	__BIT(2 + 16)
-#define PCI_PCIE_DCSR_URD	__BIT(3 + 16)
+#define PCI_PCIE_DCSR_MAX_READ_REQ	__BITS(14, 12)
+#define PCI_PCIE_DCSR_BRDG_CFG_RETRY	__BIT(15)
+#define PCI_PCIE_DCSR_INITIATE_FLR	__BIT(15)
+#define PCI_PCIE_DCSR_CED		__BIT(0 + 16)
+#define PCI_PCIE_DCSR_NFED		__BIT(1 + 16)
+#define PCI_PCIE_DCSR_FED		__BIT(2 + 16)
+#define PCI_PCIE_DCSR_URD		__BIT(3 + 16)
+#define PCI_PCIE_DCSR_AUX_PWR		__BIT(4 + 16)
+#define PCI_PCIE_DCSR_TRANSACTION_PND	__BIT(5 + 16)
 #define PCI_PCIE_LCAP		0x0c	/* Link Capabilities Register */
+#define PCI_PCIE_LCAP_MAX_SPEED		__BITS(3, 0)
+#define PCI_PCIE_LCAP_MAX_WIDTH		__BITS(9, 4)
+#define PCI_PCIE_LCAP_ASPM		__BITS(11, 10)
+#define PCI_PCIE_LCAP_L0S_EXIT		__BITS(14, 12)
+#define PCI_PCIE_LCAP_L1_EXIT		__BITS(17, 15)
+#define PCI_PCIE_LCAP_CLOCK_PM		__BIT(18)
+#define PCI_PCIE_LCAP_SURPRISE_DOWN	__BIT(19)
+#define PCI_PCIE_LCAP_DL_ACTIVE		__BIT(20)
+#define PCI_PCIE_LCAP_LINK_BW_NOTIFY	__BIT(21)
+#define PCI_PCIE_LCAP_ASPM_COMPLIANCE	__BIT(22)
+#define PCI_PCIE_LCAP_PORT		__BITS(31, 24)
 #define PCI_PCIE_LCSR		0x10	/* Link Control & Status Register */
 #define PCI_PCIE_LCSR_ASPM_L0S	__BIT(0)
 #define PCI_PCIE_LCSR_ASPM_L1	__BIT(1)
@@ -664,11 +698,17 @@ struct pci_msix_table_entry {
 #define PCI_PCIE_LCSR_COMCLKCFG	__BIT(6)
 #define PCI_PCIE_LCSR_EXTNDSYNC	__BIT(7)
 #define PCI_PCIE_LCSR_ENCLKPM	__BIT(8)
+#define PCI_PCIE_LCSR_HAWD	__BIT(9)
+#define PCI_PCIE_LCSR_LBMIE	__BIT(10)
+#define PCI_PCIE_LCSR_LABIE	__BIT(11)
 #define	PCI_PCIE_LCSR_LINKSPEED	__BITS(19,16)
 #define	PCI_PCIE_LCSR_NLW	__BITS(25,20)
+#define	PCI_PCIE_LCSR_LINKTRAIN_ERR	__BIT(26)
 #define	PCI_PCIE_LCSR_LINKTRAIN	__BIT(27)
 #define	PCI_PCIE_LCSR_SLOTCLKCFG __BIT(28)
 #define	PCI_PCIE_LCSR_DLACTIVE	__BIT(29)
+#define	PCI_PCIE_LCSR_LINK_BW_MGMT	__BIT(30)
+#define	PCI_PCIE_LCSR_LINK_AUTO_BW	__BIT(31)
 #define PCI_PCIE_SLCAP		0x14	/* Slot Capabilities Register */
 #define PCI_PCIE_SLCAP_ABP	__BIT(0)	/* Attention Button Present */
 #define PCI_PCIE_SLCAP_PCP	__BIT(1)	/* Power Controller Present */
@@ -679,6 +719,11 @@ struct pci_msix_table_entry {
 #define PCI_PCIE_SLCAP_PIP	__BIT(4)	/* Power Indicator Present */
 #define PCI_PCIE_SLCAP_HPS	__BIT(5)	/* Hot-Plug Surprise */
 #define PCI_PCIE_SLCAP_HPC	__BIT(6)	/* Hot-Plug Capable */
+#define	PCI_PCIE_SLCAP_SPLV	__BITS(14, 7)
+#define	PCI_PCIE_SLCAP_SPLS	__BITS(16, 15)
+#define	PCI_PCIE_SLCAP_EIP	__BIT(17)
+#define	PCI_PCIE_SLCAP_NCCS	__BIT(18)
+#define	PCI_PCIE_SLCAP_PSN	__BIT(31, 19)
 #define PCI_PCIE_SLCSR		0x18	/* Slot Control & Status Register */
 #define PCI_PCIE_SLCSR_ABE	__BIT(0)
 #define PCI_PCIE_SLCSR_PFE	__BIT(1)
@@ -686,6 +731,12 @@ struct pci_msix_table_entry {
 #define PCI_PCIE_SLCSR_PDE	__BIT(3)
 #define PCI_PCIE_SLCSR_CCE	__BIT(4)
 #define PCI_PCIE_SLCSR_HPE	__BIT(5)
+#define PCI_PCIE_SLCSR_AIC	__BITS(7, 6)
+#define PCI_PCIE_SLCSR_PIC	__BITS(9, 8)
+#define PCI_PCIE_SLCSR_PCC	__BIT(10)
+#define PCI_PCIE_SLCSR_EIC	__BIT(11)
+#define PCI_PCIE_SLCSR_DLLSCE	__BIT(12)
+
 #define PCI_PCIE_SLCSR_ABP	__BIT(0 + 16)
 #define PCI_PCIE_SLCSR_PFD	__BIT(1 + 16)
 #define PCI_PCIE_SLCSR_MSC	__BIT(2 + 16)
@@ -693,6 +744,7 @@ struct pci_msix_table_entry {
 #define PCI_PCIE_SLCSR_CC	__BIT(4 + 16)
 #define PCI_PCIE_SLCSR_MS	__BIT(5 + 16)
 #define PCI_PCIE_SLCSR_PDS	__BIT(6 + 16)
+#define PCI_PCIE_SLCSR_EIS	__BIT(7 + 16)
 #define PCI_PCIE_SLCSR_LACS	__BIT(8 + 16)
 #define PCI_PCIE_RCR		0x1c	/* Root Control & Capabilities Reg. */
 #define PCI_PCIE_RSR		0x20	/* Root Status Register */

Reply via email to