USB: add support for multiple PCI OHCI controllers
authorSergei Poselenov <sposelenov@emcraft.com>
Wed, 21 May 2008 23:15:53 +0000 (01:15 +0200)
committerMarkus Klotzbuecher <mk@denx.de>
Thu, 22 May 2008 15:12:48 +0000 (17:12 +0200)
Add new configuration variable CONFIG_PCI_OHCI_DEVNO.
In case of several PCI USB controllers on a board this variable
specifys which controller to use.

Also add USB support for sokrates board.

See doc/README.generic_usb_ohci for details.

Signed-off-by: Sergei Poselenov <sposelenov@emcraft.com>
Signed-off-by: Markus Klotzbuecher <mk@denx.de>
doc/README.generic_usb_ohci
drivers/usb/usb_ohci.c
include/configs/socrates.h

index c44c501..147ea51 100644 (file)
@@ -51,6 +51,12 @@ 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:
 
index ee0f2e4..318478a 100644 (file)
@@ -53,6 +53,9 @@
 
 #if defined(CONFIG_PCI_OHCI)
 # include <pci.h>
+#if !defined(CONFIG_PCI_OHCI_DEVNO)
+#define CONFIG_PCI_OHCI_DEVNO  0
+#endif
 #endif
 
 #include <malloc.h>
@@ -1818,7 +1821,7 @@ int usb_lowlevel_init(void)
        gohci.sleeping = 0;
        gohci.irq = -1;
 #ifdef CONFIG_PCI_OHCI
-       pdev = pci_find_devices(ohci_pci_ids, 0);
+       pdev = pci_find_devices(ohci_pci_ids, CONFIG_PCI_OHCI_DEVNO);
 
        if (pdev != -1) {
                u16 vid, did;
index 5d37383..c3ecd6f 100644 (file)
 #define CONFIG_EEPRO100
 #undef CONFIG_TULIP
 
-#undef CONFIG_PCI_SCAN_SHOW            /* show pci devices on startup  */
+#define CONFIG_PCI_SCAN_SHOW           /* show pci devices on startup  */
 #define CFG_PCI_SUBSYS_VENDORID 0x1057 /* Motorola                     */
 
 #endif /* CONFIG_PCI */
 #define CONFIG_CMD_MII
 #define CONFIG_CMD_NFS
 #define CONFIG_CMD_PING
-#undef CONFIG_CMD_RTC
 #define CONFIG_CMD_SNTP
+#define CONFIG_CMD_USB
 
 
 #if defined(CONFIG_PCI)
 #define CONFIG_OF_LIBFDT       1
 #define CONFIG_OF_BOARD_SETUP  1
 
+/* USB support */
+#define CONFIG_USB_OHCI_NEW            1
+#define CONFIG_PCI_OHCI                        1
+#define CONFIG_PCI_OHCI_DEVNO          3 /* Number in PCI list */
+#define CFG_USB_OHCI_MAX_ROOT_PORTS    15
+#define CFG_USB_OHCI_SLOT_NAME         "ohci_pci"
+#define CFG_OHCI_SWAP_REG_ACCESS       1
+#define CONFIG_DOS_PARTITION           1
+#define CONFIG_USB_STORAGE             1
+
 #endif /* __CONFIG_H */