aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/files
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2009-06-27 18:23:58 +0000
committerFlorian Fainelli <florian@openwrt.org>2009-06-27 18:23:58 +0000
commitd1867359ac4d8e0aecc5832c09ae04fb22a15ab1 (patch)
tree1ba24ee396767bb87f57166d8bb1078f4b65b16b /target/linux/brcm63xx/files
parent0bba4fca43a64eedc0603fd31f229bb65d8c1652 (diff)
downloadupstream-d1867359ac4d8e0aecc5832c09ae04fb22a15ab1.tar.gz
upstream-d1867359ac4d8e0aecc5832c09ae04fb22a15ab1.tar.bz2
upstream-d1867359ac4d8e0aecc5832c09ae04fb22a15ab1.zip
[brcm63xx] prevent bcm6338 and bcm6345 from crashing very early
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16585 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm63xx/files')
-rw-r--r--target/linux/brcm63xx/files/arch/mips/bcm63xx/boards/board_bcm963xx.c12
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 */