diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-05-15 02:05:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-05-18 00:03:42 -0400 |
commit | e0b221bf4e07edf2fda645e457dc3c35c2f2f3a9 (patch) | |
tree | 16672cf06bd73e33abb39cc150ecd40cdc289ec3 /include | |
parent | f2a3e626202a87734a47153935ec9d15c7fcf761 (diff) |
mdio: Add XENPAK LASI register definitions
These registers were originally defined for XENPAK modules, but are
also implemented by many other 10G PHYs.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mdio.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/mdio.h b/include/linux/mdio.h index 825f1e2e2ec3..56851646529a 100644 --- a/include/linux/mdio.h +++ b/include/linux/mdio.h | |||
@@ -55,6 +55,14 @@ | |||
55 | #define MDIO_AN_10GBT_CTRL 32 /* 10GBASE-T auto-negotiation control */ | 55 | #define MDIO_AN_10GBT_CTRL 32 /* 10GBASE-T auto-negotiation control */ |
56 | #define MDIO_AN_10GBT_STAT 33 /* 10GBASE-T auto-negotiation status */ | 56 | #define MDIO_AN_10GBT_STAT 33 /* 10GBASE-T auto-negotiation status */ |
57 | 57 | ||
58 | /* LASI (Link Alarm Status Interrupt) registers, defined by XENPAK MSA. */ | ||
59 | #define MDIO_PMA_LASI_RXCTRL 0x9000 /* RX_ALARM control */ | ||
60 | #define MDIO_PMA_LASI_TXCTRL 0x9001 /* TX_ALARM control */ | ||
61 | #define MDIO_PMA_LASI_CTRL 0x9002 /* LASI control */ | ||
62 | #define MDIO_PMA_LASI_RXSTAT 0x9003 /* RX_ALARM status */ | ||
63 | #define MDIO_PMA_LASI_TXSTAT 0x9004 /* TX_ALARM status */ | ||
64 | #define MDIO_PMA_LASI_STAT 0x9005 /* LASI status */ | ||
65 | |||
58 | /* Control register 1. */ | 66 | /* Control register 1. */ |
59 | /* Enable extended speed selection */ | 67 | /* Enable extended speed selection */ |
60 | #define MDIO_CTRL1_SPEEDSELEXT (BMCR_SPEED1000 | BMCR_SPEED100) | 68 | #define MDIO_CTRL1_SPEEDSELEXT (BMCR_SPEED1000 | BMCR_SPEED100) |
@@ -218,6 +226,26 @@ | |||
218 | #define MDIO_AN_10GBT_STAT_MS 0x4000 /* Master/slave config */ | 226 | #define MDIO_AN_10GBT_STAT_MS 0x4000 /* Master/slave config */ |
219 | #define MDIO_AN_10GBT_STAT_MSFLT 0x8000 /* Master/slave config fault */ | 227 | #define MDIO_AN_10GBT_STAT_MSFLT 0x8000 /* Master/slave config fault */ |
220 | 228 | ||
229 | /* LASI RX_ALARM control/status registers. */ | ||
230 | #define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */ | ||
231 | #define MDIO_PMA_LASI_RX_PCSLFLT 0x0008 /* PCS RX local fault */ | ||
232 | #define MDIO_PMA_LASI_RX_PMALFLT 0x0010 /* PMA/PMD RX local fault */ | ||
233 | #define MDIO_PMA_LASI_RX_OPTICPOWERFLT 0x0020 /* RX optical power fault */ | ||
234 | #define MDIO_PMA_LASI_RX_WISLFLT 0x0200 /* WIS local fault */ | ||
235 | |||
236 | /* LASI TX_ALARM control/status registers. */ | ||
237 | #define MDIO_PMA_LASI_TX_PHYXSLFLT 0x0001 /* PHY XS TX local fault */ | ||
238 | #define MDIO_PMA_LASI_TX_PCSLFLT 0x0008 /* PCS TX local fault */ | ||
239 | #define MDIO_PMA_LASI_TX_PMALFLT 0x0010 /* PMA/PMD TX local fault */ | ||
240 | #define MDIO_PMA_LASI_TX_LASERPOWERFLT 0x0080 /* Laser output power fault */ | ||
241 | #define MDIO_PMA_LASI_TX_LASERTEMPFLT 0x0100 /* Laser temperature fault */ | ||
242 | #define MDIO_PMA_LASI_TX_LASERBICURRFLT 0x0200 /* Laser bias current fault */ | ||
243 | |||
244 | /* LASI control/status registers. */ | ||
245 | #define MDIO_PMA_LASI_LSALARM 0x0001 /* LS_ALARM enable/status */ | ||
246 | #define MDIO_PMA_LASI_TXALARM 0x0002 /* TX_ALARM enable/status */ | ||
247 | #define MDIO_PMA_LASI_RXALARM 0x0004 /* RX_ALARM enable/status */ | ||
248 | |||
221 | /* Mapping between MDIO PRTAD/DEVAD and mii_ioctl_data::phy_id */ | 249 | /* Mapping between MDIO PRTAD/DEVAD and mii_ioctl_data::phy_id */ |
222 | 250 | ||
223 | #define MDIO_PHY_ID_C45 0x8000 | 251 | #define MDIO_PHY_ID_C45 0x8000 |