blob: 017c69ab07904086cd0ab7268423dc9ddb1e5198 [file] [log] [blame]
Markus Klotzbuecher58b48572006-11-27 11:51:21 +01001Notes on the the generic USB-OHCI driver
2========================================
3
4This driver (drivers/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
12CONFIG_USB_OHCI_NEW: enable the new OHCI driver
13
14CFG_USB_OHCI_BOARD_INIT: call the board dependant hooks:
15
16 - extern int usb_board_init(void);
17 - extern int usb_board_stop(void);
18 - extern int usb_cpu_init_fail(void);
19
20CFG_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
26CFG_USB_OHCI_REGS_BASE: defines the base address of the OHCI registers
27
28CFG_USB_OHCI_SLOT_NAME: slot name
29
30CFG_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the root hub.
31
32
33Endianness issues
34------------------
35
36The LITTLEENDIAN #define determines if the 'swap_16' and 'swap_32'
37macros do byte swapping or not. But some cpus OHCI-controllers such as
38ppc4xx and mpc5xxx operate in little endian mode, so some extra ifdefs
39were necessary to make this work.
40
41
42
43