Esempio n. 1
0
BOOL InitKitlEtherArgs (OAL_KITL_ARGS *pKitlArgs)
{
    // Initialize flags
    pKitlArgs->flags = OAL_KITL_FLAGS_ENABLED | OAL_KITL_FLAGS_VMINI;

#ifdef CS8900A_KITL_POLLMODE
    pKitlArgs->flags |= OAL_KITL_FLAGS_POLL;
#endif

#ifdef CS8900A_KITL_DHCP
    pKitlArgs->flags |= OAL_KITL_FLAGS_DHCP;
#endif

    pKitlArgs->devLoc.IfcType		= Internal;
    pKitlArgs->devLoc.BusNumber	= 0;
    pKitlArgs->devLoc.LogicalLoc	= BSP_BASE_REG_PA_CS8900A_IOBASE;
    pKitlArgs->devLoc.Pin			= 0;

    OALKitlStringToMAC(CS8900A_MAC,pKitlArgs->mac);

#ifndef CS8900A_KITL_DHCP
    pKitlArgs->ipAddress = OALKitlStringToIP(CS8900A_IP_ADDRESS);
    pKitlArgs->ipMask = OALKitlStringToIP(CS8900A_IP_MASK);
    pKitlArgs->ipRoute = OALKitlStringToIP(CS8900A_IP_ROUTER);
#endif

    g_kitlDevice.name			= L"6400Ethernet";
    g_kitlDevice.ifcType			= Internal;
    g_kitlDevice.type				= OAL_KITL_TYPE_ETH;
    g_kitlDevice.pDriver			= (void *)&g_kitlEthCS8900A;

    //configure nCS3 for cs8900a
    InitSROMC_CS8900();

    //setting EINT10 as IRQ_LAN
    if (!(pKitlArgs->flags & OAL_KITL_FLAGS_POLL))
    {
        g_pGPIOReg = (S3C6400_GPIO_REG *)OALPAtoVA(S3C6400_BASE_REG_PA_GPIO, FALSE);
        g_pGPIOReg->GPNCON = (g_pGPIOReg->GPNCON & ~(0x3<<20)) | (0x2<<20);
        g_pGPIOReg->GPGPUD = (g_pGPIOReg->GPGPUD & ~(0x3<<20));					// pull-up/down disable
        g_pGPIOReg->EINT0CON0 = (g_pGPIOReg->EINT0CON0 & ~(0x7<<20)) | (0x1<<20);	// High Level trigger
    }

    return TRUE;
}
Esempio n. 2
0
VOID OALBLMenuSetMacAddress(OAL_BLMENU_ITEM *pMenu)
{
    LPCWSTR title = pMenu->pParam1;
    UINT16 *pMac = pMenu->pParam2;
    UINT16 mac[3];
    WCHAR buffer[18];

    // First check input parameters    
    if (title == NULL || pMac == NULL) {
        OALMSG(OAL_ERROR, (
            L"ERROR: OALBLMenuSetMacAddress: Invalid parameter\r\n"
        ));
        goto cleanUp;
    }

    // Get actual setting
    mac[0] = pMac[0];
    mac[1] = pMac[1];
    mac[2] = pMac[2];

    // Print prompt
    OALLog(
        L" Enter %s MAC address (actual %s): ", title, OALKitlMACtoString(mac)
    );
    
    // Read input line
    if (OALBLMenuReadLine(buffer, dimof(buffer)) == 0) goto cleanUp;

    // Convert string to MAC address
    if (!OALKitlStringToMAC(buffer, mac)) {
        OALLog(L" '%s' isn't valid MAC address\r\n", buffer);
        goto cleanUp;
    }

    // Print final MAC address
    OALLog(L" %s MAC address set to %s\r\n", title, OALKitlMACtoString(mac));        

    // Save new setting
    pMac[0] = mac[0];
    pMac[1] = mac[1];
    pMac[2] = mac[2];
    
cleanUp:;
}