www.pudn.com > H265+_C64X_2008.8.rar > dm642init.c


 
#include  
#include  
#include  
#include  
 
#include  
#include  
#include  
 
#include "SysConfig.h" 
 
#define MAX_NAME_CHAR 32 
 
char RemoteIPAddrTmp[MAX_NAME_CHAR] = default_RemoteIP ; /* Remote IP */ 
char LocalIPAddrTmp[MAX_NAME_CHAR]  = default_LocalIP ; /* Local IP */ 
char GatewayIPTmp[MAX_NAME_CHAR]    = default_GatewayIP ;      // Not used when using DHCP; 
char LocalIPMaskTmp[MAX_NAME_CHAR]  = default_LocalIPMask ; 
char HostNameTmp[MAX_NAME_CHAR]     = "TI_DSP"; 
 
char *RemoteIPAddr 	= &RemoteIPAddrTmp[0]; 
char *LocalIPAddr 	= &LocalIPAddrTmp[0];    // Set to "0.0.0.0" for DHCP 
char *LocalIPMask	= &LocalIPMaskTmp[0];    // Not used when using DHCP 
char *GatewayIP   	= &GatewayIPTmp[0];      // Not used when using DHCP 
char *HostName    	= &HostNameTmp[0]; 
 
static UINT8 bMacAddr[MAX_NAME_CHAR] = { 0x00,0x00,0x00, 0x00,0x00,0x08 } ; 
 
// This string array corresponds to link state as define in csl_mdio.h 
static char *LinkStr[] = { "No Link", 
                           "10Mb/s Half Duplex", 
                           "10Mb/s Full Duplex", 
                           "100Mb/s Half Duplex", 
                           "100Mb/s Full Duplex" }; 
 
// New CSL Functions in csl_mdio.c 
CSLAPI uint MDIO_phyRegWrite( uint phyIdx, uint phyReg, Uint16 data ); 
CSLAPI uint MDIO_phyRegRead( uint, uint, UINT16 * ); 
 
// 
// Main Thread 
// 
// We changed our CDB file to point call this private init 
// function. Here we initialize our board and read in our 
// MAC address. 
// 
void dm642_init() 
{ 
	//CACHE_enableCaching(CACHE_EMIFA_CE00); 
    //CACHE_enableCaching(CACHE_EMIFA_CE01); 
 
    // Init the EVM 
    EVMDM642_init(); 
    //EVMDM642_LED_init(); 
 
    // Read in EMAC MAC Address 
	//GetMACInfoConfig( bMacAddr ) ;  
 
	//GetIPInfoConfig(HostName,LocalIPAddr,LocalIPMask,GatewayIP);  
 
} 
 
// 
// DM642EMAC_getConfig() 
// 
// This is a callback from the Ethernet driver. This function 
// is used by the driver to get its 6 byte MAC address, and 
// to determine which DSP interrupt the EMAC should be mapped to. 
// 
void DM642EMAC_getConfig( UINT8 *pMacAddr, uint *pIntVector ) 
{ 
    printf("Using MAC Address: %02x-%02x-%02x-%02x-%02x-%02x\n", 
            bMacAddr[0], bMacAddr[1], bMacAddr[2], 
            bMacAddr[3], bMacAddr[4], bMacAddr[5]); 
 
    // We fill in the two pointers here. We'll use int 15 for EMAC 
    mmCopy( pMacAddr, bMacAddr, 6 ); 
    *pIntVector = 15; 
} 
 
// 
// DM642EMAC_linkStatus() 
// 
// This is a callback from the Ethernet driver. This function 
// is called whenever there is a change in link state. The 
// current PHY and current link state are passed as parameters. 
// 
void DM642EMAC_linkStatus( uint phy, uint linkStatus ) 
{ 
 
    printf("Link Status: %s\n",LinkStr[linkStatus]); 
 
    // Since we know we're using the Intel PHY, we'll 
    // go ahead and program the LEDs to make sense. 
    MDIO_phyRegWrite( phy, 0x14, 0xd5d0 ); 
 
	SemPost( m_hNetSem ) ;  
}