Merge commit 'a849088aa1' from rmk/fixes into cleanup/io-pci
[cascardo/linux.git] / arch / arm / mach-integrator / integrator_ap.c
index 3b22675..fd3ef28 100644 (file)
@@ -50,6 +50,7 @@
 #include <asm/mach/arch.h>
 #include <asm/mach/irq.h>
 #include <asm/mach/map.h>
+#include <asm/mach/pci.h>
 #include <asm/mach/time.h>
 
 #include <plat/fpga-irq.h>
@@ -73,7 +74,7 @@
  * e8000000    40000000        PCI memory              PHYS_PCI_MEM_BASE       (max 512M)
  * ec000000    61000000        PCI config space        PHYS_PCI_CONFIG_BASE    (max 16M)
  * ed000000    62000000        PCI V3 regs             PHYS_PCI_V3_BASE        (max 64k)
- * ee000000    60000000        PCI IO                  PHYS_PCI_IO_BASE        (max 16M)
+ * fee00000    60000000        PCI IO                  PHYS_PCI_IO_BASE        (max 16M)
  * ef000000                    Cache flush
  * f1000000    10000000        Core module registers
  * f1100000    11000000        System controller registers
@@ -147,11 +148,6 @@ static struct map_desc ap_io_desc[] __initdata = {
                .pfn            = __phys_to_pfn(PHYS_PCI_V3_BASE),
                .length         = SZ_64K,
                .type           = MT_DEVICE
-       }, {
-               .virtual        = PCI_IO_VADDR,
-               .pfn            = __phys_to_pfn(PHYS_PCI_IO_BASE),
-               .length         = SZ_64K,
-               .type           = MT_DEVICE
        }
 };
 
@@ -159,6 +155,7 @@ static void __init ap_map_io(void)
 {
        iotable_init(ap_io_desc, ARRAY_SIZE(ap_io_desc));
        vga_base = PCI_MEMORY_VADDR;
+       pci_map_io_early(__phys_to_pfn(PHYS_PCI_IO_BASE));
 }
 
 #define INTEGRATOR_SC_VALID_INT        0x003fffff