summaryrefslogtreecommitdiffstats
path: root/sys/pci
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1999-02-11 23:41:21 +0000
committerjulian <julian@FreeBSD.org>1999-02-11 23:41:21 +0000
commitdf54d1cb306b84e85e036f6aa85722108dee9fd3 (patch)
treeede558bf38be4808ef6a6912941cfd74be1f63e8 /sys/pci
parent8662f3309ee82b8c186661c652cdc13bd09ca1b9 (diff)
downloadFreeBSD-src-df54d1cb306b84e85e036f6aa85722108dee9fd3.zip
FreeBSD-src-df54d1cb306b84e85e036f6aa85722108dee9fd3.tar.gz
Define more registers and fix incorrect (but unused) register bit definitions.
Diffstat (limited to 'sys/pci')
-rw-r--r--sys/pci/if_fxpreg.h39
1 files changed, 29 insertions, 10 deletions
diff --git a/sys/pci/if_fxpreg.h b/sys/pci/if_fxpreg.h
index 3fee3af..d6db196 100644
--- a/sys/pci/if_fxpreg.h
+++ b/sys/pci/if_fxpreg.h
@@ -24,7 +24,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: if_fxpreg.h,v 1.13 1998/06/08 09:47:46 bde Exp $
+ * $Id: if_fxpreg.h,v 1.14 1999/02/11 21:47:10 julian Exp $
*/
#define FXP_VENDORID_INTEL 0x8086
@@ -331,13 +331,15 @@ struct fxp_stats {
/*
* PHY BMCR Basic Mode Control Register
- * Should probably be in i82555.h.
+ * Should probably be in i82555.h or dp83840.h (Intel/National names).
* (Called "Management Data Interface Control Reg" in some Intel data books).
* (*) indicates bit ignored in auto negotiation mode.
*/
#define FXP_PHY_BMCR 0x0
+#define FXP_PHY_BMCR_COLTEST 0x0080 /* not on Intel parts */
#define FXP_PHY_BMCR_FULLDUPLEX 0x0100 /* 1 = Fullduplex (*) */
#define FXP_PHY_BMCR_RESTART_NEG 0x0200 /* ==> 1 to restart autoneg */
+#define FXP_PHY_BMCR_ISOLATE 0x0400 /* not on Intel parts */
#define FXP_PHY_BMCR_POWERDOWN 0x0800 /* 1 = low power mode */
#define FXP_PHY_BMCR_AUTOEN 0x1000 /* 1 = for auto mode */
#define FXP_PHY_BMCR_SPEED_100M 0x2000 /* 1 = for 100Mb/sec (*) */
@@ -345,7 +347,9 @@ struct fxp_stats {
#define FXP_PHY_BMCR_RESET 0x8000 /* ==> 1 sets to defaults */
/*
- * Management Data Interface Status reg.
+ * Basic Mode Status Register (National name)
+ * Management Data Interface Status reg. (Intel name)
+ * in both Intel and National parts.
*/
#define FXP_PHY_STS 0x1
#define FXP_PHY_STS_EXND 0x0001 /* Extended regs enabled */
@@ -355,10 +359,11 @@ struct fxp_stats {
#define FXP_PHY_STS_REMT_FAULT 0x0010 /* remote fault detected */
#define FXP_PHY_STS_AUTO_DONE 0x0020 /* auto negotiation completed */
#define FXP_PHY_STS_MGMT_PREAMBLE 0x0040 /* real complicated */
-#define FXP_PHY_STS_10HDX_OK 0x1000 /* can do 10Mb HDX */
-#define FXP_PHY_STS_10FDX_OK 0x2000 /* can do 10Mb FDX */
-#define FXP_PHY_STS_100HDX_OK 0x4000 /* can do 100Mb HDX */
-#define FXP_PHY_STS_100FDX_OK 0x8000 /* can do 100Mb FDX */
+#define FXP_PHY_STS_10HDX_OK 0x0800 /* can do 10Mb HDX */
+#define FXP_PHY_STS_10FDX_OK 0x1000 /* can do 10Mb FDX */
+#define FXP_PHY_STS_100HDX_OK 0x2000 /* can do 100Mb HDX */
+#define FXP_PHY_STS_100FDX_OK 0x4000 /* can do 100Mb FDX */
+#define FXP_PHY_STS_100T4_OK 0x8000 /* can do 100bT4 -not Intel */
/*
* More Phy regs
@@ -381,6 +386,7 @@ struct fxp_stats {
/*
* Phy Unit Status and Control Register (another one)
+ * This is not in the National part!
*/
#define FXP_PHY_USC 0x10
#define FXP_PHY_USC_DUPLEX 0x0001 /* in FDX mode */
@@ -394,10 +400,23 @@ struct fxp_stats {
/*
- * DP84830 PHY, PCS Configuration Register
+ * DP83830 PHY, PCS Configuration Register
+ * NOT compatible with Intel parts,
+ * (where it is the 100BTX premature eof counter).
*/
#define FXP_DP83840_PCR 0x17
-#define FXP_DP83840_PCR_LED4_MODE 0x0002 /* 1 = LED4 always indicates full duplex */
-#define FXP_DP83840_PCR_F_CONNECT 0x0020 /* 1 = force link disconnect function bypass */
+#define FXP_DP83840_PCR_LED4_MODE 0x0002 /* 1 = LED4 always = FDX */
+#define FXP_DP83840_PCR_F_CONNECT 0x0020 /* 1 = link disconnect bypass */
#define FXP_DP83840_PCR_BIT8 0x0100
#define FXP_DP83840_PCR_BIT10 0x0400
+
+/*
+ * DP83830 PHY, Address/status Register
+ * NOT compatible with Intel parts,
+ * (where it is the 10BT jabber detect counter).
+ */
+#define FXP_DP83840_PAR 0x19
+#define FXP_DP83840_PAR_PHYADDR 0x1F
+#define FXP_DP83840_PAR_CON_STATUS 0x20
+#define FXP_DP83840_PAR_SPEED_10 0x40 /* 1 == running at 10 Mb/Sec */
+
OpenPOWER on IntegriCloud