summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Tyser <ptyser@xes-inc.com>2009-11-09 13:09:48 -0600
committerBen Warren <biggerbadderben@gmail.com>2010-01-31 22:34:34 -0800
commit5f6b1442218fcb6a3ef0d2be05d84119cebfe0ae (patch)
treeb0f19fb69f8a91e1e3ff1d1bbddaea9fe3e50f98
parent8abb8dcc8d6f2a9e31551a6fa41de97bd1f15350 (diff)
tsec: Add TSEC_FIBER flag
The TSEC_FIBER flag should be set when a PHY is operating with an external fiber interface. Currently it is only used to notify a user that the PHY is operating in fiber mode. A short description was also added to the other TSEC flag defines so that it is clear how they differ from one another. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--drivers/net/tsec.c6
-rw-r--r--include/tsec.h6
2 files changed, 7 insertions, 5 deletions
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 7600e40de9..fd49eff183 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -617,6 +617,7 @@ static uint mii_parse_BCM5482_sr(uint mii_reg, struct tsec_private *priv)
{
if (BCM8482_is_serdes(priv)) {
mii_parse_BCM5482_serdes_sr(priv);
+ priv->flags |= TSEC_FIBER;
} else {
/* Wait for auto-negotiation to complete or fail */
mii_parse_sr(mii_reg, priv);
@@ -940,8 +941,9 @@ static void adjust_link(struct eth_device *dev)
break;
}
- printf("Speed: %d, %s duplex\n", priv->speed,
- (priv->duplexity) ? "full" : "half");
+ printf("Speed: %d, %s duplex%s\n", priv->speed,
+ (priv->duplexity) ? "full" : "half",
+ (priv->flags & TSEC_FIBER) ? ", fiber mode" : "");
} else {
printf("%s: No link.\n", dev->name);
diff --git a/include/tsec.h b/include/tsec.h
index b2e37d4323..1e903659eb 100644
--- a/include/tsec.h
+++ b/include/tsec.h
@@ -584,9 +584,9 @@ typedef struct tsec
/* This flag currently only has
* meaning if we're using the eTSEC */
-#define TSEC_REDUCED (1 << 1)
-
-#define TSEC_SGMII (1 << 2)
+#define TSEC_REDUCED (1 << 1) /* MAC-PHY interface uses RGMII */
+#define TSEC_SGMII (1 << 2) /* MAC-PHY interface uses SGMII */
+#define TSEC_FIBER (1 << 3) /* PHY uses fiber, eg 1000 Base-X */
struct tsec_private {
volatile tsec_t *regs;