--- linuxppc_2_4_ORI/Documentation/Configure.help 2007-11-26 13:31:38.000000000 +0100 +++ linuxppc_2_4_devel/Documentation/Configure.help 2007-11-23 18:27:09.000000000 +0100 @@ -15078,19 +15091,52 @@ CONFIG_USB_OHCI The module will be called usb-ohci.o. If you want to compile it as a module, say M here and read . +MPC5200 USB Host Controller Support +CONFIG_USB_OHCI_5xxx + Enables support for the USB OHCI Host Controller in the MPC5200 + processor. If unsure, say N. + +Which USB Port to be used +CONFIG_USB_1ST_ONLY + The MPC5200 provides two USB controller. USB1 at the USB-port and + USB2 at either PSC3-port or Eth-port. Select CONFIG_USB_1ST_ONLY + if you want to use the first controller USB1 only. + +Which USB Port to be used +CONFIG_USB_2ND_ONLY + The MPC5200 provides two USB controller. USB1 at the USB-port and + USB2 at either PSC3-port or Eth-port. Select CONFIG_USB_2ND_ONLY + if you want to use the second controller USB2 only. + +Which USB Port to be used +CONFIG_USB_USEBOTH + The MPC5200 provides two USB controller. USB1 at the USB-port and + USB2 at either PSC3-port or Eth-port. Select CONFIG_USB_USEBOTH + if you want to use both controllers. + +Secondary USB port +CONFIG_USB2_FEC + Enable this to get access to the MPC5200 USB2 controller on the + FEC-port. + +Secondary USB port +CONFIG_USB2_PSC + Enable this to get access to the MPC5200 USB2 controller on the + PSC3-port. + SL811HS (x86, StrongARM) support CONFIG_USB_SL811HS Embedded Open Host Controller SL811HS from CYPRESS SEMICONDUCTOR INC. - + Board USB1104 in i386 architecture with PC/104-bus. - + StrongARM is currently not testet and not for PC/104-bus! StrongARM need a special hardware with Chip Select directly from CPU. See also SL811HS_ALT. - + SL811HS_ALT (x86, StrongARM) support CONFIG_USB_SL811HS_ALT Embedded Open Host Controller SL811HS from CYPRESS SEMICONDUCTOR INC. --- linuxppc_2_4_ORI/drivers/usb/host/Config.in 2007-11-26 13:31:44.000000000 +0100 +++ linuxppc_2_4_devel/drivers/usb/host/Config.in 2007-11-23 13:52:16.000000000 +0100 @@ -18,7 +18,12 @@ fi if [ "$CONFIG_MPC5200" = "y" ]; then dep_tristate ' MPC5200 USB Host Controller Support' CONFIG_USB_OHCI_5xxx $CONFIG_USB dep_bool ' Single ended USB driver' CONFIG_USB_SINGLEENDED $CONFIG_USB_OHCI_5xxx - dep_bool ' Use both USB ports' CONFIG_USB_USEBOTH $CONFIG_USB_OHCI_5xxx + if [ "$CONFIG_USB_OHCI_5xxx" = "y" ]; then + choice ' Which USB Port to be used' \ + "1-st CONFIG_USB_1ST_ONLY \ + 2-nd CONFIG_USB_2ND_ONLY \ + both CONFIG_USB_USEBOTH" 1-st + fi if [ "$CONFIG_USB_OHCI_5xxx" != "n" ]; then define_bool CONFIG_USB_OHCI_BIG_ENDIAN y if [ "$CONFIG_PCI" = "n" ]; then @@ -26,7 +31,8 @@ if [ "$CONFIG_MPC5200" = "y" ]; then define_bool CONFIG_PCIDUMMY y fi fi - if [ "$CONFIG_USB_USEBOTH" = "y" ]; then + if [ "$CONFIG_USB_OHCI_5xxx" = "y" -a "$CONFIG_USB_USEBOTH" = "y" -o \ + "$CONFIG_USB_OHCI_5xxx" = "y" -a "$CONFIG_USB_2ND_ONLY" = "y" ]; then if [ "$CONFIG_PPC_5xxx_FEC" != "y" ]; then choice 'Secondary USB port' \ "Ethernet_Port CONFIG_USB2_FEC \ --- linuxppc_2_4_ORI/drivers/usb/host/usb-ohci.c 2007-11-26 13:31:44.000000000 +0100 +++ linuxppc_2_4_devel/drivers/usb/host/usb-ohci.c 2007-11-23 13:15:45.000000000 +0100 @@ -2633,7 +2633,7 @@ static struct pci_dev dummy_ohci_dev = static struct pci_device_id dummy_ohci_id = { .driver_data = OHCI_BIG_ENDIAN -#if !defined(CONFIG_USB_USEBOTH) +#if !defined(CONFIG_USB_USEBOTH) && !defined(CONFIG_USB_2ND_ONLY) | OHCI_FORCE_SINGLE_PORT #endif }; @@ -2663,26 +2663,28 @@ static int __init mpc5200_ohci_init (voi port_config &= ~0x00800000; out_be32(&gpio->port_config, port_config); -#ifdef CONFIG_USB_USEBOTH - /* Enable USB1 and USB2 ports */ -#if defined(CONFIG_USB2_PSC) - port_config &= ~0x00007700; +#if defined (CONFIG_USB_2ND_ONLY) && defined (CONFIG_USB2_PSC) + /* Enable USB2 @ PSC3-port */ + port_config &= ~0x00000F00; + port_config |= 0x00000100; +#elif defined (CONFIG_USB_2ND_ONLY) && defined (CONFIG_USB2_FEC) + /* Enable USB2 @ Eth-port */ + port_config &= ~0x000F0000; + port_config |= 0x00010000; +#elif defined (CONFIG_USB_USEBOTH) && defined (CONFIG_USB2_PSC) + /* Enable USB1 & USB2 @ PSC3-port */ + port_config &= ~0x00007F00; port_config |= 0x00001100; -#elif defined(CONFIG_USB2_FEC) - port_config &= ~0x00077000; +#elif defined (CONFIG_USB_USEBOTH) && defined (CONFIG_USB2_FEC) + /* Enable USB1 & USB2 @ Eth-port */ + port_config &= ~0x000F7000; port_config |= 0x00011000; #else - #error "Secondary USB port isn't selected" -#endif -#else - /* Enable USB1 port only */ + /* Enable USB1 only (CONFIG_USB_1ST_ONLY) */ port_config &= ~0x00007000; port_config |= 0x00001000; -# ifdef CONFIG_PM520 - port_config |= 0x00004000; -# endif #endif -#ifdef CONFIG_USB_SINGLEENDED +#if defined (CONFIG_USB_SINGLEENDED) || defined (CONFIG_PM520) /* Enable Single Ended (SE) mode */ port_config |= 0x00004000; #endif