mirror of https://github.com/hak5/openwrt.git
215 lines
7.0 KiB
Diff
215 lines
7.0 KiB
Diff
diff -Nur linux-2.6.17/arch/mips/Kconfig linux-2.6.17-owrt/arch/mips/Kconfig
|
|
--- linux-2.6.17/arch/mips/Kconfig 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/arch/mips/Kconfig 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -227,6 +227,17 @@
|
|
either a NEC Vr5432 or QED RM5231. Say Y here if you wish to build
|
|
a kernel for this platform.
|
|
|
|
+config MACH_ARUBA
|
|
+ bool "Support for the ARUBA product line"
|
|
+ select DMA_NONCOHERENT
|
|
+ select CPU_HAS_PREFETCH
|
|
+ select HW_HAS_PCI
|
|
+ select SWAP_IO_SPACE
|
|
+ select SYS_SUPPORTS_32BIT_KERNEL
|
|
+ select SYS_HAS_CPU_MIPS32_R1
|
|
+ select SYS_SUPPORTS_BIG_ENDIAN
|
|
+
|
|
+
|
|
config MACH_JAZZ
|
|
bool "Jazz family of machines"
|
|
select ARC
|
|
diff -Nur linux-2.6.17/arch/mips/Makefile linux-2.6.17-owrt/arch/mips/Makefile
|
|
--- linux-2.6.17/arch/mips/Makefile 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/arch/mips/Makefile 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -145,6 +145,14 @@
|
|
#
|
|
|
|
#
|
|
+# Aruba
|
|
+#
|
|
+
|
|
+core-$(CONFIG_MACH_ARUBA) += arch/mips/aruba/
|
|
+cflags-$(CONFIG_MACH_ARUBA) += -Iinclude/asm-mips/aruba
|
|
+load-$(CONFIG_MACH_ARUBA) += 0x80100000
|
|
+
|
|
+#
|
|
# Acer PICA 61, Mips Magnum 4000 and Olivetti M700.
|
|
#
|
|
core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
|
|
diff -Nur linux-2.6.17/drivers/net/Kconfig linux-2.6.17-owrt/drivers/net/Kconfig
|
|
--- linux-2.6.17/drivers/net/Kconfig 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/drivers/net/Kconfig 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -187,6 +187,13 @@
|
|
|
|
source "drivers/net/arm/Kconfig"
|
|
|
|
+config IDT_RC32434_ETH
|
|
+ tristate "IDT RC32434 Local Ethernet support"
|
|
+ depends on NET_ETHERNET
|
|
+ help
|
|
+ IDT RC32434 has one local ethernet port. Say Y here to enable it.
|
|
+ To compile this driver as a module, choose M here.
|
|
+
|
|
config MACE
|
|
tristate "MACE (Power Mac ethernet) support"
|
|
depends on NET_ETHERNET && PPC_PMAC && PPC32
|
|
diff -Nur linux-2.6.17/drivers/net/Makefile linux-2.6.17-owrt/drivers/net/Makefile
|
|
--- linux-2.6.17/drivers/net/Makefile 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/drivers/net/Makefile 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -38,6 +38,7 @@
|
|
|
|
obj-$(CONFIG_OAKNET) += oaknet.o 8390.o
|
|
|
|
+obj-$(CONFIG_IDT_RC32434_ETH) += rc32434_eth.o
|
|
obj-$(CONFIG_DGRS) += dgrs.o
|
|
obj-$(CONFIG_VORTEX) += 3c59x.o
|
|
obj-$(CONFIG_TYPHOON) += typhoon.o
|
|
diff -Nur linux-2.6.17/drivers/net/natsemi.c linux-2.6.17-owrt/drivers/net/natsemi.c
|
|
--- linux-2.6.17/drivers/net/natsemi.c 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/drivers/net/natsemi.c 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -771,6 +771,49 @@
|
|
static int netdev_get_eeprom(struct net_device *dev, u8 *buf);
|
|
static struct ethtool_ops ethtool_ops;
|
|
|
|
+#ifdef CONFIG_MACH_ARUBA
|
|
+
|
|
+#include <linux/ctype.h>
|
|
+
|
|
+#ifndef ERR
|
|
+#define ERR(fmt, args...) printk("%s: " fmt, __func__, ##args)
|
|
+#endif
|
|
+
|
|
+static int parse_mac_addr(struct net_device *dev, char* macstr)
|
|
+{
|
|
+ int i, j;
|
|
+ unsigned char result, value;
|
|
+
|
|
+ for (i=0; i<6; i++) {
|
|
+ result = 0;
|
|
+ if (i != 5 && *(macstr+2) != ':') {
|
|
+ ERR("invalid mac address format: %d %c\n",
|
|
+ i, *(macstr+2));
|
|
+ return -EINVAL;
|
|
+ }
|
|
+ for (j=0; j<2; j++) {
|
|
+ if (isxdigit(*macstr) && (value = isdigit(*macstr) ? *macstr-'0' :
|
|
+ toupper(*macstr)-'A'+10) < 16) {
|
|
+ result = result*16 + value;
|
|
+ macstr++;
|
|
+ }
|
|
+ else {
|
|
+ ERR("invalid mac address "
|
|
+ "character: %c\n", *macstr);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+ }
|
|
+
|
|
+ macstr++;
|
|
+ dev->dev_addr[i] = result;
|
|
+ }
|
|
+
|
|
+ dev->dev_addr[5]++;
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+#endif
|
|
+
|
|
static inline void __iomem *ns_ioaddr(struct net_device *dev)
|
|
{
|
|
return (void __iomem *) dev->base_addr;
|
|
@@ -871,6 +914,7 @@
|
|
goto err_ioremap;
|
|
}
|
|
|
|
+#ifndef CONFIG_MACH_ARUBA
|
|
/* Work around the dropped serial bit. */
|
|
prev_eedata = eeprom_read(ioaddr, 6);
|
|
for (i = 0; i < 3; i++) {
|
|
@@ -879,6 +923,19 @@
|
|
dev->dev_addr[i*2+1] = eedata >> 7;
|
|
prev_eedata = eedata;
|
|
}
|
|
+#else
|
|
+ {
|
|
+ char mac[32];
|
|
+ unsigned char def_mac[6] = {00, 0x0b, 0x86, 0xba, 0xdb, 0xad};
|
|
+ extern char *getenv(char *e);
|
|
+ memset(mac, 0, 32);
|
|
+ memcpy(mac, getenv("ethaddr"), 17);
|
|
+ if (parse_mac_addr(dev, mac)){
|
|
+ printk("%s: MAC address not found\n", __func__);
|
|
+ memcpy(dev->dev_addr, def_mac, 6);
|
|
+ }
|
|
+ }
|
|
+#endif
|
|
|
|
dev->base_addr = (unsigned long __force) ioaddr;
|
|
dev->irq = irq;
|
|
diff -Nur linux-2.6.17/include/asm-mips/bootinfo.h linux-2.6.17-owrt/include/asm-mips/bootinfo.h
|
|
--- linux-2.6.17/include/asm-mips/bootinfo.h 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/include/asm-mips/bootinfo.h 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -218,6 +218,17 @@
|
|
#define MACH_GROUP_TITAN 22 /* PMC-Sierra Titan */
|
|
#define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */
|
|
|
|
+
|
|
+/*
|
|
+ * Valid machtype for group ARUBA
|
|
+ */
|
|
+#define MACH_GROUP_ARUBA 23
|
|
+#define MACH_ARUBA_UNKNOWN 0
|
|
+#define MACH_ARUBA_AP60 1
|
|
+#define MACH_ARUBA_AP65 2
|
|
+#define MACH_ARUBA_AP70 3
|
|
+#define MACH_ARUBA_AP40 4
|
|
+
|
|
#define CL_SIZE COMMAND_LINE_SIZE
|
|
|
|
const char *get_system_type(void);
|
|
diff -Nur linux-2.6.17/include/asm-mips/cpu.h linux-2.6.17-owrt/include/asm-mips/cpu.h
|
|
--- linux-2.6.17/include/asm-mips/cpu.h 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/include/asm-mips/cpu.h 2006-06-18 12:45:56.000000000 +0200
|
|
@@ -54,6 +54,9 @@
|
|
#define PRID_IMP_R14000 0x0f00
|
|
#define PRID_IMP_R8000 0x1000
|
|
#define PRID_IMP_PR4450 0x1200
|
|
+#define PRID_IMP_RC32334 0x1800
|
|
+#define PRID_IMP_RC32355 0x1900
|
|
+#define PRID_IMP_RC32365 0x1900
|
|
#define PRID_IMP_R4600 0x2000
|
|
#define PRID_IMP_R4700 0x2100
|
|
#define PRID_IMP_TX39 0x2200
|
|
@@ -200,7 +203,8 @@
|
|
#define CPU_SB1A 62
|
|
#define CPU_74K 63
|
|
#define CPU_R14000 64
|
|
-#define CPU_LAST 64
|
|
+#define CPU_RC32300 65
|
|
+#define CPU_LAST 65
|
|
|
|
/*
|
|
* ISA Level encodings
|
|
diff -Nur linux-2.6.17/include/asm-mips/mach-generic/irq.h linux-2.6.17-owrt/include/asm-mips/mach-generic/irq.h
|
|
--- linux-2.6.17/include/asm-mips/mach-generic/irq.h 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/include/asm-mips/mach-generic/irq.h 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -8,6 +8,6 @@
|
|
#ifndef __ASM_MACH_GENERIC_IRQ_H
|
|
#define __ASM_MACH_GENERIC_IRQ_H
|
|
|
|
-#define NR_IRQS 128
|
|
+#define NR_IRQS 256
|
|
|
|
#endif /* __ASM_MACH_GENERIC_IRQ_H */
|
|
diff -Nur linux-2.6.17/include/linux/kernel.h linux-2.6.17-owrt/include/linux/kernel.h
|
|
--- linux-2.6.17/include/linux/kernel.h 2006-06-18 03:49:35.000000000 +0200
|
|
+++ linux-2.6.17-owrt/include/linux/kernel.h 2006-06-18 12:44:28.000000000 +0200
|
|
@@ -329,6 +329,7 @@
|
|
};
|
|
|
|
/* Force a compilation error if condition is true */
|
|
+extern void BUILD_BUG(void);
|
|
#define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
|
|
|
|
/* Trap pasters of __FUNCTION__ at compile-time */
|