aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-03-11 19:05:53 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-03-11 19:05:53 +0000
commitef72092022bd4d893ec52b662fd809f045933c67 (patch)
tree118e6872dc0a7554fe29faba0ebfd5c06d9a2f58 /target/linux/ramips
parentc1db1347f6f1b0dd17a89722fe5b82b66dbeb8e7 (diff)
downloadupstream-ef72092022bd4d893ec52b662fd809f045933c67.tar.gz
upstream-ef72092022bd4d893ec52b662fd809f045933c67.tar.bz2
upstream-ef72092022bd4d893ec52b662fd809f045933c67.zip
ramips: introduce ramips_soc_prom_init and move SoC detection into that
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30887 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ramips')
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h1
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h2
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h2
-rw-r--r--target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h2
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/common/prom.c2
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c9
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c1
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c9
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c1
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c9
-rw-r--r--target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c1
11 files changed, 18 insertions, 21 deletions
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h
index 939062b498..7be24f7af5 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/common.h
@@ -15,6 +15,7 @@ extern unsigned char ramips_sys_type[RAMIPS_SYS_TYPE_LEN];
void ramips_intc_irq_init(unsigned intc_base, unsigned irq, unsigned irq_base);
u32 ramips_intc_get_status(void);
+void ramips_soc_prom_init(void);
void ramips_soc_setup(void);
void ramips_early_serial_setup(int line, unsigned base, unsigned freq,
unsigned irq);
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h
index 29c7a72050..ff6c82ec80 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h
@@ -17,8 +17,6 @@
#include <linux/init.h>
#include <linux/io.h>
-void rt288x_detect_sys_type(void);
-
#define RT288X_CPU_IRQ_BASE 0
#define RT288X_INTC_IRQ_BASE 8
#define RT288X_INTC_IRQ_COUNT 32
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h
index d1a4df9444..2e3f9fcbf3 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h
@@ -16,8 +16,6 @@
#include <linux/init.h>
#include <linux/io.h>
-void rt305x_detect_sys_type(void);
-
#define RT305X_MEM_SIZE_MIN (2 * 1024 * 1024)
#define RT305X_MEM_SIZE_MAX (64 * 1024 * 1024)
diff --git a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h
index 2a88bb838c..cf8fb6fd10 100644
--- a/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h
+++ b/target/linux/ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h
@@ -16,8 +16,6 @@
#include <linux/init.h>
#include <linux/io.h>
-void rt3883_detect_sys_type(void);
-
#define RT3883_MEM_SIZE_MIN (2 * 1024 * 1024)
#define RT3883_MEM_SIZE_MAX (256 * 1024 * 1024)
diff --git a/target/linux/ramips/files/arch/mips/ralink/common/prom.c b/target/linux/ramips/files/arch/mips/ralink/common/prom.c
index fdbcb79796..d3f884b844 100644
--- a/target/linux/ramips/files/arch/mips/ralink/common/prom.c
+++ b/target/linux/ramips/files/arch/mips/ralink/common/prom.c
@@ -143,6 +143,8 @@ void __init prom_init(void)
char **envp;
char **argv;
+ ramips_soc_prom_init();
+
printk(KERN_DEBUG
"prom: fw_arg0=%08x, fw_arg1=%08x, fw_arg2=%08x, fw_arg3=%08x\n",
(unsigned int)fw_arg0, (unsigned int)fw_arg1,
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c b/target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c
index 53b1a69114..633e83d8c0 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c
@@ -23,15 +23,16 @@
void __iomem * rt288x_sysc_base;
void __iomem * rt288x_memc_base;
-void __init rt288x_detect_sys_type(void)
+void __init ramips_soc_prom_init(void)
{
+ void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT2880_SYSC_BASE);
u32 n0;
u32 n1;
u32 id;
- n0 = rt288x_sysc_rr(SYSC_REG_CHIP_NAME0);
- n1 = rt288x_sysc_rr(SYSC_REG_CHIP_NAME1);
- id = rt288x_sysc_rr(SYSC_REG_CHIP_ID);
+ n0 = __raw_readl(sysc + SYSC_REG_CHIP_NAME0);
+ n1 = __raw_readl(sysc + SYSC_REG_CHIP_NAME1);
+ id = __raw_readl(sysc + SYSC_REG_CHIP_ID);
snprintf(ramips_sys_type, RAMIPS_SYS_TYPE_LEN,
"Ralink %c%c%c%c%c%c%c%c id:%u rev:%u",
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 65e187d3ac..be474b5292 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c
@@ -52,7 +52,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_sys_type();
rt288x_clocks_init();
clk = clk_get(NULL, "cpu");
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c b/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c
index 5916888f06..fa0d0f6cc0 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c
@@ -23,15 +23,16 @@
void __iomem * rt305x_sysc_base;
void __iomem * rt305x_memc_base;
-void __init rt305x_detect_sys_type(void)
+void __init ramips_soc_prom_init(void)
{
+ void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT305X_SYSC_BASE);
u32 n0;
u32 n1;
u32 id;
- n0 = rt305x_sysc_rr(SYSC_REG_CHIP_NAME0);
- n1 = rt305x_sysc_rr(SYSC_REG_CHIP_NAME1);
- id = rt305x_sysc_rr(SYSC_REG_CHIP_ID);
+ n0 = __raw_readl(sysc + SYSC_REG_CHIP_NAME0);
+ n1 = __raw_readl(sysc + SYSC_REG_CHIP_NAME1);
+ id = __raw_readl(sysc + SYSC_REG_CHIP_ID);
snprintf(ramips_sys_type, RAMIPS_SYS_TYPE_LEN,
"Ralink %c%c%c%c%c%c%c%c id:%u rev:%u",
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 6913006f7e..5a069db454 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c
@@ -52,7 +52,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_sys_type();
rt305x_clocks_init();
clk = clk_get(NULL, "cpu");
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c b/target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c
index 6e75b390f8..8f5994892e 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c
@@ -22,15 +22,16 @@
void __iomem * rt3883_sysc_base;
void __iomem * rt3883_memc_base;
-void __init rt3883_detect_sys_type(void)
+void __init ramips_soc_prom_init(void)
{
+ void __iomem *sysc = (void __iomem *) KSEG1ADDR(RT3883_SYSC_BASE);
u32 n0;
u32 n1;
u32 id;
- n0 = rt3883_sysc_rr(RT3883_SYSC_REG_CHIPID0_3);
- n1 = rt3883_sysc_rr(RT3883_SYSC_REG_CHIPID4_7);
- id = rt3883_sysc_rr(RT3883_SYSC_REG_REVID);
+ n0 = __raw_readl(sysc + RT3883_SYSC_REG_CHIPID0_3);
+ n1 = __raw_readl(sysc + RT3883_SYSC_REG_CHIPID4_7);
+ id = __raw_readl(sysc + RT3883_SYSC_REG_REVID);
snprintf(ramips_sys_type, RAMIPS_SYS_TYPE_LEN,
"Ralink %c%c%c%c%c%c%c%c ver:%u eco:%u",
diff --git a/target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c b/target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c
index f4c7296fa4..6e037a7291 100644
--- a/target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c
+++ b/target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c
@@ -52,7 +52,6 @@ void __init ramips_soc_setup(void)
rt3883_sysc_base = ioremap_nocache(RT3883_SYSC_BASE, PAGE_SIZE);
rt3883_memc_base = ioremap_nocache(RT3883_MEMC_BASE, PAGE_SIZE);
- rt3883_detect_sys_type();
rt3883_clocks_init();
clk = clk_get(NULL, "cpu");