diff options
Diffstat (limited to 'arch/arm/mach-iop13xx/pci.c')
-rw-r--r-- | arch/arm/mach-iop13xx/pci.c | 37 |
1 files changed, 13 insertions, 24 deletions
diff --git a/arch/arm/mach-iop13xx/pci.c b/arch/arm/mach-iop13xx/pci.c index 861cb12ef436..91f731a2957b 100644 --- a/arch/arm/mach-iop13xx/pci.c +++ b/arch/arm/mach-iop13xx/pci.c | |||
@@ -970,7 +970,6 @@ void __init iop13xx_pci_init(void) | |||
970 | __raw_writel(__raw_readl(IOP13XX_XBG_BECSR) & 3, IOP13XX_XBG_BECSR); | 970 | __raw_writel(__raw_readl(IOP13XX_XBG_BECSR) & 3, IOP13XX_XBG_BECSR); |
971 | 971 | ||
972 | /* Setup the Min Address for PCI memory... */ | 972 | /* Setup the Min Address for PCI memory... */ |
973 | pcibios_min_io = 0; | ||
974 | pcibios_min_mem = IOP13XX_PCIX_LOWER_MEM_BA; | 973 | pcibios_min_mem = IOP13XX_PCIX_LOWER_MEM_BA; |
975 | 974 | ||
976 | /* if Linux is given control of an ATU | 975 | /* if Linux is given control of an ATU |
@@ -1003,7 +1002,7 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys) | |||
1003 | if (nr > 1) | 1002 | if (nr > 1) |
1004 | return 0; | 1003 | return 0; |
1005 | 1004 | ||
1006 | res = kcalloc(2, sizeof(struct resource), GFP_KERNEL); | 1005 | res = kzalloc(sizeof(struct resource), GFP_KERNEL); |
1007 | if (!res) | 1006 | if (!res) |
1008 | panic("PCI: unable to alloc resources"); | 1007 | panic("PCI: unable to alloc resources"); |
1009 | 1008 | ||
@@ -1042,17 +1041,13 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys) | |||
1042 | << IOP13XX_ATUX_PCIXSR_FUNC_NUM; | 1041 | << IOP13XX_ATUX_PCIXSR_FUNC_NUM; |
1043 | __raw_writel(pcixsr, IOP13XX_ATUX_PCIXSR); | 1042 | __raw_writel(pcixsr, IOP13XX_ATUX_PCIXSR); |
1044 | 1043 | ||
1045 | res[0].start = IOP13XX_PCIX_LOWER_IO_PA + IOP13XX_PCIX_IO_BUS_OFFSET; | 1044 | pci_ioremap_io(0, IOP13XX_PCIX_LOWER_IO_PA); |
1046 | res[0].end = IOP13XX_PCIX_UPPER_IO_PA; | ||
1047 | res[0].name = "IQ81340 ATUX PCI I/O Space"; | ||
1048 | res[0].flags = IORESOURCE_IO; | ||
1049 | 1045 | ||
1050 | res[1].start = IOP13XX_PCIX_LOWER_MEM_RA; | 1046 | res->start = IOP13XX_PCIX_LOWER_MEM_RA; |
1051 | res[1].end = IOP13XX_PCIX_UPPER_MEM_RA; | 1047 | res->end = IOP13XX_PCIX_UPPER_MEM_RA; |
1052 | res[1].name = "IQ81340 ATUX PCI Memory Space"; | 1048 | res->name = "IQ81340 ATUX PCI Memory Space"; |
1053 | res[1].flags = IORESOURCE_MEM; | 1049 | res->flags = IORESOURCE_MEM; |
1054 | sys->mem_offset = IOP13XX_PCIX_MEM_OFFSET; | 1050 | sys->mem_offset = IOP13XX_PCIX_MEM_OFFSET; |
1055 | sys->io_offset = IOP13XX_PCIX_LOWER_IO_PA; | ||
1056 | break; | 1051 | break; |
1057 | case IOP13XX_INIT_ATU_ATUE: | 1052 | case IOP13XX_INIT_ATU_ATUE: |
1058 | /* Note: the function number field in the PCSR is ro */ | 1053 | /* Note: the function number field in the PCSR is ro */ |
@@ -1063,17 +1058,13 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys) | |||
1063 | 1058 | ||
1064 | __raw_writel(pcsr, IOP13XX_ATUE_PCSR); | 1059 | __raw_writel(pcsr, IOP13XX_ATUE_PCSR); |
1065 | 1060 | ||
1066 | res[0].start = IOP13XX_PCIE_LOWER_IO_PA + IOP13XX_PCIE_IO_BUS_OFFSET; | 1061 | pci_ioremap_io(SZ_64K, IOP13XX_PCIE_LOWER_IO_PA); |
1067 | res[0].end = IOP13XX_PCIE_UPPER_IO_PA; | ||
1068 | res[0].name = "IQ81340 ATUE PCI I/O Space"; | ||
1069 | res[0].flags = IORESOURCE_IO; | ||
1070 | 1062 | ||
1071 | res[1].start = IOP13XX_PCIE_LOWER_MEM_RA; | 1063 | res->start = IOP13XX_PCIE_LOWER_MEM_RA; |
1072 | res[1].end = IOP13XX_PCIE_UPPER_MEM_RA; | 1064 | res->end = IOP13XX_PCIE_UPPER_MEM_RA; |
1073 | res[1].name = "IQ81340 ATUE PCI Memory Space"; | 1065 | res->name = "IQ81340 ATUE PCI Memory Space"; |
1074 | res[1].flags = IORESOURCE_MEM; | 1066 | res->flags = IORESOURCE_MEM; |
1075 | sys->mem_offset = IOP13XX_PCIE_MEM_OFFSET; | 1067 | sys->mem_offset = IOP13XX_PCIE_MEM_OFFSET; |
1076 | sys->io_offset = IOP13XX_PCIE_LOWER_IO_PA; | ||
1077 | sys->map_irq = iop13xx_pcie_map_irq; | 1068 | sys->map_irq = iop13xx_pcie_map_irq; |
1078 | break; | 1069 | break; |
1079 | default: | 1070 | default: |
@@ -1081,11 +1072,9 @@ int iop13xx_pci_setup(int nr, struct pci_sys_data *sys) | |||
1081 | return 0; | 1072 | return 0; |
1082 | } | 1073 | } |
1083 | 1074 | ||
1084 | request_resource(&ioport_resource, &res[0]); | 1075 | request_resource(&iomem_resource, res); |
1085 | request_resource(&iomem_resource, &res[1]); | ||
1086 | 1076 | ||
1087 | pci_add_resource_offset(&sys->resources, &res[0], sys->io_offset); | 1077 | pci_add_resource_offset(&sys->resources, res, sys->mem_offset); |
1088 | pci_add_resource_offset(&sys->resources, &res[1], sys->mem_offset); | ||
1089 | 1078 | ||
1090 | return 1; | 1079 | return 1; |
1091 | } | 1080 | } |