Fix PCI problems on PPChameleon board
diff --git a/CHANGELOG b/CHANGELOG
index 13ce748..abd42a0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Fix PCI problems on PPChameleon board
+
 * Patch by Steven Scholz, 18 Oct 2003:
   Fix AT91RM9200 ethernet driver
 
diff --git a/board/dave/PPChameleonEVB/PPChameleonEVB.c b/board/dave/PPChameleonEVB/PPChameleonEVB.c
index 803c798..a7682ba 100644
--- a/board/dave/PPChameleonEVB/PPChameleonEVB.c
+++ b/board/dave/PPChameleonEVB/PPChameleonEVB.c
@@ -68,7 +68,7 @@
 	mtdcr(uicsr, 0xFFFFFFFF);       /* clear all ints */
 	mtdcr(uicer, 0x00000000);       /* disable all ints */
 	mtdcr(uiccr, 0x00000000);       /* set all to be non-critical*/
-	mtdcr(uicpr, 0xFFFFFF81);       /* set int polarities */
+	mtdcr(uicpr, 0xFFFFFF80);       /* set int polarities */
 	mtdcr(uictr, 0x10000000);       /* set int trigger levels */
 	mtdcr(uicvcr, 0x00000001);      /* set vect base=0,INT0 highest priority*/
 	mtdcr(uicsr, 0xFFFFFFFF);       /* clear all ints */
diff --git a/cpu/ppc4xx/405gp_pci.c b/cpu/ppc4xx/405gp_pci.c
index fa5acfc..d3f6b23 100644
--- a/cpu/ppc4xx/405gp_pci.c
+++ b/cpu/ppc4xx/405gp_pci.c
@@ -206,11 +206,14 @@
 	 *--------------------------------------------------------------------------*/
 	out32r(PTM1LA,    ptmla[0]);         /* insert address                     */
 	out32r(PTM1MS,    ptmms[0]);         /* insert size, enable bit is 1       */
+	pci_write_config_dword(PCIDEVID_405GP, PCI_BASE_ADDRESS_1, ptmpcila[0]);
 
 	/*--------------------------------------------------------------------------+
 	 * 405GP PCI Target configuration.  (PTM2)
 	 *--------------------------------------------------------------------------*/
 	out32r(PTM2LA, ptmla[1]);            /* insert address                     */
+	pci_write_config_dword(PCIDEVID_405GP, PCI_BASE_ADDRESS_2, ptmpcila[1]);
+
 	if (ptmms[1] == 0)
 	{
 		out32r(PTM2MS,    0x00000001);   /* set enable bit                     */
@@ -251,7 +254,7 @@
 	}
 
 #if (CONFIG_PCI_HOST != PCI_HOST_ADAPTER)
-#if (CONFIG_PCI_HOSE == PCI_HOST_AUTO)
+#if (CONFIG_PCI_HOST == PCI_HOST_AUTO)
 	if (mfdcr(strap) & PSR_PCI_ARBIT_EN)
 #endif
 	{
diff --git a/doc/README.mpc85xxads b/doc/README.mpc85xxads
index 3eb5d95..f78c9c6 100644
--- a/doc/README.mpc85xxads
+++ b/doc/README.mpc85xxads
@@ -4,6 +4,10 @@
 Created 10/15/03
 -----------------------------------------
 
+0. Toolchain
+The Binutils in current ELDK toolchain will not support MPC85xx chip. You need
+use the newest binutils-2.14.tar.bz2 from http://ftp.gnu.org/gnu/binutils.
+
 1. SWITCH SETTINGS & JUMPERS
 1.1 First, make sure the board default setting is consistent with the document
     shipped with your board. Then apply the following changes:
diff --git a/drivers/ns8382x.c b/drivers/ns8382x.c
index 978080e..154d6ca 100644
--- a/drivers/ns8382x.c
+++ b/drivers/ns8382x.c
@@ -321,7 +321,7 @@
 		if ((devno = pci_find_devices(supported, idx++)) < 0)
 			break;
 
-		pci_read_config_dword(devno, PCI_BASE_ADDRESS_0, &iobase);
+		pci_read_config_dword(devno, PCI_BASE_ADDRESS_1, &iobase);
 		iobase &= ~0x3;	/* 1: unused and 0:I/O Space Indicator */
 
 #ifdef NS8382X_DEBUG
diff --git a/drivers/pci.c b/drivers/pci.c
index c91c992..e014f91 100644
--- a/drivers/pci.c
+++ b/drivers/pci.c
@@ -428,11 +428,9 @@
 	     dev <  PCI_BDF(bus,PCI_MAX_PCI_DEVICES-1,PCI_MAX_PCI_FUNCTIONS-1);
 	     dev += PCI_BDF(0,0,1))
 	{
-#if ((!defined(CONFIG_405GP)) && (!defined(CONFIG_405EP)))	/* don't skip host bridge on ppc405gp and 405ep */
 		/* Skip our host bridge */
 		if ( dev == PCI_BDF(hose->first_busno,0,0) )
 			continue;
-#endif
 
 		if (PCI_FUNC(dev) && !found_multi)
 			continue;
diff --git a/include/configs/PPChameleonEVB.h b/include/configs/PPChameleonEVB.h
index 52c65e9..b480114 100644
--- a/include/configs/PPChameleonEVB.h
+++ b/include/configs/PPChameleonEVB.h
@@ -282,7 +282,7 @@
 #define PCI_HOST_AUTO   2               /* detected via arbiter enable  */
 
 #define CONFIG_PCI			/* include pci support	        */
-#define CONFIG_PCI_HOST	PCI_HOST_AUTO   /* select pci host function     */
+#define CONFIG_PCI_HOST	PCI_HOST_FORCE   /* select pci host function     */
 #undef  CONFIG_PCI_PNP			/* do pci plug-and-play         */
 					/* resource configuration       */
 
diff --git a/include/configs/trab.h b/include/configs/trab.h
index caf1bbd..e7d1b26 100644
--- a/include/configs/trab.h
+++ b/include/configs/trab.h
@@ -204,7 +204,7 @@
 	"loadaddr=c400000\0" \
 	"net_load=tftpboot $loadaddr $loadfile\0" \
 	"net_nfs=run net_load nfs_args add_net add_misc;bootm\0" \
-	"kernel_addr=000C0000\0" \
+	"kernel_addr=00060000\0" \
 	"flash_nfs=run nfs_args add_net add_misc;bootm $kernel_addr\0" \
 	"mdm_init1=ATZ\0" \
 	"mdm_init2=ATS0=1\0" \