mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-11-02 20:34:05 +02:00
[ramips] share memory size detection code
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17454 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
ab0a79714f
commit
a43a8c9864
@ -11,6 +11,10 @@
|
|||||||
#ifndef __RT288X_RALINK_SOC_H
|
#ifndef __RT288X_RALINK_SOC_H
|
||||||
#define __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_GPIO_BASE 0x300600
|
||||||
|
|
||||||
#define RALINK_SOC_GPIO0_COUNT 24
|
#define RALINK_SOC_GPIO0_COUNT 24
|
||||||
|
@ -11,6 +11,10 @@
|
|||||||
#ifndef __RT288X_RALINK_SOC_H
|
#ifndef __RT288X_RALINK_SOC_H
|
||||||
#define __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_GPIO_BASE 0x10000600
|
||||||
|
|
||||||
#define RALINK_SOC_GPIO0_COUNT 24
|
#define RALINK_SOC_GPIO0_COUNT 24
|
||||||
|
@ -13,12 +13,30 @@
|
|||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
|
|
||||||
|
#include <asm/bootinfo.h>
|
||||||
#include <asm/addrspace.h>
|
#include <asm/addrspace.h>
|
||||||
|
|
||||||
#include <asm/mach-ralink/common.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)
|
void __init plat_mem_setup(void)
|
||||||
{
|
{
|
||||||
set_io_port_base(KSEG1);
|
set_io_port_base(KSEG1);
|
||||||
|
|
||||||
|
detect_mem_size();
|
||||||
ramips_soc_setup();
|
ramips_soc_setup();
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,6 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/serial_8250.h>
|
#include <linux/serial_8250.h>
|
||||||
|
|
||||||
#include <asm/bootinfo.h>
|
|
||||||
#include <asm/mips_machine.h>
|
#include <asm/mips_machine.h>
|
||||||
#include <asm/reboot.h>
|
#include <asm/reboot.h>
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
@ -25,9 +24,6 @@
|
|||||||
#include <asm/mach-ralink/rt288x.h>
|
#include <asm/mach-ralink/rt288x.h>
|
||||||
#include <asm/mach-ralink/rt288x_regs.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;
|
unsigned long rt288x_mach_type;
|
||||||
|
|
||||||
static void rt288x_restart(char *command)
|
static void rt288x_restart(char *command)
|
||||||
@ -44,20 +40,6 @@ static void rt288x_halt(void)
|
|||||||
cpu_wait();
|
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)
|
static void __init rt288x_early_serial_setup(void)
|
||||||
{
|
{
|
||||||
struct uart_port p;
|
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_sysc_base = ioremap_nocache(RT2880_SYSC_BASE, RT2880_SYSC_SIZE);
|
||||||
rt288x_memc_base = ioremap_nocache(RT2880_MEMC_BASE, RT2880_MEMC_SIZE);
|
rt288x_memc_base = ioremap_nocache(RT2880_MEMC_BASE, RT2880_MEMC_SIZE);
|
||||||
|
|
||||||
rt288x_detect_mem_size();
|
|
||||||
rt288x_detect_sys_type();
|
rt288x_detect_sys_type();
|
||||||
rt288x_detect_sys_freq();
|
rt288x_detect_sys_freq();
|
||||||
|
|
||||||
|
@ -15,7 +15,6 @@
|
|||||||
#include <linux/io.h>
|
#include <linux/io.h>
|
||||||
#include <linux/serial_8250.h>
|
#include <linux/serial_8250.h>
|
||||||
|
|
||||||
#include <asm/bootinfo.h>
|
|
||||||
#include <asm/mips_machine.h>
|
#include <asm/mips_machine.h>
|
||||||
#include <asm/reboot.h>
|
#include <asm/reboot.h>
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
@ -43,20 +42,6 @@ static void rt305x_halt(void)
|
|||||||
cpu_wait();
|
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)
|
static void __init rt305x_early_serial_setup(void)
|
||||||
{
|
{
|
||||||
struct uart_port p;
|
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_sysc_base = ioremap_nocache(RT305X_SYSC_BASE, PAGE_SIZE);
|
||||||
rt305x_memc_base = ioremap_nocache(RT305X_MEMC_BASE, PAGE_SIZE);
|
rt305x_memc_base = ioremap_nocache(RT305X_MEMC_BASE, PAGE_SIZE);
|
||||||
|
|
||||||
rt305x_detect_mem_size();
|
|
||||||
rt305x_detect_sys_type();
|
rt305x_detect_sys_type();
|
||||||
rt305x_detect_sys_freq();
|
rt305x_detect_sys_freq();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user