Module Name:    src
Committed By:   cliff
Date:           Mon Nov  9 10:07:44 UTC 2009

Modified Files:
        src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixlreg.h

Log Message:
- RMIXL_IOREG_READ, RMIXL_IOREG_WRITE provide general use ops for
  accessing on-chip DEV_IO regs w/ Big Endian byte order.
- add System Bridge Controller registers defines
- add Address Error registers defines
- add DRAM register defines
- add GPIO signal and system control register offsets
- add PCIE Interface controller register offsets
- fix typo for RMIXL_PIC_INTRACK
- add RMIXL_PIC_IRTENTRYC0_RESV


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.3 -r1.1.2.4 src/sys/arch/mips/rmi/rmixlreg.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/arch/mips/rmi/rmixlreg.h
diff -u src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.3 src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.4
--- src/sys/arch/mips/rmi/rmixlreg.h:1.1.2.3	Fri Sep 25 22:20:43 2009
+++ src/sys/arch/mips/rmi/rmixlreg.h	Mon Nov  9 10:07:44 2009
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixlreg.h,v 1.1.2.3 2009/09/25 22:20:43 cliff Exp $	*/
+/*	$NetBSD: rmixlreg.h,v 1.1.2.4 2009/11/09 10:07:44 cliff Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -33,6 +33,19 @@
 #ifndef _MIPS_RMI_RMIXLREGS_H_
 #define _MIPS_RMI_RMIXLREGS_H_
 
+#include <sys/endian.h>
+
+/*
+ * on chip I/O register byte order is
+ * BIG ENDIAN regardless of code model
+ */
+#define RMIXL_IOREG_VADDR(o)				\
+	(volatile uint32_t *)MIPS_PHYS_TO_KSEG1(	\
+		rmixl_configuration.rc_io_pbase	+ (o))
+#define RMIXL_IOREG_READ(o)     be32toh(*RMIXL_IOREG_VADDR(o))
+#define RMIXL_IOREG_WRITE(o,v)  *RMIXL_IOREG_VADDR(o) = htobe32(v)
+
+
 /*
  * RMIXL Coprocessor 2 registers:
  */
@@ -105,6 +118,8 @@
 							/* default virtual base address */
 #define RMIXL_IO_DEV_SIZE	0x100000		/* I/O Conf. space is 1MB region */
 
+
+
 /*
  * Peripheral and I/O Configuration Region of Memory
  *
@@ -115,7 +130,7 @@
  *
  * Device region offsets are relative to RMIXL_IO_DEV_PBASE.
  */
-#define RMIXL_IO_DEV_BRIDGE	0x00000	/* System Bridge Controller */
+#define RMIXL_IO_DEV_BRIDGE	0x00000	/* System Bridge Controller (SBC) */
 #define RMIXL_IO_DEV_DDR_CHNA	0x01000	/* DDR1/DDR2 DRAM_A Channel, Port MA */
 #define RMIXL_IO_DEV_DDR_CHNB	0x02000	/* DDR1/DDR2 DRAM_B Channel, Port MB */
 #define RMIXL_IO_DEV_DDR_CHNC	0x03000	/* DDR1/DDR2 DRAM_C Channel, Port MC */
@@ -170,15 +185,157 @@
 
 
 /*
- * Programmable Interrupt Controller registers
- * the Programming Reference Manual table 10.4
+ * the Programming Reference Manual
  * lists "Reg ID" values not offsets;
- * assume offset = id * 4
+ * offset = id * 4
  */
 #define _RMIXL_OFFSET(id)	((id) * 4)
