[RFC / PATCH 5/6] OMAP4 : Add USB support to 4430 SDP board file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



OMAP4 : Add USB support to 4430 SDP board file

This patch adds support for Mentor USB to 4430 SDP board file.

It also defines the base address for HS USB OTG controller 
in OMAP4.

Also updates platform specfic structure with base address and 
IRQ details.

Signed-off-by: Maulik Mankad <x0082077@xxxxxx>
Cc: Tony Lindgren <tony@xxxxxxxxxxx>
Cc: Felipe Balbi <felipe.balbi@xxxxxxxxx>
Cc: David Brownell <david-b@xxxxxxxxxxx>

Index: linux-2.6/arch/arm/mach-omap2/board-4430sdp.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap2/board-4430sdp.c
+++ linux-2.6/arch/arm/mach-omap2/board-4430sdp.c
@@ -17,6 +17,7 @@
 #include <linux/platform_device.h>
 #include <linux/io.h>
 #include <linux/gpio.h>
+#include <linux/usb/otg.h>
 
 #include <mach/hardware.h>
 #include <asm/mach-types.h>
@@ -27,6 +28,7 @@
 #include <plat/common.h>
 #include <plat/control.h>
 #include <plat/timer-gp.h>
+#include <plat/usb.h>
 #include <asm/hardware/gic.h>
 
 static struct platform_device sdp4430_lcd_device = {
@@ -82,6 +84,11 @@ static void __init omap_4430sdp_init(voi
 {
 	platform_add_devices(sdp4430_devices, ARRAY_SIZE(sdp4430_devices));
 	omap_serial_init();
+#ifdef CONFIG_NOP_USB_XCEIV
+	/* OMAP4 SDP uses Internal transceiver so register nop transceiver */
+	usb_nop_xceiv_register();
+#endif
+	usb_musb_init(MUSB_INTERFACE_UTMI);
 }
 
 static void __init omap_4430sdp_map_io(void)
Index: linux-2.6/arch/arm/mach-omap2/usb-musb.c
===================================================================
--- linux-2.6.orig/arch/arm/mach-omap2/usb-musb.c
+++ linux-2.6/arch/arm/mach-omap2/usb-musb.c
@@ -151,8 +151,13 @@ void __init usb_musb_init(enum musb_inte
 {
 	if (cpu_is_omap243x())
 		musb_resources[0].start = OMAP243X_HS_BASE;
-	else
+	else if (cpu_is_omap34xx())
 		musb_resources[0].start = OMAP34XX_HSUSB_OTG_BASE;
+	else if (cpu_is_omap44xx()) {
+		musb_resources[0].start = OMAP44XX_HSUSB_OTG_BASE;
+		musb_resources[1].start =  INT_44XX_HS_USB_MC;
+		musb_resources[2].start =  INT_44XX_HS_USB_DMA;
+	}
 	musb_resources[0].end = musb_resources[0].start + SZ_8K - 1;
 
 	/*
Index: linux-2.6/arch/arm/plat-omap/include/plat/omap44xx.h
===================================================================
--- linux-2.6.orig/arch/arm/plat-omap/include/plat/omap44xx.h
+++ linux-2.6/arch/arm/plat-omap/include/plat/omap44xx.h
@@ -43,6 +43,7 @@
 #define OMAP44XX_WKUPGEN_BASE		0x48281000
 
 #define OMAP44XX_MAILBOX_BASE		(L4_44XX_BASE + 0xF4000)
+#define OMAP44XX_HSUSB_OTG_BASE		(L4_44XX_BASE + 0xAB000)
 
 #endif /* __ASM_ARCH_OMAP44XX_H */
 
Index: linux-2.6/drivers/usb/musb/omap2430.h
===================================================================
--- linux-2.6.orig/drivers/usb/musb/omap2430.h
+++ linux-2.6/drivers/usb/musb/omap2430.h
@@ -24,6 +24,8 @@
 #define	OMAP_HSOTG_BASE		(OMAP243X_HS_BASE)
 #elif	defined(CONFIG_ARCH_OMAP3430)
 #define	OMAP_HSOTG_BASE		(OMAP34XX_HSUSB_OTG_BASE)
+#elif defined(CONFIG_ARCH_OMAP4)
+#define OMAP_HSOTG_BASE         (OMAP44XX_HSUSB_OTG_BASE)
 #endif
 #define OMAP_HSOTG(offset)	(OMAP_HSOTG_BASE + 0x400 + (offset))
 #define OTG_REVISION		OMAP_HSOTG(0x0)
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux