diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/miiphyutil.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/common/miiphyutil.c b/common/miiphyutil.c index 6b2425f..75c2df5 100644 --- a/common/miiphyutil.c +++ b/common/miiphyutil.c @@ -169,4 +169,27 @@ int miiphy_duplex (unsigned char addr) } } +#ifdef CFG_FAULT_ECHO_LINK_DOWN +/***************************************************************************** + * + * Determine link status + */ +int miiphy_link (unsigned char addr) +{ + unsigned short reg; + + if (miiphy_read (addr, PHY_BMSR, ®)) { + printf ("PHY_BMSR read failed, assuming no link\n"); + return (0); + } + + /* Determine if a link is active */ + if ((reg & PHY_BMSR_LS) != 0) { + return (1); + } else { + return (0); + } +} +#endif + #endif /* CONFIG_MII || (CONFIG_COMMANDS & CFG_CMD_MII) */ |