From 4606c7b6ec22d232e98a78d99c1ff5a5973d9704 Mon Sep 17 00:00:00 2001 From: florian Date: Sat, 27 Jun 2009 18:23:58 +0000 Subject: [PATCH] [brcm63xx] prevent bcm6338 and bcm6345 from crashing very early git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16585 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- .../files/arch/mips/bcm63xx/boards/board_bcm963xx.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 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 3e767d8a6..92d46e762 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 @@ -323,9 +323,15 @@ void __init board_prom_init(void) char cfe_version[32]; u32 val; - /* read base address of boot chip select (0) */ - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; + /* read base address of boot chip select (0) + * 6338 does not have MPI but boots from standard + * MIPS Flash address */ + if (BCMCPU_IS_6338() || BCMCPU_IS_6345()) + val = 0x1fc00000; + else { + val = bcm_mpi_readl(MPI_CSBASE_REG(0)); + val &= MPI_CSBASE_BASE_MASK; + } boot_addr = (u8 *)KSEG1ADDR(val); /* dump cfe version */