aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-mx3/mach-mx35_3ds.c
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2010-08-18 12:26:42 -0400
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-09-27 06:52:57 -0400
commitab3d8b5859234d1d60b9592e9e9c5eaa9bb55678 (patch)
tree24667a9b181f40d6b3deabd32cc02c75b0491893 /arch/arm/mach-mx3/mach-mx35_3ds.c
parent79a11b0ba4a4e2f042b143e6ac0813d6fab90626 (diff)
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/mach-mx35_3ds.c')
-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 ae0f17cc8d73..1dd7baae4507 100644
--- a/arch/arm/mach-mx3/mach-mx35_3ds.c
+++ b/arch/arm/mach-mx3/mach-mx35_3ds.c
@@ -38,6 +38,7 @@
38#include <mach/hardware.h> 38#include <mach/hardware.h>
39#include <mach/common.h> 39#include <mach/common.h>
40#include <mach/iomux-mx35.h> 40#include <mach/iomux-mx35.h>
41#include <mach/mxc_ehci.h>
41 42
42#include "devices-imx35.h" 43#include "devices-imx35.h"
43#include "devices.h" 44#include "devices.h"
@@ -105,6 +106,9 @@ static struct pad_desc mx35pdk_pads[] = {
105 /* USBOTG */ 106 /* USBOTG */
106 MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR, 107 MX35_PAD_USBOTG_PWR__USB_TOP_USBOTG_PWR,
107 MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC, 108 MX35_PAD_USBOTG_OC__USB_TOP_USBOTG_OC,
109 /* USBH1 */
110 MX35_PAD_I2C2_CLK__USB_TOP_USBH2_PWR,
111 MX35_PAD_I2C2_DAT__USB_TOP_USBH2_OC,
108}; 112};
109 113
110/* OTG config */ 114/* OTG config */
@@ -113,6 +117,13 @@ static struct fsl_usb2_platform_data usb_otg_pdata = {
113 .phy_mode = FSL_USB2_PHY_UTMI_WIDE, 117 .phy_mode = FSL_USB2_PHY_UTMI_WIDE,
114}; 118};
115 119
120/* USB HOST config */
121static struct mxc_usbh_platform_data usb_host_pdata = {
122 .portsc = MXC_EHCI_MODE_SERIAL,
123 .flags = MXC_EHCI_INTERFACE_SINGLE_UNI |
124 MXC_EHCI_INTERNAL_PHY,
125};
126
116/* 127/*
117 * Board specific initialization. 128 * Board specific initialization.
118 */ 129 */
@@ -126,6 +137,8 @@ static void __init mxc_board_init(void)
126 137
127 mxc_register_device(&mxc_otg_udc_device, &usb_otg_pdata); 138 mxc_register_device(&mxc_otg_udc_device, &usb_otg_pdata);
128 139
140 mxc_register_device(&mxc_usbh1, &usb_host_pdata);
141
129 imx35_add_mxc_nand(&mx35pdk_nand_board_info); 142 imx35_add_mxc_nand(&mx35pdk_nand_board_info);
130} 143}
131 144