[U-Boot] [PATCH V2 Inc1] IXP425: Fixing PCI access

Stefan Althoefer stefan.althoefer at web.de
Mon Dec 8 13:24:22 CET 2008


This fixes conflict existing with IXP425_PCI_SIMPLE_MAPPING.
BAR0 and BAR4 were both defined 0, which prevented external
bus masters from accessing first 16MByte of main memory.

This is an incrmental patch to patch posted 20081206.

Signed-off-by: Stefan Althoefer <stefan.althoefer at web.de>
---
 cpu/ixp/pci.c                        |    3 +--
 include/asm-arm/arch-ixp/ixp425pci.h |    4 ++--
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/cpu/ixp/pci.c b/cpu/ixp/pci.c
index 6586ba1..e6afb7b 100644
--- a/cpu/ixp/pci.c
+++ b/cpu/ixp/pci.c
@@ -340,11 +340,10 @@ void pci_ixp_init (struct pci_controller *hose)
 	REG_WRITE (PCI_CSR_BASE, PCI_PCIMEMBASE_OFFSET,
 		   IXP425_PCI_PCIMEMBASE_DEFAULT);
 
-	crp_write (PCI_CFG_SUB_VENDOR_ID, IXP425_PCI_SUB_VENDOR_SYSTEM);
-
 	REG_READ (PCI_CSR_BASE, PCI_CSR_OFFSET, regval);
 	regval |= PCI_CSR_IC | PCI_CSR_ABE | PCI_CSR_PDS;
 	REG_WRITE (PCI_CSR_BASE, PCI_CSR_OFFSET, regval);
+
 	crp_write (PCI_CFG_COMMAND, PCI_CFG_CMD_MAE | PCI_CFG_CMD_BME);
 	udelay (1000);
 
diff --git a/include/asm-arm/arch-ixp/ixp425pci.h b/include/asm-arm/arch-ixp/ixp425pci.h
index e533e90..2600d0d 100644
--- a/include/asm-arm/arch-ixp/ixp425pci.h
+++ b/include/asm-arm/arch-ixp/ixp425pci.h
@@ -159,8 +159,8 @@ typedef struct
 #define IXP425_PCI_BAR_1_DEFAULT 0x01000000
 #define IXP425_PCI_BAR_2_DEFAULT 0x02000000
 #define IXP425_PCI_BAR_3_DEFAULT 0x03000000
-#define IXP425_PCI_BAR_4_DEFAULT 0x00000000
-#define IXP425_PCI_BAR_5_DEFAULT 0x00000000
+#define IXP425_PCI_BAR_4_DEFAULT 0xff000000
+#define IXP425_PCI_BAR_5_DEFAULT 0xfffff000
 #else
 #define IXP425_PCI_BAR_0_DEFAULT 0x40000000
 #define IXP425_PCI_BAR_1_DEFAULT 0x41000000
-- 
1.5.4.5



More information about the U-Boot mailing list