aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux/linux-xlnx/zx3-zynq7/0002-zx3-phy-adapt-marvell-settings.patch
blob: 3349f5c9abc8440d189a3d90da575d5e4b0982df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From b266e1a7ff8073d0437fcafc51ba5f97bf523fc5 Mon Sep 17 00:00:00 2001
From: David Andrey <david.andrey@netmodule.com>
Date: Fri, 27 Jun 2014 11:39:31 +0200
Subject: [PATCH 2/7] zx3: phy: adapt marvell settings

The onboard PHY is compatible with the 88E1116R,
based on the UID at least
Marvell settings are overwritten to met the board
requirements

Signed-off-by: David Andrey <david.andrey@netmodule.com>
---
 drivers/net/phy/marvell.c |   19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/marvell.c b/drivers/net/phy/marvell.c
index bd37e45..d36686a 100644
--- a/drivers/net/phy/marvell.c
+++ b/drivers/net/phy/marvell.c
@@ -414,11 +414,28 @@ static int m88e1116r_config_init(struct phy_device *phydev)
	if (err < 0)
		return err;
	temp = phy_read(phydev, MII_M1116R_CONTROL_REG_MAC);
-	temp |= (1 << 5);
+	temp &= ~(1 << 5);  /* @@ NetModule, da, set correct mode for ZE7000 board */
	temp |= (1 << 4);
	err = phy_write(phydev, MII_M1116R_CONTROL_REG_MAC, temp);
	if (err < 0)
		return err;
+
+	/* @@ NetModule, da, LED settings */
+	err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 3);
+	if (err < 0)
+		return err;
+
+	temp = 0x1040;
+	err = phy_write(phydev, 16, temp);
+	if (err < 0)
+		return err;
+
+	temp = 0x4405;
+	err = phy_write(phydev, 17, temp);
+	if (err < 0)
+		return err;
+
+
	err = phy_write(phydev, MII_MARVELL_PHY_PAGE, 0);
	if (err < 0)
		return err;
--
1.7.10.4