Merge branch 'rmobile-fixes-for-linus' of git://github.com/pmundt/linux-sh into renes...
[deliverable/linux.git] / arch / arm / mach-shmobile / setup-sh7372.c
index 12b437801f0021837521663f0baf7cb74e29f2d6..0ebbee087b5e61c9cc38fbfe2729475973a948c8 100644 (file)
 #include <linux/sh_intc.h>
 #include <linux/sh_timer.h>
 #include <linux/pm_domain.h>
+#include <linux/dma-mapping.h>
 #include <mach/hardware.h>
 #include <mach/sh7372.h>
 #include <mach/common.h>
 #include <asm/mach/map.h>
 #include <asm/mach-types.h>
 #include <asm/mach/arch.h>
+#include <asm/mach/time.h>
 
 static struct map_desc sh7372_io_desc[] __initdata = {
        /* create a 1:1 entity map for 0xe6xxxxxx
@@ -53,6 +55,12 @@ static struct map_desc sh7372_io_desc[] __initdata = {
 void __init sh7372_map_io(void)
 {
        iotable_init(sh7372_io_desc, ARRAY_SIZE(sh7372_io_desc));
+
+       /*
+        * DMA memory at 0xff200000 - 0xffdfffff. The default 2MB size isn't
+        * enough to allocate the frame buffer memory.
+        */
+       init_consistent_dma_size(12 << 20);
 }
 
 /* SCIFA0 */
@@ -1064,6 +1072,12 @@ void __init sh7372_add_standard_devices(void)
        sh7372_add_device_to_domain(&sh7372_a4r, &jpu_device);
 }
 
+static void __init sh7372_earlytimer_init(void)
+{
+       sh7372_clock_init();
+       shmobile_earlytimer_init();
+}
+
 void __init sh7372_add_early_devices(void)
 {
        early_platform_add_devices(sh7372_early_devices,
@@ -1071,4 +1085,7 @@ void __init sh7372_add_early_devices(void)
 
        /* setup early console here as well */
        shmobile_setup_console();
+
+       /* override timer setup with soc-specific code */
+       shmobile_timer.init = sh7372_earlytimer_init;
 }
This page took 0.03194 seconds and 5 git commands to generate.