USB: cleanup Kconfig options.
authorQuinn Jensen <quinn.jensen@freescale.com>
Thu, 25 Oct 2007 03:23:34 +0000 (21:23 -0600)
committerQuinn Jensen <quinn.jensen@freescale.com>
Thu, 25 Oct 2007 03:23:34 +0000 (21:23 -0600)
Patch to fix Bugzilla 745, 746, 747. USB: Clean up Kconfig options.
 - remove prompts from options in arch/arm/plat-mxc/Kconfig.
   these are auto-selected, and don't need to be visible to the user.
 - restore CONFIG_TRANSCEIVER_MXC_OTG back to the original
   CONFIG_ISP1504_MXC_OTG, since this is isp1504 specific,
   and add the hidden CONFIG_ISP1504_MXC_OTG to arch/arm/plat-mxc/Kconfig
   which is automatically selected instead of adding a user-visable
   option.
 - along with that, we can remove drivers/usb/otg/Kconfig, and its
   inclusion from drivers/usb/Kconfig
 - replace a bunch of _ARC_ names with _FSL_ names.  Still needs more
   work.
 - fix misspellings, typos, etc.
Applies to linux 2.6.22 kernel for MX platforms.

http://www.bitshrine.org/gpp/linux-2.6.22-mx-USB-cleanup-Kconfig-options2.patch

arch/arm/plat-mxc/Kconfig
drivers/usb/Kconfig
drivers/usb/gadget/Kconfig
drivers/usb/host/Kconfig
drivers/usb/otg/Makefile

index cd72fd35d7e7640d9ecf9ad74dfc4fb14c023e07..b2b8889d9ab44ad95018626f3f893ca73c08e5b1 100644 (file)
@@ -39,51 +39,52 @@ config MXC_FB_IRAM
        depends on ARCH_MXC
 
 config ISP1504_MXC
-       bool "ISP1504 transceiver support"
-       depends on USB_ARCH_HAS_EHCI
-       help
-         Support for the ISP1504 USB transceiver on MXC platforms.
+       bool
+       select ISP1504_MXC_OTG if USB_GADGET && USB_EHCI_HCD && USB_OTG
+       default y if USB_EHCI_FSL_1504 || USB_EHCI_ARC_H2 || USB_GADGET_FSL_1504
 
-choice
-       prompt "Select serial USB transceiver"
-       depends on USB_EHCI_ARC_OTGFS || USB_GADGET_ARC_OTGFS
+config ISP1504_MXC_OTG
+       tristate
+       help
+         Support for USB OTG pin detect using the ISP1504 transceiver on MXC platforms.
 
 config ISP1301_MXC
-       bool "ISP1301 transceiver support"
+       bool
+       default y if USB_EHCI_FSL_1301 || USB_GADGET_FSL_1301
        select I2C_MXC
-       help
-         Support for the ISP1301 USB transceiver on MXC platforms.
 
 config MC13783_MXC
-       bool "MC13783 transceiver support"
+       bool
+       default y if USB_EHCI_FSL_MC13783 || USB_GADGET_FSL_MC13783
        select SPI_MXC
-       help
-         Support for the MC13783 USB transceiver on MXC platforms.
-endchoice
 
 choice
-       prompt "Select serial USB mode"
+       prompt "Select serial USB transceiver mode"
        depends on ISP1301_MXC || MC13783_MXC
-
-config MXC_USB_SB3
-       bool "USB Single End Bidirection Mode"
-       help
-         If you say yes to this option, the serial tranceiver is on SB3 mode
+       default MXC_USB_SU6
 
 config MXC_USB_SU6
-       bool "USB Single End Unidirection Mode"
+       bool "Single Ended Unidirectional Mode"
        help
-         If you say yes to this option, the serial tranceiver is on SU6 mode
+         If you say yes to this option, the serial tranceiver operates in SU6 mode.
+         This option will work for either the Freescale MC13783 or Philips ISP1301
+         transceiver.
 
-config MXC_USB_DB4
-       bool "USB Differential Bidirection Mode"
+config MXC_USB_SB3
+       bool "Single Ended Bidirectional Mode"
        help
-         If you say yes to this option, the serial tranceiver is on DB4 mode
+         If you say yes to this option, the serial tranceiver operates in SB3 mode.
+         Not recommended for the Freescale MC13783.
 
 config MXC_USB_DU6
-       bool "USB Differential Unidirection Mode"
+       bool "Differential Unidirectional Mode"
+       help
+         If you say yes to this option, the serial tranceiver operates in DU6 mode.
+
+config MXC_USB_DB4
+       bool "Differential Bidirectional Mode"
        help
