sunhme.h

来自「Linux内核源代码 为压缩文件 是<<Linux内核>&gt」· C头文件 代码 · 共 614 行 · 第 1/3 页

H
614
字号
#define BIGMAC_XCFG_XLBACK    0x00000002 /* Loopback-mode XIF enable     */#define BIGMAC_XCFG_MLBACK    0x00000004 /* Loopback-mode MII enable     */#define BIGMAC_XCFG_MIIDISAB  0x00000008 /* MII receive buffer disable   */#define BIGMAC_XCFG_SQENABLE  0x00000010 /* SQE test enable              */#define BIGMAC_XCFG_SQETWIN   0x000003e0 /* SQE time window              */#define BIGMAC_XCFG_LANCE     0x00000010 /* Lance mode enable            */#define BIGMAC_XCFG_LIPG0     0x000003e0 /* Lance mode IPG0              *//* BigMac transmit config register. */#define BIGMAC_TXCFG_ENABLE   0x00000001 /* Enable the transmitter       */#define BIGMAC_TXCFG_SMODE    0x00000020 /* Enable slow transmit mode    */#define BIGMAC_TXCFG_CIGN     0x00000040 /* Ignore transmit collisions   */#define BIGMAC_TXCFG_FCSOFF   0x00000080 /* Do not emit FCS              */#define BIGMAC_TXCFG_DBACKOFF 0x00000100 /* Disable backoff              */#define BIGMAC_TXCFG_FULLDPLX 0x00000200 /* Enable full-duplex           */#define BIGMAC_TXCFG_DGIVEUP  0x00000400 /* Don't give up on transmits   *//* BigMac receive config register. */#define BIGMAC_RXCFG_ENABLE   0x00000001 /* Enable the receiver             */#define BIGMAC_RXCFG_PSTRIP   0x00000020 /* Pad byte strip enable           */#define BIGMAC_RXCFG_PMISC    0x00000040 /* Enable promiscous mode          */#define BIGMAC_RXCFG_DERR     0x00000080 /* Disable error checking          */#define BIGMAC_RXCFG_DCRCS    0x00000100 /* Disable CRC stripping           */#define BIGMAC_RXCFG_ME       0x00000200 /* Receive packets addressed to me */#define BIGMAC_RXCFG_PGRP     0x00000400 /* Enable promisc group mode       */#define BIGMAC_RXCFG_HENABLE  0x00000800 /* Enable the hash filter          */#define BIGMAC_RXCFG_AENABLE  0x00001000 /* Enable the address filter       *//* These are the "Management Interface" (ie. MIF) registers of the transceiver. */#define TCVR_BBCLOCK	0x00UL	/* Bit bang clock register          */#define TCVR_BBDATA	0x04UL	/* Bit bang data register           */#define TCVR_BBOENAB	0x08UL	/* Bit bang output enable           */#define TCVR_FRAME	0x0cUL	/* Frame control/data register      */#define TCVR_CFG	0x10UL	/* MIF config register              */#define TCVR_IMASK	0x14UL	/* MIF interrupt mask               */#define TCVR_STATUS	0x18UL	/* MIF status                       */#define TCVR_SMACHINE	0x1cUL	/* MIF state machine                */#define TCVR_REG_SIZE	0x20UL/* Frame commands. */#define FRAME_WRITE           0x50020000#define FRAME_READ            0x60020000/* Transceiver config register */#define TCV_CFG_PSELECT       0x00000001 /* Select PHY                      */#define TCV_CFG_PENABLE       0x00000002 /* Enable MIF polling              */#define TCV_CFG_BENABLE       0x00000004 /* Enable the "bit banger" oh baby */#define TCV_CFG_PREGADDR      0x000000f8 /* Address of poll register        */#define TCV_CFG_MDIO0         0x00000100 /* MDIO zero, data/attached        */#define TCV_CFG_MDIO1         0x00000200 /* MDIO one,  data/attached        */#define TCV_CFG_PDADDR        0x00007c00 /* Device PHY address polling      *//* Here are some PHY addresses. */#define TCV_PADDR_ETX         0          /* Internal transceiver            */#define TCV_PADDR_ITX         1          /* External transceiver            *//* Transceiver status register */#define TCV_STAT_BASIC        0xffff0000 /* The "basic" part                */#define TCV_STAT_NORMAL       0x0000ffff /* The "non-basic" part            *//* Inside the Happy Meal transceiver is the physical layer, they use an * implementations for National Semiconductor, part number DP83840VCE. * You can retrieve the data sheets and programming docs for this beast * from http://www.national.com/ * * The DP83840 is capable of both 10 and 100Mbps ethernet, in both * half and full duplex mode.  It also supports auto negotiation. * * But.... THIS THING IS A PAIN IN THE ASS TO PROGRAM! * Debugging eeprom burnt code is more fun than programming this chip! *//* First, the DP83840 register numbers. */#define DP83840_BMCR            0x00        /* Basic mode control register */#define DP83840_BMSR            0x01        /* Basic mode status register  */#define DP83840_PHYSID1         0x02        /* PHYS ID 1                   */#define DP83840_PHYSID2         0x03        /* PHYS ID 2                   */#define DP83840_ADVERTISE       0x04        /* Advertisement control reg   */#define DP83840_LPA             0x05        /* Link partner ability reg    */#define DP83840_EXPANSION       0x06        /* Expansion register          */#define DP83840_DCOUNTER        0x12        /* Disconnect counter          */#define DP83840_FCSCOUNTER      0x13        /* False carrier counter       */#define DP83840_NWAYTEST        0x14        /* N-way auto-neg test reg     */#define DP83840_RERRCOUNTER     0x15        /* Receive error counter       */#define DP83840_SREVISION       0x16        /* Silicon revision            */#define DP83840_CSCONFIG        0x17        /* CS configuration            */#define DP83840_LBRERROR        0x18        /* Lpback, rx, bypass error    */#define DP83840_PHYADDR         0x19        /* PHY address                 */#define DP83840_RESERVED        0x1a        /* Unused...                   */#define DP83840_TPISTATUS       0x1b        /* TPI status for 10mbps       */#define DP83840_NCONFIG         0x1c        /* Network interface config    *//* Basic mode control register. */#define BMCR_RESV               0x007f  /* Unused...                   */#define BMCR_CTST               0x0080  /* Collision test              */#define BMCR_FULLDPLX           0x0100  /* Full duplex                 */#define BMCR_ANRESTART          0x0200  /* Auto negotiation restart    */#define BMCR_ISOLATE            0x0400  /* Disconnect DP83840 from MII */#define BMCR_PDOWN              0x0800  /* Powerdown the DP83840       */#define BMCR_ANENABLE           0x1000  /* Enable auto negotiation     */#define BMCR_SPEED100           0x2000  /* Select 100Mbps              */#define BMCR_LOOPBACK           0x4000  /* TXD loopback bits           */#define BMCR_RESET              0x8000  /* Reset the DP83840           *//* Basic mode status register. */#define BMSR_ERCAP              0x0001  /* Ext-reg capability          */#define BMSR_JCD                0x0002  /* Jabber detected             */#define BMSR_LSTATUS            0x0004  /* Link status                 */#define BMSR_ANEGCAPABLE        0x0008  /* Able to do auto-negotiation */#define BMSR_RFAULT             0x0010  /* Remote fault detected       */#define BMSR_ANEGCOMPLETE       0x0020  /* Auto-negotiation complete   */#define BMSR_RESV               0x07c0  /* Unused...                   */#define BMSR_10HALF             0x0800  /* Can do 10mbps, half-duplex  */#define BMSR_10FULL             0x1000  /* Can do 10mbps, full-duplex  */#define BMSR_100HALF            0x2000  /* Can do 100mbps, half-duplex */#define BMSR_100FULL            0x4000  /* Can do 100mbps, full-duplex */#define BMSR_100BASE4           0x8000  /* Can do 100mbps, 4k packets  *//* Advertisement control register. */#define ADVERTISE_SLCT          0x001f  /* Selector bits               */#define ADVERTISE_CSMA          0x0001  /* Only selector supported     */#define ADVERTISE_10HALF        0x0020  /* Try for 10mbps half-duplex  */#define ADVERTISE_10FULL        0x0040  /* Try for 10mbps full-duplex  */#define ADVERTISE_100HALF       0x0080  /* Try for 100mbps half-duplex */#define ADVERTISE_100FULL       0x0100  /* Try for 100mbps full-duplex */#define ADVERTISE_100BASE4      0x0200  /* Try for 100mbps 4k packets  */#define ADVERTISE_RESV          0x1c00  /* Unused...                   */#define ADVERTISE_RFAULT        0x2000  /* Say we can detect faults    */#define ADVERTISE_LPACK         0x4000  /* Ack link partners response  */#define ADVERTISE_NPAGE         0x8000  /* Next page bit               */#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \                       ADVERTISE_100HALF | ADVERTISE_100FULL)/* Link partner ability register. */#define LPA_SLCT                0x001f  /* Same as advertise selector  */#define LPA_10HALF              0x0020  /* Can do 10mbps half-duplex   */#define LPA_10FULL              0x0040  /* Can do 10mbps full-duplex   */#define LPA_100HALF             0x0080  /* Can do 100mbps half-duplex  */#define LPA_100FULL             0x0100  /* Can do 100mbps full-duplex  */#define LPA_100BASE4            0x0200  /* Can do 100mbps 4k packets   */#define LPA_RESV                0x1c00  /* Unused...                   */#define LPA_RFAULT              0x2000  /* Link partner faulted        */#define LPA_LPACK               0x4000  /* Link partner acked us       */#define LPA_NPAGE               0x8000  /* Next page bit               *//* Expansion register for auto-negotiation. */#define EXPANSION_NWAY          0x0001  /* Can do N-way auto-nego      */#define EXPANSION_LCWP          0x0002  /* Got new RX page code word   */#define EXPANSION_ENABLENPAGE   0x0004  /* This enables npage words    */#define EXPANSION_NPCAPABLE     0x0008  /* Link partner supports npage */#define EXPANSION_MFAULTS       0x0010  /* Multiple faults detected    */#define EXPANSION_RESV          0xffe0  /* Unused...                   *//* N-way test register. */#define NWAYTEST_RESV1          0x00ff  /* Unused...                   */#define NWAYTEST_LOOPBACK       0x0100  /* Enable loopback for N-way   */#define NWAYTEST_RESV2          0xfe00  /* Unused...                   *//* The Carrier Sense config register. */#define CSCONFIG_RESV1          0x0001  /* Unused...                   */#define CSCONFIG_LED4           0x0002  /* Pin for full-dplx LED4      */#define CSCONFIG_LED1           0x0004  /* Pin for conn-status LED1    */#define CSCONFIG_RESV2          0x0008  /* Unused...                   */#define CSCONFIG_TCVDISAB       0x0010  /* Turns off the transceiver   */#define CSCONFIG_DFBYPASS       0x0020  /* Bypass disconnect function  */#define CSCONFIG_GLFORCE        0x0040  /* Good link force for 100mbps */#define CSCONFIG_CLKTRISTATE    0x0080  /* Tristate 25m clock          */#define CSCONFIG_RESV3          0x0700  /* Unused...                   */#define CSCONFIG_ENCODE         0x0800  /* 1=MLT-3, 0=binary           */#define CSCONFIG_RENABLE        0x1000  /* Repeater mode enable        */#define CSCONFIG_TCDISABLE      0x2000  /* Disable timeout counter     */#define CSCONFIG_RESV4          0x4000  /* Unused...                   */#define CSCONFIG_NDISABLE       0x8000  /* Disable NRZI                *//* Loopback, receive, bypass error register. */#define LBRERROR_EBUFFER        0x0001  /* Show elasticity buf errors  */#define LBRERROR_PACKET         0x0002  /* Show packet errors          */#define LBRERROR_LINK           0x0004  /* Show link errors            */#define LBRERROR_END            0x0008  /* Show premature end errors   */#define LBRERROR_CODE           0x0010  /* Show code errors            */#define LBRERROR_RESV1          0x00e0  /* Unused...                   */#define LBRERROR_LBACK          0x0300  /* Remote and twister loopback */#define LBRERROR_10TX           0x0400  /* Transceiver loopback 10mbps */#define LBRERROR_ENDEC          0x0800  /* ENDEC loopback 10mbps       */#define LBRERROR_ALIGN          0x1000  /* Bypass symbol alignment     */#define LBRERROR_SCRAMBLER      0x2000  /* Bypass (de)scrambler        */#define LBRERROR_ENCODER        0x4000  /* Bypass 4B5B/5B4B encoders   */#define LBRERROR_BEBUF          0x8000  /* Bypass elasticity buffers   *//* Physical address register. */#define PHYADDR_ADDRESS         0x001f  /* The address itself          */#define PHYADDR_DISCONNECT      0x0020  /* Disconnect status           */#define PHYADDR_10MBPS          0x0040  /* 1=10mbps, 0=100mbps         */#define PHYADDR_RESV            0xff80  /* Unused...                   *//* TPI status register for 10mbps. */#define TPISTATUS_RESV1         0x01ff  /* Unused...                   */#define TPISTATUS_SERIAL        0x0200  /* Enable 10mbps serial mode   */#define TPISTATUS_RESV2         0xfc00  /* Unused...                   *//* Network interface config register. */#define NCONFIG_JENABLE         0x0001  /* Jabber enable               */#define NCONFIG_RESV1           0x0002  /* Unused...                   */#define NCONFIG_SQUELCH         0x0004  /* Use low squelch             */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?