diff options
author | Ron Madrid <ron_madrid@sbcglobal.net> | 2008-05-23 15:37:05 -0700 |
---|---|---|
committer | Ben Warren <biggerbadderben@gmail.com> | 2008-05-23 20:25:19 -0700 |
commit | 290ef6436838b1cc013bd67e0e0495c9eb3e23c0 (patch) | |
tree | 4c0733de56b241ddd3b4090b0c099e25d65232ea /drivers/net/tsec.c | |
parent | 557b377d8bfc8b833b6e749457bcdfa298331a24 (diff) | |
download | u-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/net/tsec.c')
-rw-r--r-- | drivers/net/tsec.c | 31 |
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, |