[U-Boot] [PATCH 4/5] altera_tse: m88e1111s: Honor device flags regarding PHY interface mode.

Joachim Foerster joachim.foerster at missinglinkelectronics.com
Mon Oct 17 17:24:45 CEST 2011


Note: This is kind of guess work. The current code is preserved for
all RGMII related modes. It is different for flags=0 (GMII) and flags=5
(SGMII). The last case, SGMII, is successfully tested on
Altera's Terasic DE4.

Signed-off-by: Joachim Foerster <joachim.foerster at missinglinkelectronics.com>
---
 drivers/net/altera_tse.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index f20f7d0..04e19cb 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -583,7 +583,11 @@ static uint mii_m88e1111s_setmode_sr(uint mii_reg, struct altera_tse_priv *priv)
 {
 	uint mii_data = tse_mdio_read(priv, mii_reg);
 	mii_data &= 0xfff0;
-	mii_data |= 0xb;
+	if ((priv->flags >= 1) && (priv->flags <= 4)) {
+		mii_data |= 0xb;
+	} else if (priv->flags == 5) {
+		mii_data |= 0x4;
+	}
 	return mii_data;
 }
 
@@ -591,7 +595,9 @@ static uint mii_m88e1111s_setmode_cr(uint mii_reg, struct altera_tse_priv *priv)
 {
 	uint mii_data = tse_mdio_read(priv, mii_reg);
 	mii_data &= ~0x82;
-	mii_data |= 0x82;
+	if ((priv->flags >= 1) && (priv->flags <= 4)) {
+		mii_data |= 0x82;
+	}
 	return mii_data;
 }
 
-- 
1.7.6



More information about the U-Boot mailing list