From e4fd15b6447c6ead8f8a5a558dbedaef71e449b6 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 30 Jun 2009 13:45:49 +0000 Subject: [PATCH] [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 --- .../files/arch/mips/bcm63xx/boards/board_bcm963xx.c | 13 +++++++++++++ target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c | 3 +++ .../linux/brcm63xx/files/arch/mips/bcm63xx/prom.c | 2 -- 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 e27264dfd..18389983a 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 @@ -67,6 +67,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 */ @@ -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 2b1a9b46d..c6f7fad21 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 964a1479c..7e52822aa 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