From 9fb8ca891c66f6f2eff5d3003c9ca3b306fb062a Mon Sep 17 00:00:00 2001 From: juhosg Date: Sun, 11 Mar 2012 19:05:53 +0000 Subject: 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 --- .../ramips/files/arch/mips/include/asm/mach-ralink/common.h | 1 + .../ramips/files/arch/mips/include/asm/mach-ralink/rt288x.h | 2 -- .../ramips/files/arch/mips/include/asm/mach-ralink/rt305x.h | 2 -- .../ramips/files/arch/mips/include/asm/mach-ralink/rt3883.h | 2 -- target/linux/ramips/files/arch/mips/ralink/common/prom.c | 2 ++ target/linux/ramips/files/arch/mips/ralink/rt288x/rt288x.c | 9 +++++---- target/linux/ramips/files/arch/mips/ralink/rt288x/setup.c | 1 - target/linux/ramips/files/arch/mips/ralink/rt305x/rt305x.c | 9 +++++---- target/linux/ramips/files/arch/mips/ralink/rt305x/setup.c | 1 - target/linux/ramips/files/arch/mips/ralink/rt3883/rt3883.c | 9 +++++---- target/linux/ramips/files/arch/mips/ralink/rt3883/setup.c | 1 - 11 files changed, 18 insertions(+), 21 deletions(-) (limited to 'target') 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 939062b49..7be24f7af 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 29c7a7205..ff6c82ec8 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 #include -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 d1a4df944..2e3f9fcbf 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 #include -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 2a88bb838..cf8fb6fd1 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 #include -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 fdbcb7979..d3f884b84 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 53b1a6911..633e83d8c 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 65e187d3a..be474b529 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 5916888f0..fa0d0f6cc 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 6913006f7..5a069db45 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 6e75b390f..8f5994892 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 f4c7296fa..6e037a729 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"); -- cgit v1.2.3