Merge tag 'clk' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[pandora-kernel.git] / arch / arm / mach-omap2 / io.c
index eb007d0..4d2d981 100644 (file)
@@ -234,6 +234,35 @@ static struct map_desc omap44xx_io_desc[] __initdata = {
 };
 #endif
 
+#ifdef CONFIG_SOC_OMAP5
+static struct map_desc omap54xx_io_desc[] __initdata = {
+       {
+               .virtual        = L3_54XX_VIRT,
+               .pfn            = __phys_to_pfn(L3_54XX_PHYS),
+               .length         = L3_54XX_SIZE,
+               .type           = MT_DEVICE,
+       },
+       {
+               .virtual        = L4_54XX_VIRT,
+               .pfn            = __phys_to_pfn(L4_54XX_PHYS),
+               .length         = L4_54XX_SIZE,
+               .type           = MT_DEVICE,
+       },
+       {
+               .virtual        = L4_WK_54XX_VIRT,
+               .pfn            = __phys_to_pfn(L4_WK_54XX_PHYS),
+               .length         = L4_WK_54XX_SIZE,
+               .type           = MT_DEVICE,
+       },
+       {
+               .virtual        = L4_PER_54XX_VIRT,
+               .pfn            = __phys_to_pfn(L4_PER_54XX_PHYS),
+               .length         = L4_PER_54XX_SIZE,
+               .type           = MT_DEVICE,
+       },
+};
+#endif
+
 #ifdef CONFIG_SOC_OMAP2420
 void __init omap242x_map_common_io(void)
 {
@@ -279,6 +308,12 @@ void __init omap44xx_map_common_io(void)
 }
 #endif
 
+#ifdef CONFIG_SOC_OMAP5
+void __init omap5_map_common_io(void)
+{
+       iotable_init(omap54xx_io_desc, ARRAY_SIZE(omap54xx_io_desc));
+}
+#endif
 /*
  * omap2_init_reprogram_sdrc - reprogram SDRC timing parameters
  *
@@ -515,6 +550,15 @@ void __init omap4430_init_late(void)
 }
 #endif
 
+#ifdef CONFIG_SOC_OMAP5
+void __init omap5_init_early(void)
+{
+       omap2_set_globals_5xxx();
+       omap5xxx_check_revision();
+       omap_common_init_early();
+}
+#endif
+
 void __init omap_sdrc_init(struct omap_sdrc_params *sdrc_cs0,
                                      struct omap_sdrc_params *sdrc_cs1)
 {