Skip to content

Commit

Permalink
ibm_newemac: Add BCM5248 and Marvell 88E1111 PHY support
Browse files Browse the repository at this point in the history
This patch adds BCM5248 and Marvell 88E1111 PHY support to NEW EMAC driver.
These PHY chips are used on PowerPC 440EPx boards.
The PHY code is based on the previous work by Stefan Roese <sr@denx.de>

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Stefan Roese authored and Jeff Garzik committed Dec 7, 2007
1 parent abf9b90 commit f1f304f
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions drivers/net/ibm_newemac/phy.c
Original file line number Diff line number Diff line change
Expand Up @@ -306,8 +306,47 @@ static struct mii_phy_def cis8201_phy_def = {
.ops = &cis8201_phy_ops
};

static struct mii_phy_def bcm5248_phy_def = {

.phy_id = 0x0143bc00,
.phy_id_mask = 0x0ffffff0,
.name = "BCM5248 10/100 SMII Ethernet",
.ops = &generic_phy_ops
};

static int m88e1111_init(struct mii_phy *phy)
{
pr_debug("%s: Marvell 88E1111 Ethernet\n", __FUNCTION__);
phy_write(phy, 0x14, 0x0ce3);
phy_write(phy, 0x18, 0x4101);
phy_write(phy, 0x09, 0x0e00);
phy_write(phy, 0x04, 0x01e1);
phy_write(phy, 0x00, 0x9140);
phy_write(phy, 0x00, 0x1140);

return 0;
}

static struct mii_phy_ops m88e1111_phy_ops = {
.init = m88e1111_init,
.setup_aneg = genmii_setup_aneg,
.setup_forced = genmii_setup_forced,
.poll_link = genmii_poll_link,
.read_link = genmii_read_link
};

static struct mii_phy_def m88e1111_phy_def = {

.phy_id = 0x01410CC0,
.phy_id_mask = 0x0ffffff0,
.name = "Marvell 88E1111 Ethernet",
.ops = &m88e1111_phy_ops,
};

static struct mii_phy_def *mii_phy_table[] = {
&cis8201_phy_def,
&bcm5248_phy_def,
&m88e1111_phy_def,
&genmii_phy_def,
NULL
};
Expand Down

0 comments on commit f1f304f

Please sign in to comment.