Merge branch 'locking-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6] / drivers / net / sfc / gmii.h
1 /****************************************************************************
2  * Driver for Solarflare Solarstorm network controllers and boards
3  * Copyright 2005-2006 Fen Systems Ltd.
4  * Copyright 2006-2008 Solarflare Communications Inc.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU General Public License version 2 as published
8  * by the Free Software Foundation, incorporated herein by reference.
9  */
10
11 #ifndef EFX_GMII_H
12 #define EFX_GMII_H
13
14 /*
15  * GMII interface
16  */
17
18 #include <linux/mii.h>
19
20 /* GMII registers, excluding registers already defined as MII
21  * registers in mii.h
22  */
23 #define GMII_IER                0x12    /* Interrupt enable register */
24 #define GMII_ISR                0x13    /* Interrupt status register */
25
26 /* Interrupt enable register */
27 #define IER_ANEG_ERR            0x8000  /* Bit 15 - autonegotiation error */
28 #define IER_SPEED_CHG           0x4000  /* Bit 14 - speed changed */
29 #define IER_DUPLEX_CHG          0x2000  /* Bit 13 - duplex changed */
30 #define IER_PAGE_RCVD           0x1000  /* Bit 12 - page received */
31 #define IER_ANEG_DONE           0x0800  /* Bit 11 - autonegotiation complete */
32 #define IER_LINK_CHG            0x0400  /* Bit 10 - link status changed */
33 #define IER_SYM_ERR             0x0200  /* Bit 9 - symbol error */
34 #define IER_FALSE_CARRIER       0x0100  /* Bit 8 - false carrier */
35 #define IER_FIFO_ERR            0x0080  /* Bit 7 - FIFO over/underflow */
36 #define IER_MDIX_CHG            0x0040  /* Bit 6 - MDI crossover changed */
37 #define IER_DOWNSHIFT           0x0020  /* Bit 5 - downshift */
38 #define IER_ENERGY              0x0010  /* Bit 4 - energy detect */
39 #define IER_DTE_POWER           0x0004  /* Bit 2 - DTE power detect */
40 #define IER_POLARITY_CHG        0x0002  /* Bit 1 - polarity changed */
41 #define IER_JABBER              0x0001  /* Bit 0 - jabber */
42
43 /* Interrupt status register */
44 #define ISR_ANEG_ERR            0x8000  /* Bit 15 - autonegotiation error */
45 #define ISR_SPEED_CHG           0x4000  /* Bit 14 - speed changed */
46 #define ISR_DUPLEX_CHG          0x2000  /* Bit 13 - duplex changed */
47 #define ISR_PAGE_RCVD           0x1000  /* Bit 12 - page received */
48 #define ISR_ANEG_DONE           0x0800  /* Bit 11 - autonegotiation complete */
49 #define ISR_LINK_CHG            0x0400  /* Bit 10 - link status changed */
50 #define ISR_SYM_ERR             0x0200  /* Bit 9 - symbol error */
51 #define ISR_FALSE_CARRIER       0x0100  /* Bit 8 - false carrier */
52 #define ISR_FIFO_ERR            0x0080  /* Bit 7 - FIFO over/underflow */
53 #define ISR_MDIX_CHG            0x0040  /* Bit 6 - MDI crossover changed */
54 #define ISR_DOWNSHIFT           0x0020  /* Bit 5 - downshift */
55 #define ISR_ENERGY              0x0010  /* Bit 4 - energy detect */
56 #define ISR_DTE_POWER           0x0004  /* Bit 2 - DTE power detect */
57 #define ISR_POLARITY_CHG        0x0002  /* Bit 1 - polarity changed */
58 #define ISR_JABBER              0x0001  /* Bit 0 - jabber */
59
60 #endif /* EFX_GMII_H */