| Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 1 | /**************************************************************************** | 
|  | 2 | * Driver for Solarflare Solarstorm network controllers and boards | 
|  | 3 | * Copyright 2005-2006 Fen Systems Ltd. | 
| Ben Hutchings | f31a45d | 2008-12-12 21:43:33 -0800 | [diff] [blame] | 4 | * Copyright 2006-2008 Solarflare Communications Inc. | 
| Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 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 |  | 
| Ben Hutchings | 8ceee66 | 2008-04-27 12:55:59 +0100 | [diff] [blame] | 60 | #endif /* EFX_GMII_H */ |