diff options
Diffstat (limited to 'packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch')
-rw-r--r-- | packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch b/packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch new file mode 100644 index 0000000000..c6b0c7c679 --- /dev/null +++ b/packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch @@ -0,0 +1,84 @@ +support for the Giant Shoulder Inc Loft board - a very minor +variation on a standard Avila board + +--- linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig 1970-01-01 00:00:00.000000000 +0000 +@@ -25,6 +25,12 @@ config ARCH_AVILA + Avila Network Platform. For more information on this platform, + see <file:Documentation/arm/IXP4xx>. + ++config MACH_LOFT ++ bool "Loft" ++ help ++ Say 'Y' here if you want your kernel to support the Giant ++ Shoulder Inc Loft board. ++ + config ARCH_ADI_COYOTE + bool "Coyote" + help +@@ -85,7 +91,7 @@ config MACH_NAS100D + # + config ARCH_IXDP4XX + bool +- depends on ARCH_IXDP425 || ARCH_AVILA || MACH_IXDP465 ++ depends on ARCH_IXDP425 || ARCH_AVILA || MACH_IXDP465 || MACH_LOFT + default y + + # +--- linux-2.6.15/arch/arm/mach-ixp4xx/ixdp425-pci.c 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.15/arch/arm/mach-ixp4xx/ixdp425-pci.c 1970-01-01 00:00:00.000000000 +0000 +@@ -51,7 +51,8 @@ static int __init ixdp425_map_irq(struct + + int irq = -1; + +- if (slot >= 1 && slot <= IXDP425_PCI_MAX_DEV && ++ if (slot >= 1 && ++ slot <= (machine_is_loft() ? LOFT_PCI_MAX_DEV : IXDP425_PCI_MAX_DEV) && + pin >= 1 && pin <= IXDP425_PCI_IRQ_LINES) { + irq = pci_irq_table[(slot + pin - 2) % 4]; + } +@@ -71,7 +72,8 @@ struct hw_pci ixdp425_pci __initdata = { + int __init ixdp425_pci_init(void) + { + if (machine_is_ixdp425() || machine_is_ixcdp1100() || +- machine_is_avila() || machine_is_ixdp465()) ++ machine_is_avila() || machine_is_ixdp465() || ++ machine_is_loft()) + pci_common_init(&ixdp425_pci); + return 0; + } +--- linux-2.6.15/arch/arm/mach-ixp4xx/ixdp425-setup.c 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.15/arch/arm/mach-ixp4xx/ixdp425-setup.c 1970-01-01 00:00:00.000000000 +0000 +@@ -185,3 +185,22 @@ MACHINE_START(AVILA, "Gateworks Avila Ne + MACHINE_END + #endif + ++/* ++ * Loft is functionally equivalent to Avila except that it has a ++ * different number for the maximum PCI devices. The MACHINE ++ * structure below is identical to Avila except for the comment. ++ */ ++#ifdef CONFIG_MACH_LOFT ++MACHINE_START(LOFT, "Giant Shoulder Inc Loft board") ++ /* Maintainer: Tom Billman <kernel@giantshoulderinc.com> */ ++ .phys_ram = PHYS_OFFSET, ++ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS, ++ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc, ++ .map_io = ixp4xx_map_io, ++ .init_irq = ixp4xx_init_irq, ++ .timer = &ixp4xx_timer, ++ .boot_params = 0x0100, ++ .init_machine = ixdp425_init, ++MACHINE_END ++#endif ++ +--- linux-2.6.15/include/asm-arm/arch-ixp4xx/ixdp425.h 1970-01-01 00:00:00.000000000 +0000 ++++ linux-2.6.15/include/asm-arm/arch-ixp4xx/ixdp425.h 1970-01-01 00:00:00.000000000 +0000 +@@ -26,6 +26,7 @@ + * IXDP425 PCI IRQs + */ + #define IXDP425_PCI_MAX_DEV 4 ++#define LOFT_PCI_MAX_DEV 6 + #define IXDP425_PCI_IRQ_LINES 4 + + |