--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -20,6 +20,21 @@ choice
 	prompt "System type"
 	default SGI_IP22
 
+config ADM5120
+	bool "Infineon/ADMtek ADM5120 SoC based machines"
+	select CEVT_R4K
+	select CSRC_R4K
+	select SYS_HAS_CPU_MIPS32_R1
+	select SYS_HAS_EARLY_PRINTK
+	select DMA_NONCOHERENT
+	select IRQ_CPU
+	select SYS_SUPPORTS_LITTLE_ENDIAN
+	select SYS_SUPPORTS_BIG_ENDIAN
+	select SYS_SUPPORTS_32BIT_KERNEL
+	select ARCH_REQUIRE_GPIOLIB
+	select SWAP_IO_SPACE if CPU_BIG_ENDIAN
+	select MIPS_MACHINE
+
 config MACH_ALCHEMY
 	bool "Alchemy processor based machines"
 
@@ -673,6 +688,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
 
 endchoice
 
+source "arch/mips/adm5120/Kconfig"
 source "arch/mips/alchemy/Kconfig"
 source "arch/mips/basler/excite/Kconfig"
 source "arch/mips/bcm63xx/Kconfig"
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
@@ -191,6 +191,22 @@ cflags-$(CONFIG_MACH_JAZZ)	+= -I$(srctre
 load-$(CONFIG_MACH_JAZZ)	+= 0xffffffff80080000
 
 #
+# Infineon/ADMtek ADM5120
+#
+libs-$(CONFIG_ADM5120)			+= arch/mips/adm5120/prom/
+core-$(CONFIG_ADM5120)			+= arch/mips/adm5120/common/
+core-$(CONFIG_ADM5120_OEM_CELLVISION)	+= arch/mips/adm5120/cellvision/
+core-$(CONFIG_ADM5120_OEM_COMPEX)	+= arch/mips/adm5120/compex/
+core-$(CONFIG_ADM5120_OEM_EDIMAX)	+= arch/mips/adm5120/edimax/
+core-$(CONFIG_ADM5120_OEM_INFINEON)	+= arch/mips/adm5120/infineon/
+core-$(CONFIG_ADM5120_OEM_MIKROTIK)	+= arch/mips/adm5120/mikrotik/
+core-$(CONFIG_ADM5120_OEM_MOTOROLA)	+= arch/mips/adm5120/motorola/
+core-$(CONFIG_ADM5120_OEM_OSBRIDGE)	+= arch/mips/adm5120/osbridge/
+core-$(CONFIG_ADM5120_OEM_ZYXEL)	+= arch/mips/adm5120/zyxel/
+cflags-$(CONFIG_ADM5120)		+= -I$(srctree)/arch/mips/include/asm/mach-adm5120
+load-$(CONFIG_ADM5120)			+= 0xffffffff80001000
+
+#
 # Common Alchemy Au1x00 stuff
 #
 core-$(CONFIG_SOC_AU1X00)	+= arch/mips/alchemy/common/
