1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
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 */
|