105static void usb_cfe_timer(
void *arg)
108 static int in_poll = 0;
152static int usb_init_one_ohci(
uint32_t addr)
160 printf(
"USB: Could not create OHCI driver structure for controller at 0x%08X\n",addr);
169 printf(
"USB: Could not init OHCI controller at 0x%08X\n",addr);
194static int usb_init_pci_ohci(
void)
204 while (pci_find_class(PCI_CLASS_SERIALBUS,idx,&tag) == 0) {
205 pciclass = pci_conf_read(tag,PCI_CLASS_REG);
206 if ((PCI_SUBCLASS(pciclass) == PCI_SUBCLASS_SERIALBUS_USB) &&
207 (PCI_INTERFACE(pciclass) == 0x10)) {
210 if (pci_map_mem(tag,PCI_MAPREG_START,PCI_MATCH_BITS,&bar) == 0) {
211 pci_tagprintf(tag,
"OHCI USB controller found at %08X\n",(
uint32_t) bar);
213 res = usb_init_one_ohci((
uint32_t)bar);
217 pci_tagprintf(tag,
"Could not map OHCI base address\n");
232 static int initdone = 0;
235 printf(
"USB has already been initialized.\n");
245 write32(0xD0120044,0xed44);
246 write32(0xD0128044,0xed44);
248 write32(0xD0121040,0x0C004020);
249 write32(0xD0129040,0x0C004020);
250 write32(0xD0121044,0x3C);
251 write32(0xD0129044,0x3C);
253 printf(
" * Initialising USB EHCI...\n");
256 printf(
" * Initialising USB OHCI...\n");
271 usb_init_one_ohci(0xea002000);
272 usb_init_one_ohci(0xea004000);
284 write32(0xEA003028,0);
285 write32(0xEA005028,0);
287 write32(0xEA003020,0);
288 write32(0xEA005020,0);
292 write32(0xEA002014,1 << 31);
293 write32(0xEA004014,1 << 31);
295 write32(0xEA002004,0);
297 write32(0xEA004004,0);
s32 USBStorage_Init(void)
void usb_daemon(usbbus_t *bus)
void usb_poll(usbbus_t *bus)
void usb_initroot(usbbus_t *bus)
#define UBCREATE(driver, addr)
usbbus_t * usb_buses[USB_MAX_BUS]
int ui_init_usbcmds(void)