summaryrefslogtreecommitdiffstats
path: root/sys/dev/mii/e1000phyreg.h
diff options
context:
space:
mode:
authorwilko <wilko@FreeBSD.org>2003-09-20 10:53:08 +0000
committerwilko <wilko@FreeBSD.org>2003-09-20 10:53:08 +0000
commit3d954f412f973cdef480c3711423fcadd2760349 (patch)
treecdb2a8a3cec0a4df31f4f70dc242b3e215c2ae39 /sys/dev/mii/e1000phyreg.h
parent6e6824e4bcd845d2681902b69bf6bd16809bbc05 (diff)
downloadFreeBSD-src-3d954f412f973cdef480c3711423fcadd2760349.zip
FreeBSD-src-3d954f412f973cdef480c3711423fcadd2760349.tar.gz
Add support for SK-9521 V2.0 and 3COM 3C940.
Tested at 100Mbit only, using Asus P4P800 onboard 3C940. The -stable version of this patch I have in use for ~2 weeks now, and works just fine for me. Based on: Nathan L. Binkert's patch for OpenBSD Patch submitted by and thanks to: Jung-uk Kim <jkim@niksun.com> MFC after: 2 weeks
Diffstat (limited to 'sys/dev/mii/e1000phyreg.h')
-rw-r--r--sys/dev/mii/e1000phyreg.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sys/dev/mii/e1000phyreg.h b/sys/dev/mii/e1000phyreg.h
index e7dfb36..bdfc665 100644
--- a/sys/dev/mii/e1000phyreg.h
+++ b/sys/dev/mii/e1000phyreg.h
@@ -107,6 +107,7 @@
#define E1000_ID2 0x03 /* ID register 2 */
#define E1000_ID_88E1000 0x01410C50
#define E1000_ID_88E1000S 0x01410C40
+#define E1000_ID_88E1011 0x01410C20
#define E1000_ID_MASK 0xFFFFFFF0
#define E1000_AR 0x04 /* autonegotiation advertise reg */
@@ -122,6 +123,15 @@
#define E1000_AR_NEXT_PAGE 0x8000
#define E1000_AR_SPEED_MASK 0x01E0
+/* Autonegotiation register bits for fiber cards (Alaska Only!) */
+#define E1000_FA_1000X_FD 0x0020
+#define E1000_FA_1000X 0x0040
+#define E1000_FA_SYM_PAUSE 0x0080
+#define E1000_FA_ASYM_PAUSE 0x0100
+#define E1000_FA_FAULT1 0x1000
+#define E1000_FA_FAULT2 0x2000
+#define E1000_FA_NEXT_PAGE 0x8000
+
#define E1000_LPAR 0x05 /* autoneg link partner abilities reg */
#define E1000_LPAR_SELECTOR_FIELD 0x0001
#define E1000_LPAR_10T 0x0020
@@ -135,6 +145,16 @@
#define E1000_LPAR_ACKNOWLEDGE 0x4000
#define E1000_LPAR_NEXT_PAGE 0x8000
+/* autoneg link partner ability register bits for fiber cards (Alaska Only!) */
+#define E1000_FPAR_1000X_FD 0x0020
+#define E1000_FPAR_1000X 0x0040
+#define E1000_FPAR_SYM_PAUSE 0x0080
+#define E1000_FPAR_ASYM_PAUSE 0x0100
+#define E1000_FPAR_FAULT1 0x1000
+#define E1000_FPAR_FAULT2 0x2000
+#define E1000_FPAR_ACK 0x4000
+#define E1000_FPAR_NEXT_PAGE 0x8000
+
#define E1000_ER 0x06 /* autoneg expansion reg */
#define E1000_ER_LP_NWAY 0x0001
#define E1000_ER_PAGE_RXD 0x0002
@@ -284,3 +304,11 @@
#define E1000_LCR_PULSE_340_670MS 0x5000
#define E1000_LCR_PULSE_670_13S 0x6000
#define E1000_LCR_PULSE_13_26S 0x7000
+
+/* The following register is found only on the 88E1011 Alaska PHY */
+#define E1000_ESSR 0x1B /* Extended PHY specific sts */
+#define E1000_ESSR_FIBER_LINK 0x2000
+#define E1000_ESSR_GMII_COPPER 0x000f
+#define E1000_ESSR_GMII_FIBER 0x0007
+#define E1000_ESSR_TBI_COPPER 0x000d
+#define E1000_ESSR_TBI_FIBER 0x0005
OpenPOWER on IntegriCloud