diff options
author | Marc Kleine-Budde <mkl@pengutronix.de> | 2010-08-18 12:26:42 -0400 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-09-27 06:52:57 -0400 |
commit | ab3d8b5859234d1d60b9592e9e9c5eaa9bb55678 (patch) | |
tree | 24667a9b181f40d6b3deabd32cc02c75b0491893 /arch | |
parent | 79a11b0ba4a4e2f042b143e6ac0813d6fab90626 (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')
-rw-r--r-- | arch/arm/mach-mx3/mach-mx35_3ds.c | 13 |
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 */ | ||
121 | static 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 | ||