]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
ENGR00209480-3 mx6sl_usb: fix too many wakeup interrupt issue
authorTony LIU <junjie.liu@freescale.com>
Wed, 2 May 2012 06:58:42 +0000 (14:58 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:34:37 +0000 (08:34 +0200)
modify usb wakeup interrupt number for mx6sl

Signed-off-by: Tony LIU <junjie.liu@freescale.com>
arch/arm/mach-mx6/devices-imx6q.h
arch/arm/mach-mx6/usb_h1.c
arch/arm/plat-mxc/devices/platform-fsl-usb2-wakeup.c
arch/arm/plat-mxc/include/mach/mx6.h

index cf7f3c85524b07fe303cd8e67d5757678e167539..1b069b66b51eb0af9be08e33a82d8eff86aee777 100644 (file)
@@ -86,6 +86,10 @@ extern const struct imx_fsl_usb2_wakeup_data imx6q_fsl_hs_wakeup_data[] __initco
 #define imx6q_add_fsl_usb2_hs_wakeup(id, pdata)        \
        imx_add_fsl_usb2_wakeup(&imx6q_fsl_hs_wakeup_data[id - 1], pdata)
 
+extern const struct imx_fsl_usb2_wakeup_data imx6sl_fsl_hs_wakeup_data[] __initconst;
+#define imx6sl_add_fsl_usb2_hs_wakeup(id, pdata)       \
+       imx_add_fsl_usb2_wakeup(&imx6sl_fsl_hs_wakeup_data[id - 1], pdata)
+
 extern const struct imx_imx_esai_data imx6q_imx_esai_data[] __initconst;
 #define imx6q_add_imx_esai(id, pdata) \
        imx_add_imx_esai(&imx6q_imx_esai_data[id], pdata)
index e36ec6f837f40260aaf8d100da202cba08182ac4..2155098678434c768cf0996e5dceb236a296f122 100644 (file)
@@ -355,7 +355,10 @@ void __init mx6_usb_h1_init(void)
        else
                pdev = imx6q_add_fsl_ehci_hs(1, &usbh1_config);
        usbh1_wakeup_config.usb_pdata[0] = pdev->dev.platform_data;
-       pdev_wakeup = imx6q_add_fsl_usb2_hs_wakeup(1, &usbh1_wakeup_config);
+       if (cpu_is_mx6sl())
+               pdev_wakeup = imx6sl_add_fsl_usb2_hs_wakeup(1, &usbh1_wakeup_config);
+       else
+               pdev_wakeup = imx6q_add_fsl_usb2_hs_wakeup(1, &usbh1_wakeup_config);
        ((struct fsl_usb2_platform_data *)(pdev->dev.platform_data))->wakeup_pdata =
                (struct fsl_usb2_wakeup_platform_data *)(pdev_wakeup->dev.platform_data);
        /* Some phy and power's special controls for host1
index 523c5d4599e180f3d490659309a202e896b706db..cc6732db0dd6df569dc5df913e4347d0e55fffe3 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
+ * Copyright (C) 2011-2012 Freescale Semiconductor, Inc. All Rights Reserved.
  *
  * Copyright (C) 2010 Pengutronix
  * Uwe Kleine-Koenig <u.kleine-koenig@pengutronix.de>
@@ -27,6 +27,14 @@ const struct imx_fsl_usb2_wakeup_data imx6q_fsl_hs_wakeup_data[] __initconst = {
 };
 #endif /* ifdef CONFIG_SOC_IMX6Q */
 
+#ifdef CONFIG_SOC_IMX6SL
+const struct imx_fsl_usb2_wakeup_data imx6sl_fsl_hs_wakeup_data[] __initconst = {
+       imx_fsl_usb2_wakeup_data_entry_single(MX6SL, 1, HS1),
+       imx_fsl_usb2_wakeup_data_entry_single(MX6SL, 2, HS2),
+       imx_fsl_usb2_wakeup_data_entry_single(MX6SL, 3, HS3),
+};
+#endif /* ifdef CONFIG_SOC_IMX6Q */
+
 struct platform_device *__init imx_add_fsl_usb2_wakeup(
                const struct imx_fsl_usb2_wakeup_data *data,
                const struct fsl_usb2_wakeup_platform_data *pdata)
index 9cf2a21959eddb6a96259f2b3074b30d03cc263a..ca4daece7fba6ae96d1c6278be638df358e375ab 100644 (file)
 #define MX6Q_INT_USB_HS1               72
 #define MX6SL_INT_USB_HS1              74
 #define MX6Q_INT_USB_HS2               73
-#define MX6SL_INT_USB_HS2              73
+#define MX6SL_INT_USB_HS2              72
 #define MX6Q_INT_USB_HS3               74
-#define MX6SL_INT_USB_HS3              72
+#define MX6SL_INT_USB_HS3              73
 #define MX6Q_INT_USB_OTG               75
 #define MX6Q_INT_USB_PHY0              76
 #define MX6Q_INT_USB_PHY1              77