summaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-bf561
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-05-21 18:09:21 +0800
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-21 09:50:22 -0700
commit0a290593a053752d9629fb1276392ce35c26b348 (patch)
tree8d89161327bc430137993398d7be8cb7927d5d5e /arch/blackfin/mach-bf561
parent6e537e9329d133526a576b741f85b3d48edc4ac1 (diff)
Blackfin arch: initial tepla-bf561 board support
Signed-off-by: Mike Frysinger <michael.frysinger@analog.com> Signed-off-by: Bryan Wu <bryan.wu@analog.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/blackfin/mach-bf561')
-rw-r--r--arch/blackfin/mach-bf561/boards/Makefile3
-rw-r--r--arch/blackfin/mach-bf561/boards/tepla.c61
2 files changed, 63 insertions, 1 deletions
diff --git a/arch/blackfin/mach-bf561/boards/Makefile b/arch/blackfin/mach-bf561/boards/Makefile
index 886edc739ab..495a1cf9d45 100644
--- a/arch/blackfin/mach-bf561/boards/Makefile
+++ b/arch/blackfin/mach-bf561/boards/Makefile
@@ -3,5 +3,6 @@
#
obj-$(CONFIG_GENERIC_BOARD) += generic_board.o
-obj-$(CONFIG_BFIN561_EZKIT) += ezkit.o
obj-$(CONFIG_BFIN561_BLUETECHNIX_CM) += cm_bf561.o
+obj-$(CONFIG_BFIN561_EZKIT) += ezkit.o
+obj-$(CONFIG_BFIN561_TEPLA) += tepla.o
diff --git a/arch/blackfin/mach-bf561/boards/tepla.c b/arch/blackfin/mach-bf561/boards/tepla.c
new file mode 100644
index 00000000000..db308c7ccab
--- /dev/null
+++ b/arch/blackfin/mach-bf561/boards/tepla.c
@@ -0,0 +1,61 @@
+/*
+ * File: arch/blackfin/mach-bf561/tepla.c
+ *
+ * Copyright 2004-2007 Analog Devices Inc.
+ * Only SMSC91C1111 was registered, may do more later.
+ *
+ * Copyright 2005 National ICT Australia (NICTA), Aidan Williams <aidan@nicta.com.au>
+ * Thanks to Jamey Hicks.
+ *
+ * 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/device.h>
+#include <linux/platform_device.h>
+#include <asm/irq.h>
+
+char *bfin_board_name = "Tepla-BF561";
+
+/*
+ * Driver needs to know address, irq and flag pin.
+ */
+static struct resource smc91x_resources[] = {
+ {
+ .start = 0x2C000300,
+ .end = 0x2C000320,
+ .flags = IORESOURCE_MEM,
+ },{
+ .start = IRQ_PROG_INTB,
+ .end = IRQ_PROG_INTB,
+ .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL,
+ },{
+ /*
+ * denotes the flag pin and is used directly if
+ * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
+ */
+ .start = IRQ_PF7,
+ .end = IRQ_PF7,
+ .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL,
+ },
+};
+
+static struct platform_device smc91x_device = {
+ .name = "smc91x",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(smc91x_resources),
+ .resource = smc91x_resources,
+};
+
+static struct platform_device *tepla_devices[] __initdata = {
+ &smc91x_device,
+};
+
+static int __init tepla_init(void)
+{
+ printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
+ return platform_add_devices(tepla_devices, ARRAY_SIZE(tepla_devices));
+}
+
+arch_initcall(tepla_init);