diff options
author | Wolfgang Denk <wd@pollux.denx.de> | 2005-08-12 23:15:53 +0200 |
---|---|---|
committer | Wolfgang Denk <wd@pollux.denx.de> | 2005-08-12 23:15:53 +0200 |
commit | f89920c3e4be1528ceb5b645d8aaf19968275609 (patch) | |
tree | 10382c924087f6cf212868c5c23269b477087bc3 /common/miiphyutil.c | |
parent | e5445288318de74e1fb63920e7ed7bf48088c3c2 (diff) | |
download | u-boot-imx-f89920c3e4be1528ceb5b645d8aaf19968275609.zip u-boot-imx-f89920c3e4be1528ceb5b645d8aaf19968275609.tar.gz u-boot-imx-f89920c3e4be1528ceb5b645d8aaf19968275609.tar.bz2 |
Preserve PHY_BMCR during a soft reset.
Patch by Carl Riechers, 24 Jun 2005
Diffstat (limited to 'common/miiphyutil.c')
-rw-r--r-- | common/miiphyutil.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/common/miiphyutil.c b/common/miiphyutil.c index 2b0dcf4..13b9c65 100644 --- a/common/miiphyutil.c +++ b/common/miiphyutil.c @@ -93,7 +93,13 @@ int miiphy_reset (unsigned char addr) unsigned short reg; int loop_cnt; - if (miiphy_write (addr, PHY_BMCR, 0x8000) != 0) { + if (miiphy_read (addr, PHY_BMCR, ®) != 0) { +#ifdef DEBUG + printf ("PHY status read failed\n"); +#endif + return (-1); + } + if (miiphy_write (addr, PHY_BMCR, reg | 0x8000) != 0) { #ifdef DEBUG puts ("PHY reset failed\n"); #endif |