aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/arch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2009-08-31 18:53:26 +0000
committerGabor Juhos <juhosg@openwrt.org>2009-08-31 18:53:26 +0000
commitf4afb9a4f951ae34bda05969a179496bad27c869 (patch)
treeee43976eb76ed024560a55701353697e84a4e9f1 /target/linux/ramips/files/arch
parent3cc0bc90387d7cea119bee68a6f9c08295267c8c (diff)
downloadupstream-f4afb9a4f951ae34bda05969a179496bad27c869.tar.gz
upstream-f4afb9a4f951ae34bda05969a179496bad27c869.tar.bz2
upstream-f4afb9a4f951ae34bda05969a179496bad27c869.zip
share memory size detection code
SVN-Revision: 17454
Diffstat (limited to 'target/linux/ramips/files/arch')
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x/ralink_soc.h4
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x/ralink_soc.h4
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/common/setup.c18
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c19
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c16
5 files changed, 26 insertions, 35 deletions
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x/ralink_soc.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x/ralink_soc.h
index c379f39195..60ca647d8c 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x/ralink_soc.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x/ralink_soc.h
@@ -11,6 +11,10 @@
#ifndef __RT288X_RALINK_SOC_H
#define __RT288X_RALINK_SOC_H
+#define RALINK_SOC_SDRAM_BASE 0x08000000
+#define RALINK_SOC_MEM_SIZE_MIN (2 * 1024 * 1024)
+#define RALINK_SOC_MEM_SIZE_MAX (128 * 1024 * 1024)
+
#define RALINK_SOC_GPIO_BASE 0x300600
#define RALINK_SOC_GPIO0_COUNT 24
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x/ralink_soc.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x/ralink_soc.h
index 144cc4ea46..fd0e8b3048 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x/ralink_soc.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x/ralink_soc.h
@@ -11,6 +11,10 @@
#ifndef __RT288X_RALINK_SOC_H
#define __RT288X_RALINK_SOC_H
+#define RALINK_SOC_SDRAM_BASE 0
+#define RALINK_SOC_MEM_SIZE_MIN (2 * 1024 * 1024)
+#define RALINK_SOC_MEM_SIZE_MAX (64 * 1024 * 1024)
+
#define RALINK_SOC_GPIO_BASE 0x10000600
#define RALINK_SOC_GPIO0_COUNT 24
diff --git a/target/linux/ramips/files/arch/mips/ralink/common/setup.c b/target/linux/ramips/files/arch/mips/ralink/common/setup.c
index 6440ccb01a..86e951ca20 100644
--- a/target/linux/ramips/files/arch/mips/ralink/common/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/common/setup.c
@@ -13,12 +13,30 @@
#include <linux/init.h>
#include <linux/io.h>
+#include <asm/bootinfo.h>
#include <asm/addrspace.h>
+
#include <asm/mach-ralink/common.h>
+#include <ralink_soc.h>
+
+static void __init detect_mem_size(void)
+{
+ unsigned long size;
+
+ for (size = RALINK_SOC_MEM_SIZE_MIN; size < RALINK_SOC_MEM_SIZE_MAX;
+ size <<= 1 ) {
+ if (!memcmp(detect_mem_size,
+ detect_mem_size + size, 1024))
+ break;
+ }
+
+ add_memory_region(RALINK_SOC_SDRAM_BASE, size, BOOT_MEM_RAM);
+}
void __init plat_mem_setup(void)
{
set_io_port_base(KSEG1);
+ detect_mem_size();
ramips_soc_setup();
}
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c
index fe94126e5d..920f44ae41 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c
@@ -16,7 +16,6 @@
#include <linux/io.h>
#include <linux/serial_8250.h>
-#include <asm/bootinfo.h>
#include <asm/mips_machine.h>
#include <asm/reboot.h>
#include <asm/time.h>
@@ -25,9 +24,6 @@
#include <asm/mach-ralink/rt288x.h>
#include <asm/mach-ralink/rt288x_regs.h>
-#define RT288X_MEM_SIZE_MIN (2 * 1024 * 1024)
-#define RT288X_MEM_SIZE_MAX (128 * 1024 * 1024)
-
unsigned long rt288x_mach_type;
static void rt288x_restart(char *command)
@@ -44,20 +40,6 @@ static void rt288x_halt(void)
cpu_wait();
}
-static void __init rt288x_detect_mem_size(void)
-{
- unsigned long size;
-
- for (size = RT288X_MEM_SIZE_MIN; size < RT288X_MEM_SIZE_MAX;
- size <<= 1 ) {
- if (!memcmp(rt288x_detect_mem_size,
- rt288x_detect_mem_size + size, 1024))
- break;
- }
-
- add_memory_region(RT2880_SDRAM_BASE, size, BOOT_MEM_RAM);
-}
-
static void __init rt288x_early_serial_setup(void)
{
struct uart_port p;
@@ -106,7 +88,6 @@ void __init ramips_soc_setup(void)
rt288x_sysc_base = ioremap_nocache(RT2880_SYSC_BASE, RT2880_SYSC_SIZE);
rt288x_memc_base = ioremap_nocache(RT2880_MEMC_BASE, RT2880_MEMC_SIZE);
- rt288x_detect_mem_size();
rt288x_detect_sys_type();
rt288x_detect_sys_freq();
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c
index 70eaae4254..3aa6c9b9fa 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c
@@ -15,7 +15,6 @@
#include <linux/io.h>
#include <linux/serial_8250.h>
-#include <asm/bootinfo.h>
#include <asm/mips_machine.h>
#include <asm/reboot.h>
#include <asm/time.h>
@@ -43,20 +42,6 @@ static void rt305x_halt(void)
cpu_wait();
}
-static void __init rt305x_detect_mem_size(void)
-{
- unsigned long size;
-
- for (size = RT305X_MEM_SIZE_MIN; size < RT305X_MEM_SIZE_MAX;
- size <<= 1 ) {
- if (!memcmp(rt305x_detect_mem_size,
- rt305x_detect_mem_size + size, 1024))
- break;
- }
-
- add_memory_region(RT305X_SDRAM_BASE, size, BOOT_MEM_RAM);
-}
-
static void __init rt305x_early_serial_setup(void)
{
struct uart_port p;
@@ -105,7 +90,6 @@ void __init ramips_soc_setup(void)
rt305x_sysc_base = ioremap_nocache(RT305X_SYSC_BASE, PAGE_SIZE);
rt305x_memc_base = ioremap_nocache(RT305X_MEMC_BASE, PAGE_SIZE);
- rt305x_detect_mem_size();
rt305x_detect_sys_type();
rt305x_detect_sys_freq();