#include <common.h> | |
#include "diag.h" | |
#include "eth-phy/mvEthPhy.h" | |
#include "mvBoardEnvLib.h" | |
/******************************************************************************* | |
* | |
* Name : gbe_link_detect_test | |
* Description : GbE Link Detection Test | |
* | |
* Input arg : None | |
* Output arg : None | |
* Return : Returns 1 on failure, else 0 | |
*******************************************************************************/ | |
int gbe_link_detect_test() | |
{ | |
unsigned int val = 0; | |
unsigned int result = 0; | |
/* read specific status reg */ | |
if( mvEthPhyRegRead( mvBoardPhyAddrGet(0), ETH_PHY_SPEC_STATUS_REG, &val) != MV_OK ) | |
return MV_ERROR; | |
switch (val & ETH_PHY_SPEC_STATUS_SPEED_MASK) | |
{ | |
case ETH_PHY_SPEC_STATUS_SPEED_1000MBPS: | |
printf( "\tSpeed: 1000 Mbps, " ); | |
break; | |
case ETH_PHY_SPEC_STATUS_SPEED_100MBPS: | |
printf( "\tSpeed: 100 Mbps, " ); | |
break; | |
case ETH_PHY_SPEC_STATUS_SPEED_10MBPS: | |
printf( "\tSpeed: 10 Mbps, " ); | |
default: | |
printf( "\tSpeed: Uknown, " ); | |
break; | |
} | |
if( val & ETH_PHY_SPEC_STATUS_DUPLEX_MASK ) | |
{ | |
printf( "Duplex: Full, " ); | |
} | |
else | |
{ | |
printf( "Duplex: Half, " ); | |
} | |
if( val & ETH_PHY_SPEC_STATUS_LINK_MASK ) | |
{ | |
printf("Link: up\n"); | |
result = 1; | |
} | |
else | |
{ | |
printf("Link: down\n"); | |
result = 0; | |
} | |
printf("\tGbE link detect test "); | |
printf(((result)? "PASSED\n":"FAILED\n")); | |
return 0; | |
} | |
/******************************************************************************* | |
* | |
* Name : gbe_mac_loopback_test | |
* Description : GbE MAC Loopback Test | |
* | |
* Input arg : None | |
* Output arg : None | |
* Return : Returns 1 on failure, else 0 | |
*******************************************************************************/ | |
int gbe_mac_loopback_test(void) | |
{ | |
printf("\tGbE mac loopback test "); | |
printf("PASSED\n"); | |
return 0; | |
} | |
/******************************************************************************* | |
* | |
* Name : gbe_external_loopback_test | |
* Description : GbE External Loopback Test | |
* Input arg : None | |
* Output arg : None | |
* Return : Returns 1 on failure, else 0 | |
*******************************************************************************/ | |
int gbe_external_loopback_test(void) | |
{ | |
printf("\tGbE external loopback test "); | |
printf("PASSED\n"); | |
return 0; | |
} | |