aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/setup-r8a7779.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2012-02-29 07:37:43 -0500
committerRafael J. Wysocki <rjw@sisk.pl>2012-03-12 17:19:42 -0400
commit3e353b875b2480e98acb9ed96a377025d0ed7b82 (patch)
tree8a8d9af82207f59636ee34a55c0a3a9a27f8d5a6 /arch/arm/mach-shmobile/setup-r8a7779.c
parentd3ab7221489fa188b0e1e9bfe2cc4ecd1d7da933 (diff)
ARM: mach-shmobile: r8a7779 map_io and init_early update
Update the r8a7779 SoC and the Marzen board to make use of the functions r8a7779_map_io() and r8a7779_add_early_devices(). Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'arch/arm/mach-shmobile/setup-r8a7779.c')
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7779.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c
index 4725663bd032..4378b4dea1dc 100644
--- a/arch/arm/mach-shmobile/setup-r8a7779.c
+++ b/arch/arm/mach-shmobile/setup-r8a7779.c
@@ -33,6 +33,29 @@
33#include <mach/common.h> 33#include <mach/common.h>
34#include <asm/mach-types.h> 34#include <asm/mach-types.h>
35#include <asm/mach/arch.h> 35#include <asm/mach/arch.h>
36#include <asm/mach/map.h>
37
38static struct map_desc r8a7779_io_desc[] __initdata = {
39 /* 2M entity map for 0xf0000000 (MPCORE) */
40 {
41 .virtual = 0xf0000000,
42 .pfn = __phys_to_pfn(0xf0000000),
43 .length = SZ_2M,
44 .type = MT_DEVICE_NONSHARED
45 },
46 /* 16M entity map for 0xfexxxxxx (DMAC-S/HPBREG/INTC2/LRAM/DBSC) */
47 {
48 .virtual = 0xfe000000,
49 .pfn = __phys_to_pfn(0xfe000000),
50 .length = SZ_16M,
51 .type = MT_DEVICE_NONSHARED
52 },
53};
54
55void __init r8a7779_map_io(void)
56{
57 iotable_init(r8a7779_io_desc, ARRAY_SIZE(r8a7779_io_desc));
58}
36 59
37static struct plat_sci_port scif0_platform_data = { 60static struct plat_sci_port scif0_platform_data = {
38 .mapbase = 0xffe40000, 61 .mapbase = 0xffe40000,
@@ -236,4 +259,20 @@ void __init r8a7779_add_early_devices(void)
236{ 259{
237 early_platform_add_devices(r8a7779_early_devices, 260 early_platform_add_devices(r8a7779_early_devices,
238 ARRAY_SIZE(r8a7779_early_devices)); 261 ARRAY_SIZE(r8a7779_early_devices));
262
263 /* Early serial console setup is not included here due to
264 * memory map collisions. The SCIF serial ports in r8a7779
265 * are difficult to entity map 1:1 due to collision with the
266 * virtual memory range used by the coherent DMA code on ARM.
267 *
268 * Anyone wanting to debug early can remove UPF_IOREMAP from
269 * the sh-sci serial console platform data, adjust mapbase
270 * to a static M:N virt:phys mapping that needs to be added to
271 * the mappings passed with iotable_init() above.
272 *
273 * Then add a call to shmobile_setup_console() from this function.
274 *
275 * As a final step pass earlyprint=sh-sci.2,115200 on the kernel
276 * command line in case of the marzen board.
277 */
239} 278}