diff options
author | Dhananjay Phadke <dhananjay@netxen.com> | 2008-07-21 22:44:02 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2008-07-22 17:51:23 -0400 |
commit | e4c93c817ce650401db42db6c869cf7688217ff4 (patch) | |
tree | 280ef8bd2768407ab140367de6bf9980b3f5c9d9 /drivers/net/netxen/netxen_nic_hdr.h | |
parent | 623621b07ebc5b72e0bdfa4a50bbb28f4587de0c (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.h | 242 |
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 | |||
864 | struct 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_ */ |