On Wed, 5 Dec 2007 18:37:49 +0530, "Gadiyar, Anand" <gadiyar@xxxxxx> wrote: > This patch adds support for USB on OMAP34XX. > This adds a working board-3430sdp-usb.c file. > > Signed-off-by: Anand Gadiyar <gadiyar@xxxxxx> > Signed-off-by: Vikram Pandita <vikram.pandita@xxxxxx> > Signed-off-by: Nishant Kamat <nskamat@xxxxxx> > --- > arch/arm/mach-omap2/Makefile | 3 - > arch/arm/mach-omap2/board-3430sdp-usb.c | 77 > ++++++++++++++++++++++++++++++++ > arch/arm/mach-omap2/board-3430sdp.c | 3 + > 3 files changed, 82 insertions(+), 1 deletion(-) > > Index: linux-omap/arch/arm/mach-omap2/Makefile > =================================================================== > --- linux-omap.orig/arch/arm/mach-omap2/Makefile 2007-12-05 > 10:02:53.000000000 +0530 > +++ linux-omap/arch/arm/mach-omap2/Makefile 2007-12-05 17:04:09.664182922 > +0530 > @@ -26,7 +26,8 @@ > board-2430sdp-flash.o \ > board-2430sdp-usb.o > obj-$(CONFIG_MACH_OMAP_2430OSK) += board-2430osk.o > -obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o > +obj-$(CONFIG_MACH_OMAP_3430SDP) += board-3430sdp.o \ > + board-3430sdp-usb.o > obj-$(CONFIG_MACH_OMAP_APOLLON) += board-apollon.o \ > board-apollon-mmc.o \ > board-apollon-keys.o > Index: linux-omap/arch/arm/mach-omap2/board-3430sdp-usb.c > =================================================================== > --- /dev/null 1970-01-01 00:00:00.000000000 +0000 > +++ linux-omap/arch/arm/mach-omap2/board-3430sdp-usb.c 2007-12-05 > 17:04:09.664182922 +0530 > @@ -0,0 +1,77 @@ > +/* > + * linux/arch/arm/mach-omap2/board-3430sdp-usb.c > + * > + * This file will contain the board specific details for the > + * MENTOR USB OTG and Synopsys EHCI host controllers on OMAP3430 > + * > + * Copyright (C) 2007 Texas Instruments > + * Author: Vikram Pandita > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#include <linux/types.h> > +#include <linux/errno.h> > +#include <linux/delay.h> > +#include <linux/platform_device.h> > +#include <linux/usb/musb.h> > + > +#include <asm/arch/hardware.h> > +#include <asm/arch/usb.h> > + > +#if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) What about #ifdef CONFIG_USB_MUSB_SOC > +static struct resource musb_resources[] = { > + [0] = { > + .start = OMAP34XX_HSUSB_OTG_BASE, > + .end = OMAP34XX_HSUSB_OTG_BASE + SZ_8K, > + .flags = IORESOURCE_MEM, > + }, > + [1] = { /* general IRQ */ > + .start = INT_243X_HS_USB_MC, > + .flags = IORESOURCE_IRQ, > + }, > + [2] = { /* DMA IRQ */ > + .start = INT_243X_HS_USB_DMA, > + .flags = IORESOURCE_IRQ, > + }, > +}; > + > +static struct musb_hdrc_platform_data musb_plat = { > +#ifdef CONFIG_USB_MUSB_OTG > + .mode = MUSB_OTG, > +#elif defined(CONFIG_USB_MUSB_HDRC_HCD) > + .mode = MUSB_HOST, > +#elif defined(CONFIG_USB_GADGET_MUSB_HDRC) > + .mode = MUSB_PERIPHERAL, > +#endif > + .multipoint = 1, > + .clock = NULL, > + .set_clock = NULL, > +}; > + > +static u64 musb_dmamask = ~(u32)0; > + > +static struct platform_device musb_device = { > + .name = "musb_hdrc", > + .id = 0, > + .dev = { > + .dma_mask = &musb_dmamask, > + .coherent_dma_mask = 0xffffffff, > + .platform_data = &musb_plat, > + }, > + .num_resources = ARRAY_SIZE(musb_resources), > + .resource = musb_resources, > +}; > +#endif > + > +void __init sdp3430_usb_init(void) > +{ > +#if defined(CONFIG_USB_MUSB_HDRC) || defined(CONFIG_USB_MUSB_HDRC_MODULE) dito > + if (platform_device_register(&musb_device) < 0) { > + printk(KERN_ERR "Unable to register HS-USB (MUSB) device\n"); > + return; > + } > +#endif > +} > Index: linux-omap/arch/arm/mach-omap2/board-3430sdp.c > =================================================================== > --- linux-omap.orig/arch/arm/mach-omap2/board-3430sdp.c 2007-12-05 > 10:02:53.000000000 +0530 > +++ linux-omap/arch/arm/mach-omap2/board-3430sdp.c 2007-12-05 > 17:04:09.664182922 +0530 > @@ -307,6 +307,8 @@ > return 0; > } > > +extern void __init sdp3430_usb_init(void); This extern will look better in include/asm-arm/arch-omap/board-3430sdp.h > + > static void __init omap_3430sdp_init(void) > { > platform_add_devices(sdp3430_devices, ARRAY_SIZE(sdp3430_devices)); > @@ -316,6 +318,7 @@ > ARRAY_SIZE(sdp3430_spi_board_info)); > ads7846_dev_init(); > omap_serial_init(); > + sdp3430_usb_init(); > } > > static void __init omap_3430sdp_map_io(void) > - > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Best Regards, Felipe Balbi http://felipebalbi.com me@xxxxxxxxxxxxxxx - To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html