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; }
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:; }