aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-07-22 12:20:54 -0400
committerPaul Mundt <lethal@linux-sh.org>2009-07-23 00:15:18 -0400
commite7d165146a7de5ceb4f68e188b2679f003744f54 (patch)
treed6e4118cba7642bed65622c5d0ea6f6cfb3a3c27 /arch
parent4be3bd7849165e7efa6b0b35a23d6a3598d97465 (diff)
sh: kfr2r09 board support - SCIF console
This patch adds basic kfr2r09 board support. Only the SCIF1 console is supported with this patch, but this patch and a proper sh7724 configuration is all that is needed. Combine with an initramfs to have a small RAM based kernel and distribution booted as zImage from RAM via JTAG. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sh/Makefile1
-rw-r--r--arch/sh/boards/Kconfig7
-rw-r--r--arch/sh/boards/mach-kfr2r09/Makefile1
-rw-r--r--arch/sh/boards/mach-kfr2r09/setup.c48
4 files changed, 57 insertions, 0 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 75d049b03f7e..d7358d70f154 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -136,6 +136,7 @@ machdir-$(CONFIG_SH_7751_SYSTEMH) += mach-systemh
136machdir-$(CONFIG_SH_EDOSK7705) += mach-edosk7705 136machdir-$(CONFIG_SH_EDOSK7705) += mach-edosk7705
137machdir-$(CONFIG_SH_HIGHLANDER) += mach-highlander 137machdir-$(CONFIG_SH_HIGHLANDER) += mach-highlander
138machdir-$(CONFIG_SH_MIGOR) += mach-migor 138machdir-$(CONFIG_SH_MIGOR) += mach-migor
139machdir-$(CONFIG_SH_KFR2R09) += mach-kfr2r09
139machdir-$(CONFIG_SH_SDK7780) += mach-sdk7780 140machdir-$(CONFIG_SH_SDK7780) += mach-sdk7780
140machdir-$(CONFIG_SH_X3PROTO) += mach-x3proto 141machdir-$(CONFIG_SH_X3PROTO) += mach-x3proto
141machdir-$(CONFIG_SH_SH7763RDP) += mach-sh7763rdp 142machdir-$(CONFIG_SH_SH7763RDP) += mach-sh7763rdp
diff --git a/arch/sh/boards/Kconfig b/arch/sh/boards/Kconfig
index 2b1af0eefa6a..db04c85971ad 100644
--- a/arch/sh/boards/Kconfig
+++ b/arch/sh/boards/Kconfig
@@ -193,6 +193,13 @@ config SH_AP325RXA
193 Renesas "AP-325RXA" support. 193 Renesas "AP-325RXA" support.
194 Compatible with ALGO SYSTEM CO.,LTD. "AP-320A" 194 Compatible with ALGO SYSTEM CO.,LTD. "AP-320A"
195 195
196config SH_KFR2R09
197 bool "KFR2R09"
198 depends on CPU_SUBTYPE_SH7724
199 select ARCH_REQUIRE_GPIOLIB
200 help
201 "Kit For R2R for 2009" support.
202
196config SH_SH7763RDP 203config SH_SH7763RDP
197 bool "SH7763RDP" 204 bool "SH7763RDP"
198 depends on CPU_SUBTYPE_SH7763 205 depends on CPU_SUBTYPE_SH7763
diff --git a/arch/sh/boards/mach-kfr2r09/Makefile b/arch/sh/boards/mach-kfr2r09/Makefile
new file mode 100644
index 000000000000..77037567633b
--- /dev/null
+++ b/arch/sh/boards/mach-kfr2r09/Makefile
@@ -0,0 +1 @@
obj-y := setup.o
diff --git a/arch/sh/boards/mach-kfr2r09/setup.c b/arch/sh/boards/mach-kfr2r09/setup.c
new file mode 100644
index 000000000000..224318abc9e6
--- /dev/null
+++ b/arch/sh/boards/mach-kfr2r09/setup.c
@@ -0,0 +1,48 @@
1/*
2 * KFR2R09 board support code
3 *
4 * Copyright (C) 2009 Magnus Damm
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10#include <linux/init.h>
11#include <linux/platform_device.h>
12#include <linux/interrupt.h>
13#include <linux/delay.h>
14#include <linux/clk.h>
15#include <linux/gpio.h>
16#include <asm/clock.h>
17#include <asm/machvec.h>
18#include <asm/io.h>
19#include <cpu/sh7724.h>
20
21static int __init kfr2r09_devices_setup(void)
22{
23 /* enable SCIF1 serial port for YC401 console support */
24 gpio_request(GPIO_FN_SCIF1_RXD, NULL);
25 gpio_request(GPIO_FN_SCIF1_TXD, NULL);
26
27 return 0;
28}
29device_initcall(kfr2r09_devices_setup);
30
31/* Return the board specific boot mode pin configuration */
32static int kfr2r09_mode_pins(void)
33{
34 /* MD0=1, MD1=1, MD2=0: Clock Mode 3
35 * MD3=0: 16-bit Area0 Bus Width
36 * MD5=1: Little Endian
37 * MD8=1: Test Mode Disabled
38 */
39 return MODE_PIN0 | MODE_PIN1 | MODE_PIN5 | MODE_PIN8;
40}
41
42/*
43 * The Machine Vector
44 */
45static struct sh_machine_vector mv_kfr2r09 __initmv = {
46 .mv_name = "kfr2r09",
47 .mv_mode_pins = kfr2r09_mode_pins,
48};