]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
ARM: Add board support for Telechips TCC8000-SDK board
authorHans J. Koch <hjk@linutronix.de>
Fri, 17 Sep 2010 16:21:36 +0000 (18:21 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 17 Sep 2010 19:55:09 +0000 (21:55 +0200)
Add support for the Telechips TCC8000-SDK development board.

Signed-off-by: "Hans J. Koch" <hjk@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/arm/mach-tcc8k/Kconfig
arch/arm/mach-tcc8k/Makefile
arch/arm/mach-tcc8k/Makefile.boot [new file with mode: 0644]
arch/arm/mach-tcc8k/board-tcc8000-sdk.c [new file with mode: 0644]

index ec7f71b17c06c13ea14796390b86e34425e2d1af..ad86415d1577f3faf7cf7f621d8ed106e977eb5b 100644 (file)
@@ -2,4 +2,10 @@ if ARCH_TCC8K
 
 comment "TCC8000 systems:"
 
+config MACH_TCC8000_SDK
+       bool "Telechips TCC8000-SDK development kit"
+       default y
+       help
+         Support for the Telechips TCC8000-SDK board.
+
 endif
index e92c0d255ae710dd03d3dbdabc714d38d4789e19..9bacf31e49bad6d86835ec3c831a5520047c156e 100644 (file)
@@ -4,3 +4,6 @@
 
 # Common support
 obj-y += clock.o irq.o time.o io.o devices.o
+
+# Board specific support
+obj-$(CONFIG_MACH_TCC8000_SDK) += board-tcc8000-sdk.o
diff --git a/arch/arm/mach-tcc8k/Makefile.boot b/arch/arm/mach-tcc8k/Makefile.boot
new file mode 100644 (file)
index 0000000..f135c9d
--- /dev/null
@@ -0,0 +1,3 @@
+   zreladdr-y          := 0x20008000
+params_phys-y          := 0x20000100
+initrd_phys-y          := 0x20800000
diff --git a/arch/arm/mach-tcc8k/board-tcc8000-sdk.c b/arch/arm/mach-tcc8k/board-tcc8000-sdk.c
new file mode 100644 (file)
index 0000000..4e42555
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2009 Hans J. Koch <hjk@linutronix.de>
+ *
+ * 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 by the Free Software Foundation.
+ */
+
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/platform_device.h>
+
+#include <asm/mach-types.h>
+
+#include <asm/mach/arch.h>
+#include <asm/mach/map.h>
+#include <asm/mach/time.h>
+
+#include <mach/clock.h>
+
+#include "common.h"
+
+#define XI_FREQUENCY   12000000
+#define XTI_FREQUENCY  32768
+
+#ifdef CONFIG_MTD_NAND_TCC
+/* NAND */
+static struct tcc_nand_platform_data tcc8k_sdk_nand_data = {
+       .width = 1,
+       .hw_ecc = 0,
+};
+#endif
+
+static void __init tcc8k_init(void)
+{
+#ifdef CONFIG_MTD_NAND_TCC
+       tcc_nand_device.dev.platform_data = &tcc8k_sdk_nand_data;
+       platform_device_register(&tcc_nand_device);
+#endif
+}
+
+static void __init tcc8k_init_timer(void)
+{
+       tcc_clocks_init(XI_FREQUENCY, XTI_FREQUENCY);
+}
+
+static struct sys_timer tcc8k_timer = {
+       .init   = tcc8k_init_timer,
+};
+
+static void __init tcc8k_map_io(void)
+{
+       tcc8k_map_common_io();
+}
+
+MACHINE_START(TCC8000_SDK, "Telechips TCC8000-SDK Demo Board")
+       .phys_io        = 0x90000000,
+       .io_pg_offst    = ((0xf1000000) >> 18) & 0xfffc,
+       .boot_params    = PHYS_OFFSET + 0x00000100,
+       .map_io         = tcc8k_map_io,
+       .init_irq       = tcc8k_init_irq,
+       .init_machine   = tcc8k_init,
+       .timer          = &tcc8k_timer,
+MACHINE_END