summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAlbert Chen <R65187@freescale.com>2010-01-28 09:57:57 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:13:33 +0200
commit762f3cfa3716f18c54e83590588b3797df2f74ab (patch)
tree3cf97addeb5d1d0974505c9e9e232f9e81e9f24e /drivers
parent18c49837d96675c0c604ff2ed29845a61d5f24d7 (diff)
ENGR00117742-1 add usb support for mx28
add usb support for mx28 include usb host and usb device Signed-off-by: Albert Chen <r65187@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/usb/gadget/Kconfig5
-rw-r--r--drivers/usb/gadget/arcotg_udc.h26
-rw-r--r--drivers/usb/host/Kconfig52
3 files changed, 69 insertions, 14 deletions
diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig
index 2a4c8bf323d4..6bbf50e699bd 100644
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
@@ -465,9 +465,10 @@ config USB_GOKU
config USB_GADGET_ARC
boolean "Freescale USB Device Controller"
- depends on ARCH_MXC || ARCH_STMP3XXX
+ depends on ARCH_MXC || ARCH_STMP3XXX || ARCH_MXS
select USB_GADGET_DUALSPEED
select USB_OTG_UTILS
+ select USB_GADGET_DUALSPEED if USB_GADGET_FSL_1504 || USB_GADGET_FSL_UTMI
help
Some Freescale processors have a USBOTG controller,
which supports device mode.
@@ -559,7 +560,7 @@ config USB_GADGET_DUALSPEED
config USB_OTG
boolean "OTG Support"
depends on (USB_GADGET_OMAP && ARCH_OMAP_OTG && USB_OHCI_HCD) || \
- (USB_GADGET_ARC && (ARCH_MXC || ARCH_STMP3XXX) && USB_EHCI_HCD)
+ (USB_GADGET_ARC && (ARCH_MXC || ARCH_STMP3XXX || ARCH_MXS) && 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
diff --git a/drivers/usb/gadget/arcotg_udc.h b/drivers/usb/gadget/arcotg_udc.h
index 95e431c875b7..fa9bb980cfd8 100644
--- a/drivers/usb/gadget/arcotg_udc.h
+++ b/drivers/usb/gadget/arcotg_udc.h
@@ -1,14 +1,19 @@
/*
- * Copyright (C) 2004-2010 Freescale Semiconductor, Inc. All Rights Reserved.
- */
-
-/*
- * The code contained herein is licensed under the GNU General Public
- * License. You may obtain a copy of the GNU General Public License
- * Version 2 or later at the following locations:
+ * Copyright (C) 2009-2010 Freescale Semiconductor, Inc. All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
*
- * http://www.opensource.org/licenses/gpl-license.html
- * http://www.gnu.org/copyleft/gpl.html
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
/*!
@@ -692,7 +697,8 @@ static void dump_msg(const char *label, const u8 * buf, unsigned int length)
/* Bulk only class request */
#define USB_BULK_RESET_REQUEST 0xff
-#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_STMP3XXX)
+#if defined(CONFIG_ARCH_MXC) || defined(CONFIG_ARCH_STMP3XXX) || \
+ defined(CONFIG_ARCH_MXS)
#include <mach/fsl_usb_gadget.h>
#elif CONFIG_PPC32
#include <asm/fsl_usb_gadget.h>
diff --git a/drivers/usb/host/Kconfig b/drivers/usb/host/Kconfig
index 2b02c5e68d42..6abc0ba016c0 100644
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
@@ -61,7 +61,7 @@ config USB_EHCI_HCD
config USB_EHCI_ARC
bool "Support for Freescale controller"
- depends on USB_EHCI_HCD && (ARCH_MXC || ARCH_STMP3XXX)
+ depends on USB_EHCI_HCD && (ARCH_MXC || ARCH_STMP3XXX || ARCH_MXS)
select USB_OTG_UTILS
---help---
Some Freescale processors have an integrated High Speed
@@ -72,7 +72,7 @@ config USB_EHCI_ARC
config USB_EHCI_ARC_H1
bool "Support for Host1 port on Freescale controller"
- depends on USB_EHCI_ARC && (ARCH_MX27 || ARCH_MX3)
+ depends on USB_EHCI_ARC && (ARCH_MX27 || ARCH_MX3 || ARCH_MX28)
---help---
Enable support for the USB Host1 port.
@@ -102,6 +102,54 @@ config USB_STATIC_IRAM
If in doubt, say N.
+choice
+ prompt "Select transceiver for DR port"
+ depends on USB_EHCI_ARC_OTG
+ default USB_EHCI_FSL_1504 if ARCH_MX3
+ default USB_EHCI_FSL_1301 if ARCH_MX27
+ default USB_EHCI_FSL_UTMI if (ARCH_MX25 || ARCH_MX35 || ARCH_MX37 || ARCH_MX51 || ARCH_STMP3XXX || ARCH_MXS)
+ ---help---
+ Choose the transceiver to use with the Freescale DR port.
+
+config USB_EHCI_FSL_MC13783
+ bool "Freescale MC13783"
+ depends on !MACH_MX25_3DS
+ ---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_FSL_1301
+ bool "Philips ISP1301"
+ depends on !MACH_MX25_3DS
+ ---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_EHCI_FSL_1504
+ bool "Philips ISP1504"
+ depends on MACH_MX27ADS || MACH_MX31ADS || MACH_MX32ADS ||MACH_MX31_3DS
+ ---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.
+
+config USB_EHCI_FSL_UTMI
+ bool "Internal UTMI"
+ depends on (ARCH_MX25 || ARCH_MX35 || ARCH_MX37 || ARCH_MX51 || ARCH_STMP3XXX || ARCH_MXS)
+ ---help---
+ Enable support for the on-chip High Speed UTMI transceiver.
+
+ This is the factory default for the mx35ads board.
+
+endchoice
+
+
config USB_EHCI_ROOT_HUB_TT
bool "Root Hub Transaction Translators"
depends on USB_EHCI_HCD