aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/netxen/netxen_nic_hdr.h
diff options
context:
space:
mode:
authorDhananjay Phadke <dhananjay@netxen.com>2008-07-21 22:44:02 -0400
committerJeff Garzik <jgarzik@redhat.com>2008-07-22 17:51:23 -0400
commite4c93c817ce650401db42db6c869cf7688217ff4 (patch)
tree280ef8bd2768407ab140367de6bf9980b3f5c9d9 /drivers/net/netxen/netxen_nic_hdr.h
parent623621b07ebc5b72e0bdfa4a50bbb28f4587de0c (diff)
netxen: add defs for new chip/boards
Add macros for new chip revision and board configurations. Signed-off-by: Dhananjay Phadke <dhananjay@netxen.com> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Diffstat (limited to 'drivers/net/netxen/netxen_nic_hdr.h')
-rw-r--r--drivers/net/netxen/netxen_nic_hdr.h242
1 files changed, 228 insertions, 14 deletions
diff --git a/drivers/net/netxen/netxen_nic_hdr.h b/drivers/net/netxen/netxen_nic_hdr.h
index 545180bf3be8..2374d8dc6cfe 100644
--- a/drivers/net/netxen/netxen_nic_hdr.h
+++ b/drivers/net/netxen/netxen_nic_hdr.h
@@ -126,7 +126,8 @@ enum {
126 NETXEN_HW_PEGR0_CRB_AGT_ADR, 126 NETXEN_HW_PEGR0_CRB_AGT_ADR,
127 NETXEN_HW_PEGR1_CRB_AGT_ADR, 127 NETXEN_HW_PEGR1_CRB_AGT_ADR,
128 NETXEN_HW_PEGR2_CRB_AGT_ADR, 128 NETXEN_HW_PEGR2_CRB_AGT_ADR,
129 NETXEN_HW_PEGR3_CRB_AGT_ADR 129 NETXEN_HW_PEGR3_CRB_AGT_ADR,
130 NETXEN_HW_PEGN4_CRB_AGT_ADR
130}; 131};
131 132
132/* Hub 5 */ 133/* Hub 5 */
@@ -316,6 +317,8 @@ enum {
316 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGN2_CRB_AGT_ADR) 317 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGN2_CRB_AGT_ADR)
317#define NETXEN_HW_CRB_HUB_AGT_ADR_PGN3 \ 318#define NETXEN_HW_CRB_HUB_AGT_ADR_PGN3 \
318 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGN3_CRB_AGT_ADR) 319 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGN3_CRB_AGT_ADR)
320#define NETXEN_HW_CRB_HUB_AGT_ADR_PGN4 \
321 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGN4_CRB_AGT_ADR)
319#define NETXEN_HW_CRB_HUB_AGT_ADR_PGNC \ 322#define NETXEN_HW_CRB_HUB_AGT_ADR_PGNC \
320 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGNC_CRB_AGT_ADR) 323 ((NETXEN_HW_H4_CH_HUB_ADR << 7) | NETXEN_HW_PEGNC_CRB_AGT_ADR)
321#define NETXEN_HW_CRB_HUB_AGT_ADR_PGR0 \ 324#define NETXEN_HW_CRB_HUB_AGT_ADR_PGR0 \
@@ -435,6 +438,7 @@ enum {
435#define NETXEN_CRB_ROMUSB \ 438#define NETXEN_CRB_ROMUSB \
436 NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_ROMUSB) 439 NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_ROMUSB)
437#define NETXEN_CRB_I2Q NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_I2Q) 440#define NETXEN_CRB_I2Q NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_I2Q)
441#define NETXEN_CRB_SMB NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_SMB)
438#define NETXEN_CRB_MAX NETXEN_PCI_CRB_WINDOW(64) 442#define NETXEN_CRB_MAX NETXEN_PCI_CRB_WINDOW(64)
439 443
440#define NETXEN_CRB_PCIX_HOST NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PH) 444#define NETXEN_CRB_PCIX_HOST NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PH)
@@ -446,6 +450,7 @@ enum {
446#define NETXEN_CRB_PEG_NET_D NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PGND) 450#define NETXEN_CRB_PEG_NET_D NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PGND)
447#define NETXEN_CRB_PEG_NET_I NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PGNI) 451#define NETXEN_CRB_PEG_NET_I NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PGNI)
448#define NETXEN_CRB_DDR_NET NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_MN) 452#define NETXEN_CRB_DDR_NET NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_MN)
453#define NETXEN_CRB_QDR_NET NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_SN)
449 454
450#define NETXEN_CRB_PCIX_MD NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PS) 455#define NETXEN_CRB_PCIX_MD NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_PS)
451#define NETXEN_CRB_PCIE NETXEN_CRB_PCIX_MD 456#define NETXEN_CRB_PCIE NETXEN_CRB_PCIX_MD
@@ -461,11 +466,20 @@ enum {
461#define ISR_INT_TARGET_MASK_F2 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F2)) 466#define ISR_INT_TARGET_MASK_F2 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F2))
462#define ISR_INT_TARGET_STATUS_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F3)) 467#define ISR_INT_TARGET_STATUS_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F3))
463#define ISR_INT_TARGET_MASK_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F3)) 468#define ISR_INT_TARGET_MASK_F3 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F3))
469#define ISR_INT_TARGET_STATUS_F4 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F4))
470#define ISR_INT_TARGET_MASK_F4 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F4))
471#define ISR_INT_TARGET_STATUS_F5 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F5))
472#define ISR_INT_TARGET_MASK_F5 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F5))
473#define ISR_INT_TARGET_STATUS_F6 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F6))
474#define ISR_INT_TARGET_MASK_F6 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F6))
475#define ISR_INT_TARGET_STATUS_F7 (NETXEN_PCIX_PS_REG(PCIX_TARGET_STATUS_F7))
476#define ISR_INT_TARGET_MASK_F7 (NETXEN_PCIX_PS_REG(PCIX_TARGET_MASK_F7))
464 477
465#define NETXEN_PCI_MAPSIZE 128 478#define NETXEN_PCI_MAPSIZE 128
466#define NETXEN_PCI_DDR_NET (0x00000000UL) 479#define NETXEN_PCI_DDR_NET (0x00000000UL)
467#define NETXEN_PCI_QDR_NET (0x04000000UL) 480#define NETXEN_PCI_QDR_NET (0x04000000UL)
468#define NETXEN_PCI_DIRECT_CRB (0x04400000UL) 481#define NETXEN_PCI_DIRECT_CRB (0x04400000UL)
482#define NETXEN_PCI_CAMQM (0x04800000UL)
469#define NETXEN_PCI_CAMQM_MAX (0x04ffffffUL) 483#define NETXEN_PCI_CAMQM_MAX (0x04ffffffUL)
470#define NETXEN_PCI_OCM0 (0x05000000UL) 484#define NETXEN_PCI_OCM0 (0x05000000UL)
471#define NETXEN_PCI_OCM0_MAX (0x050fffffUL) 485#define NETXEN_PCI_OCM0_MAX (0x050fffffUL)
@@ -474,6 +488,13 @@ enum {
474#define NETXEN_PCI_CRBSPACE (0x06000000UL) 488#define NETXEN_PCI_CRBSPACE (0x06000000UL)
475#define NETXEN_PCI_128MB_SIZE (0x08000000UL) 489#define NETXEN_PCI_128MB_SIZE (0x08000000UL)
476#define NETXEN_PCI_32MB_SIZE (0x02000000UL) 490#define NETXEN_PCI_32MB_SIZE (0x02000000UL)
491#define NETXEN_PCI_2MB_SIZE (0x00200000UL)
492
493#define NETXEN_PCI_MN_2M (0)
494#define NETXEN_PCI_MS_2M (0x80000)
495#define NETXEN_PCI_OCM0_2M (0x000c0000UL)
496#define NETXEN_PCI_CAMQM_2M_BASE (0x000ff800UL)
497#define NETXEN_PCI_CAMQM_2M_END (0x04800800UL)
477 498
478#define NETXEN_CRB_CAM NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_CAM) 499#define NETXEN_CRB_CAM NETXEN_PCI_CRB_WINDOW(NETXEN_HW_PX_MAP_CRB_CAM)
479 500
@@ -484,7 +505,14 @@ enum {
484#define NETXEN_ADDR_OCM1 (0x0000000200400000ULL) 505#define NETXEN_ADDR_OCM1 (0x0000000200400000ULL)
485#define NETXEN_ADDR_OCM1_MAX (0x00000002004fffffULL) 506#define NETXEN_ADDR_OCM1_MAX (0x00000002004fffffULL)
486#define NETXEN_ADDR_QDR_NET (0x0000000300000000ULL) 507#define NETXEN_ADDR_QDR_NET (0x0000000300000000ULL)
487#define NETXEN_ADDR_QDR_NET_MAX (0x00000003003fffffULL) 508#define NETXEN_ADDR_QDR_NET_MAX_P2 (0x00000003003fffffULL)
509#define NETXEN_ADDR_QDR_NET_MAX_P3 (0x0000000303ffffffULL)
510
511/*
512 * Register offsets for MN
513 */
514#define NETXEN_MIU_CONTROL (0x000)
515#define NETXEN_MIU_MN_CONTROL (NETXEN_CRB_DDR_NET+NETXEN_MIU_CONTROL)
488 516
489 /* 200ms delay in each loop */ 517 /* 200ms delay in each loop */
490#define NETXEN_NIU_PHY_WAITLEN 200000 518#define NETXEN_NIU_PHY_WAITLEN 200000
@@ -633,6 +661,59 @@ enum {
633#define NETXEN_NIU_XG1_CONTROL_CHAR_CNT (NETXEN_CRB_NIU + 0x80054) 661#define NETXEN_NIU_XG1_CONTROL_CHAR_CNT (NETXEN_CRB_NIU + 0x80054)
634#define NETXEN_NIU_XG1_PAUSE_FRAME_CNT (NETXEN_CRB_NIU + 0x80058) 662#define NETXEN_NIU_XG1_PAUSE_FRAME_CNT (NETXEN_CRB_NIU + 0x80058)
635 663
664/* P3 802.3ap */
665#define NETXEN_NIU_AP_MAC_CONFIG_0(I) (NETXEN_CRB_NIU+0xa0000+(I)*0x10000)
666#define NETXEN_NIU_AP_MAC_CONFIG_1(I) (NETXEN_CRB_NIU+0xa0004+(I)*0x10000)
667#define NETXEN_NIU_AP_MAC_IPG_IFG(I) (NETXEN_CRB_NIU+0xa0008+(I)*0x10000)
668#define NETXEN_NIU_AP_HALF_DUPLEX_CTRL(I) (NETXEN_CRB_NIU+0xa000c+(I)*0x10000)
669#define NETXEN_NIU_AP_MAX_FRAME_SIZE(I) (NETXEN_CRB_NIU+0xa0010+(I)*0x10000)
670#define NETXEN_NIU_AP_TEST_REG(I) (NETXEN_CRB_NIU+0xa001c+(I)*0x10000)
671#define NETXEN_NIU_AP_MII_MGMT_CONFIG(I) (NETXEN_CRB_NIU+0xa0020+(I)*0x10000)
672#define NETXEN_NIU_AP_MII_MGMT_COMMAND(I) (NETXEN_CRB_NIU+0xa0024+(I)*0x10000)
673#define NETXEN_NIU_AP_MII_MGMT_ADDR(I) (NETXEN_CRB_NIU+0xa0028+(I)*0x10000)
674#define NETXEN_NIU_AP_MII_MGMT_CTRL(I) (NETXEN_CRB_NIU+0xa002c+(I)*0x10000)
675#define NETXEN_NIU_AP_MII_MGMT_STATUS(I) (NETXEN_CRB_NIU+0xa0030+(I)*0x10000)
676#define NETXEN_NIU_AP_MII_MGMT_INDICATE(I) (NETXEN_CRB_NIU+0xa0034+(I)*0x10000)
677#define NETXEN_NIU_AP_INTERFACE_CTRL(I) (NETXEN_CRB_NIU+0xa0038+(I)*0x10000)
678#define NETXEN_NIU_AP_INTERFACE_STATUS(I) (NETXEN_CRB_NIU+0xa003c+(I)*0x10000)
679#define NETXEN_NIU_AP_STATION_ADDR_0(I) (NETXEN_CRB_NIU+0xa0040+(I)*0x10000)
680#define NETXEN_NIU_AP_STATION_ADDR_1(I) (NETXEN_CRB_NIU+0xa0044+(I)*0x10000)
681
682/*
683 * Register offsets for MN
684 */
685#define MIU_CONTROL (0x000)
686#define MIU_TEST_AGT_CTRL (0x090)
687#define MIU_TEST_AGT_ADDR_LO (0x094)
688#define MIU_TEST_AGT_ADDR_HI (0x098)
689#define MIU_TEST_AGT_WRDATA_LO (0x0a0)
690#define MIU_TEST_AGT_WRDATA_HI (0x0a4)
691#define MIU_TEST_AGT_WRDATA(i) (0x0a0+(4*(i)))
692#define MIU_TEST_AGT_RDDATA_LO (0x0a8)
693#define MIU_TEST_AGT_RDDATA_HI (0x0ac)
694#define MIU_TEST_AGT_RDDATA(i) (0x0a8+(4*(i)))
695#define MIU_TEST_AGT_ADDR_MASK 0xfffffff8
696#define MIU_TEST_AGT_UPPER_ADDR(off) (0)
697
698/* MIU_TEST_AGT_CTRL flags. work for SIU as well */
699#define MIU_TA_CTL_START 1
700#define MIU_TA_CTL_ENABLE 2
701#define MIU_TA_CTL_WRITE 4
702#define MIU_TA_CTL_BUSY 8
703
704#define SIU_TEST_AGT_CTRL (0x060)
705#define SIU_TEST_AGT_ADDR_LO (0x064)
706#define SIU_TEST_AGT_ADDR_HI (0x078)
707#define SIU_TEST_AGT_WRDATA_LO (0x068)
708#define SIU_TEST_AGT_WRDATA_HI (0x06c)
709#define SIU_TEST_AGT_WRDATA(i) (0x068+(4*(i)))
710#define SIU_TEST_AGT_RDDATA_LO (0x070)
711#define SIU_TEST_AGT_RDDATA_HI (0x074)
712#define SIU_TEST_AGT_RDDATA(i) (0x070+(4*(i)))
713
714#define SIU_TEST_AGT_ADDR_MASK 0x3ffff8
715#define SIU_TEST_AGT_UPPER_ADDR(off) ((off)>>22)
716
636/* XG Link status */ 717/* XG Link status */
637#define XG_LINK_UP 0x10 718#define XG_LINK_UP 0x10
638#define XG_LINK_DOWN 0x20 719#define XG_LINK_DOWN 0x20
@@ -643,6 +724,7 @@ enum {
643#define NETXEN_FW_VERSION_MINOR (NETXEN_CAM_RAM(0x154)) 724#define NETXEN_FW_VERSION_MINOR (NETXEN_CAM_RAM(0x154))
644#define NETXEN_FW_VERSION_SUB (NETXEN_CAM_RAM(0x158)) 725#define NETXEN_FW_VERSION_SUB (NETXEN_CAM_RAM(0x158))
645#define NETXEN_ROM_LOCK_ID (NETXEN_CAM_RAM(0x100)) 726#define NETXEN_ROM_LOCK_ID (NETXEN_CAM_RAM(0x100))
727#define NETXEN_CRB_WIN_LOCK_ID (NETXEN_CAM_RAM(0x124))
646 728
647#define NETXEN_PHY_LOCK_ID (NETXEN_CAM_RAM(0x120)) 729#define NETXEN_PHY_LOCK_ID (NETXEN_CAM_RAM(0x120))
648 730
@@ -657,30 +739,71 @@ enum {
657#define PCIX_INT_VECTOR (0x10100) 739#define PCIX_INT_VECTOR (0x10100)
658#define PCIX_INT_MASK (0x10104) 740#define PCIX_INT_MASK (0x10104)
659 741
660#define PCIX_MN_WINDOW_F0 (0x10200)
661#define PCIX_MN_WINDOW(_f) (PCIX_MN_WINDOW_F0 + (0x20 * (_f)))
662#define PCIX_MS_WINDOW (0x10204)
663#define PCIX_SN_WINDOW_F0 (0x10208)
664#define PCIX_SN_WINDOW(_f) (PCIX_SN_WINDOW_F0 + (0x20 * (_f)))
665#define PCIX_CRB_WINDOW (0x10210) 742#define PCIX_CRB_WINDOW (0x10210)
666#define PCIX_CRB_WINDOW_F0 (0x10210) 743#define PCIX_CRB_WINDOW_F0 (0x10210)
667#define PCIX_CRB_WINDOW_F1 (0x10230) 744#define PCIX_CRB_WINDOW_F1 (0x10230)
668#define PCIX_CRB_WINDOW_F2 (0x10250) 745#define PCIX_CRB_WINDOW_F2 (0x10250)
669#define PCIX_CRB_WINDOW_F3 (0x10270) 746#define PCIX_CRB_WINDOW_F3 (0x10270)
747#define PCIX_CRB_WINDOW_F4 (0x102ac)
748#define PCIX_CRB_WINDOW_F5 (0x102bc)
749#define PCIX_CRB_WINDOW_F6 (0x102cc)
750#define PCIX_CRB_WINDOW_F7 (0x102dc)
751#define PCIE_CRB_WINDOW_REG(func) (((func) < 4) ? \
752 (PCIX_CRB_WINDOW_F0 + (0x20 * (func))) :\
753 (PCIX_CRB_WINDOW_F4 + (0x10 * ((func)-4))))
754
755#define PCIX_MN_WINDOW (0x10200)
756#define PCIX_MN_WINDOW_F0 (0x10200)
757#define PCIX_MN_WINDOW_F1 (0x10220)
758#define PCIX_MN_WINDOW_F2 (0x10240)
759#define PCIX_MN_WINDOW_F3 (0x10260)
760#define PCIX_MN_WINDOW_F4 (0x102a0)
761#define PCIX_MN_WINDOW_F5 (0x102b0)
762#define PCIX_MN_WINDOW_F6 (0x102c0)
763#define PCIX_MN_WINDOW_F7 (0x102d0)
764#define PCIE_MN_WINDOW_REG(func) (((func) < 4) ? \
765 (PCIX_MN_WINDOW_F0 + (0x20 * (func))) :\
766 (PCIX_MN_WINDOW_F4 + (0x10 * ((func)-4))))
767
768#define PCIX_SN_WINDOW (0x10208)
769#define PCIX_SN_WINDOW_F0 (0x10208)
770#define PCIX_SN_WINDOW_F1 (0x10228)
771#define PCIX_SN_WINDOW_F2 (0x10248)
772#define PCIX_SN_WINDOW_F3 (0x10268)
773#define PCIX_SN_WINDOW_F4 (0x102a8)
774#define PCIX_SN_WINDOW_F5 (0x102b8)
775#define PCIX_SN_WINDOW_F6 (0x102c8)
776#define PCIX_SN_WINDOW_F7 (0x102d8)
777#define PCIE_SN_WINDOW_REG(func) (((func) < 4) ? \
778 (PCIX_SN_WINDOW_F0 + (0x20 * (func))) :\
779 (PCIX_SN_WINDOW_F4 + (0x10 * ((func)-4))))
670 780
671#define PCIX_TARGET_STATUS (0x10118) 781#define PCIX_TARGET_STATUS (0x10118)
782#define PCIX_TARGET_STATUS_F1 (0x10160)
783#define PCIX_TARGET_STATUS_F2 (0x10164)
784#define PCIX_TARGET_STATUS_F3 (0x10168)
785#define PCIX_TARGET_STATUS_F4 (0x10360)
786#define PCIX_TARGET_STATUS_F5 (0x10364)
787#define PCIX_TARGET_STATUS_F6 (0x10368)
788#define PCIX_TARGET_STATUS_F7 (0x1036c)
789
672#define PCIX_TARGET_MASK (0x10128) 790#define PCIX_TARGET_MASK (0x10128)
673#define PCIX_TARGET_STATUS_F1 (0x10160) 791#define PCIX_TARGET_MASK_F1 (0x10170)
674#define PCIX_TARGET_MASK_F1 (0x10170) 792#define PCIX_TARGET_MASK_F2 (0x10174)
675#define PCIX_TARGET_STATUS_F2 (0x10164) 793#define PCIX_TARGET_MASK_F3 (0x10178)
676#define PCIX_TARGET_MASK_F2 (0x10174) 794#define PCIX_TARGET_MASK_F4 (0x10370)
677#define PCIX_TARGET_STATUS_F3 (0x10168) 795#define PCIX_TARGET_MASK_F5 (0x10374)
678#define PCIX_TARGET_MASK_F3 (0x10178) 796#define PCIX_TARGET_MASK_F6 (0x10378)
797#define PCIX_TARGET_MASK_F7 (0x1037c)
679 798
680#define PCIX_MSI_F0 (0x13000) 799#define PCIX_MSI_F0 (0x13000)
681#define PCIX_MSI_F1 (0x13004) 800#define PCIX_MSI_F1 (0x13004)
682#define PCIX_MSI_F2 (0x13008) 801#define PCIX_MSI_F2 (0x13008)
683#define PCIX_MSI_F3 (0x1300c) 802#define PCIX_MSI_F3 (0x1300c)
803#define PCIX_MSI_F4 (0x13010)
804#define PCIX_MSI_F5 (0x13014)
805#define PCIX_MSI_F6 (0x13018)
806#define PCIX_MSI_F7 (0x1301c)
684#define PCIX_MSI_F(i) (0x13000+((i)*4)) 807#define PCIX_MSI_F(i) (0x13000+((i)*4))
685 808
686#define PCIX_PS_MEM_SPACE (0x90000) 809#define PCIX_PS_MEM_SPACE (0x90000)
@@ -698,11 +821,102 @@ enum {
698#define PCIE_SEM2_UNLOCK (0x1c014) /* Flash unlock */ 821#define PCIE_SEM2_UNLOCK (0x1c014) /* Flash unlock */
699#define PCIE_SEM3_LOCK (0x1c018) /* Phy lock */ 822#define PCIE_SEM3_LOCK (0x1c018) /* Phy lock */
700#define PCIE_SEM3_UNLOCK (0x1c01c) /* Phy unlock */ 823#define PCIE_SEM3_UNLOCK (0x1c01c) /* Phy unlock */
701 824#define PCIE_SEM5_LOCK (0x1c028) /* API lock */
825#define PCIE_SEM5_UNLOCK (0x1c02c) /* API unlock */
826#define PCIE_SEM6_LOCK (0x1c030) /* sw lock */
827#define PCIE_SEM6_UNLOCK (0x1c034) /* sw unlock */
828#define PCIE_SEM7_LOCK (0x1c038) /* crb win lock */
829#define PCIE_SEM7_UNLOCK (0x1c03c) /* crbwin unlock*/
830
831#define PCIE_SETUP_FUNCTION (0x12040)
832#define PCIE_SETUP_FUNCTION2 (0x12048)
702#define PCIE_TGT_SPLIT_CHICKEN (0x12080) 833#define PCIE_TGT_SPLIT_CHICKEN (0x12080)
834#define PCIE_CHICKEN3 (0x120c8)
703 835
704#define PCIE_MAX_MASTER_SPLIT (0x14048) 836#define PCIE_MAX_MASTER_SPLIT (0x14048)
705 837
838#define NETXEN_PORT_MODE_NONE 0
839#define NETXEN_PORT_MODE_XG 1
840#define NETXEN_PORT_MODE_GB 2
841#define NETXEN_PORT_MODE_802_3_AP 3
842#define NETXEN_PORT_MODE_AUTO_NEG 4
843#define NETXEN_PORT_MODE_AUTO_NEG_1G 5
844#define NETXEN_PORT_MODE_AUTO_NEG_XG 6
845#define NETXEN_PORT_MODE_ADDR (NETXEN_CAM_RAM(0x24))
846#define NETXEN_WOL_PORT_MODE (NETXEN_CAM_RAM(0x198))
847
706#define NETXEN_CAM_RAM_DMA_WATCHDOG_CTRL (0x14) 848#define NETXEN_CAM_RAM_DMA_WATCHDOG_CTRL (0x14)
707 849
850#define ISR_MSI_INT_TRIGGER(FUNC) (NETXEN_PCIX_PS_REG(PCIX_MSI_F(FUNC)))
851
852/*
853 * PCI Interrupt Vector Values.
854 */
855#define PCIX_INT_VECTOR_BIT_F0 0x0080
856#define PCIX_INT_VECTOR_BIT_F1 0x0100
857#define PCIX_INT_VECTOR_BIT_F2 0x0200
858#define PCIX_INT_VECTOR_BIT_F3 0x0400
859#define PCIX_INT_VECTOR_BIT_F4 0x0800
860#define PCIX_INT_VECTOR_BIT_F5 0x1000
861#define PCIX_INT_VECTOR_BIT_F6 0x2000
862#define PCIX_INT_VECTOR_BIT_F7 0x4000
863
864struct netxen_legacy_intr_set {
865 uint32_t int_vec_bit;
866 uint32_t tgt_status_reg;
867 uint32_t tgt_mask_reg;
868 uint32_t pci_int_reg;
869};
870
871#define NX_LEGACY_INTR_CONFIG \
872{ \
873 { \
874 .int_vec_bit = PCIX_INT_VECTOR_BIT_F0, \
875 .tgt_status_reg = ISR_INT_TARGET_STATUS, \
876 .tgt_mask_reg = ISR_INT_TARGET_MASK, \
877 .pci_int_reg = ISR_MSI_INT_TRIGGER(0) }, \
878 \
879 { \
880 .int_vec_bit = PCIX_INT_VECTOR_BIT_F1, \
881 .tgt_status_reg = ISR_INT_TARGET_STATUS_F1, \
882 .tgt_mask_reg = ISR_INT_TARGET_MASK_F1, \
883 .pci_int_reg = ISR_MSI_INT_TRIGGER(1) }, \
884 \
885 { \
886 .int_vec_bit = PCIX_INT_VECTOR_BIT_F2, \
887 .tgt_status_reg = ISR_INT_TARGET_STATUS_F2, \
888 .tgt_mask_reg = ISR_INT_TARGET_MASK_F2, \
889 .pci_int_reg = ISR_MSI_INT_TRIGGER(2) }, \
890 \
891 { \
892 .int_vec_bit = PCIX_INT_VECTOR_BIT_F3, \
893 .tgt_status_reg = ISR_INT_TARGET_STATUS_F3, \
894 .tgt_mask_reg = ISR_INT_TARGET_MASK_F3, \
895 .pci_int_reg = ISR_MSI_INT_TRIGGER(3) }, \
896 \
897 { \
898 .int_vec_bit = PCIX_INT_VECTOR_BIT_F4, \
899 .tgt_status_reg = ISR_INT_TARGET_STATUS_F4, \
900 .tgt_mask_reg = ISR_INT_TARGET_MASK_F4, \
901 .pci_int_reg = ISR_MSI_INT_TRIGGER(4) }, \
902 \
903 { \
904 .int_vec_bit = PCIX_INT_VECTOR_BIT_F5, \
905 .tgt_status_reg = ISR_INT_TARGET_STATUS_F5, \
906 .tgt_mask_reg = ISR_INT_TARGET_MASK_F5, \
907 .pci_int_reg = ISR_MSI_INT_TRIGGER(5) }, \
908 \
909 { \
910 .int_vec_bit = PCIX_INT_VECTOR_BIT_F6, \
911 .tgt_status_reg = ISR_INT_TARGET_STATUS_F6, \
912 .tgt_mask_reg = ISR_INT_TARGET_MASK_F6, \
913 .pci_int_reg = ISR_MSI_INT_TRIGGER(6) }, \
914 \
915 { \
916 .int_vec_bit = PCIX_INT_VECTOR_BIT_F7, \
917 .tgt_status_reg = ISR_INT_TARGET_STATUS_F7, \
918 .tgt_mask_reg = ISR_INT_TARGET_MASK_F7, \
919 .pci_int_reg = ISR_MSI_INT_TRIGGER(7) }, \
920}
921
708#endif /* __NETXEN_NIC_HDR_H_ */ 922#endif /* __NETXEN_NIC_HDR_H_ */