diff options
author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-27 18:23:58 +0000 |
---|---|---|
committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2009-06-27 18:23:58 +0000 |
commit | 4606c7b6ec22d232e98a78d99c1ff5a5973d9704 (patch) | |
tree | 1ba24ee396767bb87f57166d8bb1078f4b65b16b | |
parent | 52956e6de0309f77c112aeb28240491d37f21d1f (diff) |
[brcm63xx] prevent bcm6338 and bcm6345 from crashing very early
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16585 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r-- | target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c | 12 |
1 files 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 3e767d8a63..92d46e7628 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 */ |