|
@@ -121,3 +121,90 @@ typedef struct {
|
|
|
io7_csr POx_TLB_ERR;
|
|
|
io7_csr POx_SPL_COMPLT;
|
|
|
io7_csr POx_TRANS_SUM;
|
|
|
+ io7_csr POx_FRC_PCI_ERR;
|
|
|
+ io7_csr POx_MULT_ERR;
|
|
|
+ io7_csr rsvd7[8];
|
|
|
+
|
|
|
+ /* I/O Port End of Interrupt Registers */
|
|
|
+ io7_csr EOI_DAT;
|
|
|
+ io7_csr rsvd8[7];
|
|
|
+ io7_csr POx_IACK_SPECIAL;
|
|
|
+ io7_csr rsvd9[103];
|
|
|
+} io7_ioport_csrs;
|
|
|
+
|
|
|
+typedef struct {
|
|
|
+ io7_csr IO_ASIC_REV; /* 0x30.0000 */
|
|
|
+ io7_csr IO_SYS_REV;
|
|
|
+ io7_csr SER_CHAIN3;
|
|
|
+ io7_csr PO7_RST1;
|
|
|
+ io7_csr PO7_RST2; /* 0x30.0100 */
|
|
|
+ io7_csr POx_RST[4];
|
|
|
+ io7_csr IO7_DWNH;
|
|
|
+ io7_csr IO7_MAF;
|
|
|
+ io7_csr IO7_MAF_TO;
|
|
|
+ io7_csr IO7_ACC_CLUMP; /* 0x30.0300 */
|
|
|
+ io7_csr IO7_PMASK;
|
|
|
+ io7_csr IO7_IOMASK;
|
|
|
+ io7_csr IO7_UPH;
|
|
|
+ io7_csr IO7_UPH_TO; /* 0x30.0400 */
|
|
|
+ io7_csr RBX_IREQ_OFF;
|
|
|
+ io7_csr RBX_INTA_OFF;
|
|
|
+ io7_csr INT_RTY;
|
|
|
+ io7_csr PO7_MONCTL; /* 0x30.0500 */
|
|
|
+ io7_csr PO7_CTRA;
|
|
|
+ io7_csr PO7_CTRB;
|
|
|
+ io7_csr PO7_CTR56;
|
|
|
+ io7_csr PO7_SCRATCH; /* 0x30.0600 */
|
|
|
+ io7_csr PO7_XTRA_A;
|
|
|
+ io7_csr PO7_XTRA_TS;
|
|
|
+ io7_csr PO7_XTRA_Z;
|
|
|
+ io7_csr PO7_PMASK; /* 0x30.0700 */
|
|
|
+ io7_csr PO7_THRESHA;
|
|
|
+ io7_csr PO7_THRESHB;
|
|
|
+ io7_csr rsvd1[97];
|
|
|
+ io7_csr PO7_ERROR_SUM; /* 0x30.2000 */
|
|
|
+ io7_csr PO7_BHOLE_MASK;
|
|
|
+ io7_csr PO7_HEI_MSK;
|
|
|
+ io7_csr PO7_CRD_MSK;
|
|
|
+ io7_csr PO7_UNCRR_SYM; /* 0x30.2100 */
|
|
|
+ io7_csr PO7_CRRCT_SYM;
|
|
|
+ io7_csr PO7_ERR_PKT[2];
|
|
|
+ io7_csr PO7_UGBGE_SYM; /* 0x30.2200 */
|
|
|
+ io7_csr rsbv2[887];
|
|
|
+ io7_csr PO7_LSI_CTL[128]; /* 0x31.0000 */
|
|
|
+ io7_csr rsvd3[123];
|
|
|
+ io7_csr HLT_CTL; /* 0x31.3ec0 */
|
|
|
+ io7_csr HPI_CTL; /* 0x31.3f00 */
|
|
|
+ io7_csr CRD_CTL;
|
|
|
+ io7_csr STV_CTL;
|
|
|
+ io7_csr HEI_CTL;
|
|
|
+ io7_csr PO7_MSI_CTL[16]; /* 0x31.4000 */
|
|
|
+ io7_csr rsvd4[240];
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Interrupt Diagnostic / Test
|
|
|
+ */
|
|
|
+ struct {
|
|
|
+ io7_csr INT_PND;
|
|
|
+ io7_csr INT_CLR;
|
|
|
+ io7_csr INT_EOI;
|
|
|
+ io7_csr rsvd[29];
|
|
|
+ } INT_DIAG[4];
|
|
|
+ io7_csr rsvd5[125]; /* 0x31.a000 */
|
|
|
+ io7_csr MISC_PND; /* 0x31.b800 */
|
|
|
+ io7_csr rsvd6[31];
|
|
|
+ io7_csr MSI_PND[16]; /* 0x31.c000 */
|
|
|
+ io7_csr rsvd7[16];
|
|
|
+ io7_csr MSI_CLR[16]; /* 0x31.c800 */
|
|
|
+} io7_port7_csrs;
|
|
|
+
|
|
|
+/*
|
|
|
+ * IO7 DMA Window Base register (POx_WBASEx)
|
|
|
+ */
|
|
|
+#define wbase_m_ena 0x1
|
|
|
+#define wbase_m_sg 0x2
|
|
|
+#define wbase_m_dac 0x4
|
|
|
+#define wbase_m_addr 0xFFF00000
|
|
|
+union IO7_POx_WBASE {
|
|
|
+ struct {
|
|
|
+ unsigned ena : 1; /* <0> */
|