summaryrefslogtreecommitdiff
path: root/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/omap35xx/patches-2.6.32/002-OMAP.patch')
-rw-r--r--target/linux/omap35xx/patches-2.6.32/002-OMAP.patch512
1 files changed, 128 insertions, 384 deletions
diff --git a/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch b/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
index 925d7a8..e2c9056 100644
--- a/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
+++ b/target/linux/omap35xx/patches-2.6.32/002-OMAP.patch
@@ -1,8 +1,6 @@
-diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 1c4119c..e861e32 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -1508,6 +1508,10 @@ source "net/Kconfig"
+@@ -1511,6 +1511,10 @@ source "net/Kconfig"
source "drivers/Kconfig"
@@ -13,24 +11,9 @@ index 1c4119c..e861e32 100644
source "fs/Kconfig"
source "arch/arm/Kconfig.debug"
-diff --git a/arch/arm/configs/n8x0_defconfig b/arch/arm/configs/n8x0_defconfig
-index 8da75de..264f52b 100644
---- a/arch/arm/configs/n8x0_defconfig
-+++ b/arch/arm/configs/n8x0_defconfig
-@@ -304,7 +304,7 @@ CONFIG_ALIGNMENT_TRAP=y
- CONFIG_ZBOOT_ROM_TEXT=0x10C08000
- CONFIG_ZBOOT_ROM_BSS=0x10200000
- # CONFIG_ZBOOT_ROM is not set
--CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS0,115200n8"
-+CONFIG_CMDLINE="root=1f03 rootfstype=jffs2 console=ttyS2,115200n8"
- # CONFIG_XIP_KERNEL is not set
- # CONFIG_KEXEC is not set
-
-diff --git a/arch/arm/mach-omap1/board-fsample.c b/arch/arm/mach-omap1/board-fsample.c
-index a7ead1b..74720e6 100644
--- a/arch/arm/mach-omap1/board-fsample.c
+++ b/arch/arm/mach-omap1/board-fsample.c
-@@ -107,7 +107,7 @@ static struct resource smc91x_resources[] = {
+@@ -107,7 +107,7 @@ static struct resource smc91x_resources[
.flags = IORESOURCE_MEM,
},
[1] = {
@@ -39,7 +22,7 @@ index a7ead1b..74720e6 100644
.end = 0,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
-@@ -196,8 +196,8 @@ static struct platform_device smc91x_device = {
+@@ -196,8 +196,8 @@ static struct platform_device smc91x_dev
static struct resource kp_resources[] = {
[0] = {
@@ -50,7 +33,7 @@ index a7ead1b..74720e6 100644
.flags = IORESOURCE_IRQ,
},
};
-@@ -309,7 +309,7 @@ static void __init omap_fsample_map_io(void)
+@@ -309,7 +309,7 @@ static void __init omap_fsample_map_io(v
/*
* Hold GSM Reset until needed
*/
@@ -59,7 +42,7 @@ index a7ead1b..74720e6 100644
/*
* UARTs -> done automagically by 8250 driver
-@@ -320,21 +320,21 @@ static void __init omap_fsample_map_io(void)
+@@ -320,21 +320,21 @@ static void __init omap_fsample_map_io(v
*/
/* Flash: CS0 timings setup */
@@ -86,11 +69,9 @@ index a7ead1b..74720e6 100644
}
MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
-diff --git a/arch/arm/mach-omap1/board-perseus2.c b/arch/arm/mach-omap1/board-perseus2.c
-index 8340669..2f897cf 100644
--- a/arch/arm/mach-omap1/board-perseus2.c
+++ b/arch/arm/mach-omap1/board-perseus2.c
-@@ -74,7 +74,7 @@ static struct resource smc91x_resources[] = {
+@@ -74,7 +74,7 @@ static struct resource smc91x_resources[
.flags = IORESOURCE_MEM,
},
[1] = {
@@ -99,7 +80,7 @@ index 8340669..2f897cf 100644
.end = 0,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,
},
-@@ -163,8 +163,8 @@ static struct platform_device smc91x_device = {
+@@ -163,8 +163,8 @@ static struct platform_device smc91x_dev
static struct resource kp_resources[] = {
[0] = {
@@ -110,7 +91,7 @@ index 8340669..2f897cf 100644
.flags = IORESOURCE_IRQ,
},
};
-@@ -270,7 +270,7 @@ static void __init omap_perseus2_map_io(void)
+@@ -270,7 +270,7 @@ static void __init omap_perseus2_map_io(
/*
* Hold GSM Reset until needed
*/
@@ -119,7 +100,7 @@ index 8340669..2f897cf 100644
/*
* UARTs -> done automagically by 8250 driver
-@@ -281,21 +281,21 @@ static void __init omap_perseus2_map_io(void)
+@@ -281,21 +281,21 @@ static void __init omap_perseus2_map_io(
*/
/* Flash: CS0 timings setup */
@@ -146,8 +127,6 @@ index 8340669..2f897cf 100644
}
MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
-diff --git a/arch/arm/mach-omap1/clock.c b/arch/arm/mach-omap1/clock.c
-index 436eed2..5f77b83 100644
--- a/arch/arm/mach-omap1/clock.c
+++ b/arch/arm/mach-omap1/clock.c
@@ -69,13 +69,13 @@ struct omap_clk {
@@ -193,7 +172,7 @@ index 436eed2..5f77b83 100644
CLK(NULL, "lcd_ck", &lcd_ck_1510.clk, CK_1510 | CK_310),
/* ULPD clocks */
CLK(NULL, "uart1_ck", &uart1_1510, CK_1510 | CK_310),
-@@ -398,7 +398,7 @@ static int omap1_select_table_rate(struct clk * clk, unsigned long rate)
+@@ -398,7 +398,7 @@ static int omap1_select_table_rate(struc
* Reprogramming the DPLL is tricky, it must be done from SRAM.
* (on 730, bit 13 must always be 1)
*/
@@ -249,11 +228,9 @@ index 436eed2..5f77b83 100644
omap_writew(omap_readw(ARM_CKCTL) & 0x2fff, ARM_CKCTL);
else
omap_writew(omap_readw(ARM_CKCTL) & 0x0fff, ARM_CKCTL);
-diff --git a/arch/arm/mach-omap1/io.c b/arch/arm/mach-omap1/io.c
-index 7030f92..a27df2c 100644
--- a/arch/arm/mach-omap1/io.c
+++ b/arch/arm/mach-omap1/io.c
-@@ -36,33 +36,17 @@ static struct map_desc omap_io_desc[] __initdata = {
+@@ -36,33 +36,17 @@ static struct map_desc omap_io_desc[] __
}
};
@@ -317,11 +294,9 @@ index 7030f92..a27df2c 100644
#ifdef CONFIG_ARCH_OMAP15XX
if (cpu_is_omap15xx()) {
iotable_init(omap1510_io_desc, ARRAY_SIZE(omap1510_io_desc));
-diff --git a/arch/arm/mach-omap1/irq.c b/arch/arm/mach-omap1/irq.c
-index de03c84..8f98b58 100644
--- a/arch/arm/mach-omap1/irq.c
+++ b/arch/arm/mach-omap1/irq.c
-@@ -137,16 +137,8 @@ static void omap_irq_set_cfg(int irq, int fiq, int priority, int trigger)
+@@ -137,16 +137,8 @@ static void omap_irq_set_cfg(int irq, in
irq_bank_writel(val, bank, offset);
}
@@ -374,11 +349,9 @@ index de03c84..8f98b58 100644
else if (cpu_is_omap15xx())
omap_unmask_irq(INT_1510_IH2_IRQ);
else if (cpu_is_omap16xx())
-diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
-index 505d98c..3a51cb2 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
-@@ -79,29 +79,29 @@ static struct omap_mcbsp_ops omap1_mcbsp_ops = {
+@@ -79,29 +79,29 @@ static struct omap_mcbsp_ops omap1_mcbsp
.free = omap1_mcbsp_free,
};
@@ -419,7 +392,7 @@ index 505d98c..3a51cb2 100644
#endif
#ifdef CONFIG_ARCH_OMAP15XX
-@@ -172,8 +172,8 @@ static struct omap_mcbsp_platform_data omap16xx_mcbsp_pdata[] = {
+@@ -172,8 +172,8 @@ static struct omap_mcbsp_platform_data o
int __init omap1_mcbsp_init(void)
{
@@ -443,8 +416,6 @@ index 505d98c..3a51cb2 100644
if (cpu_is_omap15xx())
omap_mcbsp_register_board_cfg(omap15xx_mcbsp_pdata,
-diff --git a/arch/arm/mach-omap1/mux.c b/arch/arm/mach-omap1/mux.c
-index 721e0d9..d59899d 100644
--- a/arch/arm/mach-omap1/mux.c
+++ b/arch/arm/mach-omap1/mux.c
@@ -35,47 +35,28 @@
@@ -515,7 +486,7 @@ index 721e0d9..d59899d 100644
#if defined(CONFIG_ARCH_OMAP15XX) || defined(CONFIG_ARCH_OMAP16XX)
static struct pin_config __initdata_or_module omap1xxx_pins[] = {
-@@ -438,11 +419,6 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
+@@ -438,11 +419,6 @@ int __init_or_module omap1_cfg_reg(const
printk(" %s (0x%08x) = 0x%08x -> 0x%08x\n",
cfg->pull_name, cfg->pull_reg, pull_orig, pull);
}
@@ -527,7 +498,7 @@ index 721e0d9..d59899d 100644
#endif
#ifdef CONFIG_OMAP_MUX_ERRORS
-@@ -454,9 +430,9 @@ int __init_or_module omap1_cfg_reg(const struct pin_config *cfg)
+@@ -454,9 +430,9 @@ int __init_or_module omap1_cfg_reg(const
int __init omap1_mux_init(void)
{
@@ -540,8 +511,6 @@ index 721e0d9..d59899d 100644
arch_mux_cfg.cfg_reg = omap1_cfg_reg;
}
-diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
-index 5218943..10f4e4a 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -62,7 +62,7 @@
@@ -723,8 +692,6 @@ index 5218943..10f4e4a 100644
else if (cpu_is_omap16xx())
omap_writel(OMAP1610_IDLECT3_VAL, OMAP1610_IDLECT3);
-diff --git a/arch/arm/mach-omap1/pm.h b/arch/arm/mach-omap1/pm.h
-index c4f05bd..56a6479 100644
--- a/arch/arm/mach-omap1/pm.h
+++ b/arch/arm/mach-omap1/pm.h
@@ -98,13 +98,14 @@
@@ -769,7 +736,7 @@ index c4f05bd..56a6479 100644
extern unsigned int omap1510_idle_loop_suspend_sz;
extern unsigned int omap1610_idle_loop_suspend_sz;
-@@ -155,9 +156,9 @@ extern void omap_serial_wake_trigger(int enable);
+@@ -155,9 +156,9 @@ extern void omap_serial_wake_trigger(int
#define ULPD_RESTORE(x) omap_writew((ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]), (x))
#define ULPD_SHOW(x) ulpd_sleep_save[ULPD_SLEEP_SAVE_##x]
@@ -821,11 +788,9 @@ index c4f05bd..56a6479 100644
#endif
};
-diff --git a/arch/arm/mach-omap1/serial.c b/arch/arm/mach-omap1/serial.c
-index d496e50..332c516 100644
--- a/arch/arm/mach-omap1/serial.c
+++ b/arch/arm/mach-omap1/serial.c
-@@ -64,7 +64,6 @@ static void __init omap_serial_reset(struct plat_serial8250_port *p)
+@@ -64,7 +64,6 @@ static void __init omap_serial_reset(str
static struct plat_serial8250_port serial_platform_data[] = {
{
@@ -833,7 +798,7 @@ index d496e50..332c516 100644
.mapbase = OMAP_UART1_BASE,
.irq = INT_UART1,
.flags = UPF_BOOT_AUTOCONF,
-@@ -73,7 +72,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -73,7 +72,6 @@ static struct plat_serial8250_port seria
.uartclk = OMAP16XX_BASE_BAUD * 16,
},
{
@@ -841,7 +806,7 @@ index d496e50..332c516 100644
.mapbase = OMAP_UART2_BASE,
.irq = INT_UART2,
.flags = UPF_BOOT_AUTOCONF,
-@@ -82,7 +80,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -82,7 +80,6 @@ static struct plat_serial8250_port seria
.uartclk = OMAP16XX_BASE_BAUD * 16,
},
{
@@ -849,7 +814,7 @@ index d496e50..332c516 100644
.mapbase = OMAP_UART3_BASE,
.irq = INT_UART3,
.flags = UPF_BOOT_AUTOCONF,
-@@ -90,7 +87,6 @@ static struct plat_serial8250_port serial_platform_data[] = {
+@@ -90,7 +87,6 @@ static struct plat_serial8250_port seria
.regshift = 2,
.uartclk = OMAP16XX_BASE_BAUD * 16,
},
@@ -879,27 +844,6 @@ index d496e50..332c516 100644
}
if (cpu_is_omap15xx()) {
-@@ -130,9 +119,17 @@ void __init omap_serial_init(void)
- serial_platform_data[2].uartclk = OMAP1510_BASE_BAUD * 16;
- }
-
-- for (i = 0; i < OMAP_MAX_NR_PORTS; i++) {
-+ for (i = 0; i < ARRAY_SIZE(serial_platform_data); i++) {
- unsigned char reg;
-
-+ /* Static mapping, never released */
-+ serial_platform_data[i].membase =
-+ ioremap(serial_platform_data[i].mapbase, SZ_2K);
-+ if (!serial_platform_data[i].membase) {
-+ printk(KERN_ERR "Could not ioremap uart%i\n", i);
-+ continue;
-+ }
-+
- switch (i) {
- case 0:
- uart1_ck = clk_get(NULL, "uart1_ck");
-diff --git a/arch/arm/mach-omap1/sleep.S b/arch/arm/mach-omap1/sleep.S
-index 22e8568..ef771ce 100644
--- a/arch/arm/mach-omap1/sleep.S
+++ b/arch/arm/mach-omap1/sleep.S
@@ -1,7 +1,7 @@
@@ -962,11 +906,9 @@ index 22e8568..ef771ce 100644
#ifdef CONFIG_ARCH_OMAP15XX
ENTRY(omap1510_cpu_suspend)
-diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile
-index 8cb1677..6b7702f 100644
--- a/arch/arm/mach-omap2/Makefile
+++ b/arch/arm/mach-omap2/Makefile
-@@ -80,6 +80,7 @@ obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o
+@@ -80,6 +80,7 @@ obj-$(CONFIG_MACH_OMAP_4430SDP) += boar
# Platform specific device init code
obj-y += usb-musb.o
obj-$(CONFIG_MACH_OMAP2_TUSB6010) += usb-tusb6010.o
@@ -974,11 +916,9 @@ index 8cb1677..6b7702f 100644
onenand-$(CONFIG_MTD_ONENAND_OMAP2) := gpmc-onenand.o
obj-y += $(onenand-m) $(onenand-y)
-diff --git a/arch/arm/mach-omap2/board-2430sdp.c b/arch/arm/mach-omap2/board-2430sdp.c
-index 42217b3..e032a33 100644
--- a/arch/arm/mach-omap2/board-2430sdp.c
+++ b/arch/arm/mach-omap2/board-2430sdp.c
-@@ -221,7 +221,7 @@ static void __init omap_2430sdp_map_io(void)
+@@ -221,7 +221,7 @@ static void __init omap_2430sdp_map_io(v
MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
/* Maintainer: Syed Khasim - Texas Instruments Inc */
.phys_io = 0x48000000,
@@ -987,11 +927,9 @@ index 42217b3..e032a33 100644
.boot_params = 0x80000100,
.map_io = omap_2430sdp_map_io,
.init_irq = omap_2430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index efaf053..81aabac 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -484,6 +484,18 @@ static void enable_board_wakeup_source(void)
+@@ -618,6 +618,18 @@ static void enable_board_wakeup_source(v
omap_cfg_reg(AF26_34XX_SYS_NIRQ); /* T2 interrupt line (keypad) */
}
@@ -1010,15 +948,15 @@ index efaf053..81aabac 100644
static void __init omap_3430sdp_init(void)
{
omap3430_i2c_init();
-@@ -500,6 +512,7 @@ static void __init omap_3430sdp_init(void)
- usb_musb_init();
+@@ -635,6 +647,7 @@ static void __init omap_3430sdp_init(voi
board_smc91x_init();
+ sdp3430_display_init();
enable_board_wakeup_source();
+ usb_ehci_init(&ehci_pdata);
}
static void __init omap_3430sdp_map_io(void)
-@@ -511,7 +524,7 @@ static void __init omap_3430sdp_map_io(void)
+@@ -646,7 +659,7 @@ static void __init omap_3430sdp_map_io(v
MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
/* Maintainer: Syed Khasim - Texas Instruments Inc */
.phys_io = 0x48000000,
@@ -1027,11 +965,9 @@ index efaf053..81aabac 100644
.boot_params = 0x80000100,
.map_io = omap_3430sdp_map_io,
.init_irq = omap_3430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-4430sdp.c b/arch/arm/mach-omap2/board-4430sdp.c
-index eb37c40..50a62f2 100644
--- a/arch/arm/mach-omap2/board-4430sdp.c
+++ b/arch/arm/mach-omap2/board-4430sdp.c
-@@ -52,8 +52,17 @@ static struct omap_board_config_kernel sdp4430_config[] __initdata = {
+@@ -52,8 +52,17 @@ static struct omap_board_config_kernel s
static void __init gic_init_irq(void)
{
@@ -1051,7 +987,7 @@ index eb37c40..50a62f2 100644
}
static void __init omap_4430sdp_init_irq(void)
-@@ -84,7 +93,7 @@ static void __init omap_4430sdp_map_io(void)
+@@ -84,7 +93,7 @@ static void __init omap_4430sdp_map_io(v
MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
/* Maintainer: Santosh Shilimkar - Texas Instruments Inc */
.phys_io = 0x48000000,
@@ -1060,11 +996,9 @@ index eb37c40..50a62f2 100644
.boot_params = 0x80000100,
.map_io = omap_4430sdp_map_io,
.init_irq = omap_4430sdp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-apollon.c b/arch/arm/mach-omap2/board-apollon.c
-index a113228..e8a0e56 100644
--- a/arch/arm/mach-omap2/board-apollon.c
+++ b/arch/arm/mach-omap2/board-apollon.c
-@@ -333,7 +333,7 @@ static void __init omap_apollon_map_io(void)
+@@ -333,7 +333,7 @@ static void __init omap_apollon_map_io(v
MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
/* Maintainer: Kyungmin Park <kyungmin.park@samsung.com> */
.phys_io = 0x48000000,
@@ -1073,11 +1007,9 @@ index a113228..e8a0e56 100644
.boot_params = 0x80000100,
.map_io = omap_apollon_map_io,
.init_irq = omap_apollon_init_irq,
-diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
-index 2e09a1c..1a139c0 100644
--- a/arch/arm/mach-omap2/board-generic.c
+++ b/arch/arm/mach-omap2/board-generic.c
-@@ -56,7 +56,7 @@ static void __init omap_generic_map_io(void)
+@@ -56,7 +56,7 @@ static void __init omap_generic_map_io(v
MACHINE_START(OMAP_GENERIC, "Generic OMAP24xx")
/* Maintainer: Paul Mundt <paul.mundt@nokia.com> */
.phys_io = 0x48000000,
@@ -1086,8 +1018,6 @@ index 2e09a1c..1a139c0 100644
.boot_params = 0x80000100,
.map_io = omap_generic_map_io,
.init_irq = omap_generic_init_irq,
-diff --git a/arch/arm/mach-omap2/board-h4.c b/arch/arm/mach-omap2/board-h4.c
-index eaa02d0..86f78f3 100644
--- a/arch/arm/mach-omap2/board-h4.c
+++ b/arch/arm/mach-omap2/board-h4.c
@@ -376,7 +376,7 @@ static void __init omap_h4_map_io(void)
@@ -1099,8 +1029,6 @@ index eaa02d0..86f78f3 100644
.boot_params = 0x80000100,
.map_io = omap_h4_map_io,
.init_irq = omap_h4_init_irq,
-diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
-index d110a7f..4ccc01a 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -399,7 +399,7 @@ static void __init omap_ldp_map_io(void)
@@ -1112,11 +1040,9 @@ index d110a7f..4ccc01a 100644
.boot_params = 0x80000100,
.map_io = omap_ldp_map_io,
.init_irq = omap_ldp_init_irq,
-diff --git a/arch/arm/mach-omap2/board-n8x0.c b/arch/arm/mach-omap2/board-n8x0.c
-index 8341632..2f6ccba 100644
--- a/arch/arm/mach-omap2/board-n8x0.c
+++ b/arch/arm/mach-omap2/board-n8x0.c
-@@ -121,7 +121,7 @@ static void __init n8x0_init_machine(void)
+@@ -121,7 +121,7 @@ static void __init n8x0_init_machine(voi
MACHINE_START(NOKIA_N800, "Nokia N800")
.phys_io = 0x48000000,
@@ -1143,11 +1069,9 @@ index 8341632..2f6ccba 100644
.boot_params = 0x80000100,
.map_io = n8x0_map_io,
.init_irq = n8x0_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
-index 70df6b4..9824073 100644
--- a/arch/arm/mach-omap2/board-omap3beagle.c
+++ b/arch/arm/mach-omap2/board-omap3beagle.c
-@@ -400,6 +400,18 @@ static void __init omap3beagle_flash_init(void)
+@@ -400,6 +400,18 @@ static void __init omap3beagle_flash_ini
}
}
@@ -1166,7 +1090,7 @@ index 70df6b4..9824073 100644
static void __init omap3_beagle_init(void)
{
omap3_beagle_i2c_init();
-@@ -413,6 +425,7 @@ static void __init omap3_beagle_init(void)
+@@ -413,6 +425,7 @@ static void __init omap3_beagle_init(voi
gpio_direction_output(170, true);
usb_musb_init();
@@ -1174,7 +1098,7 @@ index 70df6b4..9824073 100644
omap3beagle_flash_init();
/* Ensure SDRC pins are mux'd for self-refresh */
-@@ -429,7 +442,7 @@ static void __init omap3_beagle_map_io(void)
+@@ -429,7 +442,7 @@ static void __init omap3_beagle_map_io(v
MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
/* Maintainer: Syed Mohammed Khasim - http://beagleboard.org */
.phys_io = 0x48000000,
@@ -1183,11 +1107,9 @@ index 70df6b4..9824073 100644
.boot_params = 0x80000100,
.map_io = omap3_beagle_map_io,
.init_irq = omap3_beagle_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3evm.c b/arch/arm/mach-omap2/board-omap3evm.c
-index e4ec0c5..9e0b6e6 100644
--- a/arch/arm/mach-omap2/board-omap3evm.c
+++ b/arch/arm/mach-omap2/board-omap3evm.c
-@@ -297,6 +297,18 @@ static struct platform_device *omap3_evm_devices[] __initdata = {
+@@ -297,6 +297,18 @@ static struct platform_device *omap3_evm
&omap3evm_smc911x_device,
};
@@ -1216,7 +1138,7 @@ index e4ec0c5..9e0b6e6 100644
ads7846_dev_init();
}
-@@ -324,7 +339,7 @@ static void __init omap3_evm_map_io(void)
+@@ -324,7 +339,7 @@ static void __init omap3_evm_map_io(void
MACHINE_START(OMAP3EVM, "OMAP3 EVM")
/* Maintainer: Syed Mohammed Khasim - Texas Instruments */
.phys_io = 0x48000000,
@@ -1225,11 +1147,9 @@ index e4ec0c5..9e0b6e6 100644
.boot_params = 0x80000100,
.map_io = omap3_evm_map_io,
.init_irq = omap3_evm_init_irq,
-diff --git a/arch/arm/mach-omap2/board-omap3pandora.c b/arch/arm/mach-omap2/board-omap3pandora.c
-index 7f6bf87..82b2486 100644
--- a/arch/arm/mach-omap2/board-omap3pandora.c
+++ b/arch/arm/mach-omap2/board-omap3pandora.c
-@@ -387,6 +387,18 @@ static struct platform_device *omap3pandora_devices[] __initdata = {
+@@ -387,6 +387,18 @@ static struct platform_device *omap3pand
&pandora_keys_gpio,
};
@@ -1248,7 +1168,7 @@ index 7f6bf87..82b2486 100644
static void __init omap3pandora_init(void)
{
omap3pandora_i2c_init();
-@@ -396,6 +408,7 @@ static void __init omap3pandora_init(void)
+@@ -396,6 +408,7 @@ static void __init omap3pandora_init(voi
spi_register_board_info(omap3pandora_spi_board_info,
ARRAY_SIZE(omap3pandora_spi_board_info));
omap3pandora_ads7846_init();
@@ -1256,7 +1176,7 @@ index 7f6bf87..82b2486 100644
pandora_keys_gpio_init();
usb_musb_init();
-@@ -412,7 +425,7 @@ static void __init omap3pandora_map_io(void)
+@@ -412,7 +425,7 @@ static void __init omap3pandora_map_io(v
MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
.phys_io = 0x48000000,
@@ -1265,11 +1185,9 @@ index 7f6bf87..82b2486 100644
.boot_params = 0x80000100,
.map_io = omap3pandora_map_io,
.init_irq = omap3pandora_init_irq,
-diff --git a/arch/arm/mach-omap2/board-overo.c b/arch/arm/mach-omap2/board-overo.c
-index 9917d2f..d50a3f0 100644
--- a/arch/arm/mach-omap2/board-overo.c
+++ b/arch/arm/mach-omap2/board-overo.c
-@@ -384,6 +384,18 @@ static struct platform_device *overo_devices[] __initdata = {
+@@ -384,6 +384,18 @@ static struct platform_device *overo_dev
&overo_lcd_device,
};
@@ -1320,11 +1238,9 @@ index 9917d2f..d50a3f0 100644
.boot_params = 0x80000100,
.map_io = overo_map_io,
.init_irq = overo_init_irq,
-diff --git a/arch/arm/mach-omap2/board-rx51.c b/arch/arm/mach-omap2/board-rx51.c
-index f9196c3..c973812 100644
--- a/arch/arm/mach-omap2/board-rx51.c
+++ b/arch/arm/mach-omap2/board-rx51.c
-@@ -85,7 +85,7 @@ static void __init rx51_map_io(void)
+@@ -84,7 +84,7 @@ static void __init rx51_map_io(void)
MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
/* Maintainer: Lauri Leukkunen <lauri.leukkunen@nokia.com> */
.phys_io = 0x48000000,
@@ -1333,11 +1249,9 @@ index f9196c3..c973812 100644
.boot_params = 0x80000100,
.map_io = rx51_map_io,
.init_irq = rx51_init_irq,
-diff --git a/arch/arm/mach-omap2/board-zoom2.c b/arch/arm/mach-omap2/board-zoom2.c
-index fd3369d..48bd2af 100644
--- a/arch/arm/mach-omap2/board-zoom2.c
+++ b/arch/arm/mach-omap2/board-zoom2.c
-@@ -283,7 +283,7 @@ static void __init omap_zoom2_map_io(void)
+@@ -282,7 +282,7 @@ static void __init omap_zoom2_map_io(voi
MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
.phys_io = 0x48000000,
@@ -1346,8 +1260,6 @@ index fd3369d..48bd2af 100644
.boot_params = 0x80000100,
.map_io = omap_zoom2_map_io,
.init_irq = omap_zoom2_init_irq,
-diff --git a/arch/arm/mach-omap2/cm.h b/arch/arm/mach-omap2/cm.h
-index cfd0b72..a2fcfcc 100644
--- a/arch/arm/mach-omap2/cm.h
+++ b/arch/arm/mach-omap2/cm.h
@@ -17,11 +17,11 @@
@@ -1365,8 +1277,6 @@ index cfd0b72..a2fcfcc 100644
/*
* Architecture-specific global CM registers
-diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
-index a98201c..71d5568 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -28,6 +28,7 @@
@@ -1377,7 +1287,7 @@ index a98201c..71d5568 100644
unsigned int omap_rev(void)
{
-@@ -155,12 +156,37 @@ void __init omap24xx_check_revision(void)
+@@ -155,12 +156,37 @@ void __init omap24xx_check_revision(void
pr_info("\n");
}
@@ -1417,7 +1327,7 @@ index a98201c..71d5568 100644
/*
* We cannot access revision registers on ES1.0.
-@@ -170,7 +196,7 @@ void __init omap34xx_check_revision(void)
+@@ -170,7 +196,7 @@ void __init omap34xx_check_revision(void
cpuid = read_cpuid(CPUID_ID);
if ((((cpuid >> 4) & 0xfff) == 0xc08) && ((cpuid & 0xf) == 0x0)) {
omap_revision = OMAP3430_REV_ES1_0;
@@ -1426,7 +1336,7 @@ index a98201c..71d5568 100644
}
/*
-@@ -183,33 +209,111 @@ void __init omap34xx_check_revision(void)
+@@ -183,33 +209,111 @@ void __init omap34xx_check_revision(void
hawkeye = (idcode >> 12) & 0xffff;
rev = (idcode >> 28) & 0xff;
@@ -1561,11 +1471,9 @@ index a98201c..71d5568 100644
else if (cpu_is_omap44xx()) {
printk(KERN_INFO "FIXME: CPU revision = OMAP4430\n");
return;
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index e3a3bad..fc62953 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
-@@ -203,6 +203,24 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
+@@ -204,6 +204,24 @@ static struct map_desc omap44xx_io_desc[
.type = MT_DEVICE,
},
{
@@ -1590,8 +1498,6 @@ index e3a3bad..fc62953 100644
.virtual = L4_PER_44XX_VIRT,
.pfn = __phys_to_pfn(L4_PER_44XX_PHYS),
.length = L4_PER_44XX_SIZE,
-diff --git a/arch/arm/mach-omap2/irq.c b/arch/arm/mach-omap2/irq.c
-index b828638..1db121f 100644
--- a/arch/arm/mach-omap2/irq.c
+++ b/arch/arm/mach-omap2/irq.c
@@ -178,12 +178,20 @@ void __init omap_init_irq(void)
@@ -1617,8 +1523,6 @@ index b828638..1db121f 100644
omap_irq_bank_init_one(bank);
-diff --git a/arch/arm/mach-omap2/omap-smp.c b/arch/arm/mach-omap2/omap-smp.c
-index 48ee295..a1b618c 100644
--- a/arch/arm/mach-omap2/omap-smp.c
+++ b/arch/arm/mach-omap2/omap-smp.c
@@ -26,11 +26,11 @@
@@ -1645,7 +1549,7 @@ index 48ee295..a1b618c 100644
trace_hardirqs_off();
/*
-@@ -54,7 +56,10 @@ void __cpuinit platform_secondary_init(unsigned int cpu)
+@@ -54,7 +56,10 @@ void __cpuinit platform_secondary_init(u
* for us: do so
*/
@@ -1657,7 +1561,7 @@ index 48ee295..a1b618c 100644
/*
* Synchronise with the boot thread.
-@@ -79,7 +84,7 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
+@@ -79,7 +84,7 @@ int __cpuinit boot_secondary(unsigned in
* the AuxCoreBoot1 register is updated with cpu state
* A barrier is added to ensure that write buffer is drained
*/
@@ -1666,7 +1570,7 @@ index 48ee295..a1b618c 100644
smp_wmb();
timeout = jiffies + (1 * HZ);
-@@ -104,7 +109,7 @@ static void __init wakeup_secondary(void)
+@@ -104,7 +109,7 @@ static void __init wakeup_secondary(void
* A barrier is added to ensure that write buffer is drained
*/
__raw_writel(virt_to_phys(omap_secondary_startup), \
@@ -1675,7 +1579,7 @@ index 48ee295..a1b618c 100644
smp_wmb();
/*
-@@ -130,6 +135,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
+@@ -130,6 +135,7 @@ void __init smp_prepare_cpus(unsigned in
{
unsigned int ncores = get_core_count();
unsigned int cpu = smp_processor_id();
@@ -1683,7 +1587,7 @@ index 48ee295..a1b618c 100644
int i;
/* sanity check */
-@@ -161,6 +167,16 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
+@@ -161,6 +167,16 @@ void __init smp_prepare_cpus(unsigned in
for (i = 0; i < max_cpus; i++)
set_cpu_present(i, true);
@@ -1700,11 +1604,9 @@ index 48ee295..a1b618c 100644
if (max_cpus > 1) {
/*
* Enable the local timer or broadcast device for the
-diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
-index d2e0f1c..8ac8798 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
-@@ -496,6 +496,7 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
+@@ -496,6 +496,7 @@ static void __iomem *_find_mpu_rt_base(s
struct omap_hwmod_addr_space *mem;
int i;
int found = 0;
@@ -1712,7 +1614,7 @@ index d2e0f1c..8ac8798 100644
if (!oh || oh->slaves_cnt == 0)
return NULL;
-@@ -509,16 +510,20 @@ static void __iomem *_find_mpu_rt_base(struct omap_hwmod *oh, u8 index)
+@@ -509,16 +510,20 @@ static void __iomem *_find_mpu_rt_base(s
}
}
@@ -1739,7 +1641,7 @@ index d2e0f1c..8ac8798 100644
}
/**
-@@ -1148,6 +1153,7 @@ int omap_hwmod_unregister(struct omap_hwmod *oh)
+@@ -1148,6 +1153,7 @@ int omap_hwmod_unregister(struct omap_hw
pr_debug("omap_hwmod: %s: unregistering\n", oh->name);
mutex_lock(&omap_hwmod_mutex);
@@ -1747,8 +1649,6 @@ index d2e0f1c..8ac8798 100644
list_del(&oh->node);
mutex_unlock(&omap_hwmod_mutex);
-diff --git a/arch/arm/mach-omap2/pm-debug.c b/arch/arm/mach-omap2/pm-debug.c
-index 2fc4d6a..deed1dd 100644
--- a/arch/arm/mach-omap2/pm-debug.c
+++ b/arch/arm/mach-omap2/pm-debug.c
@@ -51,7 +51,8 @@ int omap2_pm_debug;
@@ -1761,8 +1661,6 @@ index 2fc4d6a..deed1dd 100644
static int __init pm_dbg_init(void);
-diff --git a/arch/arm/mach-omap2/prm.h b/arch/arm/mach-omap2/prm.h
-index 03c467c..a117f85 100644
--- a/arch/arm/mach-omap2/prm.h
+++ b/arch/arm/mach-omap2/prm.h
@@ -17,11 +17,11 @@
@@ -1780,8 +1678,6 @@ index 03c467c..a117f85 100644
/*
* Architecture-specific global PRM registers
-diff --git a/arch/arm/mach-omap2/sdrc.h b/arch/arm/mach-omap2/sdrc.h
-index 0837eda..345183d 100644
--- a/arch/arm/mach-omap2/sdrc.h
+++ b/arch/arm/mach-omap2/sdrc.h
@@ -48,9 +48,12 @@ static inline u32 sms_read_reg(u16 reg)
@@ -1800,8 +1696,6 @@ index 0837eda..345183d 100644
#endif /* __ASSEMBLER__ */
#endif
-diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c
-index ae21868..7f722a7 100644
--- a/arch/arm/mach-omap2/serial.c
+++ b/arch/arm/mach-omap2/serial.c
@@ -73,7 +73,6 @@ static LIST_HEAD(uart_list);
@@ -1812,7 +1706,7 @@ index ae21868..7f722a7 100644
.mapbase = OMAP_UART1_BASE,
.irq = 72,
.flags = UPF_BOOT_AUTOCONF,
-@@ -87,7 +86,6 @@ static struct plat_serial8250_port serial_platform_data0[] = {
+@@ -87,7 +86,6 @@ static struct plat_serial8250_port seria
static struct plat_serial8250_port serial_platform_data1[] = {
{
@@ -1820,7 +1714,7 @@ index ae21868..7f722a7 100644
.mapbase = OMAP_UART2_BASE,
.irq = 73,
.flags = UPF_BOOT_AUTOCONF,
-@@ -101,7 +99,6 @@ static struct plat_serial8250_port serial_platform_data1[] = {
+@@ -101,7 +99,6 @@ static struct plat_serial8250_port seria
static struct plat_serial8250_port serial_platform_data2[] = {
{
@@ -1828,15 +1722,7 @@ index ae21868..7f722a7 100644
.mapbase = OMAP_UART3_BASE,
.irq = 74,
.flags = UPF_BOOT_AUTOCONF,
-@@ -110,7 +107,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
- .uartclk = OMAP24XX_BASE_BAUD * 16,
- }, {
- #ifdef CONFIG_ARCH_OMAP4
-- .membase = OMAP2_IO_ADDRESS(OMAP_UART4_BASE),
- .mapbase = OMAP_UART4_BASE,
- .irq = 70,
- .flags = UPF_BOOT_AUTOCONF,
-@@ -126,7 +122,6 @@ static struct plat_serial8250_port serial_platform_data2[] = {
+@@ -116,7 +113,6 @@ static struct plat_serial8250_port seria
#ifdef CONFIG_ARCH_OMAP4
static struct plat_serial8250_port serial_platform_data3[] = {
{
@@ -1844,7 +1730,7 @@ index ae21868..7f722a7 100644
.mapbase = OMAP_UART4_BASE,
.irq = 70,
.flags = UPF_BOOT_AUTOCONF,
-@@ -549,7 +544,7 @@ static inline void omap_uart_idle_init(struct omap_uart_state *uart) {}
+@@ -539,7 +535,7 @@ static inline void omap_uart_idle_init(s
#define DEV_CREATE_FILE(dev, attr)
#endif /* CONFIG_PM */
@@ -1853,7 +1739,7 @@ index ae21868..7f722a7 100644
{
.pdev = {
.name = "serial8250",
-@@ -599,12 +594,22 @@ void __init omap_serial_early_init(void)
+@@ -589,12 +585,22 @@ void __init omap_serial_early_init(void)
* if not needed.
*/
@@ -1877,7 +1763,7 @@ index ae21868..7f722a7 100644
sprintf(name, "uart%d_ick", i+1);
uart->ick = clk_get(NULL, name);
if (IS_ERR(uart->ick)) {
-@@ -641,7 +646,7 @@ void __init omap_serial_init(void)
+@@ -631,7 +637,7 @@ void __init omap_serial_init(void)
{
int i;
@@ -1886,8 +1772,6 @@ index ae21868..7f722a7 100644
struct omap_uart_state *uart = &omap_uart[i];
struct platform_device *pdev = &uart->pdev;
struct device *dev = &pdev->dev;
-diff --git a/arch/arm/mach-omap2/sram242x.S b/arch/arm/mach-omap2/sram242x.S
-index 9b62208..92e6e1a 100644
--- a/arch/arm/mach-omap2/sram242x.S
+++ b/arch/arm/mach-omap2/sram242x.S
@@ -128,7 +128,7 @@ omap242x_sdi_prcm_voltctrl:
@@ -1908,8 +1792,6 @@ index 9b62208..92e6e1a 100644
ENTRY(omap242x_sram_reprogram_sdrc_sz)
.word . - omap242x_sram_reprogram_sdrc
-diff --git a/arch/arm/mach-omap2/sram243x.S b/arch/arm/mach-omap2/sram243x.S
-index df2cd92..ab49736 100644
--- a/arch/arm/mach-omap2/sram243x.S
+++ b/arch/arm/mach-omap2/sram243x.S
@@ -128,7 +128,7 @@ omap243x_sdi_prcm_voltctrl:
@@ -1930,11 +1812,9 @@ index df2cd92..ab49736 100644
ENTRY(omap243x_sram_reprogram_sdrc_sz)
.word . - omap243x_sram_reprogram_sdrc
-diff --git a/arch/arm/mach-omap2/timer-gp.c b/arch/arm/mach-omap2/timer-gp.c
-index e2338c0..cd72970 100644
--- a/arch/arm/mach-omap2/timer-gp.c
+++ b/arch/arm/mach-omap2/timer-gp.c
-@@ -231,7 +231,8 @@ static void __init omap2_gp_clocksource_init(void)
+@@ -231,7 +231,8 @@ static void __init omap2_gp_clocksource_
static void __init omap2_gp_timer_init(void)
{
#ifdef CONFIG_LOCAL_TIMERS
@@ -1944,9 +1824,6 @@ index e2338c0..cd72970 100644
#endif
omap_dm_timer_init();
-diff --git a/arch/arm/mach-omap2/usb-ehci.c b/arch/arm/mach-omap2/usb-ehci.c
-new file mode 100644
-index 0000000..a29c8ca
--- /dev/null
+++ b/arch/arm/mach-omap2/usb-ehci.c
@@ -0,0 +1,192 @@
@@ -2142,11 +2019,9 @@ index 0000000..a29c8ca
+
+#endif /* CONFIG_USB_EHCI_HCD */
+
-diff --git a/arch/arm/plat-omap/common.c b/arch/arm/plat-omap/common.c
-index 3a4768d..1aa58d2 100644
--- a/arch/arm/plat-omap/common.c
+++ b/arch/arm/plat-omap/common.c
-@@ -224,12 +224,12 @@ static void __init __omap2_set_globals(struct omap_globals *omap2_globals)
+@@ -224,12 +224,12 @@ static void __init __omap2_set_globals(s
static struct omap_globals omap242x_globals = {
.class = OMAP242X_CLASS,
@@ -2218,8 +2093,6 @@ index 3a4768d..1aa58d2 100644
};
void __init omap2_set_globals_443x(void)
-diff --git a/arch/arm/plat-omap/devices.c b/arch/arm/plat-omap/devices.c
-index a64b692..d2f5475 100644
--- a/arch/arm/plat-omap/devices.c
+++ b/arch/arm/plat-omap/devices.c
@@ -113,17 +113,17 @@ static void omap_init_kp(void)
@@ -2251,11 +2124,9 @@ index a64b692..d2f5475 100644
} else if (machine_is_omap_h4()) {
omap_cfg_reg(T19_24XX_KBR0);
omap_cfg_reg(R19_24XX_KBR1);
-diff --git a/arch/arm/plat-omap/dma.c b/arch/arm/plat-omap/dma.c
-index 0eb676d..034686d 100644
--- a/arch/arm/plat-omap/dma.c
+++ b/arch/arm/plat-omap/dma.c
-@@ -2347,40 +2347,46 @@ EXPORT_SYMBOL(omap_stop_lcd_dma);
+@@ -2359,40 +2359,46 @@ EXPORT_SYMBOL(omap_stop_lcd_dma);
static int __init omap_init_dma(void)
{
@@ -2310,7 +2181,7 @@ index 0eb676d..034686d 100644
}
}
-@@ -2454,7 +2460,7 @@ static int __init omap_init_dma(void)
+@@ -2466,7 +2472,7 @@ static int __init omap_init_dma(void)
for (i = 0; i < ch; i++)
free_irq(omap1_dma_irq[i],
(void *) (i + 1));
@@ -2319,7 +2190,7 @@ index 0eb676d..034686d 100644
}
}
}
-@@ -2496,11 +2502,19 @@ static int __init omap_init_dma(void)
+@@ -2508,11 +2514,19 @@ static int __init omap_init_dma(void)
"(error %d)\n", r);
for (i = 0; i < dma_chan_count; i++)
free_irq(omap1_dma_irq[i], (void *) (i + 1));
@@ -2340,11 +2211,9 @@ index 0eb676d..034686d 100644
}
arch_initcall(omap_init_dma);
-diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-omap/dmtimer.c
-index d325b54..e4e848e 100644
--- a/arch/arm/plat-omap/dmtimer.c
+++ b/arch/arm/plat-omap/dmtimer.c
-@@ -742,16 +742,17 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active);
+@@ -742,16 +742,17 @@ EXPORT_SYMBOL_GPL(omap_dm_timers_active)
int __init omap_dm_timer_init(void)
{
struct omap_dm_timer *timer;
@@ -2381,8 +2250,6 @@ index d325b54..e4e848e 100644
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
defined(CONFIG_ARCH_OMAP4)
if (cpu_class_is_omap2()) {
-diff --git a/arch/arm/plat-omap/gpio.c b/arch/arm/plat-omap/gpio.c
-index 71ebd7f..14c3506 100644
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
@@ -31,7 +31,7 @@
@@ -2428,7 +2295,19 @@ index 71ebd7f..14c3506 100644
-#define OMAP730_GPIO_INT_CONTROL 0x0c
-#define OMAP730_GPIO_INT_MASK 0x10
-#define OMAP730_GPIO_INT_STATUS 0x14
--
++#define OMAP7XX_GPIO1_BASE 0xfffbc000
++#define OMAP7XX_GPIO2_BASE 0xfffbc800
++#define OMAP7XX_GPIO3_BASE 0xfffbd000
++#define OMAP7XX_GPIO4_BASE 0xfffbd800
++#define OMAP7XX_GPIO5_BASE 0xfffbe000
++#define OMAP7XX_GPIO6_BASE 0xfffbe800
++#define OMAP7XX_GPIO_DATA_INPUT 0x00
++#define OMAP7XX_GPIO_DATA_OUTPUT 0x04
++#define OMAP7XX_GPIO_DIR_CONTROL 0x08
++#define OMAP7XX_GPIO_INT_CONTROL 0x0c
++#define OMAP7XX_GPIO_INT_MASK 0x10
++#define OMAP7XX_GPIO_INT_STATUS 0x14
+
-/*
- * OMAP850 specific GPIO registers
- */
@@ -2446,19 +2325,6 @@ index 71ebd7f..14c3506 100644
-#define OMAP850_GPIO_INT_STATUS 0x14
-
-#define OMAP1_MPUIO_VBASE OMAP1_IO_ADDRESS(OMAP1_MPUIO_BASE)
-+#define OMAP7XX_GPIO1_BASE 0xfffbc000
-+#define OMAP7XX_GPIO2_BASE 0xfffbc800
-+#define OMAP7XX_GPIO3_BASE 0xfffbd000
-+#define OMAP7XX_GPIO4_BASE 0xfffbd800
-+#define OMAP7XX_GPIO5_BASE 0xfffbe000
-+#define OMAP7XX_GPIO6_BASE 0xfffbe800
-+#define OMAP7XX_GPIO_DATA_INPUT 0x00
-+#define OMAP7XX_GPIO_DATA_OUTPUT 0x04
-+#define OMAP7XX_GPIO_DIR_CONTROL 0x08
-+#define OMAP7XX_GPIO_INT_CONTROL 0x0c
-+#define OMAP7XX_GPIO_INT_MASK 0x10
-+#define OMAP7XX_GPIO_INT_STATUS 0x14
-+
+#define OMAP1_MPUIO_VBASE OMAP1_MPUIO_BASE
/*
@@ -2468,16 +2334,17 @@ index 71ebd7f..14c3506 100644
-#define OMAP242X_GPIO2_BASE OMAP2_IO_ADDRESS(0x4801a000)
-#define OMAP242X_GPIO3_BASE OMAP2_IO_ADDRESS(0x4801c000)
-#define OMAP242X_GPIO4_BASE OMAP2_IO_ADDRESS(0x4801e000)
-+#define OMAP242X_GPIO1_BASE 0x48018000
-+#define OMAP242X_GPIO2_BASE 0x4801a000
-+#define OMAP242X_GPIO3_BASE 0x4801c000
-+#define OMAP242X_GPIO4_BASE 0x4801e000
-
+-
-#define OMAP243X_GPIO1_BASE OMAP2_IO_ADDRESS(0x4900C000)
-#define OMAP243X_GPIO2_BASE OMAP2_IO_ADDRESS(0x4900E000)
-#define OMAP243X_GPIO3_BASE OMAP2_IO_ADDRESS(0x49010000)
-#define OMAP243X_GPIO4_BASE OMAP2_IO_ADDRESS(0x49012000)
-#define OMAP243X_GPIO5_BASE OMAP2_IO_ADDRESS(0x480B6000)
++#define OMAP242X_GPIO1_BASE 0x48018000
++#define OMAP242X_GPIO2_BASE 0x4801a000
++#define OMAP242X_GPIO3_BASE 0x4801c000
++#define OMAP242X_GPIO4_BASE 0x4801e000
++
+#define OMAP243X_GPIO1_BASE 0x4900C000
+#define OMAP243X_GPIO2_BASE 0x4900E000
+#define OMAP243X_GPIO3_BASE 0x49010000
@@ -2688,16 +2555,7 @@ index 71ebd7f..14c3506 100644
METHOD_GPIO_24XX },
};
-@@ -373,7 +373,7 @@ static inline int gpio_valid(int gpio)
-
- static int check_gpio(int gpio)
- {
-- if (unlikely(gpio_valid(gpio)) < 0) {
-+ if (unlikely(gpio_valid(gpio) < 0)) {
- printk(KERN_ERR "omap-gpio: invalid GPIO %d\n", gpio);
- dump_stack();
- return -1;
-@@ -402,14 +402,9 @@ static void _set_gpio_direction(struct gpio_bank *bank, int gpio, int is_input)
+@@ -402,14 +402,9 @@ static void _set_gpio_direction(struct g
reg += OMAP1610_GPIO_DIRECTION;
break;
#endif
@@ -2715,7 +2573,7 @@ index 71ebd7f..14c3506 100644
break;
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -469,19 +464,9 @@ static void _set_gpio_dataout(struct gpio_bank *bank, int gpio, int enable)
+@@ -469,19 +464,9 @@ static void _set_gpio_dataout(struct gpi
l = 1 << gpio;
break;
#endif
@@ -2738,7 +2596,7 @@ index 71ebd7f..14c3506 100644
l = __raw_readl(reg);
if (enable)
l |= 1 << gpio;
-@@ -537,14 +522,9 @@ static int _get_gpio_datain(struct gpio_bank *bank, int gpio)
+@@ -537,14 +522,9 @@ static int _get_gpio_datain(struct gpio_
reg += OMAP1610_GPIO_DATAIN;
break;
#endif
@@ -2756,7 +2614,7 @@ index 71ebd7f..14c3506 100644
break;
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -588,14 +568,9 @@ static int _get_gpio_dataout(struct gpio_bank *bank, int gpio)
+@@ -588,14 +568,9 @@ static int _get_gpio_dataout(struct gpio
reg += OMAP1610_GPIO_DATAOUT;
break;
#endif
@@ -2774,7 +2632,7 @@ index 71ebd7f..14c3506 100644
break;
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX) || \
-@@ -797,21 +772,9 @@ static int _set_gpio_triggering(struct gpio_bank *bank, int gpio, int trigger)
+@@ -797,21 +772,9 @@ static int _set_gpio_triggering(struct g
__raw_writel(1 << gpio, bank->base + OMAP1610_GPIO_CLEAR_WAKEUPENA);
break;
#endif
@@ -2799,7 +2657,7 @@ index 71ebd7f..14c3506 100644
l = __raw_readl(reg);
if (trigger & IRQ_TYPE_EDGE_RISING)
l |= 1 << gpio;
-@@ -897,14 +860,9 @@ static void _clear_gpio_irqbank(struct gpio_bank *bank, int gpio_mask)
+@@ -897,14 +860,9 @@ static void _clear_gpio_irqbank(struct g
reg += OMAP1610_GPIO_IRQSTATUS1;
break;
#endif
@@ -2817,7 +2675,7 @@ index 71ebd7f..14c3506 100644
break;
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
-@@ -971,16 +929,9 @@ static u32 _get_gpio_irqbank_mask(struct gpio_bank *bank)
+@@ -971,16 +929,9 @@ static u32 _get_gpio_irqbank_mask(struct
mask = 0xffff;
break;
#endif
@@ -2837,7 +2695,7 @@ index 71ebd7f..14c3506 100644
mask = 0xffffffff;
inv = 1;
break;
-@@ -1044,19 +995,9 @@ static void _enable_gpio_irqbank(struct gpio_bank *bank, int gpio_mask, int enab
+@@ -1044,19 +995,9 @@ static void _enable_gpio_irqbank(struct
l = gpio_mask;
break;
#endif
@@ -2860,7 +2718,7 @@ index 71ebd7f..14c3506 100644
l = __raw_readl(reg);
if (enable)
l &= ~(gpio_mask);
-@@ -1249,13 +1190,9 @@ static void gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
+@@ -1249,13 +1190,9 @@ static void gpio_irq_handler(unsigned in
if (bank->method == METHOD_GPIO_1610)
isr_reg = bank->base + OMAP1610_GPIO_IRQSTATUS1;
#endif
@@ -2877,7 +2735,7 @@ index 71ebd7f..14c3506 100644
#endif
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
if (bank->method == METHOD_GPIO_24XX)
-@@ -1524,11 +1461,8 @@ static int gpio_is_input(struct gpio_bank *bank, int mask)
+@@ -1524,11 +1461,8 @@ static int gpio_is_input(struct gpio_ban
case METHOD_GPIO_1610:
reg += OMAP1610_GPIO_DIRECTION;
break;
@@ -3047,7 +2905,7 @@ index 71ebd7f..14c3506 100644
return 0;
}
-@@ -2160,8 +2090,7 @@ static int dbg_gpio_show(struct seq_file *s, void *unused)
+@@ -2160,8 +2090,7 @@ static int dbg_gpio_show(struct seq_file
if (bank_is_mpuio(bank))
gpio = OMAP_MPUIO(0);
@@ -3057,8 +2915,6 @@ index 71ebd7f..14c3506 100644
bankwidth = 32;
for (j = 0; j < bankwidth; j++, gpio++, mask <<= 1) {
-diff --git a/arch/arm/plat-omap/include/mach/control.h b/arch/arm/plat-omap/include/mach/control.h
-index 826d317..fdb6300 100644
--- a/arch/arm/plat-omap/include/mach/control.h
+++ b/arch/arm/plat-omap/include/mach/control.h
@@ -20,15 +20,18 @@
@@ -3127,8 +2983,6 @@ index 826d317..fdb6300 100644
#ifndef __ASSEMBLY__
#if defined(CONFIG_ARCH_OMAP2) || defined(CONFIG_ARCH_OMAP3) || \
defined(CONFIG_ARCH_OMAP4)
-diff --git a/arch/arm/plat-omap/include/mach/cpu.h b/arch/arm/plat-omap/include/mach/cpu.h
-index f129efb..7cb0556 100644
--- a/arch/arm/plat-omap/include/mach/cpu.h
+++ b/arch/arm/plat-omap/include/mach/cpu.h
@@ -30,6 +30,8 @@
@@ -3252,8 +3106,6 @@ index f129efb..7cb0556 100644
+OMAP3_HAS_FEATURE(isp, ISP)
+
#endif
-diff --git a/arch/arm/plat-omap/include/mach/debug-macro.S b/arch/arm/plat-omap/include/mach/debug-macro.S
-index ac24050..63bb06d 100644
--- a/arch/arm/plat-omap/include/mach/debug-macro.S
+++ b/arch/arm/plat-omap/include/mach/debug-macro.S
@@ -27,7 +27,7 @@
@@ -3274,8 +3126,6 @@ index ac24050..63bb06d 100644
orr \rx, \rx, #0x0006a000
#ifdef CONFIG_OMAP_LL_DEBUG_UART2
add \rx, \rx, #0x00002000 @ UART 2
-diff --git a/arch/arm/plat-omap/include/mach/entry-macro.S b/arch/arm/plat-omap/include/mach/entry-macro.S
-index a559299..2aea566 100644
--- a/arch/arm/plat-omap/include/mach/entry-macro.S
+++ b/arch/arm/plat-omap/include/mach/entry-macro.S
@@ -17,11 +17,11 @@
@@ -3315,8 +3165,6 @@ index a559299..2aea566 100644
/*
* The interrupt numbering scheme is defined in the
* interrupt controller spec. To wit:
-diff --git a/arch/arm/plat-omap/include/mach/hardware.h b/arch/arm/plat-omap/include/mach/hardware.h
-index 26c1fbf..99c4241 100644
--- a/arch/arm/plat-omap/include/mach/hardware.h
+++ b/arch/arm/plat-omap/include/mach/hardware.h
@@ -280,7 +280,7 @@
@@ -3328,8 +3176,6 @@ index 26c1fbf..99c4241 100644
#include "omap1510.h"
#include "omap16xx.h"
#include "omap24xx.h"
-diff --git a/arch/arm/plat-omap/include/mach/io.h b/arch/arm/plat-omap/include/mach/io.h
-index 8d32df3..7e5319f 100644
--- a/arch/arm/plat-omap/include/mach/io.h
+++ b/arch/arm/plat-omap/include/mach/io.h
@@ -63,8 +63,24 @@
@@ -3434,13 +3280,14 @@ index 8d32df3..7e5319f 100644
-#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE /* 0x54000000 */
-#define L4_EMU_34XX_VIRT 0xe4000000
-#define L4_EMU_34XX_SIZE SZ_64M
+-
+-#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE /* 0x6E000000 */
+-#define OMAP34XX_GPMC_VIRT 0xFE000000
+#define L4_EMU_34XX_PHYS L4_EMU_34XX_BASE
+ /* 0x54000000 --> 0xfe800000 */
+#define L4_EMU_34XX_VIRT (L4_EMU_34XX_PHYS + OMAP2_EMU_IO_OFFSET)
+#define L4_EMU_34XX_SIZE SZ_8M
-
--#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE /* 0x6E000000 */
--#define OMAP34XX_GPMC_VIRT 0xFE000000
++
+#define OMAP34XX_GPMC_PHYS OMAP34XX_GPMC_BASE
+ /* 0x6e000000 --> 0xfe000000 */
+#define OMAP34XX_GPMC_VIRT (OMAP34XX_GPMC_PHYS + OMAP2_L3_IO_OFFSET)
@@ -3526,8 +3373,6 @@ index 8d32df3..7e5319f 100644
/*
* ----------------------------------------------------------------------------
* Omap specific register access
-diff --git a/arch/arm/plat-omap/include/mach/irqs.h b/arch/arm/plat-omap/include/mach/irqs.h
-index 28a1650..6a6d028 100644
--- a/arch/arm/plat-omap/include/mach/irqs.h
+++ b/arch/arm/plat-omap/include/mach/irqs.h
@@ -86,49 +86,26 @@
@@ -3775,8 +3620,6 @@ index 28a1650..6a6d028 100644
#define INT_24XX_SYS_NIRQ 7
#define INT_24XX_SDMA_IRQ0 12
-diff --git a/arch/arm/plat-omap/include/mach/mcbsp.h b/arch/arm/plat-omap/include/mach/mcbsp.h
-index e0d6eca..7e9cae3 100644
--- a/arch/arm/plat-omap/include/mach/mcbsp.h
+++ b/arch/arm/plat-omap/include/mach/mcbsp.h
@@ -30,8 +30,8 @@
@@ -3799,8 +3642,6 @@ index e0d6eca..7e9cae3 100644
#define OMAP_MCBSP_REG_DRR2 0x00
#define OMAP_MCBSP_REG_DRR1 0x02
-diff --git a/arch/arm/plat-omap/include/mach/mux.h b/arch/arm/plat-omap/include/mach/mux.h
-index 0f49d2d..f3c1d8a 100644
--- a/arch/arm/plat-omap/include/mach/mux.h
+++ b/arch/arm/plat-omap/include/mach/mux.h
@@ -51,23 +51,13 @@
@@ -3953,8 +3794,6 @@ index 0f49d2d..f3c1d8a 100644
enum omap1xxx_index {
/* UART1 (BT_UART_GATING)*/
UART1_TX = 0,
-diff --git a/arch/arm/plat-omap/include/mach/omap34xx.h b/arch/arm/plat-omap/include/mach/omap34xx.h
-index f8d186a..4655707 100644
--- a/arch/arm/plat-omap/include/mach/omap34xx.h
+++ b/arch/arm/plat-omap/include/mach/omap34xx.h
@@ -74,8 +74,12 @@
@@ -3971,8 +3810,6 @@ index f8d186a..4655707 100644
#define OMAP34XX_MAILBOX_BASE (L4_34XX_BASE + 0x94000)
-diff --git a/arch/arm/plat-omap/include/mach/omap44xx.h b/arch/arm/plat-omap/include/mach/omap44xx.h
-index b3ba5ac..3361897 100644
--- a/arch/arm/plat-omap/include/mach/omap44xx.h
+++ b/arch/arm/plat-omap/include/mach/omap44xx.h
@@ -22,6 +22,9 @@
@@ -4000,9 +3837,6 @@ index b3ba5ac..3361897 100644
#endif /* __ASM_ARCH_OMAP44XX_H */
-diff --git a/arch/arm/plat-omap/include/mach/omap7xx.h b/arch/arm/plat-omap/include/mach/omap7xx.h
-new file mode 100644
-index 0000000..53f5241
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/omap7xx.h
@@ -0,0 +1,104 @@
@@ -4110,8 +3944,6 @@ index 0000000..53f5241
+
+#endif /* __ASM_ARCH_OMAP7XX_H */
+
-diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/mach/sdrc.h
-index 1c09c78..7b58a5f 100644
--- a/arch/arm/plat-omap/include/mach/sdrc.h
+++ b/arch/arm/plat-omap/include/mach/sdrc.h
@@ -80,11 +80,11 @@
@@ -4129,8 +3961,6 @@ index 1c09c78..7b58a5f 100644
/* SMS register offsets - read/write with sms_{read,write}_reg() */
-diff --git a/arch/arm/plat-omap/include/mach/serial.h b/arch/arm/plat-omap/include/mach/serial.h
-index e249186..9951345 100644
--- a/arch/arm/plat-omap/include/mach/serial.h
+++ b/arch/arm/plat-omap/include/mach/serial.h
@@ -20,26 +20,22 @@
@@ -4160,8 +3990,6 @@ index e249186..9951345 100644
#endif
#define OMAP1510_BASE_BAUD (12000000/16)
-diff --git a/arch/arm/plat-omap/include/mach/uncompress.h b/arch/arm/plat-omap/include/mach/uncompress.h
-index 0814c5f..ddf7b88 100644
--- a/arch/arm/plat-omap/include/mach/uncompress.h
+++ b/arch/arm/plat-omap/include/mach/uncompress.h
@@ -25,6 +25,7 @@ unsigned int system_rev;
@@ -4181,8 +4009,6 @@ index 0814c5f..ddf7b88 100644
shift = 0;
if (check_port(uart, shift))
-diff --git a/arch/arm/plat-omap/include/mach/usb.h b/arch/arm/plat-omap/include/mach/usb.h
-index f337e17..a4068a4 100644
--- a/arch/arm/plat-omap/include/mach/usb.h
+++ b/arch/arm/plat-omap/include/mach/usb.h
@@ -5,6 +5,21 @@
@@ -4216,8 +4042,6 @@ index f337e17..a4068a4 100644
#endif
void omap_usb_init(struct omap_usb_config *pdata);
-diff --git a/arch/arm/plat-omap/include/mach/vmalloc.h b/arch/arm/plat-omap/include/mach/vmalloc.h
-index b97dfaf..9eebf62 100644
--- a/arch/arm/plat-omap/include/mach/vmalloc.h
+++ b/arch/arm/plat-omap/include/mach/vmalloc.h
@@ -17,5 +17,5 @@
@@ -4227,8 +4051,6 @@ index b97dfaf..9eebf62 100644
-#define VMALLOC_END (PAGE_OFFSET + 0x18000000)
+#define VMALLOC_END (PAGE_OFFSET + 0x38000000)
-diff --git a/arch/arm/plat-omap/io.c b/arch/arm/plat-omap/io.c
-index b6defa2..93c1d53 100644
--- a/arch/arm/plat-omap/io.c
+++ b/arch/arm/plat-omap/io.c
@@ -13,7 +13,7 @@
@@ -4240,27 +4062,28 @@ index b6defa2..93c1d53 100644
#include <mach/omap1510.h>
#include <mach/omap16xx.h>
#include <mach/omap24xx.h>
-@@ -33,13 +33,13 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
+@@ -33,13 +33,13 @@ void __iomem *omap_ioremap(unsigned long
if (BETWEEN(p, OMAP1_IO_PHYS, OMAP1_IO_SIZE))
return XLATE(p, OMAP1_IO_PHYS, OMAP1_IO_VIRT);
}
- if (cpu_is_omap730()) {
- if (BETWEEN(p, OMAP730_DSP_BASE, OMAP730_DSP_SIZE))
- return XLATE(p, OMAP730_DSP_BASE, OMAP730_DSP_START);
-+ if (cpu_is_omap7xx()) {
-+ if (BETWEEN(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_SIZE))
-+ return XLATE(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_START);
-
+-
- if (BETWEEN(p, OMAP730_DSPREG_BASE, OMAP730_DSPREG_SIZE))
- return XLATE(p, OMAP730_DSPREG_BASE,
- OMAP730_DSPREG_START);
++ if (cpu_is_omap7xx()) {
++ if (BETWEEN(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_SIZE))
++ return XLATE(p, OMAP7XX_DSP_BASE, OMAP7XX_DSP_START);
++
+ if (BETWEEN(p, OMAP7XX_DSPREG_BASE, OMAP7XX_DSPREG_SIZE))
+ return XLATE(p, OMAP7XX_DSPREG_BASE,
+ OMAP7XX_DSPREG_START);
}
if (cpu_is_omap15xx()) {
if (BETWEEN(p, OMAP1510_DSP_BASE, OMAP1510_DSP_SIZE))
-@@ -114,6 +114,14 @@ void __iomem *omap_ioremap(unsigned long p, size_t size, unsigned int type)
+@@ -114,6 +114,14 @@ void __iomem *omap_ioremap(unsigned long
return XLATE(p, L4_WK_44XX_PHYS, L4_WK_44XX_VIRT);
if (BETWEEN(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_SIZE))
return XLATE(p, OMAP44XX_GPMC_PHYS, OMAP44XX_GPMC_VIRT);
@@ -4328,8 +4151,6 @@ index b6defa2..93c1d53 100644
+ __raw_writel(v, OMAP2_L4_IO_ADDRESS(pa));
}
EXPORT_SYMBOL(omap_writel);
-diff --git a/arch/arm/plat-omap/omap_device.c b/arch/arm/plat-omap/omap_device.c
-index 2c409fc..12513f4 100644
--- a/arch/arm/plat-omap/omap_device.c
+++ b/arch/arm/plat-omap/omap_device.c
@@ -103,21 +103,6 @@
@@ -4370,7 +4191,7 @@ index 2c409fc..12513f4 100644
od->pm_lat_level--;
-@@ -149,20 +134,22 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
+@@ -149,20 +134,22 @@ static int _omap_device_activate(struct
(od->dev_wakeup_lat <= od->_dev_wakeup_lat_limit))
break;
@@ -4398,7 +4219,7 @@ index 2c409fc..12513f4 100644
od->pdev.name, od->pdev.id, od->pm_lat_level,
act_lat, odpl->activate_lat);
-@@ -188,13 +175,13 @@ static int _omap_device_activate(struct omap_device *od, u8 ignore_lat)
+@@ -188,13 +175,13 @@ static int _omap_device_activate(struct
*/
static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
{
@@ -4414,7 +4235,7 @@ index 2c409fc..12513f4 100644
odpl = od->pm_lats + od->pm_lat_level;
-@@ -203,23 +190,24 @@ static int _omap_device_deactivate(struct omap_device *od, u8 ignore_lat)
+@@ -203,23 +190,24 @@ static int _omap_device_deactivate(struc
od->_dev_wakeup_lat_limit))
break;
@@ -4446,11 +4267,9 @@ index 2c409fc..12513f4 100644
od->dev_wakeup_lat += odpl->activate_lat;
-diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
-index 75d1f26..4144f81 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
-@@ -41,14 +41,14 @@
+@@ -42,14 +42,14 @@
#define OMAP1_SRAM_VA VMALLOC_END
#define OMAP2_SRAM_PA 0x40200000
#define OMAP2_SRAM_PUB_PA 0x4020f800
@@ -4468,23 +4287,24 @@ index 75d1f26..4144f81 100644
#if defined(CONFIG_ARCH_OMAP24XX) || defined(CONFIG_ARCH_OMAP34XX)
#define SRAM_BOOTLOADER_SZ 0x00
-@@ -56,16 +56,16 @@
+@@ -57,16 +57,16 @@
#define SRAM_BOOTLOADER_SZ 0x80
#endif
-#define OMAP24XX_VA_REQINFOPERM0 OMAP2_IO_ADDRESS(0x68005048)
-#define OMAP24XX_VA_READPERM0 OMAP2_IO_ADDRESS(0x68005050)
-#define OMAP24XX_VA_WRITEPERM0 OMAP2_IO_ADDRESS(0x68005058)
-+#define OMAP24XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68005048)
-+#define OMAP24XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68005050)
-+#define OMAP24XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68005058)
-
+-
-#define OMAP34XX_VA_REQINFOPERM0 OMAP2_IO_ADDRESS(0x68012848)
-#define OMAP34XX_VA_READPERM0 OMAP2_IO_ADDRESS(0x68012850)
-#define OMAP34XX_VA_WRITEPERM0 OMAP2_IO_ADDRESS(0x68012858)
-#define OMAP34XX_VA_ADDR_MATCH2 OMAP2_IO_ADDRESS(0x68012880)
-#define OMAP34XX_VA_SMS_RG_ATT0 OMAP2_IO_ADDRESS(0x6C000048)
-#define OMAP34XX_VA_CONTROL_STAT OMAP2_IO_ADDRESS(0x480022F0)
++#define OMAP24XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68005048)
++#define OMAP24XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68005050)
++#define OMAP24XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68005058)
++
+#define OMAP34XX_VA_REQINFOPERM0 OMAP2_L3_IO_ADDRESS(0x68012848)
+#define OMAP34XX_VA_READPERM0 OMAP2_L3_IO_ADDRESS(0x68012850)
+#define OMAP34XX_VA_WRITEPERM0 OMAP2_L3_IO_ADDRESS(0x68012858)
@@ -4494,11 +4314,9 @@ index 75d1f26..4144f81 100644
#define GP_DEVICE 0x300
-diff --git a/arch/arm/plat-omap/usb.c b/arch/arm/plat-omap/usb.c
-index 509f2ed..3c40b85 100644
--- a/arch/arm/plat-omap/usb.c
+++ b/arch/arm/plat-omap/usb.c
-@@ -614,8 +614,8 @@ omap_otg_init(struct omap_usb_config *config)
+@@ -614,8 +614,8 @@ omap_otg_init(struct omap_usb_config *co
if (config->otg || config->register_host) {
syscon &= ~HST_IDLE_EN;
ohci_device.dev.platform_data = config;
@@ -4509,7 +4327,7 @@ index 509f2ed..3c40b85 100644
status = platform_device_register(&ohci_device);
if (status)
pr_debug("can't register OHCI device, %d\n", status);
-@@ -626,8 +626,8 @@ omap_otg_init(struct omap_usb_config *config)
+@@ -626,8 +626,8 @@ omap_otg_init(struct omap_usb_config *co
if (config->otg) {
syscon &= ~OTG_IDLE_EN;
otg_device.dev.platform_data = config;
@@ -4520,7 +4338,7 @@ index 509f2ed..3c40b85 100644
status = platform_device_register(&otg_device);
if (status)
pr_debug("can't register OTG device, %d\n", status);
-@@ -731,7 +731,7 @@ static inline void omap_1510_usb_init(struct omap_usb_config *config) {}
+@@ -731,7 +731,7 @@ static inline void omap_1510_usb_init(st
void __init omap_usb_init(struct omap_usb_config *pdata)
{
@@ -4529,11 +4347,9 @@ index 509f2ed..3c40b85 100644
omap_otg_init(pdata);
else if (cpu_is_omap15xx())
omap_1510_usb_init(pdata);
-diff --git a/drivers/Makefile b/drivers/Makefile
-index 6ee53c7..086857c 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -72,7 +72,7 @@ obj-$(CONFIG_GAMEPORT) += input/gameport/
+@@ -72,7 +72,7 @@ obj-$(CONFIG_GAMEPORT) += input/gamepor
obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_I2O) += message/
obj-$(CONFIG_RTC_LIB) += rtc/
@@ -4542,9 +4358,6 @@ index 6ee53c7..086857c 100644
obj-$(CONFIG_PPS) += pps/
obj-$(CONFIG_W1) += w1/
obj-$(CONFIG_POWER_SUPPLY) += power/
-diff --git a/drivers/cbus/Kconfig b/drivers/cbus/Kconfig
-new file mode 100644
-index 0000000..25f8039
--- /dev/null
+++ b/drivers/cbus/Kconfig
@@ -0,0 +1,89 @@
@@ -4637,9 +4450,6 @@ index 0000000..25f8039
+ sysfs.
+
+endmenu
-diff --git a/drivers/cbus/Makefile b/drivers/cbus/Makefile
-new file mode 100644
-index 0000000..347c2a4
--- /dev/null
+++ b/drivers/cbus/Makefile
@@ -0,0 +1,14 @@
@@ -4657,9 +4467,6 @@ index 0000000..347c2a4
+obj-$(CONFIG_CBUS_TAHVO_USER) += tahvo-user.o
+obj-$(CONFIG_CBUS_RETU_USER) += retu-user.o
+obj-$(CONFIG_CBUS_RETU_HEADSET) += retu-headset.o
-diff --git a/drivers/cbus/cbus.c b/drivers/cbus/cbus.c
-new file mode 100644
-index 0000000..774acce
--- /dev/null
+++ b/drivers/cbus/cbus.c
@@ -0,0 +1,293 @@
@@ -4956,9 +4763,6 @@ index 0000000..774acce
+MODULE_DESCRIPTION("CBUS serial protocol");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/cbus.h b/drivers/cbus/cbus.h
-new file mode 100644
-index 0000000..957224c
--- /dev/null
+++ b/drivers/cbus/cbus.h
@@ -0,0 +1,36 @@
@@ -4998,9 +4802,6 @@ index 0000000..957224c
+extern int cbus_write_reg(struct cbus_host *host, int dev, int reg, u16 val);
+
+#endif /* __DRIVERS_CBUS_CBUS_H */
-diff --git a/drivers/cbus/retu-headset.c b/drivers/cbus/retu-headset.c
-new file mode 100644
-index 0000000..e798bc2
--- /dev/null
+++ b/drivers/cbus/retu-headset.c
@@ -0,0 +1,355 @@
@@ -5359,9 +5160,6 @@ index 0000000..e798bc2
+MODULE_DESCRIPTION("Retu/Vilma headset detection");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Juha Yrjölä");
-diff --git a/drivers/cbus/retu-pwrbutton.c b/drivers/cbus/retu-pwrbutton.c
-new file mode 100644
-index 0000000..38d7aa4
--- /dev/null
+++ b/drivers/cbus/retu-pwrbutton.c
@@ -0,0 +1,118 @@
@@ -5483,9 +5281,6 @@ index 0000000..38d7aa4
+MODULE_DESCRIPTION("Retu Power Button");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Ari Saastamoinen");
-diff --git a/drivers/cbus/retu-rtc.c b/drivers/cbus/retu-rtc.c
-new file mode 100644
-index 0000000..1ebc33b
--- /dev/null
+++ b/drivers/cbus/retu-rtc.c
@@ -0,0 +1,477 @@
@@ -5966,9 +5761,6 @@ index 0000000..1ebc33b
+MODULE_DESCRIPTION("Retu RTC");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Paul Mundt and Igor Stoppa");
-diff --git a/drivers/cbus/retu-user.c b/drivers/cbus/retu-user.c
-new file mode 100644
-index 0000000..74a7d61
--- /dev/null
+++ b/drivers/cbus/retu-user.c
@@ -0,0 +1,423 @@
@@ -6395,9 +6187,6 @@ index 0000000..74a7d61
+MODULE_DESCRIPTION("Retu ASIC user space functions");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Mikko Ylinen");
-diff --git a/drivers/cbus/retu-wdt.c b/drivers/cbus/retu-wdt.c
-new file mode 100644
-index 0000000..b7b20b7
--- /dev/null
+++ b/drivers/cbus/retu-wdt.c
@@ -0,0 +1,202 @@
@@ -6603,9 +6392,6 @@ index 0000000..b7b20b7
+MODULE_AUTHOR("Amit Kucheria");
+MODULE_LICENSE("GPL");
+
-diff --git a/drivers/cbus/retu.c b/drivers/cbus/retu.c
-new file mode 100644
-index 0000000..84d7840
--- /dev/null
+++ b/drivers/cbus/retu.c
@@ -0,0 +1,467 @@
@@ -7076,9 +6862,6 @@ index 0000000..84d7840
+MODULE_DESCRIPTION("Retu ASIC control");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/retu.h b/drivers/cbus/retu.h
-new file mode 100644
-index 0000000..c9e044c
--- /dev/null
+++ b/drivers/cbus/retu.h
@@ -0,0 +1,77 @@
@@ -7159,9 +6942,6 @@ index 0000000..c9e044c
+extern spinlock_t retu_lock;
+
+#endif /* __DRIVERS_CBUS_RETU_H */
-diff --git a/drivers/cbus/tahvo-usb.c b/drivers/cbus/tahvo-usb.c
-new file mode 100644
-index 0000000..d8ad836
--- /dev/null
+++ b/drivers/cbus/tahvo-usb.c
@@ -0,0 +1,777 @@
@@ -7942,9 +7722,6 @@ index 0000000..d8ad836
+MODULE_DESCRIPTION("Tahvo USB OTG Transceiver Driver");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Juha Yrjölä, Tony Lindgren, and Timo Teräs");
-diff --git a/drivers/cbus/tahvo-user.c b/drivers/cbus/tahvo-user.c
-new file mode 100644
-index 0000000..873d648
--- /dev/null
+++ b/drivers/cbus/tahvo-user.c
@@ -0,0 +1,405 @@
@@ -8353,9 +8130,6 @@ index 0000000..873d648
+MODULE_DESCRIPTION("Tahvo ASIC user space functions");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Mikko Ylinen");
-diff --git a/drivers/cbus/tahvo.c b/drivers/cbus/tahvo.c
-new file mode 100644
-index 0000000..e734c4c
--- /dev/null
+++ b/drivers/cbus/tahvo.c
@@ -0,0 +1,442 @@
@@ -8801,9 +8575,6 @@ index 0000000..e734c4c
+MODULE_DESCRIPTION("Tahvo ASIC control");
+MODULE_LICENSE("GPL");
+MODULE_AUTHOR("Juha Yrjölä, David Weinehall, and Mikko Ylinen");
-diff --git a/drivers/cbus/tahvo.h b/drivers/cbus/tahvo.h
-new file mode 100644
-index 0000000..b7a8ee1
--- /dev/null
+++ b/drivers/cbus/tahvo.h
@@ -0,0 +1,61 @@
@@ -8868,9 +8639,6 @@ index 0000000..b7a8ee1
+extern spinlock_t tahvo_lock;
+
+#endif /* __DRIVERS_CBUS_TAHVO_H */
-diff --git a/drivers/cbus/user_retu_tahvo.h b/drivers/cbus/user_retu_tahvo.h
-new file mode 100644
-index 0000000..a5c2190
--- /dev/null
+++ b/drivers/cbus/user_retu_tahvo.h
@@ -0,0 +1,75 @@
@@ -8949,21 +8717,6 @@ index 0000000..a5c2190
+};
+
+#endif
-diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
-index 4487cc0..0aecaae 100644
---- a/drivers/mmc/host/omap_hsmmc.c
-+++ b/drivers/mmc/host/omap_hsmmc.c
-@@ -2013,7 +2013,7 @@ static struct platform_driver omap_hsmmc_driver = {
- static int __init omap_hsmmc_init(void)
- {
- /* Register the MMC driver */
-- return platform_driver_register(&omap_hsmmc_driver);
-+ return platform_driver_probe(&omap_hsmmc_driver, omap_hsmmc_probe);
- }
-
- static void __exit omap_hsmmc_cleanup(void)
-diff --git a/drivers/spi/omap_uwire.c b/drivers/spi/omap_uwire.c
-index e75ba9b..7bcf409 100644
--- a/drivers/spi/omap_uwire.c
+++ b/drivers/spi/omap_uwire.c
@@ -52,7 +52,7 @@
@@ -8975,7 +8728,7 @@ index e75ba9b..7bcf409 100644
/* FIXME address is now a platform device resource,
-@@ -504,7 +504,7 @@ static int __init uwire_probe(struct platform_device *pdev)
+@@ -504,7 +504,7 @@ static int __init uwire_probe(struct pla
}
clk_enable(uwire->ck);
@@ -8995,8 +8748,6 @@ index e75ba9b..7bcf409 100644
}
return platform_driver_probe(&uwire_driver, uwire_probe);
-diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
-index 2407508..5620e92 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -60,6 +60,7 @@ config USB_ARCH_HAS_EHCI
@@ -9007,11 +8758,9 @@ index 2407508..5620e92 100644
default PCI
# ARM SA1111 chips have a non-PCI based "OHCI-compatible" USB host interface.
-diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c
-index 9835e07..44c208c 100644
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -1108,6 +1108,11 @@ MODULE_LICENSE ("GPL");
+@@ -1111,6 +1111,11 @@ MODULE_LICENSE ("GPL");
#define PLATFORM_DRIVER ehci_hcd_au1xxx_driver
#endif
@@ -9023,9 +8772,6 @@ index 9835e07..44c208c 100644
#ifdef CONFIG_PPC_PS3
#include "ehci-ps3.c"
#define PS3_SYSTEM_BUS_DRIVER ps3_ehci_driver
-diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
-new file mode 100644
-index 0000000..7ba8df3
--- /dev/null
+++ b/drivers/usb/host/ehci-omap.c
@@ -0,0 +1,755 @@
@@ -9784,11 +9530,9 @@ index 0000000..7ba8df3
+MODULE_AUTHOR("Texas Instruments, Inc.");
+MODULE_AUTHOR("Felipe Balbi <felipe.balbi@nokia.com>");
+
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index f16e421..6f957ce 100644
--- a/drivers/video/omap/dispc.c
+++ b/drivers/video/omap/dispc.c
-@@ -204,6 +204,7 @@ static u32 inline dispc_read_reg(int idx)
+@@ -210,6 +210,7 @@ static u32 inline dispc_read_reg(int idx
/* Select RFBI or bypass mode */
static void enable_rfbi_mode(int enable)
{
@@ -9796,7 +9540,7 @@ index f16e421..6f957ce 100644
u32 l;
l = dispc_read_reg(DISPC_CONTROL);
-@@ -216,9 +217,15 @@ static void enable_rfbi_mode(int enable)
+@@ -222,9 +223,15 @@ static void enable_rfbi_mode(int enable)
dispc_write_reg(DISPC_CONTROL, l);
/* Set bypass mode in RFBI module */
@@ -9814,7 +9558,7 @@ index f16e421..6f957ce 100644
}
static void set_lcd_data_lines(int data_lines)
-@@ -1367,6 +1374,7 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1373,6 +1380,7 @@ static int omap_dispc_init(struct omapfb
int r;
u32 l;
struct lcd_panel *panel = fbdev->panel;
@@ -9822,7 +9566,7 @@ index f16e421..6f957ce 100644
int tmo = 10000;
int skip_init = 0;
int i;
-@@ -1441,7 +1449,13 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1453,7 +1461,13 @@ static int omap_dispc_init(struct omapfb
}
/* L3 firewall setting: enable access to OCM RAM */