diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-03-24 19:13:59 +0000 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-24 19:13:59 +0000 |
commit | 83fe628e16d84efc8df2731bc403eae4e4f53801 (patch) | |
tree | 9a51c292235621d0f4f632c2a55ddb5a6ab582af /arch/arm/mach-shmobile/setup-sh7372.c | |
parent | 853a0231e057c04255a848f6998f84faaa635c58 (diff) | |
parent | 426f1af947c61dee48a9267f84bff227e503a547 (diff) |
Merge branch 'renesas/soc' into next/soc2
Diffstat (limited to 'arch/arm/mach-shmobile/setup-sh7372.c')
-rw-r--r-- | arch/arm/mach-shmobile/setup-sh7372.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c index a83cf51fc099..0ebbee087b5e 100644 --- a/arch/arm/mach-shmobile/setup-sh7372.c +++ b/arch/arm/mach-shmobile/setup-sh7372.c @@ -31,10 +31,37 @@ #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 + * used by CPGA, INTC and PFC. + */ + { + .virtual = 0xe6000000, + .pfn = __phys_to_pfn(0xe6000000), + .length = 256 << 20, + .type = MT_DEVICE_NONSHARED + }, +}; + +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 */ static struct plat_sci_port scif0_platform_data = { @@ -1045,8 +1072,20 @@ 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, ARRAY_SIZE(sh7372_early_devices)); + + /* setup early console here as well */ + shmobile_setup_console(); + + /* override timer setup with soc-specific code */ + shmobile_timer.init = sh7372_earlytimer_init; } |