summaryrefslogtreecommitdiff
path: root/drivers/net/tsec.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/tsec.c')
-rw-r--r--drivers/net/tsec.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/net/tsec.c b/drivers/net/tsec.c
index 9c8fe624419..9a91b9e0b85 100644
--- a/drivers/net/tsec.c
+++ b/drivers/net/tsec.c
@@ -1810,6 +1810,28 @@ static struct phy_info phy_info_rtl8211b = {
},
};
+struct phy_info phy_info_AR8021 = {
+ 0x4dd04,
+ "AR8021",
+ 4,
+ (struct phy_cmd[]) { /* config */
+ {MII_BMCR, BMCR_RESET, NULL},
+ {MII_BMCR, BMCR_ANENABLE|BMCR_ANRESTART, NULL},
+ {0x1d, 0x05, NULL},
+ {0x1e, 0x3D47, NULL},
+ {miim_end,}
+ },
+ (struct phy_cmd[]) { /* startup */
+ {MII_BMSR, miim_read, NULL},
+ {MII_BMSR, miim_read, &mii_parse_sr},
+ {MII_BMSR, miim_read, &mii_parse_link},
+ {miim_end,}
+ },
+ (struct phy_cmd[]) { /* shutdown */
+ {miim_end,}
+ }
+};
+
static struct phy_info *phy_info[] = {
&phy_info_cis8204,
&phy_info_cis8201,
@@ -1832,6 +1854,7 @@ static struct phy_info *phy_info[] = {
&phy_info_VSC8221,
&phy_info_dp83865,
&phy_info_rtl8211b,
+ &phy_info_AR8021,
&phy_info_generic, /* must be last; has ID 0 and 32 bit mask */
NULL
};