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);