diff mbox

drivers: net: emac: add Atheros AR8035 phy initialization code

Message ID 1462277310-8949-1-git-send-email-chunkeey@googlemail.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Christian Lamparter May 3, 2016, 12:08 p.m. UTC
This patch adds the phy initialization code for Qualcomm
Atheros AR8035 phy. This configuration is found in the
Cisco Meraki MR24.

Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>
---
 drivers/net/ethernet/ibm/emac/phy.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

Comments

David Miller May 4, 2016, 5:57 p.m. UTC | #1
From: Christian Lamparter <chunkeey@googlemail.com>
Date: Tue,  3 May 2016 14:08:30 +0200

> This patch adds the phy initialization code for Qualcomm
> Atheros AR8035 phy. This configuration is found in the
> Cisco Meraki MR24.
> 
> Signed-off-by: Christian Lamparter <chunkeey@googlemail.com>

Applied to net-next, thanks.
diff mbox

Patch

diff --git a/drivers/net/ethernet/ibm/emac/phy.c b/drivers/net/ethernet/ibm/emac/phy.c
index d3b9d10..5b88cc6 100644
--- a/drivers/net/ethernet/ibm/emac/phy.c
+++ b/drivers/net/ethernet/ibm/emac/phy.c
@@ -470,12 +470,38 @@  static struct mii_phy_def m88e1112_phy_def = {
 	.ops		= &m88e1112_phy_ops,
 };
 
+static int ar8035_init(struct mii_phy *phy)
+{
+	phy_write(phy, 0x1d, 0x5); /* Address debug register 5 */
+	phy_write(phy, 0x1e, 0x2d47); /* Value copied from u-boot */
+	phy_write(phy, 0x1d, 0xb);    /* Address hib ctrl */
+	phy_write(phy, 0x1e, 0xbc20); /* Value copied from u-boot */
+
+	return 0;
+}
+
+static struct mii_phy_ops ar8035_phy_ops = {
+	.init		= ar8035_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 ar8035_phy_def = {
+	.phy_id		= 0x004dd070,
+	.phy_id_mask	= 0xfffffff0,
+	.name		= "Atheros 8035 Gigabit Ethernet",
+	.ops		= &ar8035_phy_ops,
+};
+
 static struct mii_phy_def *mii_phy_table[] = {
 	&et1011c_phy_def,
 	&cis8201_phy_def,
 	&bcm5248_phy_def,
 	&m88e1111_phy_def,
 	&m88e1112_phy_def,
+	&ar8035_phy_def,
 	&genmii_phy_def,
 	NULL
 };