aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Frysinger <michael.frysinger@analog.com>2007-05-21 06:09:21 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-21 12:50:22 -0400
commit0a290593a053752d9629fb1276392ce35c26b348 (patch)
tree8d89161327bc430137993398d7be8cb7927d5d5e
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>
-rw-r--r--arch/blackfin/Kconfig8
-rw-r--r--arch/blackfin/mach-bf561/boards/Makefile3
-rw-r--r--arch/blackfin/mach-bf561/boards/tepla.c61
3 files changed, 70 insertions, 2 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig
index 35b33a44677b..b1b111bb2f3a 100644
--- a/arch/blackfin/Kconfig
+++ b/arch/blackfin/Kconfig
@@ -193,7 +193,7 @@ config BFIN537_BLUETECHNIX_CM
193 CM-BF537 support for EVAL- and DEV-Board. 193 CM-BF537 support for EVAL- and DEV-Board.
194 194
195config BFIN561_BLUETECHNIX_CM 195config BFIN561_BLUETECHNIX_CM
196 bool "BF561-CM" 196 bool "Bluetechnix CM-BF561"
197 depends on (BF561) 197 depends on (BF561)
198 help 198 help
199 CM-BF561 support for EVAL- and DEV-Board. 199 CM-BF561 support for EVAL- and DEV-Board.
@@ -204,6 +204,12 @@ config BFIN561_EZKIT
204 help 204 help
205 BF561-EZKIT-LITE board Support. 205 BF561-EZKIT-LITE board Support.
206 206
207config BFIN561_TEPLA
208 bool "BF561-TEPLA"
209 depends on (BF561)
210 help
211 BF561-TEPLA board Support.
212
207config PNAV10 213config PNAV10
208 bool "PNAV 1.0 board" 214 bool "PNAV 1.0 board"
209 depends on (BF537) 215 depends on (BF537)
diff --git a/arch/blackfin/mach-bf561/boards/Makefile b/arch/blackfin/mach-bf561/boards/Makefile
index 886edc739ab4..495a1cf9d452 100644
--- a/arch/blackfin/mach-bf561/boards/Makefile
+++ b/arch/blackfin/mach-bf561/boards/Makefile
@@ -3,5 +3,6 @@
3# 3#
4 4
5obj-$(CONFIG_GENERIC_BOARD) += generic_board.o 5obj-$(CONFIG_GENERIC_BOARD) += generic_board.o
6obj-$(CONFIG_BFIN561_EZKIT) += ezkit.o
7obj-$(CONFIG_BFIN561_BLUETECHNIX_CM) += cm_bf561.o 6obj-$(CONFIG_BFIN561_BLUETECHNIX_CM) += cm_bf561.o
7obj-$(CONFIG_BFIN561_EZKIT) += ezkit.o
8obj-$(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 000000000000..db308c7ccabb
--- /dev/null
+++ b/arch/blackfin/mach-bf561/boards/tepla.c
@@ -0,0 +1,61 @@
1/*
2 * File: arch/blackfin/mach-bf561/tepla.c
3 *
4 * Copyright 2004-2007 Analog Devices Inc.
5 * Only SMSC91C1111 was registered, may do more later.
6 *
7 * Copyright 2005 National ICT Australia (NICTA), Aidan Williams <aidan@nicta.com.au>
8 * Thanks to Jamey Hicks.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#include <linux/device.h>
16#include <linux/platform_device.h>
17#include <asm/irq.h>
18
19char *bfin_board_name = "Tepla-BF561";
20
21/*
22 * Driver needs to know address, irq and flag pin.
23 */
24static struct resource smc91x_resources[] = {
25 {
26 .start = 0x2C000300,
27 .end = 0x2C000320,
28 .flags = IORESOURCE_MEM,
29 },{
30 .start = IRQ_PROG_INTB,
31 .end = IRQ_PROG_INTB,
32 .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL,
33 },{
34 /*
35 * denotes the flag pin and is used directly if
36 * CONFIG_IRQCHIP_DEMUX_GPIO is defined.
37 */
38 .start = IRQ_PF7,
39 .end = IRQ_PF7,
40 .flags = IORESOURCE_IRQ|IORESOURCE_IRQ_HIGHLEVEL,
41 },
42};
43
44static struct platform_device smc91x_device = {
45 .name = "smc91x",
46 .id = 0,
47 .num_resources = ARRAY_SIZE(smc91x_resources),
48 .resource = smc91x_resources,
49};
50
51static struct platform_device *tepla_devices[] __initdata = {
52 &smc91x_device,
53};
54
55static int __init tepla_init(void)
56{
57 printk(KERN_INFO "%s(): registering device resources\n", __FUNCTION__);
58 return platform_add_devices(tepla_devices, ARRAY_SIZE(tepla_devices));
59}
60
61arch_initcall(tepla_init);