From 287a2c0ba94defa0d2615c98a2495dcd815898e6 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Fri, 26 Jun 2009 12:34:35 +0000 Subject: [PATCH] more bcm6338 and bcm6345 related fixes SVN-Revision: 16568 --- target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c | 1 + .../files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h | 3 +++ .../files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h | 4 ++++ .../include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c index f94a5c2a0d..3e27671a8c 100644 --- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c @@ -34,6 +34,7 @@ static unsigned int bcm63xx_memory_size; */ static const unsigned long bcm96338_regs_base[] = { + [RSET_DSL_LMEM] = BCM_6338_DSL_LMEM_BASE, [RSET_PERF] = BCM_6338_PERF_BASE, [RSET_TIMER] = BCM_6338_TIMER_BASE, [RSET_WDT] = BCM_6338_WDT_BASE, diff --git a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h index 1819dc1b2c..9bce14440e 100644 --- a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h +++ b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h @@ -121,6 +121,7 @@ enum bcm63xx_regs_set { * 6338 register sets base address */ +#define BCM_6338_DSL_LMEM_BASE (0xfff00000) #define BCM_6338_PERF_BASE (0xfffe0000) #define BCM_6338_BB_BASE (0xfffe0100) /* bus bridge registers */ #define BCM_6338_TIMER_BASE (0xfffe0200) @@ -213,6 +214,8 @@ static inline unsigned long bcm63xx_regset_address(enum bcm63xx_regs_set set) #else #ifdef CONFIG_BCM63XX_CPU_6338 switch (set) { + case RSET_DSL_LMEM: + return BCM_6338_DSL_LMEM_BASE; case RSET_PERF: return BCM_6338_PERF_BASE; case RSET_TIMER: diff --git a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h index 76a0b7216a..337bd8ba6a 100644 --- a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h +++ b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h @@ -10,6 +10,10 @@ static inline unsigned long bcm63xx_gpio_count(void) switch (bcm63xx_get_cpu_id()) { case BCM6358_CPU_ID: return 40; + case BCM6338_CPU_ID: + return 7; + case BCM6345_CPU_ID: + return 16; case BCM6348_CPU_ID: default: return 37; diff --git a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h index 1a5c4b1da3..71742bac94 100644 --- a/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h +++ b/target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h @@ -24,7 +24,7 @@ #define cpu_has_smartmips 0 #define cpu_has_vtag_icache 0 -#if !defined(BCMCPU_RUNTIME_DETECT) && defined(CONFIG_BCMCPU_IS_6348) +#if !defined(BCMCPU_RUNTIME_DETECT) && (defined(CONFIG_BCMCPU_IS_6348) || defined(CONFIG_CPU_IS_6338) || defined(CONFIG_CPU_IS_BCM6345)) #define cpu_has_dc_aliases 0 #endif