summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_nxreg.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/pci/if_nxreg.h')
-rw-r--r--sys/dev/pci/if_nxreg.h32
1 files changed, 28 insertions, 4 deletions
diff --git a/sys/dev/pci/if_nxreg.h b/sys/dev/pci/if_nxreg.h
index aff4f1809b2..c1c40537e21 100644
--- a/sys/dev/pci/if_nxreg.h
+++ b/sys/dev/pci/if_nxreg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_nxreg.h,v 1.14 2007/04/30 22:53:09 reyk Exp $ */
+/* $OpenBSD: if_nxreg.h,v 1.15 2007/05/01 02:20:14 reyk Exp $ */
/*
* Copyright (c) 2007 Reyk Floeter <reyk@openbsd.org>
@@ -38,14 +38,16 @@
#define NX_FIRMWARE_MAJOR 3
#define NX_FIRMWARE_MINOR 4
#define NX_FIRMWARE_BUILD 31
+#define NX_FIRMWARE_VER 0x001f0403
/* Used to indicate various states of the NIC and its firmware */
enum nx_state {
NX_S_FAIL = -1, /* Failed to initialize the device */
NX_S_OFFLINE = 0, /* Firmware is not active yet */
- NX_S_BOOT = 1, /* Chipset is booting the firmware */
- NX_S_LOADED = 2, /* Firmware is loaded but not initialized */
- NX_S_READY = 3 /* Device has been initialized and is ready */
+ NX_S_RESET = 1, /* Firmware is in reset state */
+ NX_S_BOOT = 2, /* Chipset is booting the firmware */
+ NX_S_LOADED = 3, /* Firmware is loaded but not initialized */
+ NX_S_READY = 4 /* Device has been initialized and is ready */
};
/*
@@ -142,16 +144,34 @@ struct nx_statusdesc {
#define NXPCIMAP_CRB 0x06000000
/* Offsets inside NXPCIMAP_CRB */
+#define NXMEMMAP_WINDOW0_START 0x00000000
+#define NXMEMMAP_WINDOW0_END 0x01ffffff
#define NXMEMMAP_WINDOW_SIZE 0x02000000
#define NXMEMMAP_PCIE 0x00100000
#define NXMEMMAP_NIU 0x00600000
+#define NXMEMMAP_PPE_0 0x01100000
+#define NXMEMMAP_PPE_1 0x01200000
+#define NXMEMMAP_PPE_2 0x01300000
+#define NXMEMMAP_PPE_3 0x01400000
+#define NXMEMMAP_PPE_D 0x01500000
+#define NXMEMMAP_PPE_I 0x01600000
+#define NXMEMMAP_WINDOW1_START 0x02000000
+#define NXMEMMAP_WINDOW1_END 0x07ffffff
#define NXMEMMAP_SW 0x02200000 /* XXX 0x02400000? */
#define NXMEMMAP_SIR 0x03200000
#define NXMEMMAP_ROMUSB 0x03300000
+#define NXMEMMAP_HWTRANS_M 0xfff00000
+
/* Window 0 register map */
#define NXPCIE(_x) ((_x) + 0x06100000) /* PCI Express */
#define NXNIU(_x) ((_x) + 0x06600000) /* Network Int Unit */
+#define NXPPE_0(_x) ((_x) + 0x07100000) /* PEGNET 0 */
+#define NXPPE_1(_x) ((_x) + 0x07200000) /* PEGNET 0 */
+#define NXPPE_2(_x) ((_x) + 0x07300000) /* PEGNET 0 */
+#define NXPPE_3(_x) ((_x) + 0x07400000) /* PEGNET 0 */
+#define NXPPE_D(_x) ((_x) + 0x07500000) /* PEGNET D-Cache */
+#define NXPPE_I(_x) ((_x) + 0x07600000) /* PEGNET I-Cache */
/* Window 1 register map */
#define NXPCIE_1(_x) ((_x) + 0x06100000) /* PCI Express' */
@@ -164,6 +184,8 @@ struct nx_statusdesc {
/* Flash layout */
#define NXFLASHMAP_CRBINIT_0 0x00000000 /* CRBINIT */
+#define NXFLASHMAP_CRBINIT_M 0x7fffffff /* ROM memory barrier */
+#define NXFLASHMAP_CRBINIT_MAX 1023 /* Max CRBINIT entries */
#define NXFLASHMAP_INFO 0x00004000 /* board configuration */
#define NXFLASHMAP_INITCODE 0x00006000 /* chipset-specific code */
#define NXFLASHMAP_BOOTLOADER 0x00010000 /* boot loader */
@@ -334,6 +356,7 @@ struct nx_statusdesc {
#define NXSW_JRCV_PRODUCER_OFF NXSW(0x2300) /* Producer jumbo ring index */
#define NXSW_JRCV_CONSUMER_OFF NXSW(0x2304) /* Consumer jumbo ring index */
#define NXSW_JRCV_GLOBAL_RING NXSW(0x2220) /* Address of jumbo buffer */
+#define NXSW_DRIVER_VER NXSW(0x24a0) /* Host driver version */
/*
* Secondary Interrupt Registers
@@ -372,6 +395,7 @@ struct nx_statusdesc {
#define NXROMUSB_GLB_SW_RESET_U0PEG2 (1<<8) /* Network Pegasus2 reset */
#define NXROMUSB_GLB_SW_RESET_U0PEG1 (1<<7) /* Network Pegasus1 reset */
#define NXROMUSB_GLB_SW_RESET_U0PEG0 (1<<6) /* Network Pegasus0 reset */
+#define NXROMUSB_GLB_SW_RESET_PPE 0xf0 /* Protocol Processing Engine */
#define NXROMUSB_GLB_SW_RESET_DEF 0xffffffff
/* Casper Reset Register */