示例#1
0
DSTATUS disk_initialize(BYTE drv, WORD *ss)
{
	s32 r;
	int i;

	while(1)
	{			
		dbgprintf("FFS:Initializing TinyEHCI...\n");
		tiny_ehci_init();
		
		udelay(50000);

		dbgprintf("FFS:Discovering EHCI devices...\n");
		
		i = 1;

		while(ehci_discover() == -ENODEV)
		{
			dbgprintf("FFS:Waiting for device to become ready (%d)\n", i);
			udelay(4000);
			i++;
		}
	
		r = USBStorage_Init();
		
		if(r == 0)
			break;
	}		
	
	s_cnt = USBStorage_Get_Capacity(&s_size);
	
	*ss = s_size;
	
	dbgprintf("FFS:Drive size: %dMB SectorSize:%d\n", s_cnt / 1024 * s_size / 1024, s_size);

	return r;
}
示例#2
0
s32 USBStorage_devsectors_2(void) {
	u32 tmp;
	return USBStorage_Get_Capacity(2, &tmp);
}