diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig
--- linux.old/arch/mips/Kconfig	2007-02-02 23:55:52.912446784 +0100
+++ linux.dev/arch/mips/Kconfig	2007-02-03 21:50:25.262027104 +0100
@@ -145,6 +145,16 @@
 	  note that a kernel built with this option selected will not be
 	  able to run on normal units.
 
+config ATHEROS
+	bool "Atheros SoC support (EXPERIMENTAL)"
+	depends on EXPERIMENTAL
+	select DMA_NONCOHERENT
+	select IRQ_CPU
+	select SYS_HAS_CPU_MIPS32_R1
+	select HAVE_STD_PC_SERIAL_PORT
+	select SYS_SUPPORTS_BIG_ENDIAN
+	select SYS_SUPPORTS_32BIT_KERNEL
+
 config MIPS_COBALT
 	bool "Cobalt Server"
 	select DMA_NONCOHERENT
@@ -766,6 +776,7 @@
 
 endchoice
 
+source "arch/mips/atheros/Kconfig"
 source "arch/mips/ddb5xxx/Kconfig"
 source "arch/mips/gt64120/ev64120/Kconfig"
 source "arch/mips/jazz/Kconfig"
diff -urN linux.old/arch/mips/Makefile linux.dev/arch/mips/Makefile
--- linux.old/arch/mips/Makefile	2007-02-02 23:55:52.913446632 +0100
+++ linux.dev/arch/mips/Makefile	2007-02-03 17:40:29.193776000 +0100
@@ -267,6 +267,13 @@
 load-$(CONFIG_MIPS_XXS1500)	+= 0xffffffff80100000
 
 #
+# Atheros AR5312/AR2312 WiSoC
+#
+core-$(CONFIG_ATHEROS)		+= arch/mips/atheros/
+cflags-$(CONFIG_ATHEROS)	+= -Iinclude/asm-mips/mach-atheros
+load-$(CONFIG_ATHEROS)		+= 0xffffffff80041000
+
+#
 # Cobalt Server
 #
 core-$(CONFIG_MIPS_COBALT)	+= arch/mips/cobalt/
diff -urN linux.old/include/asm-mips/bootinfo.h linux.dev/include/asm-mips/bootinfo.h
--- linux.old/include/asm-mips/bootinfo.h	2007-02-02 23:55:52.913446632 +0100
+++ linux.dev/include/asm-mips/bootinfo.h	2007-02-03 17:51:02.531494032 +0100
@@ -212,6 +212,18 @@
 #define MACH_GROUP_NEC_EMMA2RH 25	/* NEC EMMA2RH (was 23)		*/
 #define  MACH_NEC_MARKEINS	0	/* NEC EMMA2RH Mark-eins	*/
 
+/*
+ * Valid machtype for group ATHEROS
+ */
+#define MACH_GROUP_ATHEROS	26
+#define MACH_ATHEROS_AR5312	0
+#define MACH_ATHEROS_AR2312	1
+#define MACH_ATHEROS_AR2313	2
+#define MACH_ATHEROS_AR2315	3
+#define MACH_ATHEROS_AR2316	4
+#define MACH_ATHEROS_AR2317	5
+#define MACH_ATHEROS_AR2318	6
+
 #define CL_SIZE			COMMAND_LINE_SIZE
 
 const char *get_system_type(void);

