diff options
author | ml40262 <none@none> | 2008-07-01 11:12:22 -0700 |
---|---|---|
committer | ml40262 <none@none> | 2008-07-01 11:12:22 -0700 |
commit | 7f7c96a6a7060c462769ffdab973f2d77a5845b5 (patch) | |
tree | 843e23fffafe575e56d11480632ee191e84d8bdb /usr/src | |
parent | 6c10f5d00ef774bc0c97c0ef38374f86a4ee2007 (diff) | |
download | illumos-joyent-7f7c96a6a7060c462769ffdab973f2d77a5845b5.tar.gz |
6595730 bge support for Broadcom NetLink BCM5787M Gigabit Ethernet(pci14e4,1693.17aa.3860.2)
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/pkgdefs/SUNWbge/postinstall | 2 | ||||
-rw-r--r-- | usr/src/uts/common/io/bge/bge_chip2.c | 20 | ||||
-rw-r--r-- | usr/src/uts/common/io/bge/bge_hw.h | 7 | ||||
-rw-r--r-- | usr/src/uts/common/io/bge/bge_main2.c | 2 |
4 files changed, 30 insertions, 1 deletions
diff --git a/usr/src/pkgdefs/SUNWbge/postinstall b/usr/src/pkgdefs/SUNWbge/postinstall index 60981ead43..64e27c57e6 100644 --- a/usr/src/pkgdefs/SUNWbge/postinstall +++ b/usr/src/pkgdefs/SUNWbge/postinstall @@ -165,6 +165,8 @@ then "pciex14e4,167a" "pciex14e4,167b" "pci14e4,167d" + "pci14e4,1693" + "pci14e4,169b" "pciex14e4,16fd" "pciex14e4,169d"' \ -b "$BASEDIR" bge diff --git a/usr/src/uts/common/io/bge/bge_chip2.c b/usr/src/uts/common/io/bge/bge_chip2.c index 51c5cc3cab..7f6165a45d 100644 --- a/usr/src/uts/common/io/bge/bge_chip2.c +++ b/usr/src/uts/common/io/bge/bge_chip2.c @@ -1871,6 +1871,8 @@ bge_nvmem_id(bge_t *bgep) case DEVICE_ID_5705_2: case DEVICE_ID_5706: case DEVICE_ID_5782: + case DEVICE_ID_5787: + case DEVICE_ID_5787M: case DEVICE_ID_5788: case DEVICE_ID_5789: case DEVICE_ID_5751: @@ -2102,6 +2104,24 @@ bge_chip_id_init(bge_t *bgep) dev_ok = B_TRUE; break; + case DEVICE_ID_5787: + case DEVICE_ID_5787M: + cidp->chip_label = 5787; + cidp->pci_type = BGE_PCI_E; + cidp->mbuf_lo_water_rdma = RDMA_MBUF_LOWAT_5705; + cidp->mbuf_lo_water_rmac = MAC_RX_MBUF_LOWAT_5705; + cidp->mbuf_hi_water = MBUF_HIWAT_5705; + cidp->mbuf_base = bge_mbuf_pool_base_5705; + cidp->mbuf_length = bge_mbuf_pool_len_5705; + cidp->recv_slots = BGE_RECV_SLOTS_5705; + cidp->bge_mlcr_default |= MLCR_MISC_PINS_OUTPUT_ENABLE_1; + cidp->rx_rings = BGE_RECV_RINGS_MAX_5705; + cidp->tx_rings = BGE_SEND_RINGS_MAX_5705; + cidp->flags |= CHIP_FLAG_NO_JUMBO; + cidp->statistic_type = BGE_STAT_REG; + dev_ok = B_TRUE; + break; + case DEVICE_ID_5706: cidp->chip_label = 5706; cidp->flags |= CHIP_FLAG_NO_JUMBO; diff --git a/usr/src/uts/common/io/bge/bge_hw.h b/usr/src/uts/common/io/bge/bge_hw.h index 457b9826ce..243e147e1b 100644 --- a/usr/src/uts/common/io/bge/bge_hw.h +++ b/usr/src/uts/common/io/bge/bge_hw.h @@ -71,6 +71,8 @@ extern "C" { #define DEVICE_ID_5705F 0x166e #define DEVICE_ID_5706 0x164a #define DEVICE_ID_5782 0x1696 +#define DEVICE_ID_5787 0x169b +#define DEVICE_ID_5787M 0x1693 #define DEVICE_ID_5788 0x169c #define DEVICE_ID_5789 0x169d #define DEVICE_ID_5751 0x1677 @@ -262,6 +264,10 @@ extern "C" { #define MHCR_CHIP_REV_5754_A0 0xb0000000 #define MHCR_CHIP_REV_5754_A1 0xb0010000 +#define MHCR_CHIP_REV_5787_A0 0xb0000000 +#define MHCR_CHIP_REV_5787_A1 0xb0010000 +#define MHCR_CHIP_REV_5787_A2 0xb0020000 + #define MHCR_CHIP_REV_5755_A0 0xa0000000 #define MHCR_CHIP_REV_5755_A1 0xa0010000 @@ -275,6 +281,7 @@ extern "C" { #define MHCR_CHIP_ASIC_REV_5714 (0x5 << 28) #define MHCR_CHIP_ASIC_REV_5752 (0x6 << 28) #define MHCR_CHIP_ASIC_REV_5754 (0xb << 28) +#define MHCR_CHIP_ASIC_REV_5787 ((uint32_t)0xb << 28) #define MHCR_CHIP_ASIC_REV_5755 ((uint32_t)0xa << 28) #define MHCR_CHIP_ASIC_REV_5715 ((uint32_t)0x9 << 28) diff --git a/usr/src/uts/common/io/bge/bge_main2.c b/usr/src/uts/common/io/bge/bge_main2.c index 573e3cb235..6d229417be 100644 --- a/usr/src/uts/common/io/bge/bge_main2.c +++ b/usr/src/uts/common/io/bge/bge_main2.c @@ -34,7 +34,7 @@ * This is the string displayed by modinfo, etc. * Make sure you keep the version ID up to date! */ -static char bge_ident[] = "Broadcom Gb Ethernet v0.62"; +static char bge_ident[] = "Broadcom Gb Ethernet v0.63"; /* * Property names |