1 /*
2  * linux/dp83840.h: definitions for DP83840 MII-compatible transceivers
3  *
4  * Copyright (C) 1996, 1999 David S. Miller (davem@redhat.com)
5  */
6 #ifndef __LINUX_DP83840_H
7 #define __LINUX_DP83840_H
8 
9 #include <linux/mii.h>
10 
11 /*
12  * Data sheets and programming docs for the DP83840 are available at
13  * from http://www.national.com/
14  *
15  * The DP83840 is capable of both 10 and 100Mbps ethernet, in both
16  * half and full duplex mode.  It also supports auto negotiation.
17  *
18  * But.... THIS THING IS A PAIN IN THE ASS TO PROGRAM!
19  * Debugging eeprom burnt code is more fun than programming this chip!
20  */
21 
22 /* First, the MII register numbers (actually DP83840 register numbers). */
23 #define MII_CSCONFIG        0x17        /* CS configuration            */
24 
25 /* The Carrier Sense config register. */
26 #define CSCONFIG_RESV1          0x0001  /* Unused...                   */
27 #define CSCONFIG_LED4           0x0002  /* Pin for full-dplx LED4      */
28 #define CSCONFIG_LED1           0x0004  /* Pin for conn-status LED1    */
29 #define CSCONFIG_RESV2          0x0008  /* Unused...                   */
30 #define CSCONFIG_TCVDISAB       0x0010  /* Turns off the transceiver   */
31 #define CSCONFIG_DFBYPASS       0x0020  /* Bypass disconnect function  */
32 #define CSCONFIG_GLFORCE        0x0040  /* Good link force for 100mbps */
33 #define CSCONFIG_CLKTRISTATE    0x0080  /* Tristate 25m clock          */
34 #define CSCONFIG_RESV3          0x0700  /* Unused...                   */
35 #define CSCONFIG_ENCODE         0x0800  /* 1=MLT-3, 0=binary           */
36 #define CSCONFIG_RENABLE        0x1000  /* Repeater mode enable        */
37 #define CSCONFIG_TCDISABLE      0x2000  /* Disable timeout counter     */
38 #define CSCONFIG_RESV4          0x4000  /* Unused...                   */
39 #define CSCONFIG_NDISABLE       0x8000  /* Disable NRZI                */
40 
41 #endif /* __LINUX_DP83840_H */
42