diff options
| author | Tony LIU <junjie.liu@freescale.com> | 2012-04-28 21:05:56 +0800 |
|---|---|---|
| committer | Jason Liu <r64343@freescale.com> | 2012-07-20 13:37:28 +0800 |
| commit | 9b7542b1f1a12c57378d54a44d98a2fbdb2849e0 (patch) | |
| tree | 62659e268a269e81fe4e96d81c9afbb99b6e5268 | |
| parent | 21aa50c85e214dceb4a1b7d0753131e1e59a7359 (diff) | |
ENGR00209480-2 mx6sl_usb:change usb irq number for mx6sl
- in mx6sl RM, the irq of usb h1(usb otg2) is 72, but
in fact, it should be 74, we need change the irq special
for mx6sl
Signed-off-by: Tony LIU <junjie.liu@freescale.com>
| -rw-r--r-- | arch/arm/mach-mx6/devices-imx6q.h | 4 | ||||
| -rw-r--r-- | arch/arm/mach-mx6/usb_h1.c | 5 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/devices/platform-mxc-ehci.c | 8 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/mx6.h | 4 |
4 files changed, 18 insertions, 3 deletions
diff --git a/arch/arm/mach-mx6/devices-imx6q.h b/arch/arm/mach-mx6/devices-imx6q.h index 995a5bd751eb..cf7f3c85524b 100644 --- a/arch/arm/mach-mx6/devices-imx6q.h +++ b/arch/arm/mach-mx6/devices-imx6q.h @@ -70,6 +70,10 @@ extern const struct imx_mxc_ehci_data imx6q_mxc_ehci_hs_data[] __initconst; #define imx6q_add_fsl_ehci_hs(id, pdata) \ imx_add_fsl_ehci(&imx6q_mxc_ehci_hs_data[id - 1], pdata) +extern const struct imx_mxc_ehci_data imx6sl_mxc_ehci_hs_data[] __initconst; +#define imx6sl_add_fsl_ehci_hs(id, pdata) \ + imx_add_fsl_ehci(&imx6sl_mxc_ehci_hs_data[id - 1], pdata) + extern const struct imx_fsl_usb2_otg_data imx6q_fsl_usb2_otg_data __initconst; #define imx6q_add_fsl_usb2_otg(pdata) \ imx_add_fsl_usb2_otg(&imx6q_fsl_usb2_otg_data, pdata) diff --git a/arch/arm/mach-mx6/usb_h1.c b/arch/arm/mach-mx6/usb_h1.c index 478ead40cf0d..e36ec6f837f4 100644 --- a/arch/arm/mach-mx6/usb_h1.c +++ b/arch/arm/mach-mx6/usb_h1.c @@ -350,7 +350,10 @@ void __init mx6_usb_h1_init(void) struct platform_device *pdev, *pdev_wakeup; static void __iomem *anatop_base_addr = MX6_IO_ADDRESS(ANATOP_BASE_ADDR); usbh1_config.wakeup_pdata = &usbh1_wakeup_config; - pdev = imx6q_add_fsl_ehci_hs(1, &usbh1_config); + if (cpu_is_mx6sl()) + pdev = imx6sl_add_fsl_ehci_hs(1, &usbh1_config); + 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); ((struct fsl_usb2_platform_data *)(pdev->dev.platform_data))->wakeup_pdata = diff --git a/arch/arm/plat-mxc/devices/platform-mxc-ehci.c b/arch/arm/plat-mxc/devices/platform-mxc-ehci.c index 700cf468ea8e..94fdf119a5b8 100644 --- a/arch/arm/plat-mxc/devices/platform-mxc-ehci.c +++ b/arch/arm/plat-mxc/devices/platform-mxc-ehci.c @@ -58,6 +58,14 @@ const struct imx_mxc_ehci_data imx6q_mxc_ehci_hs_data[] __initconst = { }; #endif /* ifdef CONFIG_SOC_IMX6Q */ +#ifdef CONFIG_SOC_IMX6SL +const struct imx_mxc_ehci_data imx6sl_mxc_ehci_hs_data[] __initconst = { + imx_mxc_ehci_data_entry_single(MX6SL, 1, HS1), + imx_mxc_ehci_data_entry_single(MX6SL, 2, HS2), + imx_mxc_ehci_data_entry_single(MX6SL, 3, HS3), +}; +#endif /* ifdef CONFIG_SOC_IMX6SL */ + struct platform_device *__init imx_add_mxc_ehci( const struct imx_mxc_ehci_data *data, const struct mxc_usbh_platform_data *pdata) diff --git a/arch/arm/plat-mxc/include/mach/mx6.h b/arch/arm/plat-mxc/include/mach/mx6.h index ca4daece7fba..9cf2a21959ed 100644 --- a/arch/arm/plat-mxc/include/mach/mx6.h +++ b/arch/arm/plat-mxc/include/mach/mx6.h @@ -364,9 +364,9 @@ #define MX6Q_INT_USB_HS1 72 #define MX6SL_INT_USB_HS1 74 #define MX6Q_INT_USB_HS2 73 -#define MX6SL_INT_USB_HS2 72 +#define MX6SL_INT_USB_HS2 73 #define MX6Q_INT_USB_HS3 74 -#define MX6SL_INT_USB_HS3 73 +#define MX6SL_INT_USB_HS3 72 #define MX6Q_INT_USB_OTG 75 #define MX6Q_INT_USB_PHY0 76 #define MX6Q_INT_USB_PHY1 77 |
