X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=doc%2FREADME.generic_usb_ohci;h=ba7cea83ca8eb2bf5825344edbcf4cf337c7b7b9;hp=017c69ab07904086cd0ab7268423dc9ddb1e5198;hb=ef10f5faa7a37f6a7936ba840c4a308c924baff4;hpb=83dc830b1693252d996bda920cd5f3161d7c64a9 diff --git a/doc/README.generic_usb_ohci b/doc/README.generic_usb_ohci index 017c69ab07..ba7cea83ca 100644 --- a/doc/README.generic_usb_ohci +++ b/doc/README.generic_usb_ohci @@ -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