aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2010-08-18 18:26:42 +0200
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-09-27 12:52:57 +0200
commitab3d8b5859234d1d60b9592e9e9c5eaa9bb55678 (patch)
tree24667a9b181f40d6b3deabd32cc02c75b0491893 /arch/arm/mach-mx3
parent79a11b0ba4a4e2f042b143e6ac0813d6fab90626 (diff)
downloadkernel_samsung_smdk4412-ab3d8b5859234d1d60b9592e9e9c5eaa9bb55678.zip
kernel_samsung_smdk4412-ab3d8b5859234d1d60b9592e9e9c5eaa9bb55678.tar.gz
kernel_samsung_smdk4412-ab3d8b5859234d1d60b9592e9e9c5eaa9bb55678.tar.bz2
ARM: mx3/mx35_3ds: add usb host2 support
we still have to toggle two pins on the mc9sdz60: /* MUX3_CTR to be low for USB Host2 DP&DM */ pmic_gpio_set_bit_val(MCU_GPIO_REG_GPIO_CONTROL_2, 6, 0); /* CAN_PWDN to be high for USB Host2 Power&OC */ pmic_gpio_set_bit_val(MCU_GPIO_REG_GPIO_CONTROL_2, 1, 1); until we've a proper driver for the mx9sdz60 in linux we'll do this in barebox (a.k.a. u-boot-v2) Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3')
-rw-r--r--arch/arm/mach-mx3/mach-mx35_3ds.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/mach-mx3/mach-mx35_3ds.c b/arch/arm/mach-mx3/mach-mx35_3ds.c
index ae0f17c..1dd7baa 100644
--- a/arch/arm/mach-mx3/mach-mx35_3ds.c
+++ b/arch/arm/mach-mx3/mach-mx35_3ds.c
@@ -38,6 +38,7 @@
#include <mach/hardware.h>
#include <mach/common.h>
#include <mach/iomux-mx35.h>
+#include <mach/mxc_ehci.h>
#include "devices-imx35.h"
#include "devices.h"
@@ -105,6 +106,9 @@ static struct pad_desc mx35pdk_pads[] = {
/* USBOTG */
MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR,
MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC,
+ /* USBH1 */
+ MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR,
+ MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC,
};
/* OTG config */
@@ -113,6 +117,13 @@ static struct fsl_usb2_platform_data usb_otg_pdata = {
.phy_mode = FSL_USB2_PHY_UTMI_WIDE,
};
+/* USB HOST config */
+static struct mxc_usbh_platform_data usb_host_pdata = {
+ .portsc = MXC_EHCI_MODE_SERIAL,
+ .flags = MXC_EHCI_INTERFACE_SINGLE_UNI |
+ MXC_EHCI_INTERNAL_PHY,
+};
+
/*
* Board specific initialization.
*/
@@ -126,6 +137,8 @@ static void __init mxc_board_init(void)
mxc_register_device(&mxc_otg_udc_device, &usb_otg_pdata);
+ mxc_register_device(&mxc_usbh1, &usb_host_pdata);
+
imx35_add_mxc_nand(&mx35pdk_nand_board_info);
}