projects
/
bcm963xx.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
http://www.usr.com/support/gpl/USR9107_release1.1.tar.gz
[bcm963xx.git]
/
kernel
/
linux
/
arch
/
mips
/
brcm-boards
/
bcm963xx
/
setup.c
diff --git
a/kernel/linux/arch/mips/brcm-boards/bcm963xx/setup.c
b/kernel/linux/arch/mips/brcm-boards/bcm963xx/setup.c
index
3060789
..
c304817
100755
(executable)
--- a/
kernel/linux/arch/mips/brcm-boards/bcm963xx/setup.c
+++ b/
kernel/linux/arch/mips/brcm-boards/bcm963xx/setup.c
@@
-40,6
+40,7
@@
#include <asm/gdb-stub.h>
extern void brcm_timer_setup(struct irqaction *irq);
#include <asm/gdb-stub.h>
extern void brcm_timer_setup(struct irqaction *irq);
+extern unsigned long getMemorySize(void);
#if defined(CONFIG_BCM96348) && defined(CONFIG_PCI)
#include <linux/pci.h>
#if defined(CONFIG_BCM96348) && defined(CONFIG_PCI)
#include <linux/pci.h>
@@
-371,6
+372,13
@@
static int mpi_DetectPcCard(void)
static int mpi_init(void)
{
unsigned long data;
static int mpi_init(void)
{
unsigned long data;
+ unsigned int chipid;
+ unsigned int chiprev;
+ unsigned int sdramsize;
+
+ chipid = (PERF->RevID & 0xFFFF0000) >> 16;
+ chiprev = (PERF->RevID & 0xFF);
+ sdramsize = getMemorySize();
/*
* Init the pci interface
*/
/*
* Init the pci interface
*/
@@
-415,6
+423,10
@@
static int mpi_init(void)
mpi->sp1remap = 0x0;
mpi->pcimodesel |= (PCI_BAR2_NOSWAP | 0x40);
mpi->sp1remap = 0x0;
mpi->pcimodesel |= (PCI_BAR2_NOSWAP | 0x40);
+ if ((chipid == 0x6348) && (chiprev == 0xb0)) {
+ mpi->sp0range = ~(sdramsize-1);
+ mpi->sp1range = ~(sdramsize-1);
+ }
/*
* Change 6348 PCI Cfg Reg. offset 0x40 to PCI memory read retry count infinity
* by set 0 in bit 8~15. This resolve read Bcm4306 srom return 0xffff in
/*
* Change 6348 PCI Cfg Reg. offset 0x40 to PCI memory read retry count infinity
* by set 0 in bit 8~15. This resolve read Bcm4306 srom return 0xffff in