summaryrefslogtreecommitdiff
path: root/packages/linux/ixp4xx-kernel
diff options
context:
space:
mode:
authorRod Whitby <rod@whitby.id.au>2006-02-11 12:21:46 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-02-11 12:21:46 +0000
commitada160dc6fb45bb99f851d241f060e369fa9b3a3 (patch)
tree940a66026b171ee17f293d930a30662ea81feab4 /packages/linux/ixp4xx-kernel
parentfa3539b899bac502ce29f0cb073dbfd50f8a505f (diff)
disapproval of revision '20f5c236b9ebdf5e2fc0e5acea55f39e77588bb8'
Diffstat (limited to 'packages/linux/ixp4xx-kernel')
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch16
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch154
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch11
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch102
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch27
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch73
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch75
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch288
-rw-r--r--packages/linux/ixp4xx-kernel/2.6.16/defconfig117
9 files changed, 63 insertions, 800 deletions
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch b/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch
deleted file mode 100644
index 6610cc0872..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch
+++ /dev/null
@@ -1,16 +0,0 @@
- include/asm-arm/arch-ixp4xx/nas100d.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- linux-nslu2.orig/include/asm-arm/arch-ixp4xx/nas100d.h 2006-02-06 20:37:38.000000000 +0100
-+++ linux-nslu2/include/asm-arm/arch-ixp4xx/nas100d.h 2006-02-09 14:33:49.000000000 +0100
-@@ -19,8 +19,8 @@
- #error "Do not include this directly, instead #include <asm/hardware.h>"
- #endif
-
--#define NAS100D_SDA_PIN 6
--#define NAS100D_SCL_PIN 5
-+#define NAS100D_SDA_PIN 5
-+#define NAS100D_SCL_PIN 6
-
- /*
- * NAS100D PCI IRQs
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch
deleted file mode 100644
index e84508b85b..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch
+++ /dev/null
@@ -1,154 +0,0 @@
- arch/arm/mach-ixp4xx/ixdp425-setup.c | 115 ++++++++++++++++++++++++++++++++++-
- 1 file changed, 112 insertions(+), 3 deletions(-)
-
---- linux-nslu2.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-10 18:03:51.000000000 +0100
-+++ linux-nslu2/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-10 18:06:40.000000000 +0100
-@@ -15,6 +15,7 @@
- #include <linux/tty.h>
- #include <linux/serial_8250.h>
- #include <linux/slab.h>
-+#include <linux/eeprom.h>
-
- #include <asm/types.h>
- #include <asm/setup.h>
-@@ -25,6 +26,10 @@
- #include <asm/mach/arch.h>
- #include <asm/mach/flash.h>
-
-+#ifdef CONFIG_MACLIST
-+#include <net/maclist.h>
-+#endif
-+
- static struct flash_platform_data ixdp425_flash_data = {
- .map_name = "cfi_probe",
- .width = 2,
-@@ -176,17 +181,122 @@ MACHINE_START(AVILA, "Gateworks Avila Ne
- MACHINE_END
- #endif
-
-+#ifdef CONFIG_MACH_LOFT
- /*
- * 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.
-+ * structure below is derived from the Avila one (and may, in
-+ * fact, be useful on Avila in general).
-+ *
-+ * The loft init registers a notifier on the on-board EEPROM to
-+ * detect the MAC addresses.
-+ * NOTE: this probably works for all Gateworks Avila boards and
-+ * maybe the ixdp425 too.
-+ *
-+ * When the EEPROM is added the MAC address are read from it.
- */
--#ifdef CONFIG_MACH_LOFT
-+
-+#if defined(CONFIG_SENSORS_EEPROM) && defined(CONFIG_MACLIST)
-+static void loft_eeprom_add(int address, int kind, struct kobject *kobj,
-+ struct bin_attribute *eeprom_attr) {
-+ /* The MACs are the first 12 bytes in the eeprom at address 0x51 */
-+ if (address == 0x51) {
-+ ssize_t retlen;
-+ char data[12];
-+
-+ /* Two Macs, one at 0, the other at 6, maclist_add will
-+ * complain if the ID is not a valid MAC.
-+ */
-+ retlen = eeprom_attr->read(kobj, data, 0, sizeof data);
-+ if (retlen >= 6) {
-+ u8 mac[6];
-+ memcpy(mac, data+0, sizeof mac);
-+ printk(KERN_INFO "LOFT MAC[0]: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
-+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-+ maclist_add(mac);
-+ }
-+ if (retlen >= 12) {
-+ u8 mac[6];
-+ memcpy(mac, data+6, sizeof mac);
-+ printk(KERN_INFO "LOFT MAC[1]: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
-+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-+ maclist_add(mac);
-+ }
-+ }
-+}
-+
-+static struct eeprom_notifier loft_eeprom_notifier = {
-+ .add = loft_eeprom_add
-+};
-+#endif
-+
-+/*
-+ * Loft bootstrap may pass in parameters, if these contain an
-+ * ATAG_MEM and it appears valid (not the 16MByte one in the
-+ * setup/kernel.c default) we use it, otherwise a 64MByte
-+ * setting is forced here, this may be overridden on the
-+ * command line.
-+ */
-+static void __init loft_fixup(struct machine_desc *desc,
-+ struct tag *tags, char **cmdline, struct meminfo *mi)
-+{
-+ char saved_command_line[COMMAND_LINE_SIZE];
-+
-+ /* Put Loft specific known-required-for-certain stuff here, leave
-+ * a trailing space!
-+ */
-+ static char loft_command_line[] =
-+ "root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc "
-+ "rtc-ds1672.probe=0,0x68 ";
-+ const int len = (sizeof loft_command_line) - 1;
-+ int memtag = 0;
-+
-+ /* The EEPROM has two ethernet MACs embedded in it which we need,
-+ * that is all this notifier does.
-+ */
-+#ifdef CONFIG_SENSORS_EEPROM
-+ register_eeprom_user(&loft_eeprom_notifier);
-+#endif
-+
-+ /* The Loft typically has one bank of 64MByte memory.
-+ * NOTE: setting nr_banks != 0 causes kernel/setup.c to remove
-+ * the mem tags from the tag list, so if there is an entry
-+ * there don't remove it!
-+ */
-+ if (tags->hdr.tag == ATAG_CORE) do {
-+ tags = tag_next(tags);
-+ printk(KERN_NOTICE "ATAG[0x%x] size %d\n", tags->hdr.tag, tags->hdr.size);
-+ if (tags->hdr.tag == ATAG_MEM && tags->hdr.size == tag_size(tag_mem32) &&
-+ (tags->u.mem.start != 0 || tags->u.mem.size != (16*1024*1024))) {
-+ memtag = 1;
-+ printk(KERN_NOTICE " ATAG_MEM base %x, size %dMB\n",
-+ tags->u.mem.start,
-+ tags->u.mem.size / (1024*1024));
-+ }
-+ } while (tags->hdr.size);
-+
-+ if (!memtag) {
-+ mi->nr_banks = 1;
-+ mi->bank[0].start = 0;
-+ mi->bank[0].size = (64*1024*1024);
-+ mi->bank[0].node = PHYS_TO_NID(0);
-+ }
-+
-+ /* A command line in the ATAG list will override this one,
-+ * as is intended.
-+ */
-+ memcpy(saved_command_line, *cmdline, COMMAND_LINE_SIZE);
-+ memcpy(*cmdline, loft_command_line, len);
-+ memcpy(*cmdline + len, saved_command_line, COMMAND_LINE_SIZE - len);
-+ *cmdline[COMMAND_LINE_SIZE-1] = 0;
-+}
-+
- 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,
-+ .fixup = loft_fixup,
- .map_io = ixp4xx_map_io,
- .init_irq = ixp4xx_init_irq,
- .timer = &ixp4xx_timer,
-@@ -194,4 +304,3 @@ MACHINE_START(LOFT, "Giant Shoulder Inc
- .init_machine = ixdp425_init,
- MACHINE_END
- #endif
--
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch
index b9c4c265d0..bc7bf2061a 100644
--- a/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch
+++ b/packages/linux/ixp4xx-kernel/2.6.16/94-nas100d-setup.patch
@@ -4,11 +4,11 @@ in the boot loader.
Signed-off-by: John Bowler <jbowler@acm.org>
- arch/arm/mach-ixp4xx/nas100d-setup.c | 42 +++++++++++++++++++++++++++++++++++
- 1 file changed, 42 insertions(+)
+ arch/arm/mach-ixp4xx/nas100d-setup.c | 43 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 43 insertions(+)
---- linux-nslu2.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-09 13:24:19.000000000 +0100
-+++ linux-nslu2/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-09 15:13:56.000000000 +0100
+--- linux-nslu2.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 22:35:26.000000000 +0100
++++ linux-nslu2/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-06 22:40:20.000000000 +0100
@@ -17,6 +17,8 @@
#include <linux/serial_8250.h>
#include <linux/mtd/mtd.h>
@@ -18,7 +18,7 @@ Signed-off-by: John Bowler <jbowler@acm.org>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/flash.h>
-@@ -161,11 +163,51 @@ static void __init nas100d_init(void)
+@@ -161,11 +163,52 @@ static void __init nas100d_init(void)
platform_add_devices(nas100d_devices, ARRAY_SIZE(nas100d_devices));
}
@@ -41,6 +41,7 @@ Signed-off-by: John Bowler <jbowler@acm.org>
+ */
+static char nas100d_command_line[] __initdata =
+ "root=/dev/mtdblock2 rootfstype=jffs2 init=/linuxrc "
++ "pcf8563.hctosys=1 "
+ CONFIG_CMDLINE;
+
+static void __init nas100d_fixup(struct machine_desc *desc,
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch
deleted file mode 100644
index d9a5f07494..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-diff -ruN linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/hardware.h linux-2.6.15.new/include/asm-arm/arch-ixp4xx/hardware.h
---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-11 02:58:47.000000000 +0100
-+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-10 22:26:54.000000000 +0100
-@@ -46,5 +46,6 @@
- #include "prpmc1100.h"
- #include "nslu2.h"
- #include "nas100d.h"
-+#include "ds101.h"
-
- #endif /* _ASM_ARCH_HARDWARE_H */
-diff -ruN linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/irqs.h linux-2.6.15.new/include/asm-arm/arch-ixp4xx/irqs.h
---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-11 02:58:47.000000000 +0100
-+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-10 22:56:11.000000000 +0100
-@@ -108,5 +108,12 @@
- #define IRQ_NAS100D_PCI_INTC IRQ_IXP4XX_GPIO9
- #define IRQ_NAS100D_PCI_INTD IRQ_IXP4XX_GPIO8
- #define IRQ_NAS100D_PCI_INTE IRQ_IXP4XX_GPIO7
-+/*
-+ * DS101 board IRQs
-+ */
-+
-+#define IRQ_DS101_PCI_INTA IRQ_IXP4XX_GPIO11
-+#define IRQ_DS101_PCI_INTB IRQ_IXP4XX_GPIO10
-+#define IRQ_DS101_PCI_INTC IRQ_IXP4XX_GPIO9
-
- #endif
-diff -ruN linux-2.6.15.orig/include/asm-arm/arch/ds101.h linux-2.6.15.new/include/asm-arm/arch/ds101.h
---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/ds101.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15.new/include/asm-arm/arch-ixp4xx/ds101.h 2006-02-10 22:16:24.000000000 +0100
-@@ -0,0 +1,72 @@
-+/*
-+ * include/asm-arm/arch-ixp4xx/ds101.h
-+ *
-+ * DS101 platform specific definitions
-+ *
-+ * Copyright (c) 2005 Tower Technologies
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ *
-+ * based on ixdp425.h:
-+ * Copyright 2004 (c) MontaVista, Software, Inc.
-+ *
-+ * This file is licensed under the terms of the GNU General Public
-+ * License version 2. This program is licensed "as is" without any
-+ * warranty of any kind, whether express or implied.
-+ */
-+
-+#ifndef __ASM_ARCH_HARDWARE_H__
-+#error "Do not include this directly, instead #include <asm/hardware.h>"
-+#endif
-+
-+#define DS101_SDA_PIN 1
-+#define DS101_SCL_PIN 0
-+
-+/*
-+ * DS101 PCI IRQs
-+ */
-+#define DS101_PCI_MAX_DEV 3
-+#define DS101_PCI_IRQ_LINES 3
-+
-+
-+/* PCI controller GPIO to IRQ pin mappings */
-+#define DS101_PCI_INTA_PIN 11
-+#define DS101_PCI_INTB_PIN 10
-+#define DS101_PCI_INTC_PIN 9
-+// #define DS101_PCI_INTD_PIN 8
-+// #define DS101_PCI_INTE_PIN 7
-+
-+/* GPIO */
-+
-+#define DS101_GPIO0 0
-+#define DS101_GPIO1 1
-+#define DS101_GPIO2 2
-+#define DS101_GPIO3 3
-+#define DS101_GPIO4 4
-+#define DS101_GPIO5 5
-+#define DS101_GPIO6 6
-+#define DS101_GPIO7 7
-+#define DS101_GPIO8 8
-+#define DS101_GPIO9 9
-+#define DS101_GPIO10 10
-+#define DS101_GPIO11 11
-+#define DS101_GPIO12 12
-+#define DS101_GPIO13 13
-+#define DS101_GPIO14 14
-+#define DS101_GPIO15 15
-+
-+
-+/* Buttons */
-+
-+#define DS101_PB_GPIO DS101_GPIO8
-+#define DS101_RB_GPIO DS101_GPIO12
-+#define DS101_PO_GPIO DS101_GPIO7 /* power off */
-+
-+#define DS101_PB_IRQ IRQ_IXP4XX_GPIO8
-+#define DS101_RB_IRQ IRQ_IXP4XX_GPIO12
-+
-+/*
-+#define DS101_PB_BM (1L << DS101_PB_GPIO)
-+#define DS101_PO_BM (1L << DS101_PO_GPIO)
-+#define DS101_RB_BM (1L << DS101_RB_GPIO)
-+*/
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch
deleted file mode 100644
index ea5f91b45f..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-misc.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/Makefile linux-2.6.15.new/arch/arm/mach-ixp4xx/Makefile
---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Makefile 2006-02-11 02:57:58.000000000 +0100
-+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/Makefile 2006-02-10 22:13:27.000000000 +0100
-@@ -10,4 +10,4 @@
- obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o
- obj-$(CONFIG_MACH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-power.o
- obj-$(CONFIG_MACH_NAS100D) += nas100d-pci.o nas100d-setup.o nas100d-power.o
--
-+obj-$(CONFIG_MACH_DS101) += ds101-pci.o ds101-setup.o ds101-power.o
-diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/Kconfig linux-2.6.15.new/arch/arm/mach-ixp4xx/Kconfig
---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Kconfig 2006-02-11 03:00:07.000000000 +0100
-+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/Kconfig 2006-02-10 22:21:09.000000000 +0100
-@@ -86,6 +86,14 @@
- NAS 100d device. For more information on this platform,
- see http://www.nslu2-linux.org/wiki/NAS100d/HomePage
-
-+config MACH_DS101
-+ bool
-+ prompt "DS101"
-+ help
-+ Say 'Y' here if you want your kernel to support Synology's
-+ DiskStation DS101(j) device. For more information on this
-+ platform see http://www.nslu2-linux.org/wiki/DS101/HomePage
-+
- #
- # Avila and IXDP share the same source for now. Will change in future
- #
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch
deleted file mode 100644
index 8940bd63a6..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-pci.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-pci.c
---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-pci.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-pci.c 2006-02-10 22:31:00.000000000 +0100
-@@ -0,0 +1,69 @@
-+/*
-+ * arch/arm/mach-ixp4xx/ds101-pci.c
-+ *
-+ * DS101 board-level PCI initialization
-+ *
-+ * based on ixdp425-pci.c:
-+ * Copyright (C) 2002 Intel Corporation.
-+ * Copyright (C) 2003-2004 MontaVista Software, Inc.
-+ *
-+ * Maintainer: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/config.h>
-+#include <linux/pci.h>
-+#include <linux/init.h>
-+
-+#include <asm/mach/pci.h>
-+#include <asm/mach-types.h>
-+
-+void __init ds101_pci_preinit(void)
-+{
-+ set_irq_type(IRQ_DS101_PCI_INTA, IRQT_LOW);
-+ set_irq_type(IRQ_DS101_PCI_INTB, IRQT_LOW);
-+ set_irq_type(IRQ_DS101_PCI_INTC, IRQT_LOW);
-+
-+ ixp4xx_pci_preinit();
-+}
-+
-+static int __init ds101_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
-+{
-+ static int pci_irq_table[DS101_PCI_MAX_DEV][DS101_PCI_IRQ_LINES] =
-+ {
-+ { IRQ_DS101_PCI_INTA, -1, -1 },
-+ { IRQ_DS101_PCI_INTB, -1, -1 },
-+ { IRQ_DS101_PCI_INTC, -1, -1 },
-+ };
-+
-+ int irq = -1;
-+
-+ if (slot >= 1 && slot <= DS101_PCI_MAX_DEV &&
-+ pin >= 1 && pin <= DS101_PCI_IRQ_LINES)
-+ irq = pci_irq_table[slot-1][pin-1];
-+
-+ return irq;
-+}
-+
-+struct hw_pci __initdata ds101_pci = {
-+ .nr_controllers = 1,
-+ .preinit = ds101_pci_preinit,
-+ .swizzle = pci_std_swizzle,
-+ .setup = ixp4xx_setup,
-+ .scan = ixp4xx_scan_bus,
-+ .map_irq = ds101_map_irq,
-+};
-+
-+int __init ds101_pci_init(void)
-+{
-+ if (machine_is_ds101())
-+ pci_common_init(&ds101_pci);
-+
-+ return 0;
-+}
-+
-+subsys_initcall(ds101_pci_init);
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch
deleted file mode 100644
index 3c309f3536..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-power.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-power.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-power.c
---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-power.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-power.c 2006-02-10 23:54:40.000000000 +0100
-@@ -0,0 +1,71 @@
-+/*
-+ * arch/arm/mach-ixp4xx/ds101-power.c
-+ *
-+ * DS101 Power/Reset driver
-+ *
-+ * Copyright (C) 2005 Tower Technologies
-+ *
-+ * based on ds101-io.c
-+ * Copyright (C) 2004 Karen Spearel
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Author: OEyvind Repvik <oyvind@repvik.org>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ */
-+
-+#include <linux/module.h>
-+#include <linux/reboot.h>
-+#include <linux/interrupt.h>
-+
-+#include <asm/mach-types.h>
-+
-+extern void ctrl_alt_del(void);
-+
-+static irqreturn_t ds101_reset_handler(int irq, void *dev_id, struct pt_regs *regs)
-+{
-+ /* Signal init to do the ctrlaltdel action, this will bypass init if
-+ * it hasn't started and do a kernel_restart.
-+ */
-+ ctrl_alt_del();
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static int __init ds101_power_init(void)
-+{
-+ if (!(machine_is_ds101()))
-+ return 0;
-+
-+ set_irq_type(DS101_RB_IRQ, IRQT_LOW);
-+
-+ if (request_irq(DS101_RB_IRQ, &ds101_reset_handler,
-+ SA_INTERRUPT, "DS101 reset button", NULL) < 0) {
-+
-+ printk(KERN_DEBUG "Reset Button IRQ %d not available\n",
-+ DS101_RB_IRQ);
-+
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+
-+static void __exit ds101_power_exit(void)
-+{
-+ if (!(machine_is_ds101()))
-+ return;
-+
-+ free_irq(DS101_RB_IRQ, NULL);
-+}
-+
-+module_init(ds101_power_init);
-+module_exit(ds101_power_exit);
-+
-+MODULE_AUTHOR("Alessandro Zummo <a.zummo@towertech.it>");
-+MODULE_DESCRIPTION("DS101 Power/Reset driver");
-+MODULE_LICENSE("GPL");
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch
deleted file mode 100644
index ac3f7d19c7..0000000000
--- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-diff -ruN linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-setup.c linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-setup.c
---- linux-2.6.15.orig/arch/arm/mach-ixp4xx/ds101-setup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux-2.6.15.new/arch/arm/mach-ixp4xx/ds101-setup.c 2006-02-11 02:17:35.000000000 +0100
-@@ -0,0 +1,284 @@
-+/*
-+ * arch/arm/mach-ixp4xx/ds101-setup.c
-+ *
-+ * DS 101 board-setup
-+ *
-+ * based ixdp425-setup.c:
-+ * Copyright (C) 2003-2004 MontaVista Software, Inc.
-+ *
-+ * Author: Alessandro Zummo <a.zummo@towertech.it>
-+ * Author: Rod Whitby <rod@whitby.id.au>
-+ * Author: OEyvind Repvik <oyvind@repvik.org>
-+ * Maintainers: http://www.nslu2-linux.org/
-+ *
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/serial.h>
-+#include <linux/serial_8250.h>
-+#include <linux/mtd/mtd.h>
-+#include <linux/leds.h>
-+
-+#include <asm/setup.h>
-+#include <asm/memory.h>
-+#include <asm/mach-types.h>
-+#include <asm/mach/arch.h>
-+#include <asm/mach/flash.h>
-+
-+#include <net/maclist.h>
-+
-+static struct flash_platform_data ds101_flash_data = {
-+ .map_name = "cfi_probe",
-+ .width = 2,
-+};
-+
-+static struct resource ds101_flash_resource = {
-+ .flags = IORESOURCE_MEM,
-+};
-+
-+static struct platform_device ds101_flash = {
-+ .name = "IXP4XX-Flash",
-+ .id = 0,
-+ .dev.platform_data = &ds101_flash_data,
-+ .num_resources = 1,
-+ .resource = &ds101_flash_resource,
-+};
-+
-+#ifdef CONFIG_LEDS_CLASS
-+static struct resource ds101_led_resources[] = {
-+ {
-+ .name = "power", /* blue power led */
-+ .start = 3,
-+ .end = 3,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+ {
-+ .name = "status-1",
-+ .start = 14,
-+ .end = 14,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+ {
-+ .name = "status-2",
-+ .start = 15,
-+ .end = 15,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+ {
-+ .name = "usb-1", /* The usb-copy-button led */
-+ .start = 5,
-+ .end = 5,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+ {
-+ .name = "usb-2", /* also the usb-copy-button led */
-+ .start = 4,
-+ .end = 4,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+ {
-+ .name = "test",
-+ .start = 6,
-+ .end = 6,
-+ .flags = IXP4XX_GPIO_LOW,
-+ },
-+};
-+
-+
-+static struct platform_device ds101_leds = {
-+ .name = "IXP4XX-GPIO-LED",
-+ .id = -1,
-+ .num_resources = ARRAY_SIZE(ds101_led_resources),
-+ .resource = ds101_led_resources,
-+};
-+#endif
-+
-+static struct ixp4xx_i2c_pins ds101_i2c_gpio_pins = {
-+ .sda_pin = DS101_SDA_PIN,
-+ .scl_pin = DS101_SCL_PIN,
-+};
-+
-+static struct platform_device ds101_i2c_controller = {
-+ .name = "IXP4XX-I2C",
-+ .id = 0,
-+ .dev.platform_data = &ds101_i2c_gpio_pins,
-+ .num_resources = 0,
-+};
-+
-+static struct platform_device ds101_beeper = {
-+ .name = "ixp4xx-beeper",
-+ .id = 2,
-+ .num_resources = 0,
-+};
-+
-+static struct resource ds101_uart_resources[] = {
-+ {
-+ .start = IXP4XX_UART1_BASE_PHYS,
-+ .end = IXP4XX_UART1_BASE_PHYS + 0x0fff,
-+ .flags = IORESOURCE_MEM,
-+ },
-+ {
-+ .start = IXP4XX_UART2_BASE_PHYS,
-+ .end = IXP4XX_UART2_BASE_PHYS + 0x0fff,
-+ .flags = IORESOURCE_MEM,
-+ }
-+};
-+
-+static struct plat_serial8250_port ds101_uart_data[] = {
-+ {
-+ .mapbase = IXP4XX_UART1_BASE_PHYS,
-+ .membase = (char *)IXP4XX_UART1_BASE_VIRT + REG_OFFSET,
-+ .irq = IRQ_IXP4XX_UART1,
-+ .flags = UPF_BOOT_AUTOCONF,
-+ .iotype = UPIO_MEM,
-+ .regshift = 2,
-+ .uartclk = IXP4XX_UART_XTAL,
-+ },
-+ {
-+ .mapbase = IXP4XX_UART2_BASE_PHYS,
-+ .membase = (char *)IXP4XX_UART2_BASE_VIRT + REG_OFFSET,
-+ .irq = IRQ_IXP4XX_UART2,
-+ .flags = UPF_BOOT_AUTOCONF,
-+ .iotype = UPIO_MEM,
-+ .regshift = 2,
-+ .uartclk = IXP4XX_UART_XTAL,
-+ },
-+ { }
-+};
-+
-+static struct platform_device ds101_uart = {
-+ .name = "serial8250",
-+ .id = PLAT8250_DEV_PLATFORM,
-+ .dev.platform_data = ds101_uart_data,
-+ .num_resources = 2,
-+ .resource = ds101_uart_resources,
-+};
-+
-+static struct platform_device *ds101_devices[] __initdata = {
-+ &ds101_i2c_controller,
-+ &ds101_flash,
-+ &ds101_beeper,
-+};
-+
-+static void ds101_power_off(void)
-+{
-+ /* This causes the box to drop the power and go dead. */
-+
-+ /* enable the pwr cntl gpio */
-+ gpio_line_config(DS101_PO_GPIO, IXP4XX_GPIO_OUT);
-+
-+ /* do the deed */
-+ gpio_line_set(DS101_PO_GPIO, IXP4XX_GPIO_HIGH);
-+}
-+
-+/*
-+ * When the RedBoot config partition is added the MAC address is read from
-+ * it.
-+ * FIXME: This isn't correct on the DS101!
-+ */
-+static void ds101_flash_add(struct mtd_info *mtd) {
-+ if (strcmp(mtd->name, "RedBoot config") == 0) {
-+ size_t retlen;
-+ u_char mac[6];
-+
-+ /* The MAC is at a known offset... */
-+ if (mtd->read(mtd, 0x0FD8, 6, &retlen, mac) == 0 && retlen == 6) {
-+ printk(KERN_INFO "DS101 MAC: %.2x:%.2x:%.2x:%.2x:%.2x:%.2x\n",
-+ mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-+ maclist_add(mac);
-+ } else {
-+ printk(KERN_ERR "DS101 MAC: read failed\n");
-+ }
-+ }
-+}
-+
-+/*
-+ * Nothing to do on remove at present.
-+ */
-+static void ds101_flash_remove(struct mtd_info *mtd) {
-+}
-+
-+static struct mtd_notifier ds101_flash_notifier = {
-+ .add = ds101_flash_add,
-+ .remove = ds101_flash_remove,
-+};
-+
-+static void __init ds101_init(void)
-+{
-+ /* The flash has an ethernet MAC embedded in it which we need,
-+ * that is all this notifier does.
-+ */
-+ register_mtd_user(&ds101_flash_notifier);
-+
-+ ixp4xx_sys_init();
-+
-+ ds101_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
-+ ds101_flash_resource.end =
-+ IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
-+
-+ pm_power_off = ds101_power_off;
-+
-+ /* This is only useful on a modified machine, but it is valuable
-+ * to have it first in order to see debug messages, and so that
-+ * it does *not* get removed if platform_add_devices fails!
-+ */
-+ (void)platform_device_register(&ds101_uart);
-+
-+ platform_add_devices(ds101_devices, ARRAY_SIZE(ds101_devices));
-+
-+#ifdef CONFIG_LEDS_CLASS
-+ /* We don't care whether or not this works. */
-+ (void)platform_device_register(&ds101_leds);
-+#endif
-+}
-+
-+/*
-+ * DS101 bootstrap may pass in parameters, but we zap the mem
-+ * settings to be safe (the box always has 64MByte at 0). The
-+ * passed in command line can override this default, we prepend
-+ * to the config'ed default.
-+ *
-+ * NOTE: the startup sequence is:
-+ * 1) Call the machine fixup
-+ * 2) Parse the ATAG list, the ATAG_CMDLINE is copied in
-+ * to default_command_line which is the value of *from
-+ * 3) Parse the command line in *from (*not*
-+ * default_command_line unless they are the same!)
-+ *
-+ * Setting mi->nr_banks causes (2) to 'squash' (set to ATAG_NONE)
-+ * any ATAG_MEM tags, but mem= command line options cause nr_banks
-+ * to be reset to 0 (on the first mem=)
-+ */
-+static char ds101_command_line[] __initdata =
-+ "root=/dev/sda1 rootfstype=ext3 init=/sbin/init "
-+ CONFIG_CMDLINE;
-+
-+static void __init ds101_fixup(struct machine_desc *desc,
-+ struct tag *tags, char **cmdline, struct meminfo *mi)
-+{
-+ /* The DS101 has one bank of 64MByte memory.
-+ * NOTE: setting nr_banks != 0 causes kernel/setup.c to remove
-+ * the mem tags from the tag list. We need do nothing here!
-+ */
-+ mi->nr_banks=1;
-+ mi->bank[0].start = 0;
-+ mi->bank[0].size = (64*1024*1024);
-+ mi->bank[0].node = PHYS_TO_NID(0);
-+
-+ /* A command line in the ATAG list will override this one,
-+ * as is intended.
-+ */
-+ strlcpy(*cmdline, ds101_command_line, COMMAND_LINE_SIZE);
-+}
-+
-+MACHINE_START(DS101, "Synology DiskStation DS101")
-+ /* Maintainer: www.nslu2-linux.org */
-+ .phys_io = IXP4XX_PERIPHERAL_BASE_PHYS,
-+ .io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xFFFC,
-+ .boot_params = 0x00000100,
-+ .fixup = ds101_fixup,
-+ .map_io = ixp4xx_map_io,
-+ .init_irq = ixp4xx_init_irq,
-+ .timer = &ixp4xx_timer,
-+ .init_machine = ds101_init,
-+MACHINE_END
diff --git a/packages/linux/ixp4xx-kernel/2.6.16/defconfig b/packages/linux/ixp4xx-kernel/2.6.16/defconfig
index e7973518c7..25c2ba40c2 100644
--- a/packages/linux/ixp4xx-kernel/2.6.16/defconfig
+++ b/packages/linux/ixp4xx-kernel/2.6.16/defconfig
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.16-rc2
-# Thu Feb 9 23:00:47 2006
+# Thu Feb 9 20:54:57 2006
#
CONFIG_ARM=y
CONFIG_MMU=y
@@ -124,7 +124,6 @@ CONFIG_ARCH_IXDP425=y
CONFIG_ARCH_IXCDP1100=y
# CONFIG_ARCH_PRPMC1100 is not set
CONFIG_MACH_NAS100D=y
-CONFIG_MACH_DS101=y
CONFIG_ARCH_IXDP4XX=y
# CONFIG_MACH_GTWX5715 is not set
@@ -584,7 +583,60 @@ CONFIG_CDROM_PKTCDVD_BUFFERS=8
#
# ATA/ATAPI/MFM/RLL support
#
-# CONFIG_IDE is not set
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+# CONFIG_BLK_DEV_IDE_SATA is not set
+CONFIG_BLK_DEV_IDEDISK=y
+# CONFIG_IDEDISK_MULTI_MODE is not set
+# CONFIG_BLK_DEV_IDECD is not set
+# CONFIG_BLK_DEV_IDETAPE is not set
+# CONFIG_BLK_DEV_IDEFLOPPY is not set
+# CONFIG_BLK_DEV_IDESCSI is not set
+# CONFIG_IDE_TASK_IOCTL is not set
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+# CONFIG_IDEPCI_SHARE_IRQ is not set
+# CONFIG_BLK_DEV_OFFBOARD is not set
+# CONFIG_BLK_DEV_GENERIC is not set
+# CONFIG_BLK_DEV_OPTI621 is not set
+# CONFIG_BLK_DEV_SL82C105 is not set
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
+# CONFIG_IDEDMA_PCI_AUTO is not set
+CONFIG_BLK_DEV_AEC62XX=y
+# CONFIG_BLK_DEV_ALI15X3 is not set
+# CONFIG_BLK_DEV_AMD74XX is not set
+# CONFIG_BLK_DEV_CMD64X is not set
+# CONFIG_BLK_DEV_TRIFLEX is not set
+# CONFIG_BLK_DEV_CY82C693 is not set
+# CONFIG_BLK_DEV_CS5520 is not set
+# CONFIG_BLK_DEV_CS5530 is not set
+# CONFIG_BLK_DEV_HPT34X is not set
+# CONFIG_BLK_DEV_HPT366 is not set
+# CONFIG_BLK_DEV_SC1200 is not set
+# CONFIG_BLK_DEV_PIIX is not set
+# CONFIG_BLK_DEV_IT821X is not set
+# CONFIG_BLK_DEV_NS87415 is not set
+# CONFIG_BLK_DEV_PDC202XX_OLD is not set
+# CONFIG_BLK_DEV_PDC202XX_NEW is not set
+# CONFIG_BLK_DEV_SVWKS is not set
+# CONFIG_BLK_DEV_SIIMAGE is not set
+# CONFIG_BLK_DEV_SLC90E66 is not set
+# CONFIG_BLK_DEV_TRM290 is not set
+# CONFIG_BLK_DEV_VIA82CXXX is not set
+# CONFIG_IDE_ARM is not set
+CONFIG_BLK_DEV_IDEDMA=y
+# CONFIG_IDEDMA_IVB is not set
+# CONFIG_IDEDMA_AUTO is not set
+# CONFIG_BLK_DEV_HD is not set
#
# SCSI device support
@@ -634,53 +686,7 @@ CONFIG_SCSI_MULTI_LUN=y
# CONFIG_MEGARAID_NEWGEN is not set
# CONFIG_MEGARAID_LEGACY is not set
# CONFIG_MEGARAID_SAS is not set
-CONFIG_SCSI_SATA=y
-# CONFIG_SCSI_SATA_AHCI is not set
-# CONFIG_SCSI_SATA_SVW is not set
-# CONFIG_SCSI_ATA_PIIX is not set
-# CONFIG_SCSI_SATA_MV is not set
-# CONFIG_SCSI_SATA_NV is not set
-# CONFIG_SCSI_PDC_ADMA is not set
-# CONFIG_SCSI_SATA_QSTOR is not set
-# CONFIG_SCSI_SATA_PROMISE is not set
-# CONFIG_SCSI_SATA_SX4 is not set
-# CONFIG_SCSI_SATA_SIL is not set
-# CONFIG_SCSI_SATA_SIL24 is not set
-# CONFIG_SCSI_SATA_SIS is not set
-# CONFIG_SCSI_SATA_ULI is not set
-# CONFIG_SCSI_SATA_VIA is not set
-# CONFIG_SCSI_SATA_VITESSE is not set
-# CONFIG_SCSI_PATA_ALI is not set
-# CONFIG_SCSI_PATA_AMD is not set
-CONFIG_SCSI_PATA_ARTOP=y
-# CONFIG_SCSI_PATA_ATIIXP is not set
-# CONFIG_SCSI_PATA_CMD64X is not set
-# CONFIG_SCSI_PATA_CS5520 is not set
-# CONFIG_SCSI_PATA_CS5530 is not set
-# CONFIG_SCSI_PATA_CYPRESS is not set
-# CONFIG_SCSI_PATA_EFAR is not set
-# CONFIG_SCSI_ATA_GENERIC is not set
-# CONFIG_SCSI_PATA_HPT37X is not set
-# CONFIG_SCSI_PATA_HPT3X2N is not set
-# CONFIG_SCSI_PATA_HPT3X3 is not set
-# CONFIG_SCSI_PATA_ISAPNP is not set
-# CONFIG_SCSI_PATA_IT8172 is not set
-# CONFIG_SCSI_PATA_IT821X is not set
-# CONFIG_SCSI_PATA_LEGACY is not set
-# CONFIG_SCSI_PATA_MPIIX is not set
-# CONFIG_SCSI_PATA_NETCELL is not set
-# CONFIG_SCSI_PATA_OLDPIIX is not set
-# CONFIG_SCSI_PATA_OPTI is not set
-# CONFIG_SCSI_PATA_PCMCIA is not set
-# CONFIG_SCSI_PATA_QDI is not set
-# CONFIG_SCSI_PATA_RZ1000 is not set
-# CONFIG_SCSI_PATA_SC1200 is not set
-# CONFIG_SCSI_PATA_SERVERWORKS is not set
-# CONFIG_SCSI_PATA_SIL680 is not set
-# CONFIG_SCSI_PATA_SIS is not set
-# CONFIG_SCSI_PATA_TRIFLEX is not set
-# CONFIG_SCSI_PATA_VIA is not set
-# CONFIG_SCSI_PATA_WINBOND is not set
+# CONFIG_SCSI_SATA is not set
# CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set
# CONFIG_SCSI_IPS is not set
@@ -1088,16 +1094,6 @@ CONFIG_HWMON=y
#
#
-# LED devices
-#
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_TRIGGERS=y
-CONFIG_LEDS_IXP4XX=y
-CONFIG_LEDS_TRIGGER_TIMER=y
-CONFIG_LEDS_TRIGGER_CPU_ACTIVITY=y
-
-#
# Multimedia devices
#
CONFIG_VIDEO_DEV=m
@@ -1298,6 +1294,7 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set