aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch97
1 files changed, 97 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch b/meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch
new file mode 100644
index 0000000000..5e9b696b46
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap3-git/overo/overo.patch
@@ -0,0 +1,97 @@
+diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
+index 396ec33..85ef43f 100644
+--- a/arch/arm/mach-omap2/board-overo.c
++++ b/arch/arm/mach-omap2/board-overo.c
+@@ -158,11 +158,6 @@ static void __init overo_init_irq(void)
+ omap_gpio_init();
+ }
+
+-static struct platform_device overo_twl4030rtc_device = {
+- .name = "twl4030_rtc",
+- .id = -1,
+-};
+-
+ static struct platform_device overo_lcd_device = {
+ .name = "overo_lcd",
+ .id = -1,
+@@ -179,9 +174,6 @@ static struct omap_board_config_kernel overo_config[] __initdata = {
+
+ static struct platform_device *overo_devices[] __initdata = {
+ &overo_lcd_device,
+-#ifdef CONFIG_RTC_DRV_TWL4030
+- &overo_twl4030rtc_device,
+-#endif
+ };
+
+ static void __init overo_init(void)
+@@ -207,6 +199,12 @@ static void __init overo_init(void)
+ printk(KERN_ERR "could not obtain gpio for OVERO_GPIO_W2W_NRESET\n");
+ }
+
++ if ((gpio_request(OVERO_GPIO_BT_XGATE, "OVERO_GPIO_BT_XGATE") == 0) &&
++ (gpio_direction_output(OVERO_GPIO_BT_XGATE, 0) == 0))
++ gpio_export(OVERO_GPIO_BT_XGATE, 0);
++ else
++ printk(KERN_ERR "could not obtain gpio for OVERO_GPIO_BT_XGATE\n");
++
+ if ((gpio_request(OVERO_GPIO_BT_NRESET, "OVERO_GPIO_BT_NRESET") == 0) &&
+ (gpio_direction_output(OVERO_GPIO_BT_NRESET, 1) == 0)) {
+ gpio_export(OVERO_GPIO_BT_NRESET, 0);
+diff --git a/arch/arm/plat-omap/include/mach/board-overo.h b/arch/arm/plat-omap/include/mach/board-overo.h
+index b70f22a..7ecae66 100644
+--- a/arch/arm/plat-omap/include/mach/board-overo.h
++++ b/arch/arm/plat-omap/include/mach/board-overo.h
+@@ -16,6 +16,7 @@
+ #ifndef __ASM_ARCH_OVERO_H
+ #define __ASM_ARCH_OVERO_H
+
++#define OVERO_GPIO_BT_XGATE 15
+ #define OVERO_GPIO_W2W_NRESET 16
+ #define OVERO_GPIO_BT_NRESET 164
+ #define OVERO_GPIO_USBH_CPEN 168
+diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
+index c939f81..b9c2c76 100644
+--- a/drivers/usb/musb/musb_core.c
++++ b/drivers/usb/musb/musb_core.c
+@@ -1814,6 +1814,9 @@ allocate_instance(struct device *dev,
+ ep->epnum = epnum;
+ }
+
++#ifdef CONFIG_USB_MUSB_OTG
++ otg_set_transceiver(&musb->xceiv);
++#endif
+ musb->controller = dev;
+ return musb;
+ }
+diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
+index 9d2dcb1..51af80b 100644
+--- a/drivers/usb/musb/omap2430.c
++++ b/drivers/usb/musb/omap2430.c
+@@ -215,12 +215,14 @@ void musb_platform_set_mode(struct musb *musb, u8 musb_mode)
+
+ int __init musb_platform_init(struct musb *musb)
+ {
++ struct otg_transceiver *xceiv = otg_get_transceiver();
+ u32 l;
+
+ #if defined(CONFIG_ARCH_OMAP2430)
+ omap_cfg_reg(AE5_2430_USB0HS_STP);
+ #endif
+
++ musb->xceiv = *xceiv;
+ musb_platform_resume(musb);
+
+ l = omap_readl(OTG_SYSCONFIG);
+diff --git a/scripts/Makefile.fwinst b/scripts/Makefile.fwinst
+index 6bf8e87..fb20532 100644
+--- a/scripts/Makefile.fwinst
++++ b/scripts/Makefile.fwinst
+@@ -37,7 +37,7 @@ install-all-dirs: $(installed-fw-dirs)
+ @true
+
+ quiet_cmd_install = INSTALL $(subst $(srctree)/,,$@)
+- cmd_install = $(INSTALL) -m0644 $< $@
++ cmd_install = $(INSTALL) -m 0644 $< $@
+
+ $(installed-fw-dirs):
+ $(call cmd,mkdir)