diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2007-01-03 21:54:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-01-03 21:54:43 -0500 |
commit | 63ea998a26d4e03d390fbe31818cc552994d16fd (patch) | |
tree | ab12dd7eb3a0018ae5ab62a798b1d11b0b619e71 /drivers/net/sungem_phy.h | |
parent | 7f18ba6248625a587559ed1206d12ccaa3ad045e (diff) |
[SUNGEM]: PHY updates & pause fixes (#2)
This patch adds support for a few more PHYs used by Apple and fixes
advertising and detecting of Pause (we were missing setting the bit in
MII_ADVERTISE and weren't testing in LPA for all PHYs).
Note that I currently only advertise pause, not asymetric pause. I
don't know for sure the details there, I suppose I should read a bit
more 802.3 references, and I don't now what sungem is capable of, but
I noticed the PCS code (originated from you) does the same.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sungem_phy.h')
-rw-r--r-- | drivers/net/sungem_phy.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/sungem_phy.h b/drivers/net/sungem_phy.h index 8ee1ca0471cf..1d70ba6f9f10 100644 --- a/drivers/net/sungem_phy.h +++ b/drivers/net/sungem_phy.h | |||
@@ -30,7 +30,7 @@ struct mii_phy_def | |||
30 | struct mii_phy | 30 | struct mii_phy |
31 | { | 31 | { |
32 | struct mii_phy_def* def; | 32 | struct mii_phy_def* def; |
33 | int advertising; | 33 | u32 advertising; |
34 | int mii_id; | 34 | int mii_id; |
35 | 35 | ||
36 | /* 1: autoneg enabled, 0: disabled */ | 36 | /* 1: autoneg enabled, 0: disabled */ |
@@ -85,6 +85,9 @@ extern int mii_phy_probe(struct mii_phy *phy, int mii_id); | |||
85 | #define MII_BCM5221_SHDOW_AUX_MODE4_IDDQMODE 0x0001 | 85 | #define MII_BCM5221_SHDOW_AUX_MODE4_IDDQMODE 0x0001 |
86 | #define MII_BCM5221_SHDOW_AUX_MODE4_CLKLOPWR 0x0004 | 86 | #define MII_BCM5221_SHDOW_AUX_MODE4_CLKLOPWR 0x0004 |
87 | 87 | ||
88 | /* MII BCM5241 Additional registers */ | ||
89 | #define MII_BCM5241_SHDOW_AUX_MODE4_STANDBYPWR 0x0008 | ||
90 | |||
88 | /* MII BCM5400 1000-BASET Control register */ | 91 | /* MII BCM5400 1000-BASET Control register */ |
89 | #define MII_BCM5400_GB_CONTROL 0x09 | 92 | #define MII_BCM5400_GB_CONTROL 0x09 |
90 | #define MII_BCM5400_GB_CONTROL_FULLDUPLEXCAP 0x0200 | 93 | #define MII_BCM5400_GB_CONTROL_FULLDUPLEXCAP 0x0200 |
@@ -115,5 +118,7 @@ extern int mii_phy_probe(struct mii_phy *phy, int mii_id); | |||
115 | #define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 0xc000 | 118 | #define MII_M1011_PHY_SPEC_STATUS_SPD_MASK 0xc000 |
116 | #define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 0x2000 | 119 | #define MII_M1011_PHY_SPEC_STATUS_FULLDUPLEX 0x2000 |
117 | #define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800 | 120 | #define MII_M1011_PHY_SPEC_STATUS_RESOLVED 0x0800 |
121 | #define MII_M1011_PHY_SPEC_STATUS_TX_PAUSE 0x0008 | ||
122 | #define MII_M1011_PHY_SPEC_STATUS_RX_PAUSE 0x0004 | ||
118 | 123 | ||
119 | #endif /* __SUNGEM_PHY_H__ */ | 124 | #endif /* __SUNGEM_PHY_H__ */ |