6595730 bge support for Broadcom NetLink BCM5787M Gigabit Ethernet(pci14e4,1693.17aa.3860.2)
--- a/usr/src/pkgdefs/SUNWbge/postinstall Tue Jul 01 11:12:03 2008 -0700
+++ b/usr/src/pkgdefs/SUNWbge/postinstall Tue Jul 01 11:12:22 2008 -0700
@@ -165,6 +165,8 @@
"pciex14e4,167a"
"pciex14e4,167b"
"pci14e4,167d"
+ "pci14e4,1693"
+ "pci14e4,169b"
"pciex14e4,16fd"
"pciex14e4,169d"' \
-b "$BASEDIR" bge
--- a/usr/src/uts/common/io/bge/bge_chip2.c Tue Jul 01 11:12:03 2008 -0700
+++ b/usr/src/uts/common/io/bge/bge_chip2.c Tue Jul 01 11:12:22 2008 -0700
@@ -1871,6 +1871,8 @@
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 @@
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;
--- a/usr/src/uts/common/io/bge/bge_hw.h Tue Jul 01 11:12:03 2008 -0700
+++ b/usr/src/uts/common/io/bge/bge_hw.h Tue Jul 01 11:12:22 2008 -0700
@@ -71,6 +71,8 @@
#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 @@
#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 @@
#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)
--- a/usr/src/uts/common/io/bge/bge_main2.c Tue Jul 01 11:12:03 2008 -0700
+++ b/usr/src/uts/common/io/bge/bge_main2.c Tue Jul 01 11:12:22 2008 -0700
@@ -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