README.generic_usb_ohci 1.6 KB

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