+
+
+/*
+ * System Bridge Controller registers
+ * offsets are relative to RMIXL_IO_DEV_BRIDGE
+ */
+#define RMIXL_SBC_DRAM_NBARS		8
+#define RMIXL_SBC_DRAM_BAR(n)		_RMIXL_OFFSET(0x000 + (n))
+					/* DRAM Region Base Address Regs[0-7] */
+#define RMIXL_SBC_DRAM_CHNAC_DTR(n)	_RMIXL_OFFSET(0x008 + (n))
+					/* DRAM Region Channels A,C Address Translation Regs[0-7] */
+#define RMIXL_SBC_DRAM_CHNBD_DTR(n)	_RMIXL_OFFSET(0x010 + (n))
+					/* DRAM Region Channels B,D Address Translation Regs[0-7] */
+#define RMIXL_SBC_DRAM_BRIDGE_CFG	_RMIXL_OFFSET(0x18)	/* SBC DRAM config reg */
+#define RMIXL_SBC_XLS_IO_BAR		_RMIXL_OFFSET(0x19)	/* I/O Config Base Addr reg */
+#define RMIXL_SBC_XLS_FLASH_BAR		_RMIXL_OFFSET(0x20)	/* Flash Memory Base Addr reg */
+#define RMIXL_SBC_PCIE_CFG_BAR		_RMIXL_OFFSET(0x40)	/* PCI Configuration BAR */
+#define RMIXL_SBC_PCIE_ECFG_BAR		_RMIXL_OFFSET(0x41)	/* PCI Extended Configuration BAR */
+#define RMIXL_SBC_PCIE_MEM_BAR		_RMIXL_OFFSET(0x42)	/* PCI Memory region BAR */
+#define RMIXL_SBC_PCIE_IO_BAR		_RMIXL_OFFSET(0x43)	/* PCI IO region BAR */
+
+/*
+ * Address Error registers
+ * offsets are relative to RMIXL_IO_DEV_BRIDGE
+ */
+#define RMIXL_ADDR_ERR_DEVICE_MASK	_RMIXL_OFFSET(0x25)	/* Address Error Device Mask */
+#define RMIXL_ADDR_ERR_AERR0_LOG1	_RMIXL_OFFSET(0x26)	/* Address Error Set 0 Log 1 */
+#define RMIXL_ADDR_ERR_AERR0_LOG2	_RMIXL_OFFSET(0x27)	/* Address Error Set 0 Log 2 */
+#define RMIXL_ADDR_ERR_AERR0_LOG3	_RMIXL_OFFSET(0x28)	/* Address Error Set 0 Log 3 */
+#define RMIXL_ADDR_ERR_AERR0_DEVSTAT	_RMIXL_OFFSET(0x29)	/* Address Error Set 0 irpt status */
+#define RMIXL_ADDR_ERR_AERR1_LOG1	_RMIXL_OFFSET(0x2a)	/* Address Error Set 1 Log 1 */
+#define RMIXL_ADDR_ERR_AERR1_LOG2	_RMIXL_OFFSET(0x2b)	/* Address Error Set 1 Log 2 */
+#define RMIXL_ADDR_ERR_AERR1_LOG3	_RMIXL_OFFSET(0x2c)	/* Address Error Set 1 Log 3 */
+#define RMIXL_ADDR_ERR_AERR1_DEVSTAT	_RMIXL_OFFSET(0x2d)	/* Address Error Set 1 irpt status */
+#define RMIXL_ADDR_ERR_AERR0_EN		_RMIXL_OFFSET(0x2e)	/* Address Error Set 0 irpt enable */
+#define RMIXL_ADDR_ERR_AERR0_UPG	_RMIXL_OFFSET(0x2f)	/* Address Error Set 0 Upgrade */
+#define RMIXL_ADDR_ERR_AERR0_CLEAR	_RMIXL_OFFSET(0x30)	/* Address Error Set 0 irpt clear */
+#define RMIXL_ADDR_ERR_AERR1_CLEAR	_RMIXL_OFFSET(0x31)	/* Address Error Set 1 irpt clear */
+#define RMIXL_ADDR_ERR_SBE_COUNTS	_RMIXL_OFFSET(0x32)	/* Single Bit Error Counts */
+#define RMIXL_ADDR_ERR_DBE_COUNTS	_RMIXL_OFFSET(0x33)	/* Double Bit Error Counts */
+#define RMIXL_ADDR_ERR_BITERR_INT_EN	_RMIXL_OFFSET(0x33)	/* Bit Error intr enable */
+
+/*
+ * RMIXL_SBC_DRAM_BAR bit defines
+ */
+#define RMIXL_DRAM_BAR_BASE_ADDR	__BITS(31,16)	/* bits 39:24 of Base Address */
+#define DRAM_BAR_TO_BASE(r)	\
+		(((r) & RMIXL_DRAM_BAR_BASE_ADDR) << (24 - 16))
+#define RMIXL_DRAM_BAR_ADDR_MASK	__BITS(15,4)	/* bits 35:24 of Address Mask */
+#define DRAM_BAR_TO_SIZE(r)	\
+		((((r) & RMIXL_DRAM_BAR_ADDR_MASK) + __BIT(4)) << (24 - 4))
+#define RMIXL_DRAM_BAR_INTERLEAVE	__BITS(3,1)	/* Interleave Mode */
+#define RMIXL_DRAM_BAR_STATUS		__BIT(0)	/* 1='region enabled' */
+
+/*
+ * RMIXL_SBC_DRAM_CHNAC_DTR and
+ * RMIXL_SBC_DRAM_CHNBD_DTR bit defines
+ *	insert 'divisions' (0, 1 or 2) bits
+ *	of value 'partition' 
+ *	at 'position' bit location.
+ */
+#define RMIXL_DRAM_DTR_RESa		__BITS(31,14)
+#define RMIXL_DRAM_DTR_PARTITION	__BITS(13,12)
+#define RMIXL_DRAM_DTR_RESb		__BITS(11,10)
+#define RMIXL_DRAM_DTR_DIVISIONS	__BITS(9,8)
+#define RMIXL_DRAM_DTR_RESc		__BITS(7,6)
+#define RMIXL_DRAM_DTR_POSITION		__BITS(5,0)
+#define RMIXL_DRAM_DTR_RESV	\
+		(RMIXL_DRAM_DTR_RESa|RMIXL_DRAM_DTR_RESb|RMIXL_DRAM_DTR_RESc)
+
+/*
+ * RMIXL_SBC_DRAM_BRIDGE_CFG bit defines
+ */
+#define RMIXL_DRAM_CFG_RESa		__BITS(31,13)
+#define RMIXL_DRAM_CFG_CHANNEL_MODE	__BIT(12)
+#define RMIXL_DRAM_CFG_RESb		__BIT(11)
+#define RMIXL_DRAM_CFG_INTERLEAVE_MODE	__BITS(10,8)
+#define RMIXL_DRAM_CFG_RESc		__BITS(7,5)
+#define RMIXL_DRAM_CFG_BUS_MODE		__BIT(4)
+#define RMIXL_DRAM_CFG_RESd		__BITS(3,2)
+#define RMIXL_DRAM_CFG_DRAM_MODE	__BITS(1,0)	/* 1=DDR2 */
+
+/*
+ * RMIXL_SBC_PCIE_CFG_BAR bit defines
+ */
+#define RMIXL_PCIE_CFG_BAR_BASE		__BITS(31,17)	/* phys address bits 39:25 */
+#define RMIXL_PCIE_CFG_BAR_BA_SHIFT	(25 - 17)
+#define RMIXL_PCIE_CFG_BAR_TO_BA(r)	\
+		(((r) & RMIXL_PCIE_CFG_BAR_BASE) << RMIXL_PCIE_CFG_BAR_BA_SHIFT)
+#define RMIXL_PCIE_CFG_BAR_RESV		__BITS(16,1)	/* (reserved) */
+#define RMIXL_PCIE_CFG_BAR_ENB		__BIT(0)	/* 1=Enable */
+#define RMIXL_PCIE_CFG_SIZE		__BIT(25)
+#define RMIXL_PCIE_CFG_BAR(ba, en)	\
+		((uint32_t)(((ba) >> (25 - 17)) | ((en) ? RMIXL_PCIE_CFG_BAR_ENB : 0)))
+
+/*
+ * RMIXL_SBC_PCIE_ECFG_BAR bit defines
+ * (PCIe extended config space)
+ */
+#define RMIXL_PCIE_ECFG_BAR_BASE	__BITS(31,21)	/* phys address bits 39:29 */
+#define RMIXL_PCIE_ECFG_BAR_BA_SHIFT	(29 - 21)
+#define RMIXL_PCIE_ECFG_BAR_TO_BA(r)	\
+		(((r) & RMIXL_PCIE_ECFG_BAR_BASE) << RMIXL_PCIE_ECFG_BAR_BA_SHIFT)
+#define RMIXL_PCIE_ECFG_BAR_RESV	__BITS(20,1)	/* (reserved) */
+#define RMIXL_PCIE_ECFG_BAR_ENB		__BIT(0)	/* 1=Enable */
+#define RMIXL_PCIE_ECFG_SIZE		__BIT(29)
+#define RMIXL_PCIE_ECFG_BAR(ba, en)	\
+		((uint32_t)(((ba) >> (29 - 21)) | ((en) ? RMIXL_PCIE_ECFG_BAR_ENB : 0)))
+
+/*
+ * RMIXL_SBC_PCIE_MEM_BAR bit defines
+ */
+#define RMIXL_PCIE_MEM_BAR_BASE		__BITS(31,16)	/* phys address bits 39:24 */
+#define RMIXL_PCIE_MEM_BAR_TO_BA(r)	\
+		(((r) & RMIXL_PCIE_MEM_BAR_BASE) << (24 - 16))
+#define RMIXL_PCIE_MEM_BAR_MASK		__BITS(15,1)	/* phys address mask bits 38:24 */
+#define RMIXL_PCIE_MEM_BAR_TO_SIZE(r)	\
+		((((r) & RMIXL_PCIE_MEM_BAR_MASK) + 2) << (24 - 1))
+#define RMIXL_PCIE_MEM_BAR_ENB		__BIT(0)	/* 1=Enable */
+#define RMIXL_PCIE_MEM_BAR(ba, en)	\
+		((uint32_t)(((ba) >> (24 - 16)) | ((en) ? RMIXL_PCIE_MEM_BAR_ENB : 0)))
+
+/*
+ * RMIXL_SBC_PCIE_IO_BAR bit defines
+ */
+#define RMIXL_PCIE_IO_BAR_BASE		__BITS(31,18)	/* phys address bits 39:26 */
+#define RMIXL_PCIE_IO_BAR_TO_BA(r)	\
+		(((r) & RMIXL_PCIE_IO_BAR_BASE) << (26 - 18))
+#define RMIXL_PCIE_IO_BAR_RESV		__BITS(17,7)	/* (reserve) */
+#define RMIXL_PCIE_IO_BAR_MASK		__BITS(6,1)	/* phys address mask bits 31:26 */
+#define RMIXL_PCIE_IO_BAR_TO_SIZE(r)	\
+		((((r) & RMIXL_PCIE_IO_BAR_MASK) + 2) << (26 - 1))
+#define RMIXL_PCIE_IO_BAR_ENB		__BIT(0)	/* 1=Enable */
+#define RMIXL_PCIE_IO_BAR(ba, en)	\
+		((uint32_t)(((ba) >> (26 - 18)) | ((en) ? RMIXL_PCIE_IO_BAR_ENB : 0)))
+
+
+/*
+ * Programmable Interrupt Controller registers
+ * the Programming Reference Manual table 10.4
+ * lists "Reg ID" values not offsets
+ * Offsets are relative to RMIXL_IO_DEV_BRIDGE
+ */
 #define	RMIXL_PIC_CONTROL		_RMIXL_OFFSET(0x0)
 #define	RMIXL_PIC_IPIBASE		_RMIXL_OFFSET(0x4)
