示例#1
0
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	
}
示例#2
0
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);

}