-         If you say yes to this option, the serial tranceiver is on DU6 mode
+         If you say yes to this option, the serial tranceiver operates in DB4 mode.
 
 endchoice
 
index 2d700d7c0f1239a40d4ec1636a82fa1b61578226..15499b7e33f4855b1f6bb8f440d06672a8388c86 100644 (file)
@@ -80,8 +80,6 @@ config USB
 
 source "drivers/usb/core/Kconfig"
 
-source "drivers/usb/otg/Kconfig"
-
 source "drivers/usb/host/Kconfig"
 
 source "drivers/usb/class/Kconfig"
index 7523cf1bf1d00eb22d06c323496ed41f4afa2800..146d073e811ff8d645ba9db276a002d60cde5045 100644 (file)
@@ -198,14 +198,12 @@ config USB_OMAP
        select USB_GADGET_SELECTED
 
 config USB_GADGET_ARC
-       boolean "ARC USB Device Controller"
+       boolean "Freescale USB Device Controller"
        depends on ARCH_MXC
-       select USB_GADGET_DUALSPEED
-       select USB_GADGET_ARC_OTGHS if USB_EHCI_ARC_OTGHS
-       select USB_GADGET_ARC_OTGFS if USB_EHCI_ARC_OTGFS
+       select USB_GADGET_DUALSPEED if USB_GADGET_FSL_1504
        help
-          Some Freescale processors have an ARC High Speed
-          USBOTG controller, which supports device mode.
+          Some Freescale processors have a USBOTG controller,
+          which supports device mode.
 
           Say "y" to link the driver statically, or "m" to build a
           dynamically linked module called "arc_udc" and force all
@@ -272,7 +270,8 @@ endchoice
 config USB_OTG
        boolean "OTG Support"
        depends on (USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD) || \
-                  (USB_GADGET_ARC && (ARCH_MX3 || ARCH_MX27) && USB_EHCI_HCD)
+                  ((USB_GADGET_ARC && (ARCH_MX3 || ARCH_MX27) && \
+                  (USB_GADGET_FSL_MC13783 || USB_GADGET_FSL_1504) && USB_EHCI_HCD))
        help
           The most notable feature of USB OTG is support for a
           "Dual-Role" device, which can act as either a device
@@ -290,35 +289,46 @@ config USB_GADGET_DUALSPEED
          and code to handle dual-speed controllers.
 
 config USB_GADGET_ARC_OTG
-       bool "Support for OTG prepheral port on ARC controller"
+       bool "Support for OTG peripheral port on Freescale controller"
        depends on USB_GADGET_ARC
        default y
-       ---help---
-         Enable support for the USB OTG port in HS/FS prepheral mode.
+       help
+         Enable support for the Freescale OTG port in peripheral mode.
 
 choice
-       prompt "Select transceiver"
+       prompt "Select OTG transceiver"
        depends on USB_GADGET_ARC_OTG
-
-config USB_GADGET_ARC_OTGFS
-       bool "Full Speed"
-       depends on !USB_EHCI_ARC_OTGHS
        help
-         The ARC OTG controller can be connected to either a FS or
-         a HS transceiver.
+         Choose the transceiver to use with the Freescale OTG port.
 
-         Enable this configuration option if you want to use the FS
-         transceiver.
+config USB_GADGET_FSL_MC13783
+       bool "Freescale MC13783"
+       depends on !USB_EHCI_FSL_1301 && !USB_EHCI_FSL_1504
+       ---help---
+         Enable support for the Full Speed Freescale MC13783 transceiver.
 
-config USB_GADGET_ARC_OTGHS
-       bool "High Speed"
-       depends on !USB_EHCI_ARC_OTGFS
-       help
-         The ARC OTG controller can be connected to either a FS or
-         a HS transceiver.
+         The mx27ads, mx31ads and mx32ads boards require modifications
+         to support this transceiver.
+
+config USB_GADGET_FSL_1301
+       bool "Philips ISP1301"
+       depends on !USB_EHCI_FSL_MC13783 && !USB_EHCI_FSL_1504
+       ---help---
+         Enable support for the Full Speed Philips ISP1301 transceiver.
+
+         This is the factory default for the mx27ads board.
+         The mx31ads and mx32ads boards require modifications
+         to support this transceiver.
+
+config USB_GADGET_FSL_1504
+       bool "Philips ISP1504"
+       depends on !USB_EHCI_FSL_MC13783 && !USB_EHCI_FSL_1301
+       ---help---
+         Enable support for the High Speed Philips ISP1504 transceiver.
+
+         This is the factory default for the mx31ads and mx32ads boards.
+         The mx27ads board requires modifications to support this transceiver.
 
