summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authormake shi <b15407@freescale.com>2012-08-21 17:51:18 +0800
committermake shi <b15407@freescale.com>2012-08-21 17:51:18 +0800
commitd0a8710979c4c60a06717f0e4c8ff650ddc2715d (patch)
tree08bef3a9c7beefd69a37d5269dea4dee1cd265e6 /arch/arm
parentaa078a38bc17d5521e6d442dad88c19396c79cf4 (diff)
ENGR00220833 mx6sl: USB hsic: enable mx6sl hsic function
- Set MX6SL_PAD_HSIC_DAT and MX6SL_PAD_HSIC_STROBE pad DDR attribute as DDR3 - Add imx6sl_add_fsl_ehci_hs and imx6sl_add_fsl_usb2_hs_wakeup in usb_h2.c Signed-off-by: make shi <b15407@freescale.com>
Diffstat (limited to 'arch/arm')
-rwxr-xr-xarch/arm/mach-mx6/board-mx6sl_arm2.c5
-rw-r--r--arch/arm/mach-mx6/usb_h2.c11
2 files changed, 14 insertions, 2 deletions
diff --git a/arch/arm/mach-mx6/board-mx6sl_arm2.c b/arch/arm/mach-mx6/board-mx6sl_arm2.c
index 1d76abb8a0b1..5e3d91519c94 100755
--- a/arch/arm/mach-mx6/board-mx6sl_arm2.c
+++ b/arch/arm/mach-mx6/board-mx6sl_arm2.c
@@ -1080,6 +1080,11 @@ static void __init mx6_arm2_init_usb(void)
mx6_set_otghost_vbus_func(imx6_arm2_usbotg_vbus);
mx6_usb_dr_init();
#ifdef CONFIG_USB_EHCI_ARC_HSIC
+ mxc_iomux_set_specialbits_register(MX6SL_PAD_HSIC_DAT,
+ PAD_CTL_DDR_SEL_DDR3, PAD_CTL_DDR_SEL_MASK);
+ mxc_iomux_set_specialbits_register(MX6SL_PAD_HSIC_STROBE,
+ PAD_CTL_DDR_SEL_DDR3, PAD_CTL_DDR_SEL_MASK);
+
mx6_usb_h2_init();
#endif
}
diff --git a/arch/arm/mach-mx6/usb_h2.c b/arch/arm/mach-mx6/usb_h2.c
index 24083fd52d72..37cad034d173 100644
--- a/arch/arm/mach-mx6/usb_h2.c
+++ b/arch/arm/mach-mx6/usb_h2.c
@@ -227,9 +227,16 @@ void __init mx6_usb_h2_init(void)
struct platform_device *pdev, *pdev_wakeup;
static void __iomem *anatop_base_addr = MX6_IO_ADDRESS(ANATOP_BASE_ADDR);
usbh2_config.wakeup_pdata = &usbh2_wakeup_config;
- pdev = imx6q_add_fsl_ehci_hs(2, &usbh2_config);
+ if (cpu_is_mx6sl())
+ pdev = imx6sl_add_fsl_ehci_hs(2, &usbh2_config);
+ else
+ pdev = imx6q_add_fsl_ehci_hs(2, &usbh2_config);
+
usbh2_wakeup_config.usb_pdata[0] = pdev->dev.platform_data;
- pdev_wakeup = imx6q_add_fsl_usb2_hs_wakeup(2, &usbh2_wakeup_config);
+ if (cpu_is_mx6sl())
+ pdev_wakeup = imx6sl_add_fsl_usb2_hs_wakeup(2, &usbh2_wakeup_config);
+ else
+ pdev_wakeup = imx6q_add_fsl_usb2_hs_wakeup(2, &usbh2_wakeup_config);
((struct fsl_usb2_platform_data *)(pdev->dev.platform_data))->wakeup_pdata =
pdev_wakeup->dev.platform_data;
/* Some phy and power's special controls for host2