summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorKarsten Merker <merker@debian.org>2016-03-21 20:29:07 +0100
committerTom Rini <trini@konsulko.com>2016-04-02 19:26:08 -0400
commit563d8d93585035fa2a0b20190c1008eb625432c4 (patch)
tree9994b2dca1a9783dd6112b820de2ebc4a2588bf0 /drivers/net
parent3ef9cdb7eb70595f19d1213cc6add9f1b777602f (diff)
downloadu-boot-imx-563d8d93585035fa2a0b20190c1008eb625432c4.zip
u-boot-imx-563d8d93585035fa2a0b20190c1008eb625432c4.tar.gz
u-boot-imx-563d8d93585035fa2a0b20190c1008eb625432c4.tar.bz2
net: phy: Realtek RTL8211B/C PHY ID fix
The RTL8211B_driver structure in drivers/net/phy/realtek.c contains a wrong PHY ID (0x1cc910 instead of 0x1cc912) in the uid field. The lowest four bits of the PHY ID encode the chip revision (B+C/D/E/F) of the RTL8211 and the code originally applied a mask of 0xfffff0 to the PHY ID, so that matching the PHY ID to the appropriate driver code was only done on the chip type (RTL8211), but not on a specific revision. After introduction of support for the RTL8211E, which needed another startup function than the older chip revisions, commit 42205047674d7fc9e0aa747273fbc7dcfbac3183 changed the mask to 0xffffff to make the chip revision relevant for the match, but didn't provide the now-relevant lower bits of the uid field for the RTL8211B/C. Fix this by setting the full PHY ID in the RTL8211B_driver uid field. Fixes: 42205047674d ("net/phy: realtek: Fix the PHY ID mask to ensure the correct Realtek PHY is detected") Signed-off-by: Karsten Merker <merker@debian.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/phy/realtek.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/phy/realtek.c b/drivers/net/phy/realtek.c
index 359ec50..9d7f55b 100644
--- a/drivers/net/phy/realtek.c
+++ b/drivers/net/phy/realtek.c
@@ -5,6 +5,7 @@
*
* Copyright 2010-2011, 2015 Freescale Semiconductor, Inc.
* author Andy Fleming
+ * Copyright 2016 Karsten Merker <merker@debian.org>
*/
#include <config.h>
#include <common.h>
@@ -234,7 +235,7 @@ static int rtl8211f_startup(struct phy_device *phydev)
/* Support for RTL8211B PHY */
static struct phy_driver RTL8211B_driver = {
.name = "RealTek RTL8211B",
- .uid = 0x1cc910,
+ .uid = 0x1cc912,
.mask = 0xffffff,
.features = PHY_GBIT_FEATURES,
.config = &rtl8211x_config,