summaryrefslogtreecommitdiff
path: root/packages/linux/openslug-kernel-2.6.11/nslu2_2.6.11.patch
blob: bff8400396d19b9752154090ab05523503296c67 (plain)
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	*/