From 298cc4009aadfc4c2a9e640260935f27c814b177 Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Wed, 22 Feb 2006 23:06:55 +0000 Subject: ixp4xx-kernel: Updated to match latest patches in CVS repo. --- .../ixp4xx-kernel/2.6.16/61-nslu2-beeper.patch | 2 + .../ixp4xx-kernel/2.6.16/70-artop-latency.patch | 21 ++++++ .../ixp4xx-kernel/2.6.16/80-nas100d-fix-i2c.patch | 2 + .../ixp4xx-kernel/2.6.16/81-nslu2-power.patch | 2 + .../linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch | 81 +++++++++++++++------- .../ixp4xx-kernel/2.6.16/96-nas100d-leds.patch | 14 ++-- .../ixp4xx-kernel/2.6.16/97-ds101-includes.patch | 30 +++----- .../linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch | 10 ++- .../ixp4xx-kernel/2.6.16/97-ds101-setup.patch | 60 ++++++++++++---- 9 files changed, 155 insertions(+), 67 deletions(-) create mode 100644 packages/linux/ixp4xx-kernel/2.6.16/70-artop-latency.patch (limited to 'packages/linux/ixp4xx-kernel') diff --git a/packages/linux/ixp4xx-kernel/2.6.16/61-nslu2-beeper.patch b/packages/linux/ixp4xx-kernel/2.6.16/61-nslu2-beeper.patch index cc2e4ef69f..d58139429d 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/61-nslu2-beeper.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/61-nslu2-beeper.patch @@ -1,3 +1,5 @@ +http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3344/1 + NSLU2 beeper support. Signed-off-by: Alessandro Zummo diff --git a/packages/linux/ixp4xx-kernel/2.6.16/70-artop-latency.patch b/packages/linux/ixp4xx-kernel/2.6.16/70-artop-latency.patch new file mode 100644 index 0000000000..2cda5789ce --- /dev/null +++ b/packages/linux/ixp4xx-kernel/2.6.16/70-artop-latency.patch @@ -0,0 +1,21 @@ +--- + drivers/scsi/pata_artop.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +--- linux-ixp4xx.orig/drivers/scsi/pata_artop.c 2006-02-21 02:05:33.000000000 +0100 ++++ linux-ixp4xx/drivers/scsi/pata_artop.c 2006-02-21 02:49:47.000000000 +0100 +@@ -450,6 +450,14 @@ static int artop_init_one (struct pci_de + pci_read_config_byte(pdev, 0x49, ®); + pci_write_config_byte(pdev, 0x49, reg & ~ 0x30); + ++ /* PCI latency must be > 0x80 for burst mode, tweak it ++ * if required. ++ */ ++ pci_read_config_byte(pdev, PCI_LATENCY_TIMER, ®); ++ if (reg <= 0x80) ++ pci_write_config_byte(pdev, PCI_LATENCY_TIMER, 0x90); ++ ++ + /* Enable IRQ output and burst mode */ + pci_read_config_byte(pdev, 0x4a, ®); + pci_write_config_byte(pdev, 0x4a, (reg & ~0x01) | 0x80); 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 index 6610cc0872..6ba1fd7b62 100644 --- 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 @@ -1,3 +1,5 @@ +http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3343/1 + include/asm-arm/arch-ixp4xx/nas100d.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/linux/ixp4xx-kernel/2.6.16/81-nslu2-power.patch b/packages/linux/ixp4xx-kernel/2.6.16/81-nslu2-power.patch index eaa490ee01..0937c76181 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/81-nslu2-power.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/81-nslu2-power.patch @@ -1,3 +1,5 @@ +http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3342/1 + arch/arm/mach-ixp4xx/nslu2-power.c | 3 +++ 1 file changed, 3 insertions(+) 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 index e84508b85b..62efa77495 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/94-loft-setup.patch @@ -1,20 +1,27 @@ - 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 @@ +--- + arch/arm/mach-ixp4xx/ixdp425-setup.c | 145 +++++++++++++++++++++++++++++++++-- + 1 file changed, 140 insertions(+), 5 deletions(-) + +--- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-22 18:53:29.000000000 +0100 ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/ixdp425-setup.c 2006-02-22 18:57:00.000000000 +0100 +@@ -15,7 +15,7 @@ #include #include #include +- +#include - #include #include -@@ -25,6 +26,10 @@ + #include +@@ -25,6 +25,14 @@ #include #include ++#ifdef CONFIG_LEDS_CLASS ++#include ++#endif ++ +#ifdef CONFIG_MACLIST +#include +#endif @@ -22,11 +29,29 @@ static struct flash_platform_data ixdp425_flash_data = { .map_name = "cfi_probe", .width = 2, -@@ -176,17 +181,122 @@ MACHINE_START(AVILA, "Gateworks Avila Ne +@@ -176,22 +184,149 @@ MACHINE_START(AVILA, "Gateworks Avila Ne MACHINE_END #endif +#ifdef CONFIG_MACH_LOFT ++#ifdef CONFIG_LEDS_CLASS ++static struct resource loft_led_resources[] = { ++ { ++ .name = "ready", /* green led, also J8 pin 7 */ ++ .start = 3, /* FIXME use #define */ ++ .end = 3, ++ .flags = IXP4XX_GPIO_LOW, ++ }, ++}; ++ ++static struct platform_device loft_leds = { ++ .name = "IXP4XX-GPIO-LED", ++ .id = -1, ++ .num_resources = ARRAY_SIZE(loft_led_resources), ++ .resource = loft_led_resources, ++}; ++#endif ++ /* * Loft is functionally equivalent to Avila except that it has a * different number for the maximum PCI devices. The MACHINE @@ -77,6 +102,22 @@ +}; +#endif + ++static void __init loft_init(void) ++{ ++ ixdp425_init(); ++ ++#ifdef CONFIG_LEDS_CLASS ++ /* We don't care if this fails. */ ++ (void)platform_device_register(&loft_leds); ++#endif ++ /* 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 ++} ++ +/* + * Loft bootstrap may pass in parameters, if these contain an + * ATAG_MEM and it appears valid (not the 16MByte one in the @@ -87,23 +128,15 @@ +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; ++ "rtc-ds1672.probe=0,0x68 " ++ CONFIG_CMDLINE; + -+ /* 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 ++ int memtag = 0; + + /* The Loft typically has one bank of 64MByte memory. + * NOTE: setting nr_banks != 0 causes kernel/setup.c to remove @@ -132,10 +165,7 @@ + /* 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; ++ strlcpy(*cmdline, loft_command_line, COMMAND_LINE_SIZE); +} + MACHINE_START(LOFT, "Giant Shoulder Inc Loft board") @@ -147,8 +177,9 @@ .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, + .boot_params = 0x0100, +- .init_machine = ixdp425_init, ++ .init_machine = loft_init, MACHINE_END #endif - diff --git a/packages/linux/ixp4xx-kernel/2.6.16/96-nas100d-leds.patch b/packages/linux/ixp4xx-kernel/2.6.16/96-nas100d-leds.patch index d78a779127..ceb4b8b2f8 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/96-nas100d-leds.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/96-nas100d-leds.patch @@ -2,8 +2,12 @@ NEW_LEDS support for the IOMega NAS100D Signed-off-by: John Bowler ---- linux-2.6.15/arch/arm/mach-ixp4xx/nas100d-setup.c 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/nas100d-setup.c 1970-01-01 00:00:00.000000000 +0000 +--- + arch/arm/mach-ixp4xx/nas100d-setup.c | 43 ++++++++++++++++++++++++++++++++++- + 1 file changed, 42 insertions(+), 1 deletion(-) + +--- linux-ixp4xx.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-21 01:40:40.000000000 +0100 ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/nas100d-setup.c 2006-02-21 01:53:48.000000000 +0100 @@ -16,6 +16,7 @@ #include #include @@ -12,7 +16,7 @@ Signed-off-by: John Bowler #include #include -@@ -44,6 +45,36 @@ static struct platform_device nas100d_fl +@@ -42,6 +43,36 @@ static struct platform_device nas100d_fl .resource = &nas100d_flash_resource, }; @@ -49,7 +53,7 @@ Signed-off-by: John Bowler static struct ixp4xx_i2c_pins nas100d_i2c_gpio_pins = { .sda_pin = NAS100D_SDA_PIN, .scl_pin = NAS100D_SCL_PIN, -@@ -102,7 +133,6 @@ static struct platform_device nas100d_ua +@@ -100,7 +131,6 @@ static struct platform_device nas100d_ua static struct platform_device *nas100d_devices[] __initdata = { &nas100d_i2c_controller, &nas100d_flash, @@ -57,7 +61,7 @@ Signed-off-by: John Bowler }; static void nas100d_power_off(void) -@@ -158,7 +188,18 @@ static void __init nas100d_init(void) +@@ -160,7 +190,18 @@ static void __init nas100d_init(void) pm_power_off = nas100d_power_off; 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 index e9127dbbb4..e66f8692ca 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-includes.patch @@ -1,16 +1,12 @@ - include/asm-arm/arch-ixp4xx/ds101.h | 70 +++++++++++++++++++++++++++++++++ + include/asm-arm/arch-ixp4xx/ds101.h | 87 +++++++++++++++++++++++++++++++++ include/asm-arm/arch-ixp4xx/hardware.h | 1 - include/asm-arm/arch-ixp4xx/irqs.h | 7 +++ - 3 files changed, 78 insertions(+) + include/asm-arm/arch-ixp4xx/irqs.h | 7 ++ + 3 files changed, 95 insertions(+) -Index: linux-2.6.15/include/asm-arm/arch-ixp4xx/ds101.h -=================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/ds101.h 2006-02-15 22:35:31.000000000 +0100 -@@ -0,0 +1,89 @@ ++++ linux-ixp4xx/include/asm-arm/arch-ixp4xx/ds101.h 2006-02-21 02:00:21.000000000 +0100 +@@ -0,0 +1,87 @@ +/* -+ * include/asm-arm/arch-ixp4xx/ds101.h -+ * + * DS101 platform specific definitions + * + * Author: Øyvind Repvik @@ -80,7 +76,7 @@ Index: linux-2.6.15/include/asm-arm/arch-ixp4xx/ds101.h +/* Stuff needed to setup the IXP expansion + * bus on the DS101 + */ -+ ++ +#define DS101_EXP_RECOVERY_T(x) (((x) & 15) << 16) +#define DS101_EXP_HOLD_T(x) (((x) & 3) << 20) +#define DS101_EXP_STROBE_T(x) (((x) & 15) << 22) @@ -97,21 +93,17 @@ Index: linux-2.6.15/include/asm-arm/arch-ixp4xx/ds101.h + DS101_EXP_HOLD_T(1) | DS101_EXP_RECOVERY_T(1)| \ + DS101_EXP_SZ_16M | DS101_EXP_WR_EN | \ + DS101_EXP_BYTE_RD16 | DS101_EXP_CS_EN) -Index: linux-2.6.15/include/asm-arm/arch-ixp4xx/hardware.h -=================================================================== ---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-13 21:23:22.000000000 +0100 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-13 21:23:26.000000000 +0100 -@@ -46,5 +46,6 @@ +--- linux-ixp4xx.orig/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-21 01:57:32.000000000 +0100 ++++ linux-ixp4xx/include/asm-arm/arch-ixp4xx/hardware.h 2006-02-21 02:00:21.000000000 +0100 +@@ -46,5 +46,6 @@ extern unsigned int processor_id; #include "prpmc1100.h" #include "nslu2.h" #include "nas100d.h" +#include "ds101.h" #endif /* _ASM_ARCH_HARDWARE_H */ -Index: linux-2.6.15/include/asm-arm/arch-ixp4xx/irqs.h -=================================================================== ---- linux-2.6.15.orig/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-13 21:23:22.000000000 +0100 -+++ linux-2.6.15/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-13 21:23:26.000000000 +0100 +--- linux-ixp4xx.orig/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-21 01:57:32.000000000 +0100 ++++ linux-ixp4xx/include/asm-arm/arch-ixp4xx/irqs.h 2006-02-21 02:00:21.000000000 +0100 @@ -108,5 +108,12 @@ #define IRQ_NAS100D_PCI_INTC IRQ_IXP4XX_GPIO9 #define IRQ_NAS100D_PCI_INTD IRQ_IXP4XX_GPIO8 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 index 46556f7cee..48765e3017 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-pci.patch @@ -1,12 +1,10 @@ - arch/arm/mach-ixp4xx/ds101-pci.c | 68 +++++++++++++++++++++++++++++++++++++++ - 1 file changed, 68 insertions(+) + arch/arm/mach-ixp4xx/ds101-pci.c | 66 +++++++++++++++++++++++++++++++++++++++ + 1 file changed, 66 insertions(+) --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-ixp4xx/arch/arm/mach-ixp4xx/ds101-pci.c 2006-02-11 16:27:21.000000000 +0100 -@@ -0,0 +1,68 @@ ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/ds101-pci.c 2006-02-21 02:02:34.000000000 +0100 +@@ -0,0 +1,66 @@ +/* -+ * arch/arm/mach-ixp4xx/ds101-pci.c -+ * + * DS101 board-level PCI initialization + * + * based on ixdp425-pci.c: 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 index 107808f6b8..8b3bbb07f7 100644 --- a/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch +++ b/packages/linux/ixp4xx-kernel/2.6.16/97-ds101-setup.patch @@ -1,15 +1,17 @@ - arch/arm/mach-ixp4xx/ds101-setup.c | 287 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 287 insertions(+) +Board setup code for the Synology DS101 platform + +Signed-off-by: Alessandro Zummo +Signed-off-by: Rod Whitby +Signed-off-by: OEyvind Repvik + + arch/arm/mach-ixp4xx/ds101-setup.c | 245 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 245 insertions(+) -Index: linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c -=================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c 2006-02-16 19:44:23.000000000 +0100 -@@ -0,0 +1,246 @@ ++++ linux-ixp4xx/arch/arm/mach-ixp4xx/ds101-setup.c 2006-02-21 02:00:16.000000000 +0100 +@@ -0,0 +1,245 @@ +/* -+ * arch/arm/mach-ixp4xx/ds101-setup.c -+ * -+ * DS 101 board-setup ++ * Synology DS101 board setup + * + * based ixdp425-setup.c: + * Copyright (C) 2003-2004 MontaVista Software, Inc. @@ -24,7 +26,6 @@ Index: linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c +#include +#include +#include -+/* #include */ +#include +#include + @@ -159,7 +160,7 @@ Index: linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c + gpio_line_config(DS101_GPIO_BUZZ, DS101_GPIO_OUT); + gpio_line_set(DS101_GPIO_BUZZ, DS101_GPIO_LOW); + -+ /* Set up powerled */ ++ /* Set up power led */ + gpio_line_config(DS101_POWER_LED, DS101_GPIO_OUT); + gpio_line_set(DS101_POWER_LED, DS101_GPIO_LOW); + @@ -184,16 +185,19 @@ Index: linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c +static void __init ds101_init(void) +{ + ixp4xx_sys_init(); ++ + ds101_cs0_setup(); /* Needed for DoC support */ + ds101_gpio_setup(); + pm_power_off = ds101_power_off; + ++ platform_add_devices(ds101_devices, ARRAY_SIZE(ds101_devices)); ++ + /* 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); @@ -251,4 +255,36 @@ Index: linux-2.6.15/arch/arm/mach-ixp4xx/ds101-setup.c + .timer = &ixp4xx_timer, + .init_machine = ds101_init, +MACHINE_END + arch/arm/mach-ixp4xx/Kconfig | 8 ++++++++ + arch/arm/mach-ixp4xx/Makefile | 2 +- + 2 files changed, 9 insertions(+), 1 deletion(-) + +Index: linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig +=================================================================== +--- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Kconfig 2006-02-14 19:20:21.000000000 +0100 ++++ linux-2.6.15/arch/arm/mach-ixp4xx/Kconfig 2006-02-14 19:20:26.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 + # +Index: linux-2.6.15/arch/arm/mach-ixp4xx/Makefile +=================================================================== +--- linux-2.6.15.orig/arch/arm/mach-ixp4xx/Makefile 2006-02-14 19:20:21.000000000 +0100 ++++ linux-2.6.15/arch/arm/mach-ixp4xx/Makefile 2006-02-14 19:20:36.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-buttons.o -- cgit v1.2.3