1Notes on the the generic USB-OHCI driver
2========================================
3
4This driver (drivers/usb/usb_ohci.[ch]) is the result of the merge of
5various existing OHCI drivers that were basically identical beside
6cpu/board dependant initalization. This initalization has been moved
7into cpu/board directories and are called via the hooks below.
8
9Configuration options
10----------------------
11
12	CONFIG_USB_OHCI_NEW: enable the new OHCI driver
13
14	CONFIG_SYS_USB_OHCI_BOARD_INIT: call the board dependant hooks:
15
16		  - extern int board_usb_init(void);
17		  - extern int usb_board_stop(void);
18		  - extern int usb_cpu_init_fail(void);
19
20	CONFIG_SYS_USB_OHCI_CPU_INIT: call the cpu dependant hooks:
21
22		  - extern int usb_cpu_init(void);
23		  - extern int usb_cpu_stop(void);
24		  - extern int usb_cpu_init_fail(void);
25
26	CONFIG_SYS_USB_OHCI_REGS_BASE: defines the base address of the OHCI
27				registers
28
29	CONFIG_SYS_USB_OHCI_SLOT_NAME: slot name
30
31	CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the
32				     root hub.
33
34
35Endianness issues
36------------------
37
38The USB bus operates in little endian, but unfortunately there are
39OHCI controllers that operate in big endian such as ppc4xx. For these the
40config option
41
42	CONFIG_SYS_OHCI_BE_CONTROLLER
43
44needs to be defined.
45
46
47PCI Controllers
48----------------
49
50You'll need to define
51
52	CONFIG_PCI_OHCI
53
54If you have several USB PCI controllers, define
55
56	CONFIG_PCI_OHCI_DEVNO: number of the OHCI device in PCI list
57
58If undefined, the first instance found in PCI space will be used.
59
60PCI Controllers need to do byte swapping on register accesses, so they
61should to define:
62
63	CONFIG_SYS_OHCI_SWAP_REG_ACCESS
64