summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMarek Vasut <marex@denx.de>2012-09-23 16:58:49 +0000
committerDavid S. Miller <davem@davemloft.net>2012-09-24 15:54:32 -0400
commit212ea99a85d30dbc834888384c57ad5abbc67a0a (patch)
tree565c35bd99f9b7a5b3d4fecece05c0a1201261ba /include
parent2b018d57ff18e5405823e5cb59651a5b4d946d7b (diff)
downloadlinux-stable-212ea99a85d30dbc834888384c57ad5abbc67a0a.tar.gz
linux-stable-212ea99a85d30dbc834888384c57ad5abbc67a0a.tar.bz2
linux-stable-212ea99a85d30dbc834888384c57ad5abbc67a0a.zip
phy/micrel: Implement support for KSZ8021
The KSZ8021 PHY was previously caught by KS8051, which is not correct. This PHY needs additional setup if it is strapped for address 0. In such case an reserved bit must be written in the 0x16, "Operation Mode Strap Override" register. According to the KS8051 datasheet, that bit means "PHY Address 0 in non-broadcast" and it indeed behaves as such on KSZ8021. The issue where the ethernet controller (Freescale FEC) did not communicate with network is fixed by writing this bit as 1. Signed-off-by: Marek Vasut <marex@denx.de> Cc: David J. Choi <david.choi@micrel.com> Cc: David S. Miller <davem@davemloft.net> Cc: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/micrel_phy.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h
index 61f0905bdc48..be7f366e37f0 100644
--- a/include/linux/micrel_phy.h
+++ b/include/linux/micrel_phy.h
@@ -5,6 +5,7 @@
#define PHY_ID_KSZ9021 0x00221610
#define PHY_ID_KS8737 0x00221720
+#define PHY_ID_KSZ8021 0x00221555
#define PHY_ID_KS8041 0x00221510
#define PHY_ID_KS8051 0x00221550
/* both for ks8001 Rev. A/B, and for ks8721 Rev 3. */