summaryrefslogtreecommitdiff
path: root/drivers/tsec.c
diff options
context:
space:
mode:
authorJoe Hamman <joe.hamman@embeddedspecialties.com>2007-04-30 16:47:28 -0500
committerWolfgang Denk <wd@denx.de>2007-05-15 23:09:23 +0200
commitc3243cf7b490057277d61acffe4ad0946f9eb4a4 (patch)
tree336615f6fa584aef99b09895778f1244c472047c /drivers/tsec.c
parent1b305bdc754c8468e1d5d858f5dcf8a7a0a4bb7a (diff)
Add support for BCM5464 Quad Phy
Added support for Broadcom's BCM5464 Quad Phy Signed-off-by: Joe Hamman <joe.hamman@embeddedspecialties.com>
Diffstat (limited to 'drivers/tsec.c')
-rw-r--r--drivers/tsec.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/drivers/tsec.c b/drivers/tsec.c
index b4187739cb0..790ba47c781 100644
--- a/drivers/tsec.c
+++ b/drivers/tsec.c
@@ -928,6 +928,33 @@ struct phy_info phy_info_BCM5461S = {
},
};
+struct phy_info phy_info_BCM5464S = {
+ 0x02060b1, /* 5464 ID */
+ "Broadcom BCM5464S",
+ 0, /* not clear to me what minor revisions we can shift away */
+ (struct phy_cmd[]) { /* config */
+ /* Reset and configure the PHY */
+ {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+ {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 */
+ /* Status is read once to clear old link state */
+ {MIIM_STATUS, miim_read, NULL},
+ /* Auto-negotiate */
+ {MIIM_STATUS, miim_read, &mii_parse_sr},
+ /* Read the status */
+ {MIIM_BCM54xx_AUXSTATUS, miim_read, &mii_parse_BCM54xx_sr},
+ {miim_end,}
+ },
+ (struct phy_cmd[]) { /* shutdown */
+ {miim_end,}
+ },
+};
+
struct phy_info phy_info_M88E1011S = {
0x01410c6,
"Marvell 88E1011S",
@@ -1292,6 +1319,7 @@ struct phy_info *phy_info[] = {
&phy_info_cis8204,
&phy_info_cis8201,
&phy_info_BCM5461S,
+ &phy_info_BCM5464S,
&phy_info_M88E1011S,
&phy_info_M88E1111S,
&phy_info_M88E1145,