+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -19,6 +19,20 @@
+ 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
++
+ config MACH_ALCHEMY
+ bool "Alchemy processor based machines"
+
+@@ -597,6 +611,7 @@
+
+ endchoice
+
++source "arch/mips/adm5120/Kconfig"
+ source "arch/mips/au1000/Kconfig"
+ source "arch/mips/basler/excite/Kconfig"
+ source "arch/mips/jazz/Kconfig"
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
+@@ -174,6 +174,21 @@
+ 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_ZYXEL) += arch/mips/adm5120/zyxel/
++cflags-$(CONFIG_ADM5120) += -Iinclude/asm-mips/mach-adm5120
++load-$(CONFIG_ADM5120) += 0xffffffff80001000
++
++#
+ # Common Alchemy Au1x00 stuff
+ #
+ core-$(CONFIG_SOC_AU1X00) += arch/mips/au1000/common/
+--- a/include/asm-mips/bootinfo.h
++++ b/include/asm-mips/bootinfo.h
+@@ -57,6 +57,55 @@
+ #define MACH_MIKROTIK_RB532 0 /* Mikrotik RouterBoard 532 */
+ #define MACH_MIKROTIK_RB532A 1 /* Mikrotik RouterBoard 532A */
+
++/*
++ * Valid machtype for group ADM5120
++ */
++#define MACH_ADM5120_GENERIC 0 /* Generic board */
++#define MACH_ADM5120_WP54G_WRT 1 /* Compex WP54G-WRT */
++#define MACH_ADM5120_WP54 2 /* Compex WP54G/WP54AG/WPP54G/WPP54AG */
++#define MACH_ADM5120_NP28G 3 /* Compex NP28G */
++#define MACH_ADM5120_NP28GHS 4 /* Compex NP28G HotSpot */
++#define MACH_ADM5120_NP27G 5 /* Compex NP27G */
++#define MACH_ADM5120_WP54Gv1C 6 /* Compex WP54G version 1C */
++#define MACH_ADM5120_RB_11X 7 /* Mikrotik RouterBOARD 111/112 */
++#define MACH_ADM5120_RB_133 8 /* Mikrotik RouterBOARD 133 */
++#define MACH_ADM5120_RB_133C 9 /* Mikrotik RouterBOARD 133c */
++#define MACH_ADM5120_RB_150 10 /* Mikrotik RouterBOARD 150 */
++#define MACH_ADM5120_RB_153 11 /* Mikrotik RouterBOARD 153 */
++#define MACH_ADM5120_RB_192 12 /* Mikrotik RouterBOARD 192 */
++#define MACH_ADM5120_HS100 13 /* ZyXEL HomeSafe 100/100W */
++#define MACH_ADM5120_P334U 14 /* ZyXEL Prestige 334U */
++#define MACH_ADM5120_P334W 15 /* ZyXEL Prestige 334W */
++#define MACH_ADM5120_P334WH 16 /* ZyXEL Prestige 334WH */
++#define MACH_ADM5120_P334WHD 17 /* ZyXEL Prestige 334WHD */
++#define MACH_ADM5120_P334WT 18 /* ZyXEL Prestige 334WT */
++#define MACH_ADM5120_P335 19 /* ZyXEL Prestige 335/335WT */
++#define MACH_ADM5120_P335PLUS 20 /* ZyXEL Prestige 335Plus */
++#define MACH_ADM5120_P335U 21 /* ZyXEL Prestige 335U */
++#define MACH_ADM5120_ES2108 22 /* ZyXEL Ethernet Switch 2108 */
++#define MACH_ADM5120_ES2108F 23 /* ZyXEL Ethernet Switch 2108-F */
++#define MACH_ADM5120_ES2108G 24 /* ZyXEL Ethernet Switch 2108-G */
++#define MACH_ADM5120_ES2108LC 25 /* ZyXEL Ethernet Switch 2108-LC */
++#define MACH_ADM5120_ES2108PWR 26 /* ZyXEL Ethernet Switch 2108-PWR */
++#define MACH_ADM5120_ES2024A 27 /* ZyXEL Ethernet Switch 2024A */
++#define MACH_ADM5120_ES2024PWR 28 /* ZyXEL Ethernet Switch 2024PWR */
++#define MACH_ADM5120_CAS630 29 /* Cellvision CAS-630/630W */
++#define MACH_ADM5120_CAS670 30 /* Cellvision CAS-670/670W */
++#define MACH_ADM5120_CAS700 31 /* Cellvision CAS-700/700W */
++#define MACH_ADM5120_CAS771 32 /* Cellvision CAS-771/771W */
++#define MACH_ADM5120_CAS790 33 /* Cellvision CAS-790 */
++#define MACH_ADM5120_CAS861 34 /* Cellvision CAS-861/861W */
++#define MACH_ADM5120_NFS101U 35 /* Cellvision NFS-101U/101WU */
++#define MACH_ADM5120_NFS202U 36 /* Cellvision NFS-202U/202WU */
++#define MACH_ADM5120_EASY5120PATA 37 /* Infineon EASY 5120P-ATA */
++#define MACH_ADM5120_EASY5120RT 38 /* Infineon EASY 5120-RT */
++#define MACH_ADM5120_EASY5120WVOIP 39 /* Infineon EASY 5120-WVoIP */
++#define MACH_ADM5120_EASY83000 40 /* Infineon EASY-83000 */
++#define MACH_ADM5120_BR6104K 41 /* Edimax BR-6104K */
++#define MACH_ADM5120_BR6104KP 42 /* Edimax BR-6104KP */
++#define MACH_ADM5120_BR61X4WG 43 /* Edimax BR-6104Wg/BR-6114WG */
++#define MACH_ADM5120_PMUGW 44 /* Motorola Powerline MU Gateway */
++
+ #define CL_SIZE COMMAND_LINE_SIZE
+
+ extern char *system_type;