aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2007-06-06 04:58:56 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-06-07 22:43:49 -0400
commit520588f47f20a6dcaf81655e1da378e5fe6d5015 (patch)
treefb7876b4f0f099e834612202e8b21c2deed78bcb
parentb241cb0c885e55839fb0f93c6a4539c5416cc39f (diff)
sh: URAM node support for SH7722.
This adds the URAM block on SH7722 as a separate node. Sparsemem is required for this, or it can simply be disabled by explicitly selecting a flatmem model. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh7722.c9
-rw-r--r--arch/sh/mm/Kconfig2
2 files changed, 10 insertions, 1 deletions
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
index 1143fbf65faf..82dba7ff24b5 100644
--- a/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
+++ b/arch/sh/kernel/cpu/sh4a/setup-sh7722.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * SH7722 Setup 2 * SH7722 Setup
3 * 3 *
4 * Copyright (C) 2006 Paul Mundt 4 * Copyright (C) 2006 - 2007 Paul Mundt
5 * 5 *
6 * This file is subject to the terms and conditions of the GNU General Public 6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive 7 * License. See the file "COPYING" in the main directory of this archive
@@ -10,6 +10,7 @@
10#include <linux/platform_device.h> 10#include <linux/platform_device.h>
11#include <linux/init.h> 11#include <linux/init.h>
12#include <linux/serial.h> 12#include <linux/serial.h>
13#include <linux/mm.h>
13#include <asm/sci.h> 14#include <asm/sci.h>
14 15
15static struct plat_sci_port sci_platform_data[] = { 16static struct plat_sci_port sci_platform_data[] = {
@@ -78,3 +79,9 @@ void __init init_IRQ_ipr(void)
78{ 79{
79 make_ipr_irq(sh7722_ipr_map, ARRAY_SIZE(sh7722_ipr_map)); 80 make_ipr_irq(sh7722_ipr_map, ARRAY_SIZE(sh7722_ipr_map));
80} 81}
82
83void __init plat_mem_setup(void)
84{
85 /* Register the URAM space as Node 1 */
86 setup_bootmem_node(1, 0x055f0000, 0x05610000);
87}
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig
index 8c5b73ab4772..dd9b226c5d4b 100644
--- a/arch/sh/mm/Kconfig
+++ b/arch/sh/mm/Kconfig
@@ -211,6 +211,7 @@ config CPU_SUBTYPE_SH7722
211 select CPU_SH4AL_DSP 211 select CPU_SH4AL_DSP
212 select CPU_SHX2 212 select CPU_SHX2
213 select CPU_HAS_IPR_IRQ 213 select CPU_HAS_IPR_IRQ
214 select ARCH_SPARSEMEM_ENABLE
214 215
215endchoice 216endchoice
216 217
@@ -321,6 +322,7 @@ config ARCH_SPARSEMEM_DEFAULT
321 322
322config MAX_ACTIVE_REGIONS 323config MAX_ACTIVE_REGIONS
323 int 324 int
325 default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
324 default "1" 326 default "1"
325 327
326config ARCH_POPULATES_NODE_MAP 328config ARCH_POPULATES_NODE_MAP