#include #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; }