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