1*58b48577SMarkus KlotzbuecherNotes on the the generic USB-OHCI driver 2*58b48577SMarkus Klotzbuecher======================================== 3*58b48577SMarkus Klotzbuecher 4*58b48577SMarkus KlotzbuecherThis driver (drivers/usb_ohci.[ch]) is the result of the merge of 5*58b48577SMarkus Klotzbuechervarious existing OHCI drivers that were basically identical beside 6*58b48577SMarkus Klotzbuechercpu/board dependant initalization. This initalization has been moved 7*58b48577SMarkus Klotzbuecherinto cpu/board directories and are called via the hooks below. 8*58b48577SMarkus Klotzbuecher 9*58b48577SMarkus KlotzbuecherConfiguration options 10*58b48577SMarkus Klotzbuecher---------------------- 11*58b48577SMarkus Klotzbuecher 12*58b48577SMarkus KlotzbuecherCONFIG_USB_OHCI_NEW: enable the new OHCI driver 13*58b48577SMarkus Klotzbuecher 14*58b48577SMarkus KlotzbuecherCFG_USB_OHCI_BOARD_INIT: call the board dependant hooks: 15*58b48577SMarkus Klotzbuecher 16*58b48577SMarkus Klotzbuecher - extern int usb_board_init(void); 17*58b48577SMarkus Klotzbuecher - extern int usb_board_stop(void); 18*58b48577SMarkus Klotzbuecher - extern int usb_cpu_init_fail(void); 19*58b48577SMarkus Klotzbuecher 20*58b48577SMarkus KlotzbuecherCFG_USB_OHCI_CPU_INIT: call the cpu dependant hooks: 21*58b48577SMarkus Klotzbuecher 22*58b48577SMarkus Klotzbuecher - extern int usb_cpu_init(void); 23*58b48577SMarkus Klotzbuecher - extern int usb_cpu_stop(void); 24*58b48577SMarkus Klotzbuecher - extern int usb_cpu_init_fail(void); 25*58b48577SMarkus Klotzbuecher 26*58b48577SMarkus KlotzbuecherCFG_USB_OHCI_REGS_BASE: defines the base address of the OHCI registers 27*58b48577SMarkus Klotzbuecher 28*58b48577SMarkus KlotzbuecherCFG_USB_OHCI_SLOT_NAME: slot name 29*58b48577SMarkus Klotzbuecher 30*58b48577SMarkus KlotzbuecherCFG_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the root hub. 31*58b48577SMarkus Klotzbuecher 32*58b48577SMarkus Klotzbuecher 33*58b48577SMarkus KlotzbuecherEndianness issues 34*58b48577SMarkus Klotzbuecher------------------ 35*58b48577SMarkus Klotzbuecher 36*58b48577SMarkus KlotzbuecherThe LITTLEENDIAN #define determines if the 'swap_16' and 'swap_32' 37*58b48577SMarkus Klotzbuechermacros do byte swapping or not. But some cpus OHCI-controllers such as 38*58b48577SMarkus Klotzbuecherppc4xx and mpc5xxx operate in little endian mode, so some extra ifdefs 39*58b48577SMarkus Klotzbuecherwere necessary to make this work. 40*58b48577SMarkus Klotzbuecher 41*58b48577SMarkus Klotzbuecher 42*58b48577SMarkus Klotzbuecher 43*58b48577SMarkus Klotzbuecher 44