aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mdio.h
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2009-05-15 02:05:49 -0400
committerDavid S. Miller <davem@davemloft.net>2009-05-18 00:03:42 -0400
commite0b221bf4e07edf2fda645e457dc3c35c2f2f3a9 (patch)
tree16672cf06bd73e33abb39cc150ecd40cdc289ec3 /include/linux/mdio.h
parentf2a3e626202a87734a47153935ec9d15c7fcf761 (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/linux/mdio.h')
-rw-r--r--include/linux/mdio.h28
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