diff options
author | Divy Le Ray <divy@chelsio.com> | 2008-10-08 20:40:07 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-10-08 20:40:07 -0400 |
commit | 1e8820256f9921370cd7423396871e2d850e0323 (patch) | |
tree | 903d42f7d83b2b90ff7fd42523231a0e1862a797 /drivers/net/cxgb3/common.h | |
parent | 9b1e36566c5fafbcc732c971acfcf8580332931a (diff) |
cxgb3: Support for Aeluros 2005 PHY
Add support for SR PHY.
Auto-detect phy module type, and report type changes.
Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/cxgb3/common.h')
-rw-r--r-- | drivers/net/cxgb3/common.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/net/cxgb3/common.h b/drivers/net/cxgb3/common.h index d1b6b1e62f41..416d3dd258e0 100644 --- a/drivers/net/cxgb3/common.h +++ b/drivers/net/cxgb3/common.h | |||
@@ -547,7 +547,19 @@ enum { | |||
547 | /* PHY interrupt types */ | 547 | /* PHY interrupt types */ |
548 | enum { | 548 | enum { |
549 | cphy_cause_link_change = 1, | 549 | cphy_cause_link_change = 1, |
550 | cphy_cause_fifo_error = 2 | 550 | cphy_cause_fifo_error = 2, |
551 | cphy_cause_module_change = 4, | ||
552 | }; | ||
553 | |||
554 | /* PHY module types */ | ||
555 | enum { | ||
556 | phy_modtype_none, | ||
557 | phy_modtype_sr, | ||
558 | phy_modtype_lr, | ||
559 | phy_modtype_lrm, | ||
560 | phy_modtype_twinax, | ||
561 | phy_modtype_twinax_long, | ||
562 | phy_modtype_unknown | ||
551 | }; | 563 | }; |
552 | 564 | ||
553 | /* PHY operations */ | 565 | /* PHY operations */ |
@@ -572,7 +584,9 @@ struct cphy_ops { | |||
572 | 584 | ||
573 | /* A PHY instance */ | 585 | /* A PHY instance */ |
574 | struct cphy { | 586 | struct cphy { |
575 | int addr; /* PHY address */ | 587 | u8 addr; /* PHY address */ |
588 | u8 modtype; /* PHY module type */ | ||
589 | short priv; /* scratch pad */ | ||
576 | unsigned int caps; /* PHY capabilities */ | 590 | unsigned int caps; /* PHY capabilities */ |
577 | struct adapter *adapter; /* associated adapter */ | 591 | struct adapter *adapter; /* associated adapter */ |
578 | const char *desc; /* PHY description */ | 592 | const char *desc; /* PHY description */ |
@@ -794,6 +808,8 @@ int t3_ael1002_phy_prep(struct cphy *phy, struct adapter *adapter, | |||
794 | int phy_addr, const struct mdio_ops *mdio_ops); | 808 | int phy_addr, const struct mdio_ops *mdio_ops); |
795 | int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter, | 809 | int t3_ael1006_phy_prep(struct cphy *phy, struct adapter *adapter, |
796 | int phy_addr, const struct mdio_ops *mdio_ops); | 810 | int phy_addr, const struct mdio_ops *mdio_ops); |
811 | int t3_ael2005_phy_prep(struct cphy *phy, struct adapter *adapter, | ||
812 | int phy_addr, const struct mdio_ops *mdio_ops); | ||
797 | int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, | 813 | int t3_qt2045_phy_prep(struct cphy *phy, struct adapter *adapter, int phy_addr, |
798 | const struct mdio_ops *mdio_ops); | 814 | const struct mdio_ops *mdio_ops); |
799 | int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, | 815 | int t3_xaui_direct_phy_prep(struct cphy *phy, struct adapter *adapter, |