3 @@ -399,6 +399,7 @@ config ARCH_GEMINI
6 select GENERIC_CLOCKEVENTS
7 + select MIGHT_HAVE_PCI
9 Support for the Cortina Systems Gemini family SoCs
11 --- a/arch/arm/mach-gemini/include/mach/hardware.h
12 +++ b/arch/arm/mach-gemini/include/mach/hardware.h
15 #define IO_ADDRESS(x) IOMEM((((x) & 0xFFF00000) >> 4) | ((x) & 0x000FFFFF) | 0xF0000000)
18 + * PCI subsystem macros
20 +#define pcibios_assign_all_busses() 1
23 --- a/arch/arm/mach-gemini/include/mach/irqs.h
24 +++ b/arch/arm/mach-gemini/include/mach/irqs.h
27 #define NORMAL_IRQ_NUM 32
29 -#define GPIO_IRQ_BASE NORMAL_IRQ_NUM
30 +#define PCI_IRQ_BASE NORMAL_IRQ_NUM
31 +#define PCI_IRQ_NUM 4
33 +#define GPIO_IRQ_BASE (NORMAL_IRQ_NUM + PCI_IRQ_NUM)
34 #define GPIO_IRQ_NUM (3 * 32)
36 #define ARCH_TIMER_IRQ IRQ_TIMER2
38 -#define NR_IRQS (NORMAL_IRQ_NUM + GPIO_IRQ_NUM)
39 +#define NR_IRQS (NORMAL_IRQ_NUM + PCI_IRQ_NUM + GPIO_IRQ_NUM)
41 #endif /* __MACH_IRQS_H__ */
42 --- a/arch/arm/mach-gemini/Makefile
43 +++ b/arch/arm/mach-gemini/Makefile
46 obj-y := irq.o mm.o time.o devices.o gpio.o idle.o reset.o
48 +obj-$(CONFIG_PCI) += pci.o
50 # Board-specific support
51 obj-$(CONFIG_MACH_NAS4220B) += board-nas4220b.o
52 obj-$(CONFIG_MACH_RUT100) += board-rut1xx.o
53 --- a/arch/arm/mach-gemini/mm.c
54 +++ b/arch/arm/mach-gemini/mm.c
55 @@ -59,6 +59,11 @@ static struct map_desc gemini_io_desc[]
59 + .virtual = (unsigned long)IO_ADDRESS(GEMINI_PCI_IO_BASE),
60 + .pfn = __phys_to_pfn(GEMINI_PCI_IO_BASE),
64 .virtual = (unsigned long)IO_ADDRESS(GEMINI_FLASH_CTRL_BASE),
65 .pfn = __phys_to_pfn(GEMINI_FLASH_CTRL_BASE),