Patchwork [10/12] dsa: Add reporting of silicon revision for Marvell 88E6123/88E6161/88E6165 switches.

login
register
mail settings
Submitter Tim Gardner
Date May 24, 2012, 8:58 p.m.
Message ID <1337893104-130090-11-git-send-email-tim.gardner@canonical.com>
Download mbox | patch
Permalink /patch/161210/
State New
Headers show

Comments

Tim Gardner - May 24, 2012, 8:58 p.m.
From: Chris Healy <cphealy@gmail.com>

BugLink: http://bugs.launchpad.net/bugs/1004148

Add reporting of silicon revision during the probe function for Marvell 88E6123/88E6161/88E6165 switches.

Signed-off-by: Chris Healy <cphealy@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit edd664bbba53f771d4a6d4559ed6e1ff48b46406)
Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
---
 drivers/net/dsa/mv88e6123_61_65.c |   21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

Patch

diff --git a/drivers/net/dsa/mv88e6123_61_65.c b/drivers/net/dsa/mv88e6123_61_65.c
index c0a458f..6f23c95 100644
--- a/drivers/net/dsa/mv88e6123_61_65.c
+++ b/drivers/net/dsa/mv88e6123_61_65.c
@@ -20,12 +20,25 @@  static char *mv88e6123_61_65_probe(struct mii_bus *bus, int sw_addr)
 
 	ret = __mv88e6xxx_reg_read(bus, sw_addr, REG_PORT(0), 0x03);
 	if (ret >= 0) {
-		ret &= 0xfff0;
-		if (ret == 0x1210)
+		if (ret == 0x1212)
+			return "Marvell 88E6123 (A1)";
+		if (ret == 0x1213)
+			return "Marvell 88E6123 (A2)";
+		if ((ret & 0xfff0) == 0x1210)
 			return "Marvell 88E6123";
-		if (ret == 0x1610)
+
+		if (ret == 0x1612)
+			return "Marvell 88E6161 (A1)";
+		if (ret == 0x1613)
+			return "Marvell 88E6161 (A2)";
+		if ((ret & 0xfff0) == 0x1610)
 			return "Marvell 88E6161";
-		if (ret == 0x1650)
+
+		if (ret == 0x1652)
+			return "Marvell 88E6165 (A1)";
+		if (ret == 0x1653)
+			return "Marvell 88e6165 (A2)";
+		if ((ret & 0xfff0) == 0x1650)
 			return "Marvell 88E6165";
 	}