[brcm63xx] more bcm6338 and bcm6345 related fixes
authorFlorian Fainelli <florian@openwrt.org>
Fri, 26 Jun 2009 12:34:35 +0000 (12:34 +0000)
committerFlorian Fainelli <florian@openwrt.org>
Fri, 26 Jun 2009 12:34:35 +0000 (12:34 +0000)
SVN-Revision: 16568

target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c
target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_cpu.h
target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/bcm63xx_gpio.h
target/linux/brcm63xx/files/include/asm-mips/mach-bcm63xx/cpu-feature-overrides.h

index f94a5c2a0da9a71caedf3cc6c093502565537218..3e27671a8ca2e8d67c5757814c0fb425a528861a 100644 (file)
@@ -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,
index 1819dc1b2c19bef58567574f565c376c39da06ba..9bce14440e9f1193f7443e55fd74ce4319406e7e 100644 (file)
@@ -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:
index 76a0b7216af576ea868e3c3f245c7329a5b2a1b6..337bd8ba6a59a97545ef18dd7ffb870a8e636ff1 100644 (file)
@@ -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;
index 1a5c4b1da3e359a2b1862a20bc1b429bbcfa8e8f..71742bac940d5ad8db0601ac6b60539033d95517 100644 (file)
@@ -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