-diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/OMAP/DSS
-new file mode 100644
-index 0000000..0af0e9e
--- /dev/null
+++ b/Documentation/arm/OMAP/DSS
@@ -0,0 +1,317 @@
+OMAP1 support
+- Not sure if needed
+
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 8824115..3f5d39f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -3819,6 +3819,23 @@ L: linux-omap@vger.kernel.org
+@@ -3848,6 +3848,23 @@ L: linux-omap@vger.kernel.org
S: Maintained
F: drivers/video/omap/
OMAP MMC SUPPORT
M: Jarkko Lavinen <jarkko.lavinen@nokia.com>
L: linux-omap@vger.kernel.org
-diff --git a/arch/arm/configs/omap_3430sdp_defconfig b/arch/arm/configs/omap_3430sdp_defconfig
-index 8a4a7e2..59e26e4 100644
--- a/arch/arm/configs/omap_3430sdp_defconfig
+++ b/arch/arm/configs/omap_3430sdp_defconfig
@@ -1336,10 +1336,33 @@ CONFIG_FB_CFB_IMAGEBLIT=y
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
#
-diff --git a/arch/arm/mach-omap1/board-nokia770.c b/arch/arm/mach-omap1/board-nokia770.c
-index ed2a48a..6fbde33 100644
--- a/arch/arm/mach-omap1/board-nokia770.c
+++ b/arch/arm/mach-omap1/board-nokia770.c
@@ -14,6 +14,7 @@
#include <mach/hwa742.h>
#include <mach/lcd_mipid.h>
#include <mach/mmc.h>
-diff --git a/arch/arm/mach-omap2/board-3430sdp.c b/arch/arm/mach-omap2/board-3430sdp.c
-index efaf053..60631be 100644
--- a/arch/arm/mach-omap2/board-3430sdp.c
+++ b/arch/arm/mach-omap2/board-3430sdp.c
-@@ -36,6 +36,7 @@
+@@ -37,6 +37,7 @@
#include <mach/common.h>
#include <mach/dma.h>
#include <mach/gpmc.h>
+#include <mach/display.h>
#include <mach/control.h>
- #include <mach/keypad.h>
-@@ -152,31 +153,152 @@ static struct spi_board_info sdp3430_spi_board_info[] __initdata = {
+ #include <mach/gpmc-smc91x.h>
+@@ -152,31 +153,152 @@ static struct spi_board_info sdp3430_spi
},
};
+ .phy.dpi.data_lines = 16,
+ .platform_enable = sdp3430_panel_enable_lcd,
+ .platform_disable = sdp3430_panel_disable_lcd,
- };
-
--static struct regulator_consumer_supply sdp3430_vdac_supply = {
-- .supply = "vdac",
-- .dev = &sdp3430_lcd_device.dev,
++};
++
+static struct omap_dss_device sdp3430_dvi_device = {
+ .name = "dvi",
+ .driver_name = "generic_panel",
+ .phy.dpi.data_lines = 24,
+ .platform_enable = sdp3430_panel_enable_dvi,
+ .platform_disable = sdp3430_panel_disable_dvi,
- };
-
--static struct regulator_consumer_supply sdp3430_vdvi_supply = {
-- .supply = "vdvi",
-- .dev = &sdp3430_lcd_device.dev,
++};
++
+static struct omap_dss_device sdp3430_tv_device = {
+ .name = "tv",
+ .driver_name = "venc",
+ .phy.venc.type = OMAP_DSS_VENC_TYPE_SVIDEO,
+ .platform_enable = sdp3430_panel_enable_tv,
+ .platform_disable = sdp3430_panel_disable_tv,
- };
-
--static struct platform_device *sdp3430_devices[] __initdata = {
++};
++
+
+static struct omap_dss_device *sdp3430_dss_devices[] = {
- &sdp3430_lcd_device,
++ &sdp3430_lcd_device,
+ &sdp3430_dvi_device,
+ &sdp3430_tv_device,
};
--static struct omap_lcd_config sdp3430_lcd_config __initdata = {
-- .ctrl_name = "internal",
+-static struct regulator_consumer_supply sdp3430_vdac_supply = {
+- .supply = "vdac",
+- .dev = &sdp3430_lcd_device.dev,
+static struct omap_dss_board_info sdp3430_dss_data = {
+ .num_devices = ARRAY_SIZE(sdp3430_dss_devices),
+ .devices = sdp3430_dss_devices,
+ .default_device = &sdp3430_lcd_device,
-+};
-+
+ };
+
+-static struct regulator_consumer_supply sdp3430_vdvi_supply = {
+- .supply = "vdvi",
+- .dev = &sdp3430_lcd_device.dev,
+static struct platform_device sdp3430_dss_device = {
+ .name = "omapdss",
+ .id = -1,
+ .dev = {
+ .platform_data = &sdp3430_dss_data,
+ },
-+};
-+
+ };
+
+-static struct platform_device *sdp3430_devices[] __initdata = {
+- &sdp3430_lcd_device,
+static struct regulator_consumer_supply sdp3430_vdda_dac_supply = {
+ .supply = "vdda_dac",
+ .dev = &sdp3430_dss_device.dev,
-+};
-+
+ };
+
+-static struct omap_lcd_config sdp3430_lcd_config __initdata = {
+- .ctrl_name = "internal",
+static struct platform_device *sdp3430_devices[] __initdata = {
+ &sdp3430_dss_device,
};
};
static void __init omap_3430sdp_init_irq(void)
-@@ -392,22 +514,34 @@ static struct regulator_init_data sdp3430_vdac = {
+@@ -392,22 +514,34 @@ static struct regulator_init_data sdp343
| REGULATOR_CHANGE_STATUS,
},
.num_consumer_supplies = 1,
};
static struct twl4030_platform_data sdp3430_twldata = {
-@@ -499,6 +633,7 @@ static void __init omap_3430sdp_init(void)
+@@ -499,6 +633,7 @@ static void __init omap_3430sdp_init(voi
omap_serial_init();
usb_musb_init();
board_smc91x_init();
enable_board_wakeup_source();
}
-diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c
-index e2dbedd..8524067 100644
--- a/arch/arm/mach-omap2/clock24xx.c
+++ b/arch/arm/mach-omap2/clock24xx.c
-@@ -116,10 +116,10 @@ static struct omap_clk omap24xx_clks[] = {
+@@ -116,10 +116,10 @@ static struct omap_clk omap24xx_clks[] =
CLK(NULL, "mdm_ick", &mdm_ick, CK_243X),
CLK(NULL, "mdm_osc_ck", &mdm_osc_ck, CK_243X),
/* DSS domain clocks */
/* L3 domain clocks */
CLK(NULL, "core_l3_ck", &core_l3_ck, CK_243X | CK_242X),
CLK(NULL, "ssi_fck", &ssi_ssr_sst_fck, CK_243X | CK_242X),
-diff --git a/arch/arm/mach-omap2/clock34xx.c b/arch/arm/mach-omap2/clock34xx.c
-index 489556e..0a7e9ac 100644
--- a/arch/arm/mach-omap2/clock34xx.c
+++ b/arch/arm/mach-omap2/clock34xx.c
-@@ -236,13 +236,13 @@ static struct omap_clk omap34xx_clks[] = {
+@@ -236,13 +236,13 @@ static struct omap_clk omap34xx_clks[] =
CLK("omap_rng", "ick", &rng_ick, CK_343X),
CLK(NULL, "sha11_ick", &sha11_ick, CK_343X),
CLK(NULL, "des1_ick", &des1_ick, CK_343X),
CLK(NULL, "cam_mclk", &cam_mclk, CK_343X),
CLK(NULL, "cam_ick", &cam_ick, CK_343X),
CLK(NULL, "csi2_96m_fck", &csi2_96m_fck, CK_343X),
-diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
-index e3a3bad..adbb905 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -22,17 +22,18 @@
}
/*
-diff --git a/arch/arm/mach-omap2/sdrc.c b/arch/arm/mach-omap2/sdrc.c
-index 9e3bd4f..6a5a2c5 100644
--- a/arch/arm/mach-omap2/sdrc.c
+++ b/arch/arm/mach-omap2/sdrc.c
-@@ -133,3 +133,19 @@ void __init omap2_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
+@@ -133,3 +133,19 @@ void __init omap2_sdrc_init(struct omap_
(1 << SDRC_POWER_PAGEPOLICY_SHIFT);
sdrc_write_reg(l, SDRC_POWER);
}
+ sms_write_reg(val, SMS_ROT_PHYSICAL_BA(ctx));
+}
+
-diff --git a/arch/arm/plat-omap/fb.c b/arch/arm/plat-omap/fb.c
-index 3746222..70fbeae 100644
--- a/arch/arm/plat-omap/fb.c
+++ b/arch/arm/plat-omap/fb.c
@@ -28,13 +28,13 @@
void omapfb_reserve_sdram(void) {}
unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
-@@ -339,5 +365,16 @@ unsigned long omapfb_reserve_sram(unsigned long sram_pstart,
+@@ -339,5 +365,16 @@ unsigned long omapfb_reserve_sram(unsign
return 0;
}
+}
#endif
-diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
-new file mode 100644
-index 0000000..4c7422e
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/display.h
@@ -0,0 +1,540 @@
+#define to_dss_device(x) container_of((x), struct omap_dss_device, dev)
+
+#endif
-diff --git a/arch/arm/plat-omap/include/mach/omapfb.h b/arch/arm/plat-omap/include/mach/omapfb.h
-deleted file mode 100644
-index b226bdf..0000000
--- a/arch/arm/plat-omap/include/mach/omapfb.h
+++ /dev/null
@@ -1,398 +0,0 @@
-#endif /* __KERNEL__ */
-
-#endif /* __OMAPFB_H */
-diff --git a/arch/arm/plat-omap/include/mach/sdrc.h b/arch/arm/plat-omap/include/mach/sdrc.h
-index 1c09c78..3b157ce 100644
--- a/arch/arm/plat-omap/include/mach/sdrc.h
+++ b/arch/arm/plat-omap/include/mach/sdrc.h
@@ -88,7 +88,10 @@
/* REVISIT: fill in other SMS registers here */
-@@ -121,6 +124,10 @@ int omap2_sdrc_get_params(unsigned long r,
+@@ -121,6 +124,10 @@ int omap2_sdrc_get_params(unsigned long
struct omap_sdrc_params **sdrc_cs0,
struct omap_sdrc_params **sdrc_cs1);
#ifdef CONFIG_ARCH_OMAP2
struct memory_timings {
-diff --git a/arch/arm/plat-omap/include/mach/vram.h b/arch/arm/plat-omap/include/mach/vram.h
-new file mode 100644
-index 0000000..fe72f81
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/vram.h
@@ -0,0 +1,63 @@
+#endif
+
+#endif
-diff --git a/arch/arm/plat-omap/include/mach/vrfb.h b/arch/arm/plat-omap/include/mach/vrfb.h
-new file mode 100644
-index 0000000..8790612
--- /dev/null
+++ b/arch/arm/plat-omap/include/mach/vrfb.h
@@ -0,0 +1,46 @@
+extern void omap_vrfb_restore_context(void);
+
+#endif /* __VRFB_H */
-diff --git a/arch/arm/plat-omap/sram.c b/arch/arm/plat-omap/sram.c
-index 75d1f26..aa9fb63 100644
--- a/arch/arm/plat-omap/sram.c
+++ b/arch/arm/plat-omap/sram.c
@@ -28,6 +28,7 @@
omap_sram_ceil = omap_sram_base + omap_sram_size;
}
-diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
-index 9bbb285..af0448f 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -2161,6 +2161,7 @@ config FB_BROADSHEET
source "drivers/video/backlight/Kconfig"
source "drivers/video/display/Kconfig"
-diff --git a/drivers/video/Makefile b/drivers/video/Makefile
-index 80232e1..0f8da33 100644
--- a/drivers/video/Makefile
+++ b/drivers/video/Makefile
-@@ -124,6 +124,7 @@ obj-$(CONFIG_FB_SM501) += sm501fb.o
+@@ -124,6 +124,7 @@ obj-$(CONFIG_FB_SM501) += sm5
obj-$(CONFIG_FB_XILINX) += xilinxfb.o
obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o
obj-$(CONFIG_FB_OMAP) += omap/
obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o
obj-$(CONFIG_FB_CARMINE) += carminefb.o
obj-$(CONFIG_FB_MB862XX) += mb862xx/
-diff --git a/drivers/video/omap/Kconfig b/drivers/video/omap/Kconfig
-index 551e3e9..455c605 100644
--- a/drivers/video/omap/Kconfig
+++ b/drivers/video/omap/Kconfig
@@ -1,6 +1,7 @@
help
Say Y here if you want to enable checking if the bootloader has
already initialized the display controller. In this case the
-diff --git a/drivers/video/omap/blizzard.c b/drivers/video/omap/blizzard.c
-index 70dadf9..e0d693e 100644
--- a/drivers/video/omap/blizzard.c
+++ b/drivers/video/omap/blizzard.c
@@ -27,9 +27,9 @@
#include "dispc.h"
#define MODULE_NAME "blizzard"
-diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c
-index f16e421..3f828e6 100644
--- a/drivers/video/omap/dispc.c
+++ b/drivers/video/omap/dispc.c
@@ -24,11 +24,12 @@
static void enable_lcd_clocks(int enable);
static void inline dispc_write_reg(int idx, u32 val)
-@@ -907,20 +913,20 @@ static irqreturn_t omap_dispc_irq_handler(int irq, void *dev)
+@@ -907,20 +913,20 @@ static irqreturn_t omap_dispc_irq_handle
static int get_dss_clocks(void)
{
if (IS_ERR(dispc.dss_54m_fck)) {
dev_err(dispc.fbdev->dev, "can't get tv_fck\n");
clk_put(dispc.dss_ick);
-@@ -1371,6 +1377,12 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode,
+@@ -1371,6 +1377,12 @@ static int omap_dispc_init(struct omapfb
int skip_init = 0;
int i;
}
const struct lcd_ctrl omap2_int_ctrl = {
-diff --git a/drivers/video/omap/hwa742.c b/drivers/video/omap/hwa742.c
-index ca51583..b84fb7c 100644
--- a/drivers/video/omap/hwa742.c
+++ b/drivers/video/omap/hwa742.c
@@ -27,8 +27,8 @@
#define HWA742_REV_CODE_REG 0x0
#define HWA742_CONFIG_REG 0x2
-diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c
-index 393712b..7b7690a 100644
--- a/drivers/video/omap/lcd_2430sdp.c
+++ b/drivers/video/omap/lcd_2430sdp.c
@@ -28,9 +28,10 @@
#define SDP2430_LCD_PANEL_BACKLIGHT_GPIO 91
#define SDP2430_LCD_PANEL_ENABLE_GPIO 154
#define SDP3430_LCD_PANEL_BACKLIGHT_GPIO 24
-diff --git a/drivers/video/omap/lcd_ams_delta.c b/drivers/video/omap/lcd_ams_delta.c
-index 1f74399..1d3fd13 100644
--- a/drivers/video/omap/lcd_ams_delta.c
+++ b/drivers/video/omap/lcd_ams_delta.c
@@ -27,7 +27,8 @@
#define AMS_DELTA_DEFAULT_CONTRAST 112
-diff --git a/drivers/video/omap/lcd_apollon.c b/drivers/video/omap/lcd_apollon.c
-index 626ae3a..e099ad1 100644
--- a/drivers/video/omap/lcd_apollon.c
+++ b/drivers/video/omap/lcd_apollon.c
@@ -26,7 +26,8 @@
/* #define USE_35INCH_LCD 1 */
-diff --git a/drivers/video/omap/lcd_h3.c b/drivers/video/omap/lcd_h3.c
-index 417ae5e..8df6887 100644
--- a/drivers/video/omap/lcd_h3.c
+++ b/drivers/video/omap/lcd_h3.c
@@ -24,7 +24,7 @@
#define MODULE_NAME "omapfb-lcd_h3"
-diff --git a/drivers/video/omap/lcd_h4.c b/drivers/video/omap/lcd_h4.c
-index 0c398bd..03a06a9 100644
--- a/drivers/video/omap/lcd_h4.c
+++ b/drivers/video/omap/lcd_h4.c
@@ -22,7 +22,7 @@
static int h4_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
{
-diff --git a/drivers/video/omap/lcd_inn1510.c b/drivers/video/omap/lcd_inn1510.c
-index cdbd8bb..18f1422 100644
--- a/drivers/video/omap/lcd_inn1510.c
+++ b/drivers/video/omap/lcd_inn1510.c
@@ -24,7 +24,7 @@
static int innovator1510_panel_init(struct lcd_panel *panel,
struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_inn1610.c b/drivers/video/omap/lcd_inn1610.c
-index 268f7f8..9fff86f 100644
--- a/drivers/video/omap/lcd_inn1610.c
+++ b/drivers/video/omap/lcd_inn1610.c
@@ -23,7 +23,7 @@
#define MODULE_NAME "omapfb-lcd_h3"
-diff --git a/drivers/video/omap/lcd_ldp.c b/drivers/video/omap/lcd_ldp.c
-index dbfe897..44a43ea 100644
--- a/drivers/video/omap/lcd_ldp.c
+++ b/drivers/video/omap/lcd_ldp.c
@@ -28,9 +28,10 @@
#define LCD_PANEL_BACKLIGHT_GPIO (15 + OMAP_MAX_GPIO_LINES)
#define LCD_PANEL_ENABLE_GPIO (7 + OMAP_MAX_GPIO_LINES)
-diff --git a/drivers/video/omap/lcd_mipid.c b/drivers/video/omap/lcd_mipid.c
-index 918ee89..62e1975 100644
--- a/drivers/video/omap/lcd_mipid.c
+++ b/drivers/video/omap/lcd_mipid.c
@@ -23,9 +23,10 @@
#define MIPID_MODULE_NAME "lcd_mipid"
#define MIPID_CMD_READ_DISP_ID 0x04
-diff --git a/drivers/video/omap/lcd_omap2evm.c b/drivers/video/omap/lcd_omap2evm.c
-index 7a2bbe2..c3be87c 100644
--- a/drivers/video/omap/lcd_omap2evm.c
+++ b/drivers/video/omap/lcd_omap2evm.c
@@ -27,9 +27,10 @@
#define LCD_PANEL_ENABLE_GPIO 154
#define LCD_PANEL_LR 128
#define LCD_PANEL_UD 129
-diff --git a/drivers/video/omap/lcd_omap3beagle.c b/drivers/video/omap/lcd_omap3beagle.c
-index 4011910..0608a25 100644
--- a/drivers/video/omap/lcd_omap3beagle.c
+++ b/drivers/video/omap/lcd_omap3beagle.c
@@ -26,9 +26,10 @@
#define LCD_PANEL_ENABLE_GPIO 170
static int omap3beagle_panel_init(struct lcd_panel *panel,
-diff --git a/drivers/video/omap/lcd_omap3evm.c b/drivers/video/omap/lcd_omap3evm.c
-index b6a4c2c..c204afb 100644
--- a/drivers/video/omap/lcd_omap3evm.c
+++ b/drivers/video/omap/lcd_omap3evm.c
@@ -26,9 +26,10 @@
#define LCD_PANEL_ENABLE_GPIO 153
#define LCD_PANEL_LR 2
#define LCD_PANEL_UD 3
-diff --git a/drivers/video/omap/lcd_osk.c b/drivers/video/omap/lcd_osk.c
-index b3fa88b..5755b5c 100644
--- a/drivers/video/omap/lcd_osk.c
+++ b/drivers/video/omap/lcd_osk.c
@@ -25,7 +25,7 @@
static int osk_panel_init(struct lcd_panel *panel, struct omapfb_device *fbdev)
{
-diff --git a/drivers/video/omap/lcd_overo.c b/drivers/video/omap/lcd_overo.c
-index 2bc5c92..63ebb1f 100644
--- a/drivers/video/omap/lcd_overo.c
+++ b/drivers/video/omap/lcd_overo.c
@@ -25,9 +25,10 @@
#define LCD_ENABLE 144
static int overo_panel_init(struct lcd_panel *panel,
-diff --git a/drivers/video/omap/lcd_palmte.c b/drivers/video/omap/lcd_palmte.c
-index 4bf3c79..7e11a75 100644
--- a/drivers/video/omap/lcd_palmte.c
+++ b/drivers/video/omap/lcd_palmte.c
@@ -24,7 +24,7 @@
static int palmte_panel_init(struct lcd_panel *panel,
struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_palmtt.c b/drivers/video/omap/lcd_palmtt.c
-index 48ea1f9..ff0e6d7 100644
--- a/drivers/video/omap/lcd_palmtt.c
+++ b/drivers/video/omap/lcd_palmtt.c
@@ -30,7 +30,7 @@ GPIO13 - screen blanking
static int palmtt_panel_init(struct lcd_panel *panel,
struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcd_palmz71.c b/drivers/video/omap/lcd_palmz71.c
-index 0697d29..2334e56 100644
--- a/drivers/video/omap/lcd_palmz71.c
+++ b/drivers/video/omap/lcd_palmz71.c
@@ -24,7 +24,7 @@
static int palmz71_panel_init(struct lcd_panel *panel,
struct omapfb_device *fbdev)
-diff --git a/drivers/video/omap/lcdc.c b/drivers/video/omap/lcdc.c
-index ab39492..520ed97 100644
--- a/drivers/video/omap/lcdc.c
+++ b/drivers/video/omap/lcdc.c
@@ -30,10 +30,11 @@
#include "lcdc.h"
#define MODULE_NAME "lcdc"
-diff --git a/drivers/video/omap/omapfb.h b/drivers/video/omap/omapfb.h
-new file mode 100644
-index 0000000..46e4714
--- /dev/null
+++ b/drivers/video/omap/omapfb.h
@@ -0,0 +1,227 @@
+ void *callback_data);
+
+#endif /* __OMAPFB_H */
-diff --git a/drivers/video/omap/omapfb_main.c b/drivers/video/omap/omapfb_main.c
-index 0d0c8c8..a27614d 100644
--- a/drivers/video/omap/omapfb_main.c
+++ b/drivers/video/omap/omapfb_main.c
@@ -29,8 +29,8 @@
#include "lcdc.h"
#include "dispc.h"
-diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c
-index ee01e84..fed7b1b 100644
--- a/drivers/video/omap/rfbi.c
+++ b/drivers/video/omap/rfbi.c
@@ -27,8 +27,7 @@
#include "dispc.h"
/* To work around an RFBI transfer rate limitation */
-diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c
-index a769462..6853627 100644
--- a/drivers/video/omap/sossi.c
+++ b/drivers/video/omap/sossi.c
@@ -25,8 +25,8 @@
#include "lcdc.h"
#define MODULE_NAME "omapfb-sossi"
-diff --git a/drivers/video/omap2/Kconfig b/drivers/video/omap2/Kconfig
-new file mode 100644
-index 0000000..d877c36
--- /dev/null
+++ b/drivers/video/omap2/Kconfig
@@ -0,0 +1,9 @@
+source "drivers/video/omap2/dss/Kconfig"
+source "drivers/video/omap2/omapfb/Kconfig"
+source "drivers/video/omap2/displays/Kconfig"
-diff --git a/drivers/video/omap2/Makefile b/drivers/video/omap2/Makefile
-new file mode 100644
-index 0000000..d853d05
--- /dev/null
+++ b/drivers/video/omap2/Makefile
@@ -0,0 +1,6 @@
+obj-y += dss/
+obj-y += omapfb/
+obj-y += displays/
-diff --git a/drivers/video/omap2/displays/Kconfig b/drivers/video/omap2/displays/Kconfig
-new file mode 100644
-index 0000000..79d2861
--- /dev/null
+++ b/drivers/video/omap2/displays/Kconfig
@@ -0,0 +1,28 @@
+ Taal DSI command mode panel from TPO.
+
+endmenu
-diff --git a/drivers/video/omap2/displays/Makefile b/drivers/video/omap2/displays/Makefile
-new file mode 100644
-index 0000000..d44e765
--- /dev/null
+++ b/drivers/video/omap2/displays/Makefile
@@ -0,0 +1,5 @@
+obj-$(CONFIG_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o
+
+obj-$(CONFIG_PANEL_TAAL) += panel-taal.o
-diff --git a/drivers/video/omap2/displays/panel-generic.c b/drivers/video/omap2/displays/panel-generic.c
-new file mode 100644
-index 0000000..738147e
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-generic.c
@@ -0,0 +1,104 @@
+module_init(generic_panel_drv_init);
+module_exit(generic_panel_drv_exit);
+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
-new file mode 100644
-index 0000000..eafe581
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-samsung-lte430wq-f0c.c
@@ -0,0 +1,113 @@
+module_init(samsung_lte_panel_drv_init);
+module_exit(samsung_lte_panel_drv_exit);
+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
-new file mode 100644
-index 0000000..2f8f0df
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
@@ -0,0 +1,153 @@
+module_init(sharp_ls_panel_drv_init);
+module_exit(sharp_ls_panel_drv_exit);
+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/displays/panel-taal.c b/drivers/video/omap2/displays/panel-taal.c
-new file mode 100644
-index 0000000..84f0d47
--- /dev/null
+++ b/drivers/video/omap2/displays/panel-taal.c
@@ -0,0 +1,900 @@
+MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
+MODULE_DESCRIPTION("Taal Driver");
+MODULE_LICENSE("GPL");
-diff --git a/drivers/video/omap2/dss/Kconfig b/drivers/video/omap2/dss/Kconfig
-new file mode 100644
-index 0000000..71d8dec
--- /dev/null
+++ b/drivers/video/omap2/dss/Kconfig
@@ -0,0 +1,89 @@
+ is very high.
+
+endif
-diff --git a/drivers/video/omap2/dss/Makefile b/drivers/video/omap2/dss/Makefile
-new file mode 100644
-index 0000000..980c72c
--- /dev/null
+++ b/drivers/video/omap2/dss/Makefile
@@ -0,0 +1,6 @@
+omapdss-$(CONFIG_OMAP2_DSS_VENC) += venc.o
+omapdss-$(CONFIG_OMAP2_DSS_SDI) += sdi.o
+omapdss-$(CONFIG_OMAP2_DSS_DSI) += dsi.o
-diff --git a/drivers/video/omap2/dss/core.c b/drivers/video/omap2/dss/core.c
-new file mode 100644
-index 0000000..e8d430c
--- /dev/null
+++ b/drivers/video/omap2/dss/core.c
@@ -0,0 +1,917 @@
+MODULE_DESCRIPTION("OMAP2/3 Display Subsystem");
+MODULE_LICENSE("GPL v2");
+
-diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
-new file mode 100644
-index 0000000..d648475
--- /dev/null
+++ b/drivers/video/omap2/dss/dispc.c
@@ -0,0 +1,3182 @@
+
+ return r;
+}
-diff --git a/drivers/video/omap2/dss/display.c b/drivers/video/omap2/dss/display.c
-new file mode 100644
-index 0000000..6b5d0cf
--- /dev/null
+++ b/drivers/video/omap2/dss/display.c
@@ -0,0 +1,658 @@
+}
+EXPORT_SYMBOL(omap_dss_stop_device);
+
-diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
-new file mode 100644
-index 0000000..b6543c8
--- /dev/null
+++ b/drivers/video/omap2/dss/dpi.c
@@ -0,0 +1,388 @@
+{
+}
+
-diff --git a/drivers/video/omap2/dss/dsi.c b/drivers/video/omap2/dss/dsi.c
-new file mode 100644
-index 0000000..d43b9ce
--- /dev/null
+++ b/drivers/video/omap2/dss/dsi.c
@@ -0,0 +1,3509 @@
+ DSSDBG("omap_dsi_exit\n");
+}
+
-diff --git a/drivers/video/omap2/dss/dss.c b/drivers/video/omap2/dss/dss.c
-new file mode 100644
-index 0000000..aab9758
--- /dev/null
+++ b/drivers/video/omap2/dss/dss.c
@@ -0,0 +1,347 @@
+ iounmap(dss.base);
+}
+
-diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
-new file mode 100644
-index 0000000..50f7f5f
--- /dev/null
+++ b/drivers/video/omap2/dss/dss.h
@@ -0,0 +1,356 @@
+int rfbi_init_display(struct omap_dss_device *display);
+
+#endif
-diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
-new file mode 100644
-index 0000000..7ee0b2b
--- /dev/null
+++ b/drivers/video/omap2/dss/manager.c
@@ -0,0 +1,1487 @@
+}
+EXPORT_SYMBOL(omap_dss_get_overlay_manager);
+
-diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
-new file mode 100644
-index 0000000..c7cb81b
--- /dev/null
+++ b/drivers/video/omap2/dss/overlay.c
@@ -0,0 +1,673 @@
+ num_overlays = 0;
+}
+
-diff --git a/drivers/video/omap2/dss/rfbi.c b/drivers/video/omap2/dss/rfbi.c
-new file mode 100644
-index 0000000..9dd2349
--- /dev/null
+++ b/drivers/video/omap2/dss/rfbi.c
@@ -0,0 +1,1310 @@
+
+ return 0;
+}
-diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
-new file mode 100644
-index 0000000..a9c727e
--- /dev/null
+++ b/drivers/video/omap2/dss/sdi.c
@@ -0,0 +1,261 @@
+void sdi_exit(void)
+{
+}
-diff --git a/drivers/video/omap2/dss/venc.c b/drivers/video/omap2/dss/venc.c
-new file mode 100644
-index 0000000..cf7827e
--- /dev/null
+++ b/drivers/video/omap2/dss/venc.c
@@ -0,0 +1,797 @@
+
+#undef DUMPREG
+}
-diff --git a/drivers/video/omap2/omapfb/Kconfig b/drivers/video/omap2/omapfb/Kconfig
-new file mode 100644
-index 0000000..bb694cc
--- /dev/null
+++ b/drivers/video/omap2/omapfb/Kconfig
@@ -0,0 +1,37 @@
+ help
+ Select the number of framebuffers created. OMAP2/3 has 3 overlays
+ so normally this would be 3.
-diff --git a/drivers/video/omap2/omapfb/Makefile b/drivers/video/omap2/omapfb/Makefile
-new file mode 100644
-index 0000000..51c2e00
--- /dev/null
+++ b/drivers/video/omap2/omapfb/Makefile
@@ -0,0 +1,2 @@
+obj-$(CONFIG_FB_OMAP2) += omapfb.o
+omapfb-y := omapfb-main.o omapfb-sysfs.o omapfb-ioctl.o
-diff --git a/drivers/video/omap2/omapfb/omapfb-ioctl.c b/drivers/video/omap2/omapfb/omapfb-ioctl.c
-new file mode 100644
-index 0000000..70fb64e
--- /dev/null
+++ b/drivers/video/omap2/omapfb/omapfb-ioctl.c
@@ -0,0 +1,727 @@
+}
+
+
-diff --git a/drivers/video/omap2/omapfb/omapfb-main.c b/drivers/video/omap2/omapfb/omapfb-main.c
-new file mode 100644
-index 0000000..7f5ec3b
--- /dev/null
+++ b/drivers/video/omap2/omapfb/omapfb-main.c
@@ -0,0 +1,2137 @@
+MODULE_AUTHOR("Tomi Valkeinen <tomi.valkeinen@nokia.com>");
+MODULE_DESCRIPTION("OMAP2/3 Framebuffer");
+MODULE_LICENSE("GPL v2");
-diff --git a/drivers/video/omap2/omapfb/omapfb-sysfs.c b/drivers/video/omap2/omapfb/omapfb-sysfs.c
-new file mode 100644
-index 0000000..ef30e0e
--- /dev/null
+++ b/drivers/video/omap2/omapfb/omapfb-sysfs.c
@@ -0,0 +1,507 @@
+ }
+}
+
-diff --git a/drivers/video/omap2/omapfb/omapfb.h b/drivers/video/omap2/omapfb/omapfb.h
-new file mode 100644
-index 0000000..d9ee986
--- /dev/null
+++ b/drivers/video/omap2/omapfb/omapfb.h
@@ -0,0 +1,146 @@
+}
+
+#endif
-diff --git a/drivers/video/omap2/vram.c b/drivers/video/omap2/vram.c
-new file mode 100644
-index 0000000..634ce23
--- /dev/null
+++ b/drivers/video/omap2/vram.c
@@ -0,0 +1,655 @@
+ omap_vram_sram_start = start;
+ omap_vram_sram_size = size;
+}
-diff --git a/drivers/video/omap2/vrfb.c b/drivers/video/omap2/vrfb.c
-new file mode 100644
-index 0000000..8726689
--- /dev/null
+++ b/drivers/video/omap2/vrfb.c
@@ -0,0 +1,277 @@
+}
+EXPORT_SYMBOL(omap_vrfb_resume_ctx);
+
-diff --git a/include/linux/omapfb.h b/include/linux/omapfb.h
-new file mode 100644
-index 0000000..52e0987
--- /dev/null
+++ b/include/linux/omapfb.h
@@ -0,0 +1,242 @@
-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"
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] = {
.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] = {
.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
*/
/*
* 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 */
}
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] = {
.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] = {
.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
*/
/*
* 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 */
}
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 {
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)
*/
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[] __
}
};
#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);
}
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,
};
#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)
{
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 @@
#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);
}
#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)
{
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 @@
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 @@
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]
#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[] = {
{
.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,
},
{
.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,
},
{
.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,
},
}
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 @@
#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
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,
.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) */
}
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,
.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)
{
}
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,
.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,
.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,
.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)
.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)
.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,
.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
}
}
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();
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,
.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,
};
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,
.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,
};
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();
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,
.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,
};
.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,
.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,
.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 @@
/*
* 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 @@
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");
}
/*
* 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;
}
/*
-@@ -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;
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,
},
{
.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)
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 @@
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
*/
/*
* 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
*/
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), \
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();
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);
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;
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
}
}
}
/**
-@@ -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);
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;
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 @@
/*
* 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)
#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);
.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[] = {
{
.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[] = {
{
.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[] = {
{
.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 */
{
.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.
*/
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;
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:
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:
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
#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 @@
+
+#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,
};
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)
} 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)
{
}
}
-@@ -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));
}
}
}
-@@ -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));
}
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;
#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 @@
-#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
- */
-#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
/*
-#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
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
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
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
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
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
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
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
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
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
#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;
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);
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 @@
#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 @@
+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 @@
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 @@
/*
* 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 @@
#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 @@
-#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)
/*
* ----------------------------------------------------------------------------
* 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 @@
#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 @@
#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 @@
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 @@
#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 @@
#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 @@
+
+#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 @@
/* 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 @@
#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;
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 @@
#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 @@
-#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 @@
#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);
+ __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 @@
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;
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)
{
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;
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
#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)
#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;
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;
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)
{
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/
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 @@
+ 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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+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 @@
+};
+
+#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 @@
/* 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);
}
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
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
#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 @@
+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)
{
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 */
}
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;
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 */