From 9e1dde33876ba83ad586c336647fff133d0f5472 Mon Sep 17 00:00:00 2001 From: Uwe Kleine-König Date: Fri, 12 Nov 2010 16:40:06 +0100 Subject: ARM: mx3: dynamically allocate fsl-usb2-udc devices MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit While adapting the #defines for this I noticed that the offset used for USB HS on i.MX35 differs from the documented offset. I kept the working offset and commented that the documentation differs. Signed-off-by: Uwe Kleine-König --- arch/arm/mach-mx3/devices.c | 52 +++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 32 deletions(-) (limited to 'arch/arm/mach-mx3/devices.c') diff --git a/arch/arm/mach-mx3/devices.c b/arch/arm/mach-mx3/devices.c index 202c06c552b2..3f859ae8b850 100644 --- a/arch/arm/mach-mx3/devices.c +++ b/arch/arm/mach-mx3/devices.c @@ -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; } -- cgit v1.2.3