diff options
author | Florian Fainelli <florian@openwrt.org> | 2009-06-30 13:45:49 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2009-06-30 13:45:49 +0000 |
commit | 1850996a1ba88b45baa5b74ef79502e83a1799b1 (patch) | |
tree | 168596393fa030a9b569a6680562b7a5e56830dc /target/linux/brcm63xx/files/arch/mips | |
parent | 485eb5d5f399f5d90a4da2b29e59c4a944debf8b (diff) | |
download | upstream-1850996a1ba88b45baa5b74ef79502e83a1799b1.tar.gz upstream-1850996a1ba88b45baa5b74ef79502e83a1799b1.tar.bz2 upstream-1850996a1ba88b45baa5b74ef79502e83a1799b1.zip |
[brcm63xx] a couple of more fixes to get 6345 booting up to the console handover
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16636 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/files/arch/mips')
3 files changed, 16 insertions, 2 deletions
diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c index e27264dfdf..18389983a7 100644 --- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -68,6 +68,16 @@ static struct board_info __initdata board_96338w = { #endif /* + * known 6345 boards + */ +#ifdef CONFIG_BCM63XX_CPU_6345 +static struct board_info __initdata board_96345gw2 = { + .name = "96345GW2", + .expected_cpu_id = 0x6345, +}; +#endif + +/* * known 6348 boards */ #ifdef CONFIG_BCM63XX_CPU_6348 @@ -300,6 +310,9 @@ static const struct board_info __initdata *bcm963xx_boards[] = { &board_96338gw, &board_96338w, #endif +#ifdef CONFIG_BCM63XX_CPU_6345 + &board_96345gw2, +#endif #ifdef CONFIG_BCM63XX_CPU_6348 &board_96348r, &board_96348gw, diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c index 2b1a9b46da..c6f7fad21b 100644 --- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c @@ -288,6 +288,9 @@ static unsigned int detect_memory_size(void) unsigned int cols = 0, rows = 0, is_32bits = 0, banks = 0; u32 val; + if (BCMCPU_IS_6345()) + return (8 * 1024 * 1024); + if (BCMCPU_IS_6338() || BCMCPU_IS_6348()) { val = bcm_sdram_readl(SDRAM_CFG_REG); rows = (val & SDRAM_CFG_ROW_MASK) >> SDRAM_CFG_ROW_SHIFT; diff --git a/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c b/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c index 964a1479c6..7e52822aa9 100644 --- a/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c +++ b/target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c @@ -28,8 +28,6 @@ void __init prom_init(void) /* disable all hardware blocks clock for now */ if (BCMCPU_IS_6338()) mask = CKCTL_6338_ALL_SAFE_EN; - else if (BCMCPU_IS_6345()) - mask = CKCTL_6345_UART_EN; else if (BCMCPU_IS_6348()) mask = CKCTL_6348_ALL_SAFE_EN; else |