diff options
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 c379f3919..60ca647d8 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 144cc4ea4..fd0e8b304 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 6440ccb01..86e951ca2 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 fe94126e5..920f44ae4 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 70eaae425..3aa6c9b9f 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(); | 
