diff -urN linux-2.6.11.orig/arch/arm/boot/compressed/head.S linux-2.6.11/arch/arm/boot/compressed/head.S --- linux-2.6.11.orig/arch/arm/boot/compressed/head.S 2005-03-01 21:38:25.000000000 -1000 +++ linux-2.6.11/arch/arm/boot/compressed/head.S 2005-03-03 00:55:05.000000000 -1000 @@ -79,6 +79,14 @@ .endm .macro writeb, rb str \rb, [r3, #0] + .endm +#elif defined(CONFIG_ARCH_NSLU2) + .macro loadsp, rb + mov \rb, #0xc8000000 + .endm + .macro writeb, rb + str \rb, [r3, #0] + .endm #elif defined(CONFIG_ARCH_IXP2000) .macro loadsp, rb mov \rb, #0xc0000000 diff -urN linux-2.6.11.orig/arch/arm/boot/compressed/head-xscale.S linux-2.6.11/arch/arm/boot/compressed/head-xscale.S --- linux-2.6.11.orig/arch/arm/boot/compressed/head-xscale.S 2005-03-01 21:37:52.000000000 -1000 +++ linux-2.6.11/arch/arm/boot/compressed/head-xscale.S 2005-03-02 01:41:31.000000000 -1000 @@ -47,3 +47,8 @@ orr r7, r7, #(MACH_TYPE_GTWX5715 & 0xff00) #endif +#ifdef CONFIG_ARCH_NSLU2 + mov r7, #(MACH_TYPE_NSLU2 & 0xff) + orr r7, r7, #(MACH_TYPE_NSLU2 & 0xff00) +#endif + diff -urN linux-2.6.11.orig/arch/arm/mach-ixp4xx/Kconfig linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig --- linux-2.6.11.orig/arch/arm/mach-ixp4xx/Kconfig 2005-03-01 21:37:49.000000000 -1000 +++ linux-2.6.11/arch/arm/mach-ixp4xx/Kconfig 2005-03-02 01:43:42.000000000 -1000 @@ -43,6 +43,12 @@ IXDP465 Development Platform (Also known as BMP). For more information on this platform, see Documentation/arm/IXP4xx. +config ARCH_NSLU2 + bool "NSLU2" + help + Say 'Y' here if you want your kernel to support Linksys's + NSLU2 NAS device. For more information on this platform, + see http://www.nslu2-linux.org # # IXCDP1100 is the exact same HW as IXDP425, but with a different machine diff -urN linux-2.6.11.orig/arch/arm/mach-ixp4xx/Makefile linux-2.6.11/arch/arm/mach-ixp4xx/Makefile --- linux-2.6.11.orig/arch/arm/mach-ixp4xx/Makefile 2005-03-01 21:37:49.000000000 -1000 +++ linux-2.6.11/arch/arm/mach-ixp4xx/Makefile 2005-03-02 01:44:16.000000000 -1000 @@ -9,4 +9,4 @@ obj-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o coyote-setup.o obj-$(CONFIG_ARCH_PRPMC1100) += prpmc1100-pci.o prpmc1100-setup.o obj-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o gtwx5715-setup.o - +obj-$(CONFIG_ARCH_NSLU2) += nslu2-pci.o nslu2-setup.o nslu2-part.o nslu2-io.o diff -urN linux-2.6.11.orig/arch/arm/tools/mach-types linux-2.6.11/arch/arm/tools/mach-types --- linux-2.6.11.orig/arch/arm/tools/mach-types 2005-03-01 21:38:08.000000000 -1000 +++ linux-2.6.11/arch/arm/tools/mach-types 2005-03-02 01:44:50.000000000 -1000 @@ -604,7 +604,7 @@ roverp7 MACH_ROVERP7 ROVERP7 594 pr818s MACH_PR818S PR818S 595 trxpro MACH_TRXPRO TRXPRO 596 -nslu2 MACH_NSLU2 NSLU2 597 +nslu2 ARCH_NSLU2 NSLU2 597 e400 MACH_E400 E400 598 trab MACH_TRAB TRAB 599 cmc_pu2 MACH_CMC_PU2 CMC_PU2 600 diff -urN linux-2.6.11.orig/drivers/i2c/chips/Kconfig linux-2.6.11/drivers/i2c/chips/Kconfig --- linux-2.6.11.orig/drivers/i2c/chips/Kconfig 2005-03-01 21:38:10.000000000 -1000 +++ linux-2.6.11/drivers/i2c/chips/Kconfig 2005-03-02 01:45:28.000000000 -1000 @@ -370,5 +370,14 @@ This driver can also be built as a module. If so, the module will be called isp1301_omap. +config SENSORS_X1205 + tristate "Xicor X1205 RTC chip" + depends on I2C && EXPERIMENTAL + select I2C_SENSOR + help + If you say yes here you get support for the Xicor x1205 RTC chip. + + This driver can also be built as a module. If so, the module + will be called x1205-rtc endmenu diff -urN linux-2.6.11.orig/drivers/i2c/chips/Makefile linux-2.6.11/drivers/i2c/chips/Makefile --- linux-2.6.11.orig/drivers/i2c/chips/Makefile 2005-03-01 21:38:34.000000000 -1000 +++ linux-2.6.11/drivers/i2c/chips/Makefile 2005-03-02 01:45:54.000000000 -1000 @@ -35,6 +35,7 @@ obj-$(CONFIG_SENSORS_VIA686A) += via686a.o obj-$(CONFIG_SENSORS_W83L785TS) += w83l785ts.o obj-$(CONFIG_ISP1301_OMAP) += isp1301_omap.o +obj-$(CONFIG_SENSORS_X1205) += x1205-rtc.o ifeq ($(CONFIG_I2C_DEBUG_CHIP),y) EXTRA_CFLAGS += -DDEBUG diff -urN linux-2.6.11.orig/drivers/mtd/maps/ixp4xx.c linux-2.6.11/drivers/mtd/maps/ixp4xx.c --- linux-2.6.11.orig/drivers/mtd/maps/ixp4xx.c 2005-03-01 21:37:30.000000000 -1000 +++ linux-2.6.11/drivers/mtd/maps/ixp4xx.c 2005-03-02 01:46:40.000000000 -1000 @@ -94,7 +94,11 @@ struct resource *res; }; +#ifdef CONFIG_ARCH_NSLU2 +static const char *probes[] = { "cmdlinepart", "RedBoot", "NSLU2", NULL }; +#else static const char *probes[] = { "RedBoot", "cmdlinepart", NULL }; +#endif static int ixp4xx_flash_remove(struct device *_dev) { diff -urN linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/hardware.h linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h --- linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/hardware.h 2005-03-01 21:37:51.000000000 -1000 +++ linux-2.6.11/include/asm-arm/arch-ixp4xx/hardware.h 2005-03-02 17:34:46.000000000 -1000 @@ -44,5 +44,6 @@ #include "ixdp425.h" #include "coyote.h" #include "prpmc1100.h" +#include "nslu2.h" #endif /* _ASM_ARCH_HARDWARE_H */ diff -urN linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/irqs.h linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h --- linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/irqs.h 2005-03-01 21:38:12.000000000 -1000 +++ linux-2.6.11/include/asm-arm/arch-ixp4xx/irqs.h 2005-03-02 01:49:27.000000000 -1000 @@ -93,4 +93,11 @@ #define IRQ_COYOTE_PCI_SLOT1 IRQ_IXP4XX_GPIO11 #define IRQ_COYOTE_IDE IRQ_IXP4XX_GPIO5 +/* + * NSLU2 board IRQs + */ +#define IRQ_NSLU2_PCI_INTA IRQ_IXP4XX_GPIO11 +#define IRQ_NSLU2_PCI_INTB IRQ_IXP4XX_GPIO10 +#define IRQ_NSLU2_PCI_INTC IRQ_IXP4XX_GPIO9 + #endif diff -urN linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h --- linux-2.6.11.orig/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-03-01 21:37:49.000000000 -1000 +++ linux-2.6.11/include/asm-arm/arch-ixp4xx/ixp4xx-regs.h 2005-03-03 02:26:29.231822000 -1000 @@ -52,7 +52,7 @@ * Expansion BUS Configuration registers */ #define IXP4XX_EXP_CFG_BASE_PHYS (0xC4000000) -#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFD000) +#define IXP4XX_EXP_CFG_BASE_VIRT (0xFFBFE000) #define IXP4XX_EXP_CFG_REGION_SIZE (0x00001000) /* diff -urN linux-2.6.11.orig/include/linux/i2c-id.h linux-2.6.11/include/linux/i2c-id.h --- linux-2.6.11.orig/include/linux/i2c-id.h 2005-03-01 21:38:34.000000000 -1000 +++ linux-2.6.11/include/linux/i2c-id.h 2005-03-02 01:50:14.000000000 -1000 @@ -110,6 +110,7 @@ #define I2C_DRIVERID_TDA7313 62 /* TDA7313 audio processor */ #define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */ #define I2C_DRIVERID_SAA7114H 64 /* video decoder */ +#define I2C_DRIVERID_X1205 0xF0 #define I2C_DRIVERID_EXP0 0xF0 /* experimental use id's */