summaryrefslogtreecommitdiff
path: root/packages/linux
diff options
context:
space:
mode:
Diffstat (limited to 'packages/linux')
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.15/65-loft-config.patch84
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.15/defconfig6
-rw-r--r--packages/linux/ixp4xx-kernel_2.6.15.bb3
3 files changed, 90 insertions, 3 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
+
+
diff --git a/packages/linux/ixp4xx-kernel/2.6.15/defconfig b/packages/linux/ixp4xx-kernel/2.6.15/defconfig
index ff69ccc6f1..c05034de19 100644
--- a/packages/linux/ixp4xx-kernel/2.6.15/defconfig
+++ b/packages/linux/ixp4xx-kernel/2.6.15/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.15
-# Sun Jan 8 02:47:26 2006
+# Thu Jan 12 17:44:50 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
@@ -113,12 +113,14 @@ CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
#
CONFIG_MACH_NSLU2=y
# CONFIG_ARCH_AVILA is not set
+CONFIG_MACH_LOFT=y
# CONFIG_ARCH_ADI_COYOTE is not set
# CONFIG_ARCH_IXDP425 is not set
# CONFIG_MACH_IXDPG425 is not set
# CONFIG_MACH_IXDP465 is not set
# CONFIG_ARCH_PRPMC1100 is not set
CONFIG_MACH_NAS100D=y
+CONFIG_ARCH_IXDP4XX=y
# CONFIG_MACH_GTWX5715 is not set
#
@@ -177,7 +179,7 @@ CONFIG_ALIGNMENT_TRAP=y
#
CONFIG_ZBOOT_ROM_TEXT=0x0
CONFIG_ZBOOT_ROM_BSS=0x0
-CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f noirqdebug console=ttyS0,115200n8"
+CONFIG_CMDLINE="root=/dev/mtdblock4 rw rootfstype=jffs2 mem=32M@0x00000000 init=/linuxrc rtc-x1205.hctosys=1 rtc-x1205.probe=0,0x6f rtc-ds1672.probe=0,0x68 rtc-ds1672.hctosys=1 pcf8563.hctosys=1 noirqdebug console=ttyS0,115200n8"
# CONFIG_XIP_KERNEL is not set
#
diff --git a/packages/linux/ixp4xx-kernel_2.6.15.bb b/packages/linux/ixp4xx-kernel_2.6.15.bb
index 39ad707916..4a7cd96d37 100644
--- a/packages/linux/ixp4xx-kernel_2.6.15.bb
+++ b/packages/linux/ixp4xx-kernel_2.6.15.bb
@@ -8,7 +8,7 @@ PR_CONFIG = "0"
# Increment the number below (i.e. the digits after PR) when
# making changes within this file or for changes to the patches
# applied to the kernel.
-PR = "r3.${PR_CONFIG}"
+PR = "r4.${PR_CONFIG}"
include ixp4xx-kernel.inc
@@ -25,6 +25,7 @@ IXP4XX_PATCHES += "file://60-nas100d-i2c.patch;patch=1"
# IXP4XX_PATCHES += "file://60-nas100d-ide.patch;patch=1"
IXP4XX_PATCHES += "file://60-nas100d-rtc.patch;patch=1"
IXP4XX_PATCHES += "file://60-nslu2-beeper.patch;patch=1"
+IXP4XX_PATCHES += "file://65-loft-config.patch;patch=1"
# IXP4XX_PATCHES += "file://75-nslu2-leds.patch;patch=1"
IXP4XX_PATCHES += "file://80-nslu2-io.patch;patch=1"
IXP4XX_PATCHES += "file://85-timer.patch;patch=1"