From 855a496fe9ba431772f1ff1aef21a5c001288bb0 Mon Sep 17 00:00:00 2001 From: wdenk Date: Sun, 14 Mar 2004 18:23:55 +0000 Subject: * Patches by Travis Sawyer, 12 Mar 2004: - Fix Gigabit Ethernet support for 440GX - Add Gigabit Ethernet Support to MII PHY utilities * Patch by Brad Kemp, 12 Mar 2004: Fixes for drivers/cfi_flash.c: - Better support for x8/x16 implementations - Added failure for AMD chips attempting to use CFG_FLASH_USE_BUFFER_WRITE - Added defines for AMD command and address constants * Patch by Leon Kukovec, 12 Mar 2004: Fix get_dentfromdir() to correctly handle deleted dentries * Patch by George G. Davis, 11 Mar 2004: Remove hard coded network settings in TI OMAP1610 H2 default board config * Patch by George G. Davis, 11 Mar 2004: add support for ADS GraphicsClient+ board. --- common/miiphyutil.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'common/miiphyutil.c') diff --git a/common/miiphyutil.c b/common/miiphyutil.c index 03964da81f..b45ab06157 100644 --- a/common/miiphyutil.c +++ b/common/miiphyutil.c @@ -135,11 +135,20 @@ int miiphy_speed (unsigned char addr) { unsigned short reg; + if (miiphy_read (addr, PHY_1000BTSR, ®)) { + printf ("PHY 1000BT Status read failed\n"); + } else { + if (reg != 0xFFFF) { + if ((reg & (PHY_1000BTSR_1000FD | PHY_1000BTSR_1000HD)) !=0) { + return (_1000BASET); + } + } + } + if (miiphy_read (addr, PHY_ANLPAR, ®)) { printf ("PHY speed1 read failed, assuming 10bT\n"); return (_10BASET); } - if ((reg & PHY_ANLPAR_100) != 0) { return (_100BASET); } else { @@ -156,6 +165,20 @@ int miiphy_duplex (unsigned char addr) { unsigned short reg; + + if (miiphy_read (addr, PHY_1000BTSR, ®)) { + printf ("PHY 1000BT Status read failed\n"); + } else { + if ( (reg != 0xFFFF) && + (reg & (PHY_1000BTSR_1000FD | PHY_1000BTSR_1000HD)) ) { + if ((reg & PHY_1000BTSR_1000FD) !=0) { + return (FULL); + } else { + return (HALF); + } + } + } + if (miiphy_read (addr, PHY_ANLPAR, ®)) { printf ("PHY duplex read failed, assuming half duplex\n"); return (HALF); -- cgit v1.2.1