summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2012-02-07 14:08:48 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2012-02-27 21:19:25 +0100
commit8682aba7da2af2842296710acca7c03fcebafd5c (patch)
tree8f10c869ca68f06fc00472d5194779eadda5f628 /include
parent13947f43c995e8c33d8a902d3fe2624f74ec5a12 (diff)
downloadu-boot-imx-8682aba7da2af2842296710acca7c03fcebafd5c.zip
u-boot-imx-8682aba7da2af2842296710acca7c03fcebafd5c.tar.gz
u-boot-imx-8682aba7da2af2842296710acca7c03fcebafd5c.tar.bz2
net: phy: add support for Micrel's KSZ9021
Add the gigabit phy KSZ9021. Also, add function ksz9021_phy_extended_write /_read for access to the phys extended registers. The environment variable "disable_giga" can be used to disable 1000baseTx. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Dirk Behme <dirk.behme@de.bosch.com>
Diffstat (limited to 'include')
-rw-r--r--include/micrel.h16
-rw-r--r--include/phy.h1
2 files changed, 17 insertions, 0 deletions
diff --git a/include/micrel.h b/include/micrel.h
new file mode 100644
index 0000000..25e8a46
--- /dev/null
+++ b/include/micrel.h
@@ -0,0 +1,16 @@
+#ifndef _MICREL_H
+
+#define MII_KSZ9021_EXT_COMMON_CTRL 0x100
+#define MII_KSZ9021_EXT_STRAP_STATUS 0x101
+#define MII_KSZ9021_EXT_OP_STRAP_OVERRIDE 0x102
+#define MII_KSZ9021_EXT_OP_STRAP_STATUS 0x103
+#define MII_KSZ9021_EXT_RGMII_CLOCK_SKEW 0x104
+#define MII_KSZ9021_EXT_RGMII_RX_DATA_SKEW 0x105
+#define MII_KSZ9021_EXT_RGMII_TX_DATA_SKEW 0x106
+#define MII_KSZ9021_EXT_ANALOG_TEST 0x107
+
+struct phy_device;
+int ksz9021_phy_extended_write(struct phy_device *phydev, int regnum, u16 val);
+int ksz9021_phy_extended_read(struct phy_device *phydev, int regnum);
+
+#endif
diff --git a/include/phy.h b/include/phy.h
index bc522d5..3c30f11 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -207,6 +207,7 @@ int phy_config(struct phy_device *phydev);
int phy_shutdown(struct phy_device *phydev);
int phy_register(struct phy_driver *drv);
int genphy_config_aneg(struct phy_device *phydev);
+int genphy_restart_aneg(struct phy_device *phydev);
int genphy_update_link(struct phy_device *phydev);
int genphy_config(struct phy_device *phydev);
int genphy_startup(struct phy_device *phydev);