-#define	RMIXL_PIC_RMIXL_OFFSET		_RMIXL_OFFSET(0x6)
+#define	RMIXL_PIC_INTRACK		_RMIXL_OFFSET(0x6)
 #define	RMIXL_PIC_WATCHdOGMAXVALUE0	_RMIXL_OFFSET(0x8)
 #define	RMIXL_PIC_WATCHDOGMAXVALUE1	_RMIXL_OFFSET(0x9)
 #define	RMIXL_PIC_WATCHDOGMASK0		_RMIXL_OFFSET(0xa)
@@ -226,7 +383,10 @@
  * IRT Entry low word
  */
 #define RMIXL_PIC_IRTENTRYC0_TMASK	__BITS(7,0)	/* Thread Mask */
-#define RMIXL_PIC_IRTENTRYC0_RESV	__BITS(31,8)
+#define RMIXL_PIC_IRTENTRYC0_RESa	__BITS(3,2)	/* write as 0 */
+#define RMIXL_PIC_IRTENTRYC0_RESb	__BITS(31,8)	/* write as 0 */
+#define RMIXL_PIC_IRTENTRYC0_RESV	\
+		(RMIXL_PIC_IRTENTRYC0_RESa | RMIXL_PIC_IRTENTRYC0_RESb)
 
 /*
  * RMIXL_PIC_IRTENTRYC1 bits
@@ -241,6 +401,120 @@
 #define RMIXL_PIC_IRTENTRYC1_VALID	__BIT(31)	/* 0=Invalid; 1=Valid IRT Entry */
 
 
