diff options
author | Troy Kisky <troy.kisky@boundarydevices.com> | 2012-02-07 14:08:48 +0000 |
---|---|---|
committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2012-02-27 21:19:25 +0100 |
commit | 8682aba7da2af2842296710acca7c03fcebafd5c (patch) | |
tree | 8f10c869ca68f06fc00472d5194779eadda5f628 /include | |
parent | 13947f43c995e8c33d8a902d3fe2624f74ec5a12 (diff) | |
download | u-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.h | 16 | ||||
-rw-r--r-- | include/phy.h | 1 |
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); |