Index: linux-2.6.24.7/arch/mips/Kconfig =================================================================== --- linux-2.6.24.7.orig/arch/mips/Kconfig +++ linux-2.6.24.7/arch/mips/Kconfig @@ -67,6 +67,18 @@ config BCM47XX help Support for BCM47XX based boards +config ATHEROS + bool "Atheros SoC support (EXPERIMENTAL)" + depends on EXPERIMENTAL + select DMA_NONCOHERENT + select CEVT_R4K + select CSRC_R4K + select IRQ_CPU + select SYS_HAS_CPU_MIPS32_R1 + select SYS_SUPPORTS_BIG_ENDIAN + select SYS_SUPPORTS_32BIT_KERNEL + select GENERIC_GPIO + config MIPS_COBALT bool "Cobalt Server" select CEVT_R4K @@ -689,6 +701,7 @@ config WR_PPMC endchoice +source "arch/mips/atheros/Kconfig" source "arch/mips/au1000/Kconfig" source "arch/mips/jazz/Kconfig" source "arch/mips/lasat/Kconfig" Index: linux-2.6.24.7/arch/mips/Makefile =================================================================== --- linux-2.6.24.7.orig/arch/mips/Makefile +++ linux-2.6.24.7/arch/mips/Makefile @@ -268,6 +268,13 @@ libs-$(CONFIG_MIPS_XXS1500) += arch/mips 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/ Index: linux-2.6.24.7/include/asm-mips/bootinfo.h =================================================================== --- linux-2.6.24.7.orig/include/asm-mips/bootinfo.h +++ linux-2.6.24.7/include/asm-mips/bootinfo.h @@ -198,6 +198,18 @@ #define MACH_GROUP_BRCM 23 /* Broadcom */ #define MACH_BCM47XX 1 /* Broadcom BCM47XX */ +/* + * 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);