+/*
+ * GPIO Controller registers
+ */
+
+/* GPIO Signal Registers */
+#define RMIXL_GPIO_INT_ENB		_RMIXL_OFFSET(0x0)	/* Interrupt Enable register */
+#define RMIXL_GPIO_INT_INV		_RMIXL_OFFSET(0x1)	/* Interrupt Inversion register */
+#define RMIXL_GPIO_IO_DIR		_RMIXL_OFFSET(0x2)	/* I/O Direction register */
+#define RMIXL_GPIO_OUTPUT		_RMIXL_OFFSET(0x3)	/* Output Write register */
+#define RMIXL_GPIO_INPUT		_RMIXL_OFFSET(0x4)	/* Intput Read register */
+#define RMIXL_GPIO_INT_CLR		_RMIXL_OFFSET(0x5)	/* Interrupt Inversion register */
+#define RMIXL_GPIO_INT_STS		_RMIXL_OFFSET(0x6)	/* Interrupt Status register */
+#define RMIXL_GPIO_INT_TYP		_RMIXL_OFFSET(0x7)	/* Interrupt Type register */
+#define RMIXL_GPIO_RESET		_RMIXL_OFFSET(0x8)	/* XLS Soft Reset register */
+
+/* GPIO System Control Registers */
+#define RMIXL_GPIO_RESET_CFG		_RMIXL_OFFSET(0x15)	/* Reset Configuration register */
+#define RMIXL_GPIO_THERMAL_CSR		_RMIXL_OFFSET(0x16)	/* Thermal Control/Status register */
+#define RMIXL_GPIO_THERMAL_SHFT		_RMIXL_OFFSET(0x17)	/* Thermal Shift register */
+#define RMIXL_GPIO_BIST_ALL_STS		_RMIXL_OFFSET(0x18)	/* BIST All Status register */
+#define RMIXL_GPIO_BIST_EACH_STS	_RMIXL_OFFSET(0x19)	/* BIST Each Status register */
+#define RMIXL_GPIO_SGMII_0_3_PHY_CTL	_RMIXL_OFFSET(0x20)	/* SGMII #0..3 PHY Control register */
+#define RMIXL_GPIO_AUI_0_PHY_CTL	_RMIXL_OFFSET(0x20)	/* AUI port#0  PHY Control register */
+#define RMIXL_GPIO_SGMII_4_7_PLL_CTL	_RMIXL_OFFSET(0x21)	/* SGMII #4..7 PLL Control register */
+#define RMIXL_GPIO_AUI_1_PLL_CTL	_RMIXL_OFFSET(0x21)	/* AUI port#1  PLL Control register */
+#define RMIXL_GPIO_SGMII_4_7_PHY_CTL	_RMIXL_OFFSET(0x22)	/* SGMII #4..7 PHY Control register */
+#define RMIXL_GPIO_AUI_1_PHY_CTL	_RMIXL_OFFSET(0x22)	/* AUI port#1  PHY Control register */
+#define RMIXL_GPIO_INT_MAP		_RMIXL_OFFSET(0x25)	/* Interrupt Map to PIC, 0=int14, 1=int30 */
+#define RMIXL_GPIO_EXT_INT		_RMIXL_OFFSET(0x26)	/* External Interrupt control register */
+#define RMIXL_GPIO_CPU_RST		_RMIXL_OFFSET(0x28)	/* CPU Reset control register */
+#define RMIXL_GPIO_LOW_PWR_DIS		_RMIXL_OFFSET(0x29)	/* Low Power Dissipation register */
+#define RMIXL_GPIO_RANDOM		_RMIXL_OFFSET(0x2b)	/* Low Power Dissipation register */
+#define RMIXL_GPIO_CPU_CLK_DIS		_RMIXL_OFFSET(0x2d)	/* CPU Clock Disable register */
+
+/*
+ * PCIE Interface Controller registers
+ */
+#define RMIXL_PCIE_CTRL1		_RMIXL_OFFSET(0x0)
+#define RMIXL_PCIE_CTRL2		_RMIXL_OFFSET(0x1)
+#define RMIXL_PCIE_CTRL3		_RMIXL_OFFSET(0x2)
+#define RMIXL_PCIE_CTRL4		_RMIXL_OFFSET(0x3)
+#define RMIXL_PCIE_CTRL			_RMIXL_OFFSET(0x4)
+#define RMIXL_PCIE_IOBM_TIMER		_RMIXL_OFFSET(0x5)
+#define RMIXL_PCIE_MSI_CMD		_RMIXL_OFFSET(0x6)
+#define RMIXL_PCIE_MSI_RESP		_RMIXL_OFFSET(0x7)
+#define RMIXL_PCIE_DWC_CRTL5		_RMIXL_OFFSET(0x8)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_DWC_CRTL6		_RMIXL_OFFSET(0x9)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_IOBM_SWAP_MEM_BASE	_RMIXL_OFFSET(0x10)
+#define RMIXL_PCIE_IOBM_SWAP_MEM_LIMIT	_RMIXL_OFFSET(0x11)
+#define RMIXL_PCIE_IOBM_SWAP_IO_BASE	_RMIXL_OFFSET(0x12)
+#define RMIXL_PCIE_IOBM_SWAP_IO_LIMIT	_RMIXL_OFFSET(0x13)
+#define RMIXL_PCIE_TRGT_CHRNT_MEM_BASE	_RMIXL_OFFSET(0x14)
+#define RMIXL_PCIE_TRGT_CHRNT_MEM_LIMIT	_RMIXL_OFFSET(0x15)
+#define RMIXL_PCIE_TRGT_L2ALC_MEM_BASE	_RMIXL_OFFSET(0x16)
+#define RMIXL_PCIE_TRGT_L2ALC_MEM_LIMIT	_RMIXL_OFFSET(0x17)
+#define RMIXL_PCIE_TRGT_REX_MEM_BASE	_RMIXL_OFFSET(0x18)
+#define RMIXL_PCIE_TRGT_REX_MEM_LIMIT	_RMIXL_OFFSET(0x19)
+#define RMIXL_PCIE_EP_MEM_BASE		_RMIXL_OFFSET(0x1a)
+#define RMIXL_PCIE_EP_MEM_LIMIT		_RMIXL_OFFSET(0x1b)
+#define RMIXL_PCIE_EP_ADDR_MAP_ENTRY0	_RMIXL_OFFSET(0x1c)
+#define RMIXL_PCIE_EP_ADDR_MAP_ENTRY1	_RMIXL_OFFSET(0x1d)
+#define RMIXL_PCIE_EP_ADDR_MAP_ENTRY2	_RMIXL_OFFSET(0x1e)
+#define RMIXL_PCIE_EP_ADDR_MAP_ENTRY3	_RMIXL_OFFSET(0x1f)
+#define RMIXL_PCIE_LINK0_STATE		_RMIXL_OFFSET(0x20)
+#define RMIXL_PCIE_LINK1_STATE		_RMIXL_OFFSET(0x21)
+#define RMIXL_PCIE_IOBM_INT_STATUS	_RMIXL_OFFSET(0x22)
+#define RMIXL_PCIE_IOBM_INT_ENABLE	_RMIXL_OFFSET(0x23)
+#define RMIXL_PCIE_LINK0_MSI_STATUS	_RMIXL_OFFSET(0x24)
+#define RMIXL_PCIE_LINK1_MSI_STATUS	_RMIXL_OFFSET(0x25)
+#define RMIXL_PCIE_LINK0_MSI_ENABLE	_RMIXL_OFFSET(0x26)
+#define RMIXL_PCIE_LINK1_MSI_ENABLE	_RMIXL_OFFSET(0x27)
+#define RMIXL_PCIE_LINK0_INT_STATUS0	_RMIXL_OFFSET(0x28)
+#define RMIXL_PCIE_LINK1_INT_STATUS0	_RMIXL_OFFSET(0x29)
+#define RMIXL_PCIE_LINK0_INT_STATUS1	_RMIXL_OFFSET(0x2a)
+#define RMIXL_PCIE_LINK1_INT_STATUS1	_RMIXL_OFFSET(0x2b)
+#define RMIXL_PCIE_LINK0_INT_ENABLE0	_RMIXL_OFFSET(0x2c)
+#define RMIXL_PCIE_LINK1_INT_ENABLE0	_RMIXL_OFFSET(0x2d)
+#define RMIXL_PCIE_LINK0_INT_ENABLE1	_RMIXL_OFFSET(0x2e)
+#define RMIXL_PCIE_LINK1_INT_ENABLE1	_RMIXL_OFFSET(0x2f)
+#define RMIXL_PCIE_PHY_CR_CMD		_RMIXL_OFFSET(0x30)
+#define RMIXL_PCIE_PHY_CR_WR_DATA	_RMIXL_OFFSET(0x31)
+#define RMIXL_PCIE_PHY_CR_RESP		_RMIXL_OFFSET(0x32)
+#define RMIXL_PCIE_PHY_CR_RD_DATA	_RMIXL_OFFSET(0x33)
+#define RMIXL_PCIE_IOBM_ERR_CMD		_RMIXL_OFFSET(0x34)
+#define RMIXL_PCIE_IOBM_ERR_LOWER_ADDR	_RMIXL_OFFSET(0x35)
+#define RMIXL_PCIE_IOBM_ERR_UPPER_ADDR	_RMIXL_OFFSET(0x36)
+#define RMIXL_PCIE_IOBM_ERR_BE		_RMIXL_OFFSET(0x37)
+#define RMIXL_PCIE_LINK2_STATE		_RMIXL_OFFSET(0x60)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_STATE		_RMIXL_OFFSET(0x61)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_MSI_STATUS	_RMIXL_OFFSET(0x64)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_MSI_STATUS	_RMIXL_OFFSET(0x65)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_MSI_ENABLE	_RMIXL_OFFSET(0x66)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_MSI_ENABLE	_RMIXL_OFFSET(0x67)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_INT_STATUS0	_RMIXL_OFFSET(0x68)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_INT_STATUS0	_RMIXL_OFFSET(0x69)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_INT_STATUS1	_RMIXL_OFFSET(0x6a)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_INT_STATUS1	_RMIXL_OFFSET(0x6b)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_INT_ENABLE0	_RMIXL_OFFSET(0x6c)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_INT_ENABLE0	_RMIXL_OFFSET(0x6d)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK2_INT_ENABLE1	_RMIXL_OFFSET(0x6e)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_LINK3_INT_ENABLE1	_RMIXL_OFFSET(0x6f)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_VC0_POSTED_RX_QUEUE_CTRL	_RMIXL_OFFSET(0x1d2)
+#define RMIXL_VC0_POSTED_BUFFER_DEPTH	_RMIXL_OFFSET(0x1ea)
+#define RMIXL_PCIE_MSG_TX_THRESHOLD	_RMIXL_OFFSET(0x308)
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_0	_RMIXL_OFFSET(0x320)
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_1	_RMIXL_OFFSET(0x321)
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_2	_RMIXL_OFFSET(0x322)
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_3	_RMIXL_OFFSET(0x323)
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_4	_RMIXL_OFFSET(0x324)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_5	_RMIXL_OFFSET(0x325)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_6	_RMIXL_OFFSET(0x326)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_MSG_BUCKET_SIZE_7	_RMIXL_OFFSET(0x327)	/* not on XLS408Lite, XLS404Lite */
+#define RMIXL_PCIE_MSG_CREDIT_FIRST	_RMIXL_OFFSET(0x380)
+#define RMIXL_PCIE_MSG_CREDIT_LAST	_RMIXL_OFFSET(0x3ff)
 
 #endif	/* _MIPS_RMI_RMIRMIXLEGS_H_ */
 

Reply via email to