kern/88940: [patch] bge support for BCM5752
Alexander Hausner
alex at hugo.bmg.gv.at
Sun Nov 13 10:40:18 PST 2005
>Number: 88940
>Category: kern
>Synopsis: [patch] bge support for BCM5752
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Sun Nov 13 18:40:17 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:
>Release: FreeBSD 6.0-STABLE i386
>Organization:
>Environment:
System: FreeBSD chuck.teleweb.at 6.0-STABLE FreeBSD 6.0-STABLE #6: Sat Nov 12 19:47:53 CET 2005 root@:/usr/src/sys/i386/compile/CHUCK i386
>Description:
Yesterday, I tried to install FreeBSD on an HP dc7600, the onboard
NIC was not found during installation. After some investigations on
the web, I found this onboard NIC should be a Broadcom BCM5752, which
is not supported by the current bge driver. Hence I wrote a simple patch for this NIC.
>How-To-Repeat:
>Fix:
--- bge.patch begins here ---
diff -r -c bge.orig/if_bge.c bge/if_bge.c
*** bge.orig/if_bge.c Sun Nov 13 18:50:06 2005
--- bge/if_bge.c Sun Nov 13 18:57:27 2005
***************
*** 172,177 ****
--- 172,179 ----
"Broadcom BCM5751 Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5751M,
"Broadcom BCM5751M Gigabit Ethernet" },
+ { BCOM_VENDORID, BCOM_DEVICEID_BCM5752,
+ "Broadcom BCM5752 Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5782,
"Broadcom BCM5782 Gigabit Ethernet" },
{ BCOM_VENDORID, BCOM_DEVICEID_BCM5788,
***************
*** 2319,2328 ****
sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid);
/*
! * Treat the 5714 like the 5750 until we have more info
* on this chip.
*/
! if (sc->bge_asicrev == BGE_ASICREV_BCM5714)
sc->bge_asicrev = BGE_ASICREV_BCM5750;
/*
--- 2321,2331 ----
sc->bge_chiprev = BGE_CHIPREV(sc->bge_chipid);
/*
! * Treat the 5714 and the 5752 like the 5750 until we have more info
* on this chip.
*/
! if (sc->bge_asicrev == BGE_ASICREV_BCM5714 ||
! sc->bge_asicrev == BGE_ASICREV_BCM5752)
sc->bge_asicrev = BGE_ASICREV_BCM5750;
/*
Only in bge: if_bge.c~
diff -r -c bge.orig/if_bgereg.h bge/if_bgereg.h
*** bge.orig/if_bgereg.h Sun Nov 13 18:50:30 2005
--- bge/if_bgereg.h Sun Nov 13 18:54:59 2005
***************
*** 250,255 ****
--- 250,256 ----
#define BGE_ASICREV_BCM5705 0x03
#define BGE_ASICREV_BCM5750 0x04
#define BGE_ASICREV_BCM5714 0x05
+ #define BGE_ASICREV_BCM5752 0x06
/* chip revisions */
#define BGE_CHIPREV(x) ((x) >> 24)
***************
*** 1875,1880 ****
--- 1876,1882 ----
#define BCOM_DEVICEID_BCM5750M 0x167C
#define BCOM_DEVICEID_BCM5751 0x1677
#define BCOM_DEVICEID_BCM5751M 0x167D
+ #define BCOM_DEVICEID_BCM5752 0x1600
#define BCOM_DEVICEID_BCM5782 0x1696
#define BCOM_DEVICEID_BCM5788 0x169C
#define BCOM_DEVICEID_BCM5789 0x169D
--- bge.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list