summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/files/arch
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-30 13:45:49 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-06-30 13:45:49 +0000
commite4fd15b6447c6ead8f8a5a558dbedaef71e449b6 (patch)
tree168596393fa030a9b569a6680562b7a5e56830dc /target/linux/brcm63xx/files/arch
parent6989b4a9bcb27e00756ac80ad3883812934540c2 (diff)
[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')
-rw-r--r--target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c13
-rw-r--r--target/linux/brcm63xx/files/arch/mips/bcm63xx/cpu.c3
-rw-r--r--target/linux/brcm63xx/files/arch/mips/bcm63xx/prom.c2
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
@@ -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 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