| Notes on the the generic USB-OHCI driver | 
 | ======================================== | 
 |  | 
 | This driver (drivers/usb/usb_ohci.[ch]) is the result of the merge of | 
 | various existing OHCI drivers that were basically identical beside | 
 | cpu/board dependant initalization. This initalization has been moved | 
 | into cpu/board directories and are called via the hooks below. | 
 |  | 
 | Configuration options | 
 | ---------------------- | 
 |  | 
 | 	CONFIG_USB_OHCI_NEW: enable the new OHCI driver | 
 |  | 
 | 	CONFIG_SYS_USB_OHCI_BOARD_INIT: call the board dependant hooks: | 
 |  | 
 | 		  - extern int usb_board_init(void); | 
 | 		  - extern int usb_board_stop(void); | 
 | 		  - extern int usb_cpu_init_fail(void); | 
 |  | 
 | 	CONFIG_SYS_USB_OHCI_CPU_INIT: call the cpu dependant hooks: | 
 |  | 
 | 		  - extern int usb_cpu_init(void); | 
 | 		  - extern int usb_cpu_stop(void); | 
 | 		  - extern int usb_cpu_init_fail(void); | 
 |  | 
 | 	CONFIG_SYS_USB_OHCI_REGS_BASE: defines the base address of the OHCI | 
 | 				registers | 
 |  | 
 | 	CONFIG_SYS_USB_OHCI_SLOT_NAME: slot name | 
 |  | 
 | 	CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the | 
 | 				     root hub. | 
 |  | 
 |  | 
 | Endianness issues | 
 | ------------------ | 
 |  | 
 | The USB bus operates in little endian, but unfortunately there are | 
 | OHCI controllers that operate in big endian such as ppc4xx and | 
 | mpc5xxx. For these the config option | 
 |  | 
 | 	CONFIG_SYS_OHCI_BE_CONTROLLER | 
 |  | 
 | needs to be defined. | 
 |  | 
 |  | 
 | PCI Controllers | 
 | ---------------- | 
 |  | 
 | You'll need to define | 
 |  | 
 | 	CONFIG_PCI_OHCI | 
 |  | 
 | If you have several USB PCI controllers, define | 
 |  | 
 | 	CONFIG_PCI_OHCI_DEVNO: number of the OHCI device in PCI list | 
 |  | 
 | If undefined, the first instance found in PCI space will be used. | 
 |  | 
 | PCI Controllers need to do byte swapping on register accesses, so they | 
 | should to define: | 
 |  | 
 | 	CONFIG_SYS_OHCI_SWAP_REG_ACCESS |