--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -139,6 +139,9 @@ config MACH_DECSTATION
+@@ -157,6 +157,9 @@
otherwise choose R3000.
config MACH_JAZZ
bool "Jazz family of machines"
select ARC
-@@ -693,6 +696,7 @@ source "arch/mips/txx9/Kconfig"
+@@ -729,6 +732,7 @@
source "arch/mips/vr41xx/Kconfig"
source "arch/mips/cavium-octeon/Kconfig"
source "arch/mips/loongson/Kconfig"
endmenu
---- a/arch/mips/Makefile
-+++ b/arch/mips/Makefile
-@@ -317,6 +317,17 @@ cflags-$(CONFIG_MIPS_COBALT) += -I$(srct
- load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
-
- #
-+# Lantiq
-+#
-+load-$(CONFIG_LANTIQ) += 0xffffffff80002000
-+core-$(CONFIG_LANTIQ) += arch/mips/lantiq/
-+cflags-$(CONFIG_LANTIQ) += -I$(srctree)/arch/mips/include/asm/mach-lantiq
-+core-$(CONFIG_SOC_LANTIQ_FALCON) += arch/mips/lantiq/falcon/
-+cflags-$(CONFIG_SOC_LANTIQ_FALCON) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon
-+core-$(CONFIG_SOC_LANTIQ_XWAY) += arch/mips/lantiq/xway/
-+cflags-$(CONFIG_SOC_LANTIQ_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway
-+
-+#
- # DECstation family
- #
- core-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/
--- /dev/null
+++ b/arch/mips/lantiq/Kconfig
@@ -0,0 +1,36 @@
+endif
--- /dev/null
+++ b/arch/mips/lantiq/Makefile
-@@ -0,0 +1,2 @@
+@@ -0,0 +1,3 @@
+obj-y := irq.o setup.o clk.o prom.o
+obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
++obj-$(CONFIG_SOC_LANTIQ_XWAY) += xway/
--- /dev/null
+++ b/arch/mips/lantiq/irq.c
-@@ -0,0 +1,212 @@
+@@ -0,0 +1,218 @@
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 as published
+
+#define LQ_ICU_OFFSET (LQ_ICU_IM1_ISR - LQ_ICU_IM0_ISR)
+
++#define LQ_EBU_BASE_ADDR 0xBE105300
++#define LQ_EBU_PCC_ISTAT ((u32 *)(LQ_EBU_BASE_ADDR + 0x00A0))
++
+void
+lq_disable_irq(unsigned int irq_nr)
+{
+ other bits might be bogus */
+ irq = __fls(irq);
+ do_IRQ((int)irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module));
++ if ((irq == 22) && (module == 0))
++ lq_w32(lq_r32(LQ_EBU_PCC_ISTAT) | 0x10,
++ LQ_EBU_PCC_ISTAT);
+}
+
+#define DEFINE_HWx_IRQDISPATCH(x) \
+void lq_soc_detect(struct lq_soc_info *i);
+
+#endif
+--- a/arch/mips/Kbuild.platforms
++++ b/arch/mips/Kbuild.platforms
+@@ -11,6 +11,7 @@
+ platforms += jazz
+ platforms += jz4740
+ platforms += lasat
++platforms += lantiq
+ platforms += loongson
+ platforms += mipssim
+ platforms += mti-malta
+--- /dev/null
++++ b/arch/mips/lantiq/Platform
+@@ -0,0 +1,8 @@
++#
++# Lantiq
++#
++
++platform-$(CONFIG_LANTIQ) += lantiq/
++cflags-$(CONFIG_LANTIQ) += -I$(srctree)/arch/mips/include/asm/mach-lantiq
++load-$(CONFIG_LANTIQ) = 0xffffffff80002000
++cflags-$(CONFIG_SOC_LANTIQ_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway