void init_udc(PUDC_BUS pBus) { pBus->EnableDevice = enable_device; pBus->SetAddress = set_address; pBus->StartTransfer = start_transfer; pBus->InitEndpointSuppost = init_endpoint_suppost; pBus->DisableDevice = disable_device; printf("Init UDC %s %s\n",__DATE__,__TIME__); #ifdef USE_MIDWARE udcsrc.GetRequest = GetRequest; udcsrc.Response = Response; udcsrc.Name = "UDC"; printf("Register Midware SRC udc! \n"); RegisterMidSrc((PMIDSRC)&udcsrc); udcid = udcsrc.ID; // res.Val = 0xffff; cable_stat = CABLE_DISCONNECT; protocool_stat = CABLE_DISCONNECT; #endif }
void mmc_detect_init() { MMCGPIOEvent = OSSemCreate(0); __gpio_mask_irq(MMC_CD_PIN); __gpio_as_input(MMC_CD_PIN); __gpio_disable_pull(MMC_CD_PIN); request_irq(48 + MMC_CD_PIN, mmc_gpio_irq_handler, 0); __gpio_unmask_irq(MMC_CD_PIN); cardexsit = 0; mmcsrc.GetRequest = GetRequest; mmcsrc.Response = Response; mmcsrc.Name = "MMC"; printf("Register Midware SRC MMC! \n"); RegisterMidSrc(&mmcsrc); mmcid = mmcsrc.ID; printf("mmc ID %d \n",mmcsrc.ID); MMC_Initialize(); OSTaskCreate(MMCGpioTask, (void *)0, (void *)&MGTaskStack[MMC_GPIO_TASK_STK_SIZE - 1], MMC_GPIO_TASK_PRIO); }