summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorRon Madrid <ron_madrid@sbcglobal.net>2008-05-23 15:37:05 -0700
committerBen Warren <biggerbadderben@gmail.com>2008-05-23 20:25:19 -0700
commit290ef6436838b1cc013bd67e0e0495c9eb3e23c0 (patch)
tree4c0733de56b241ddd3b4090b0c099e25d65232ea /drivers
parent557b377d8bfc8b833b6e749457bcdfa298331a24 (diff)
downloadu-boot-imx-290ef6436838b1cc013bd67e0e0495c9eb3e23c0.zip
u-boot-imx-290ef6436838b1cc013bd67e0e0495c9eb3e23c0.tar.gz
u-boot-imx-290ef6436838b1cc013bd67e0e0495c9eb3e23c0.tar.bz2
Add Marvell 88E1118 support for TSEC
Signed-off-by: Ron Madrid <ron_madrid@sbcglobal.net> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/tsec.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index c7af930..397ae71 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -1128,6 +1128,36 @@ struct phy_info phy_info_M88E1111S = {
},
};
+struct phy_info phy_info_M88E1118 = {
+ 0x01410e1,
+ "Marvell 88E1118",
+ 4,
+ (struct phy_cmd[]){ /* config */
+ /* Reset and configure the PHY */
+ {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+ {0x16, 0x0002, NULL}, /* Change Page Number */
+ {0x15, 0x1070, NULL}, /* Delay RGMII TX and RX */
+ {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
+ {MIIM_ANAR, MIIM_ANAR_INIT, NULL},
+ {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+ {MIIM_CONTROL, MIIM_CONTROL_INIT, &mii_cr_init},
+ {miim_end,}
+ },
+ (struct phy_cmd[]){ /* startup */
+ {0x16, 0x0000, NULL}, /* Change Page Number */
+ /* Status is read once to clear old link state */
+ {MIIM_STATUS, miim_read, NULL},
+ /* Auto-negotiate */
+ /* Read the status */
+ {MIIM_88E1011_PHY_STATUS, miim_read,
+ &mii_parse_88E1011_psr},
+ {miim_end,}
+ },
+ (struct phy_cmd[]){ /* shutdown */
+ {miim_end,}
+ },
+};
+
static unsigned int m88e1145_setmode(uint mii_reg, struct tsec_private *priv)
{
uint mii_data = read_phy_reg(priv, mii_reg);
@@ -1492,6 +1522,7 @@ struct phy_info *phy_info[] = {
&phy_info_BCM5464S,
&phy_info_M88E1011S,
&phy_info_M88E1111S,
+ &phy_info_M88E1118,
&phy_info_M88E1145,
&phy_info_M88E1149S,
&phy_info_dm9161,