summaryrefslogtreecommitdiff
path: root/drivers/net/phy/micrel.c
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2012-06-28 08:00:28 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-07-11 13:15:30 -0500
commitcc5f552283eceb08bc614dfb6cfbcdd155be35b0 (patch)
tree20045f082ba50be89a721d800efb237547b33157 /drivers/net/phy/micrel.c
parent11af8d65274df736deeb651d12e0763eec527ea5 (diff)
downloadu-boot-imx-cc5f552283eceb08bc614dfb6cfbcdd155be35b0.zip
u-boot-imx-cc5f552283eceb08bc614dfb6cfbcdd155be35b0.tar.gz
u-boot-imx-cc5f552283eceb08bc614dfb6cfbcdd155be35b0.tar.bz2
net: phy: micrel: make ksz9021 phy accessible
Micrel accidentally used the same part number for the KS8721 and KSZ9021. So, both cannot be in the same build of u-boot. Add a config option to handle this. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Vladimir Zapolskiy <vz@mleia.com>
Diffstat (limited to 'drivers/net/phy/micrel.c')
-rw-r--r--drivers/net/phy/micrel.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c
index e3043df..30f3264 100644
--- a/drivers/net/phy/micrel.c
+++ b/drivers/net/phy/micrel.c
@@ -35,6 +35,12 @@ static struct phy_driver KSZ804_driver = {
.shutdown = &genphy_shutdown,
};
+#ifndef CONFIG_PHY_MICREL_KSZ9021
+/*
+ * I can't believe Micrel used the exact same part number
+ * for the KSZ9021
+ * Shame Micrel, Shame!!!!!
+ */
static struct phy_driver KS8721_driver = {
.name = "Micrel KS8721BL",
.uid = 0x221610,
@@ -44,7 +50,9 @@ static struct phy_driver KS8721_driver = {
.startup = &genphy_startup,
.shutdown = &genphy_shutdown,
};
+#endif
+#ifdef CONFIG_PHY_MICREL_KSZ9021
/* ksz9021 PHY Registers */
#define MII_KSZ9021_EXTENDED_CTRL 0x0b
#define MII_KSZ9021_EXTENDED_DATAW 0x0c
@@ -127,12 +135,15 @@ static struct phy_driver ksz9021_driver = {
.startup = &ksz9021_startup,
.shutdown = &genphy_shutdown,
};
+#endif
int phy_micrel_init(void)
{
phy_register(&KSZ804_driver);
- phy_register(&KS8721_driver);
+#ifdef CONFIG_PHY_MICREL_KSZ9021
phy_register(&ksz9021_driver);
-
+#else
+ phy_register(&KS8721_driver);
+#endif
return 0;
}