-         Enable this configuration option if you want to use the HS
-         transceiver.
 endchoice
 
 #
index 0f1e8547b6fa3fff7c8fe97ec6956333e2b4fcda..76cc997ed560ffb6c9b00b8f0bb1b37c6177a52b 100644 (file)
@@ -30,51 +30,70 @@ config USB_EHCI_HCD
          module will be called ehci-hcd.
 
 config USB_EHCI_ARC
-       bool "Support for ARC controller"
+       bool "Support for Freescale controller"
        depends on USB_EHCI_HCD && ARCH_MXC
        ---help---
-          Some Freescale processors have an ARC High Speed
+          Some Freescale processors have an integrated High Speed
           USBOTG controller, which supports EHCI host mode.
 
           Say "y" here to add support for this controller
           to the EHCI HCD driver.
 
 config USB_EHCI_ARC_H1
-       bool "Support for Host1 port on ARC controller"
+       bool "Support for Host1 port on Freescale controller"
        depends on USB_EHCI_ARC && (ARCH_MX27 || ARCH_MX3)
        ---help---
          Enable support for the USB Host1 port.
 
 config USB_EHCI_ARC_H2
-       bool "Support for Host2 port on ARC controller"
+       bool "Support for Host2 port on Freescale controller"
        depends on USB_EHCI_ARC && (ARCH_MX27 || ARCH_MX3)
        ---help---
          Enable support for the USB Host2 port.
 
 config USB_EHCI_ARC_OTG
-       bool "Support for OTG host port on ARC controller"
+       bool "Support for OTG host port on Freescale controller"
        depends on USB_EHCI_ARC
        default y
        ---help---
          Enable support for the USB OTG port in HS/FS Host mode.
 
 choice
-       prompt "Select transceiver speed"
+       prompt "Select OTG transceiver"
        depends on USB_EHCI_ARC_OTG
-       default USB_EHCI_ARC_OTGHS
-       default USB_EHCI_ARC_OTGFS if ARCH_MX27
+       default USB_EHCI_FSL_1504 if ARCH_MX3
+       default USB_EHCI_FSL_1301 if ARCH_MX27
+       ---help---
+         Choose the transceiver to use with the Freescale OTG port.
+
+config USB_EHCI_FSL_MC13783
+       bool "Freescale MC13783"
+       ---help---
+         Enable support for the Full Speed Freescale MC13783 transceiver.
+
+         The mx27ads, mx31ads and mx32ads boards require modifications
+         to support this transceiver.
 
-config USB_EHCI_ARC_OTGHS
-       bool "High Speed"
+config USB_EHCI_FSL_1301
+       bool "Philips ISP1301"
        ---help---
-         Enable support for the USB OTG port in HS Host mode.
+         Enable support for the Full Speed Philips ISP1301 transceiver.
 
-config USB_EHCI_ARC_OTGFS
-       bool "Full Speed"
+         This is the factory default for the mx27ads board.
+         The mx31ads and mx32ads boards require modifications
+         to support this transceiver.
+
+config USB_EHCI_FSL_1504
+       bool "Philips ISP1504"
        ---help---
-         Enable support for the USB OTG port in FS Host mode.
+         Enable support for the High Speed Philips ISP1504 transceiver.
+
+         This is the factory default for the mx31ads and mx32ads boards.
+         The mx27ads board requires modifications to support this transceiver.
+
 endchoice
 
+
 config USB_EHCI_SPLIT_ISO
        bool "Full speed ISO transactions (EXPERIMENTAL)"
        depends on USB_EHCI_HCD && EXPERIMENTAL
index dc37de2c2360ac739e8a86249e8ff98ce9767731..6e805371955dff7e837e84a3d6c43f4e2f0f0739 100644 (file)
@@ -2,5 +2,5 @@
 # Makefile for USB OTG controller  driver
 #
 # USB transceiver
-fsl_otg_arc-objs               := fsl_otg.o otg_fsm.o
-obj-$(CONFIG_TRANSCEIVER_MXC_OTG) += fsl_otg_arc.o
+isp1504_arc-objs               := fsl_otg.o otg_fsm.o
+obj-$(CONFIG_ISP1504_MXC_OTG) += isp1504_arc.o