]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-mx3/devices.c
ARM: mx3: dynamically allocate fsl-usb2-udc devices
[karo-tx-linux.git] / arch / arm / mach-mx3 / devices.c
index 202c06c552b2fa183b5267e3648733df7e3d5c64..3f859ae8b850957f3087c9587bf526db002f7b48 100644 (file)
@@ -97,30 +97,18 @@ struct platform_device mx3_camera = {
 
 static struct resource otg_resources[] = {
        {
-               .start  = MX31_OTG_BASE_ADDR,
-               .end    = MX31_OTG_BASE_ADDR + 0x1ff,
+               .start  = MX31_USB_OTG_BASE_ADDR,
+               .end    = MX31_USB_OTG_BASE_ADDR + 0x1ff,
                .flags  = IORESOURCE_MEM,
        }, {
-               .start  = MX31_INT_USB3,
-               .end    = MX31_INT_USB3,
+               .start  = MX31_INT_USB_OTG,
+               .end    = MX31_INT_USB_OTG,
                .flags  = IORESOURCE_IRQ,
        },
 };
 
 static u64 otg_dmamask = DMA_BIT_MASK(32);
 
-/* OTG gadget device */
-struct platform_device mxc_otg_udc_device = {
-       .name           = "fsl-usb2-udc",
-       .id             = -1,
-       .dev            = {
-               .dma_mask               = &otg_dmamask,
-               .coherent_dma_mask      = DMA_BIT_MASK(32),
-       },
-       .resource       = otg_resources,
-       .num_resources  = ARRAY_SIZE(otg_resources),
-};
-
 /* OTG host */
 struct platform_device mxc_otg_host = {
        .name = "mxc-ehci",
@@ -139,12 +127,12 @@ static u64 usbh1_dmamask = ~(u32)0;
 
 static struct resource mxc_usbh1_resources[] = {
        {
-               .start = MX31_OTG_BASE_ADDR + 0x200,
-               .end = MX31_OTG_BASE_ADDR + 0x3ff,
+               .start = MX31_USB_HS1_BASE_ADDR,
+               .end = MX31_USB_HS1_BASE_ADDR + 0x1ff,
                .flags = IORESOURCE_MEM,
        }, {
-               .start = MX31_INT_USB1,
-               .end = MX31_INT_USB1,
+               .start = MX31_INT_USB_HS1,
+               .end = MX31_INT_USB_HS1,
                .flags = IORESOURCE_IRQ,
        },
 };
@@ -166,12 +154,12 @@ static u64 usbh2_dmamask = ~(u32)0;
 
 static struct resource mxc_usbh2_resources[] = {
        {
-               .start = MX31_OTG_BASE_ADDR + 0x400,
-               .end = MX31_OTG_BASE_ADDR + 0x5ff,
+               .start = MX31_USB_HS2_BASE_ADDR,
+               .end = MX31_USB_HS2_BASE_ADDR + 0x1ff,
                .flags = IORESOURCE_MEM,
        }, {
-               .start = MX31_INT_USB2,
-               .end = MX31_INT_USB2,
+               .start = MX31_INT_USB_HS2,
+               .end = MX31_INT_USB_HS2,
                .flags = IORESOURCE_IRQ,
        },
 };
@@ -249,14 +237,14 @@ static int __init mx3_devices_init(void)
 #endif
 #if defined(CONFIG_ARCH_MX35)
        if (cpu_is_mx35()) {
-               otg_resources[0].start = MX35_OTG_BASE_ADDR;
-               otg_resources[0].end = MX35_OTG_BASE_ADDR + 0x1ff;
-               otg_resources[1].start = MX35_INT_USBOTG;
-               otg_resources[1].end = MX35_INT_USBOTG;
-               mxc_usbh1_resources[0].start = MX35_OTG_BASE_ADDR + 0x400;
-               mxc_usbh1_resources[0].end = MX35_OTG_BASE_ADDR + 0x5ff;
-               mxc_usbh1_resources[1].start = MX35_INT_USBHS;
-               mxc_usbh1_resources[1].end = MX35_INT_USBHS;
+               otg_resources[0].start = MX35_USB_OTG_BASE_ADDR;
+               otg_resources[0].end = MX35_USB_OTG_BASE_ADDR + 0x1ff;
+               otg_resources[1].start = MX35_INT_USB_OTG;
+               otg_resources[1].end = MX35_INT_USB_OTG;
+               mxc_usbh1_resources[0].start = MX35_USB_HS_BASE_ADDR;
+               mxc_usbh1_resources[0].end = MX35_USB_HS_BASE_ADDR + 0x1ff;
+               mxc_usbh1_resources[1].start = MX35_INT_USB_HS;
+               mxc_usbh1_resources[1].end = MX35_INT_USB_HS;
                imx_wdt_resources[0].start = MX35_WDOG_BASE_ADDR;
                imx_wdt_resources[0].end = MX35_WDOG_BASE_ADDR + 0x3fff;
        }