diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 598a521ce18e535256ccb4a0d91dbb49211ebf6a..2f79fb2a3ed6efcd1680789437e01c5764c6a643 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -76,7 +76,6 @@ textaddr-$(CONFIG_ARCH_CO285)	   := 0x60008000
   incdir-$(CONFIG_ARCH_CO285)	   := ebsa285
  machine-$(CONFIG_ARCH_FTVPCI)	   := ftvpci
   incdir-$(CONFIG_ARCH_FTVPCI)	   := nexuspci
- machine-$(CONFIG_ARCH_TBOX)	   := tbox
  machine-$(CONFIG_ARCH_SHARK)	   := shark
  machine-$(CONFIG_ARCH_SA1100)	   := sa1100
 ifeq ($(CONFIG_ARCH_SA1100),y)
diff --git a/arch/arm/mach-tbox/Makefile b/arch/arm/mach-tbox/Makefile
deleted file mode 100644
index 4bd8ebd70e7bd180e691ac0d0a0bbf4902a8c67b..0000000000000000000000000000000000000000
--- a/arch/arm/mach-tbox/Makefile
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Makefile for the linux kernel.
-#
-
-# Object file lists.
-
-obj-y			:= core.o
-obj-m			:=
-obj-n			:=
-obj-			:=
-
diff --git a/arch/arm/mach-tbox/core.c b/arch/arm/mach-tbox/core.c
deleted file mode 100644
index db9ac783cfceb1d3cd45907f991aebdb8018923a..0000000000000000000000000000000000000000
--- a/arch/arm/mach-tbox/core.c
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  linux/arch/arm/mm/mm-tbox.c
- *
- *  Copyright (C) 1998, 1999, 2000 Phil Blundell
- *  Copyright (C) 1998-1999 Russell King
- *
- *  Extra MM routines for the Tbox architecture
- */
-#include <linux/kernel.h>
-#include <linux/mm.h>
-#include <linux/init.h>
-
-#include <asm/elf.h>
-#include <asm/setup.h>
-#include <asm/mach-types.h>
-#include <asm/io.h>
-#include <asm/pgtable.h>
-#include <asm/page.h>
-
-#include <asm/mach/arch.h>
-#include <asm/mach/map.h>
-
-extern unsigned long soft_irq_mask;
-
-static void tbox_mask_irq(unsigned int irq)
-{
-	__raw_writel(0, INTCONT + (irq << 2));
-	soft_irq_mask &= ~(1<<irq);
-}
-
-static void tbox_unmask_irq(unsigned int irq)
-{
-	soft_irq_mask |= (1<<irq);
-	__raw_writel(1, INTCONT + (irq << 2));
-}
- 
-static void tbox_init_irq(void)
-{
-	unsigned int i;
-
-	/* Disable all interrupts initially. */
-	for (i = 0; i < NR_IRQS; i++) {
-		if (i <= 10 || (i >= 12 && i <= 13)) {
-			irq_desc[i].valid	= 1;
-			irq_desc[i].probe_ok	= 0;
-			irq_desc[i].mask_ack	= tbox_mask_irq;
-			irq_desc[i].mask	= tbox_mask_irq;
-			irq_desc[i].unmask	= tbox_unmask_irq;
-			tbox_mask_irq(i);
-		} else {
-			irq_desc[i].valid	= 0;
-			irq_desc[i].probe_ok	= 0;
-		}
-	}
-}
-
-static struct map_desc tbox_io_desc[] __initdata = {
-	/* See hardware.h for details */
-	{ IO_BASE,	IO_START,	0x00100000, MT_DEVICE }
-};
-
-static void __init tbox_map_io(void)
-{
-	iotable_init(tbox_io_desc, ARRAY_SIZE(tbox_io_desc));
-}
-
-MACHINE_START(TBOX, "unknown-TBOX")
-	MAINTAINER("Philip Blundell")
-	BOOT_MEM(0x80000000, 0x00400000, 0xe0000000)
-	MAPIO(tbox_map_io)
-	INITIRQ(tbox_init_irq)
-MACHINE_END
-
diff --git a/include/asm-arm/arch-tbox/dma.h b/include/asm-arm/arch-tbox/dma.h
deleted file mode 100644
index 1d5d39175671f6b170784138499305efc1cf9f61..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/dma.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/dma.h
- *
- * Architecture DMA routines.  We have to contend with the bizarre DMA
- * machine built into the Tbox hardware.
- *
- * Copyright (C) 1998 Philip Blundell
- */
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-/*
- * DMA channel definitions.  Some of these are physically strange but
- * we sort it out inside dma.c so the user never has to care.  The
- * exception is the double-buffering which we can't really abstract
- * away sensibly.
- */
-#define DMA_VIDEO			0
-#define DMA_MPEG_B			1
-#define DMA_AUDIO_B			2
-#define DMA_ASHRX_B			3
-#define DMA_ASHTX			4
-#define DMA_MPEG			5
-#define DMA_AUDIO			6
-#define DMA_ASHRX			7
-
-#define MAX_DMA_CHANNELS		0	/* XXX */
-
-/*
- * This is the maximum DMA address that can be DMAd to.
- */
-#define MAX_DMA_ADDRESS		0xffffffff
diff --git a/include/asm-arm/arch-tbox/hardware.h b/include/asm-arm/arch-tbox/hardware.h
deleted file mode 100644
index 9aa3f4508b4621e57873963e2abca06c4c9b38dc..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/hardware.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/hardware.h
- *
- * Copyright (C) 1998, 1999, 2000 Philip Blundell
- * Copyright (C) 2000 FutureTV Labs Ltd
- *
- * This file contains the hardware definitions of the Tbox
- */
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#define __ASM_ARCH_HARDWARE_H
-
-/*    Logical    Physical
- * 0xfff00000	0x00100000	I/O
- * 0xfff00000	0x00100000	  Expansion CS0
- * 0xfff10000	0x00110000	  DMA
- * 0xfff20000	0x00120000	  C-Cube
- * 0xfff30000	0x00130000	  FPGA 1
- * 0xfff40000	0x00140000	  UART 2
- * 0xfff50000	0x00150000	  UART 1
- * 0xfff60000	0x00160000	  CS8900
- * 0xfff70000	0x00170000	  INTCONT
- * 0xfff80000	0x00180000	  RAMDAC
- * 0xfff90000	0x00190000	  Control 0
- * 0xfffa0000	0x001a0000	  Control 1
- * 0xfffb0000	0x001b0000	  Control 2
- * 0xfffc0000	0x001c0000	  FPGA 2
- * 0xfffd0000	0x001d0000	  INTRESET
- * 0xfffe0000	0x001e0000	  C-Cube DMA throttle
- * 0xffff0000	0x001f0000	  Expansion CS1
- * 0xffe00000	0x82000000	cache flush
- */
-
-/*
- * Mapping areas
- */
-#define IO_BASE			0xfff00000
-#define IO_START		0x00100000
-#define FLUSH_BASE		0xffe00000
-
-#define INTCONT			0xfff70000
-
-#define FPGA1CONT		0xffff3000
-
-/*
- * RAM definitions
- */
-#define RAM_BASE		0x80000000
-#define FLUSH_BASE_PHYS		0x82000000
-
-#define UNCACHEABLE_ADDR	INTCONT
-
-#endif
diff --git a/include/asm-arm/arch-tbox/io.h b/include/asm-arm/arch-tbox/io.h
deleted file mode 100644
index 869798595c9441514834fdd07afed7f7875ffb92..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/io.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/io.h
- *
- * Copyright (C) 1996-1999 Russell King
- * Copyright (C) 1998, 1999 Philip Blundell
- *
- */
-#ifndef __ASM_ARM_ARCH_IO_H
-#define __ASM_ARM_ARCH_IO_H
-
-#define IO_SPACE_LIMIT 0xffffffff
-
-#define __io(_x)		((_x) << 2)
-
-/*
- * Generic virtual read/write
- */
-static inline unsigned int __arch_getw(unsigned long a)
-{
-	unsigned int value;
-	__asm__ __volatile__("ldr%?h	%0, [%1, #0]	@ getw"
-		: "=&r" (value)
-		: "r" (a));
-	return value;
-}
-
-static inline void __arch_putw(unsigned int value, unsigned long a)
-{
-	__asm__ __volatile__("str%?h	%0, [%1, #0]	@ putw"
-		: : "r" (value), "r" (a));
-}
-
-/* Idem, for devices on the upper byte lanes */
-#define inb_u(p)		__arch_getb(__io_pc(p) + 2)
-#define inw_u(p)		__arch_getw(__io_pc(p) + 2)
-
-#define outb_u(v,p)		__arch_putb(v,__io_pc(p) + 2)
-#define outw_u(v,p)		__arch_putw(v,__io_pc(p) + 2)
-
-#endif
diff --git a/include/asm-arm/arch-tbox/irqs.h b/include/asm-arm/arch-tbox/irqs.h
deleted file mode 100644
index 1ee5eba6ea9d8e24b9276cf90c35bd30b8f89cd9..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/irqs.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/irqs.h
- *
- * Copyright (C) 1998, 2000 Philip Blundell
- */
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#define IRQ_MPEGDMA		0
-#define IRQ_ASHTX		1
-#define IRQ_ASHRX		2
-#define IRQ_VSYNC		3
-#define IRQ_HSYNC		4
-#define IRQ_MPEG		5
-#define IRQ_UART2		6
-#define IRQ_UART1		7
-#define IRQ_ETHERNET		8
-#define IRQ_TIMER		9
-#define IRQ_AUDIODMA		10
-/* bit 11 used for video field ident */
-#define IRQ_EXPMODCS0		12
-#define IRQ_EXPMODCS1		13
-
-#define irq_canonicalize(i)	(i)
diff --git a/include/asm-arm/arch-tbox/memory.h b/include/asm-arm/arch-tbox/memory.h
deleted file mode 100644
index a20479487c9da670e27cd92c74017a8a5927767f..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/memory.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/memory.h
- *
- * Copyright (c) 1996-1999 Russell King.
- * Copyright (c) 1998-1999 Phil Blundell
- */
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-/*
- * Physical DRAM offset.
- */
-#define PHYS_OFFSET		(0x80000000UL)
-
-/*
- * Bus view is the same as physical view
- */
-#define __virt_to_bus(x)	__virt_to_phys(x)
-#define __bus_to_virt(x)	__phys_to_virt(x)
-
-#endif
diff --git a/include/asm-arm/arch-tbox/param.h b/include/asm-arm/arch-tbox/param.h
deleted file mode 100644
index 4b47fe32b7c640e523594eee0dc56841f43197e2..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/param.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- *  linux/include/asm-arm/arch-tbox/param.h
- */
-#define __KERNEL_HZ 1000
diff --git a/include/asm-arm/arch-tbox/serial.h b/include/asm-arm/arch-tbox/serial.h
deleted file mode 100644
index 7e4aff996fd874ef8b8f3c38c58776c97e29e06e..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/serial.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/serial.h
- *
- * Copyright (c) 1996 Russell King.
- * Copyright (c) 1998 Phil Blundell
- *
- * Changelog:
- *  15-10-1996	RMK	Created
- *  09-06-1998  PJB	tbox version
- */
-#ifndef __ASM_ARCH_SERIAL_H
-#define __ASM_ARCH_SERIAL_H
-
-/*
- * This assumes you have a 1.8432 MHz clock for your UART.
- *
- * It'd be nice if someone built a serial card with a 24.576 MHz
- * clock, since the 16550A is capable of handling a top speed of 1.5
- * megabits/second; but this requires the faster clock.
- */
-#define BASE_BAUD (1843200 / 16)
-
-#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
-
-     /* UART CLK        PORT  IRQ     FLAGS        */
-#define STD_SERIAL_PORT_DEFNS \
-	{ 0, BASE_BAUD, 0xffff4000 >> 2, 6, STD_COM_FLAGS }, /* ttyS0 */ \
-	{ 0, BASE_BAUD, 0xffff5000 >> 2, 7, STD_COM_FLAGS }, /* ttyS1 */
-
-#define EXTRA_SERIAL_PORT_DEFNS
-
-#endif
diff --git a/include/asm-arm/arch-tbox/system.h b/include/asm-arm/arch-tbox/system.h
deleted file mode 100644
index da2cb88acb0c8f32b64ea106a937d4b695fe0c39..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/system.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/system.h
- *
- * Copyright (c) 1996-1999 Russell King.
- */
-#ifndef __ASM_ARCH_SYSTEM_H
-#define __ASM_ARCH_SYSTEM_H
-
-static inline void arch_idle(void)
-{
-	cpu_do_idle();
-}
-
-#define arch_reset(mode)	do { } while (0)
-
-#endif
diff --git a/include/asm-arm/arch-tbox/time.h b/include/asm-arm/arch-tbox/time.h
deleted file mode 100644
index 461787189e1eaf3a8d5f8874fdd19c37a80cd8e6..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/time.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/time.h
- *
- * Copyright (c) 1997, 1999 Phil Blundell.
- * Copyright (c) 2000 FutureTV Labs Ltd
- *
- * Tbox has no real-time clock -- we get millisecond ticks to update
- * our soft copy.
- */
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <asm/io.h>
-#include <asm/hardware.h>
-
-#define update_rtc()
-
-static irqreturn_t
-timer_interrupt (int irq, void *dev_id, struct pt_regs *regs)
-{
-	/* Clear irq */
-	__raw_writel(1, FPGA1CONT + 0xc); 
-	__raw_writel(0, FPGA1CONT + 0xc);
-
-	do_timer(regs);
-
-	return IRQ_HANDLED;
-}
-
-void __init time_init(void)
-{
-	timer_irq.handler = timer_interrupt;
-	setup_irq(IRQ_TIMER, &timer_irq);
-}
diff --git a/include/asm-arm/arch-tbox/timex.h b/include/asm-arm/arch-tbox/timex.h
deleted file mode 100644
index c5489cd66ce7803e9bb1b99207eee1722c1af730..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/timex.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/timex.h
- *
- * Tbox timex specifications
- *
- * Copyright (C) 1999 Philip Blundell
- */
-
diff --git a/include/asm-arm/arch-tbox/uncompress.h b/include/asm-arm/arch-tbox/uncompress.h
deleted file mode 100644
index 17a5034e7812cc4fa4dbd1267a959bd1d8a69c6a..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/uncompress.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * linux/include/asm-arm/arch-nexuspci/uncompress.h
- *  from linux/include/asm-arm/arch-ebsa110/uncompress.h
- *
- * Copyright (C) 1996,1997,1998 Russell King
- * Copyright (C) 1998, 1999 Phil Blundell
- */
-
-#include <asm/io.h>
-
-#define UARTBASE 0x00400000
-
-/*
- * This does not append a newline
- */
-static void puts(const char *s)
-{
-  while (*s)
-  {
-    char c = *(s++);
-    while (!(__raw_readb(UARTBASE + 0x14) & 0x20));
-    __raw_writeb(c, UARTBASE);
-    if (c == 10) {
-      while (!(__raw_readb(UARTBASE + 0x14) & 0x20));
-      __raw_writeb(13, UARTBASE);
-    }
-  }
-}
-
-/*
- * nothing to do
- */
-#define arch_decomp_setup()
-
-/*
- * Stroke the watchdog so we don't get reset during decompression.
- */
-#define arch_decomp_wdog()				\
-	do {						\
-	__raw_writel(1, 0xa00000);			\
-	__raw_writel(0, 0xa00000);			\
-	} while (0)
diff --git a/include/asm-arm/arch-tbox/vmalloc.h b/include/asm-arm/arch-tbox/vmalloc.h
deleted file mode 100644
index da4a5c04f1934d0293139cb7a36afe44aa361f5c..0000000000000000000000000000000000000000
--- a/include/asm-arm/arch-tbox/vmalloc.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/*
- * linux/include/asm-arm/arch-tbox/vmalloc.h
- */
-
-/*
- * Just any arbitrary offset to the start of the vmalloc VM area: the
- * current 8MB value just means that there will be a 8MB "hole" after the
- * physical memory until the kernel virtual memory starts.  That means that
- * any out-of-bounds memory accesses will hopefully be caught.
- * The vmalloc() routines leaves a hole of 4kB between each vmalloced
- * area for the same reason. ;)
- */
-#define VMALLOC_OFFSET	  (8*1024*1024)
-#define VMALLOC_START	  (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
-#define VMALLOC_END       (PAGE_OFFSET + 0x10000000)