]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - doc/README.generic_usb_ohci
gpio: mxs: fix prototype of gpio_set_value()
[karo-tx-uboot.git] / doc / README.generic_usb_ohci
index 017c69ab07904086cd0ab7268423dc9ddb1e5198..ba7cea83ca8eb2bf5825344edbcf4cf337c7b7b9 100644 (file)
@@ -1,7 +1,7 @@
 Notes on the the generic USB-OHCI driver
 ========================================
 
-This driver (drivers/usb_ohci.[ch]) is the result of the merge of
+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.
@@ -9,35 +9,55 @@ into cpu/board directories and are called via the hooks below.
 Configuration options
 ----------------------
 
-CONFIG_USB_OHCI_NEW: enable the new OHCI driver
+       CONFIG_USB_OHCI_NEW: enable the new OHCI driver
 
-CFG_USB_OHCI_BOARD_INIT: call the board dependant hooks:
+       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);
+                 - extern int usb_board_init(void);
+                 - extern int usb_board_stop(void);
+                 - extern int usb_cpu_init_fail(void);
 
-CFG_USB_OHCI_CPU_INIT: call the cpu dependant hooks:
+       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);
+                 - extern int usb_cpu_init(void);
+                 - extern int usb_cpu_stop(void);
+                 - extern int usb_cpu_init_fail(void);
 
-CFG_USB_OHCI_REGS_BASE: defines the base address of the OHCI registers
+       CONFIG_SYS_USB_OHCI_REGS_BASE: defines the base address of the OHCI
+                               registers
 
-CFG_USB_OHCI_SLOT_NAME: slot name
+       CONFIG_SYS_USB_OHCI_SLOT_NAME: slot name
 
-CFG_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the root hub.
+       CONFIG_SYS_USB_OHCI_MAX_ROOT_PORTS: maximal number of ports of the
+                                    root hub.
 
 
 Endianness issues
 ------------------
 
-The LITTLEENDIAN #define determines if the 'swap_16' and 'swap_32'
-macros do byte swapping or not. But some cpus OHCI-controllers such as
-ppc4xx and mpc5xxx operate in little endian mode, so some extra ifdefs
-were necessary to make this work.
+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