aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyusuke Sakato <sakato.ryusuke@renesas.com>2007-04-30 20:45:29 -0400
committerPaul Mundt <lethal@hera.kernel.org>2007-05-06 22:11:57 -0400
commit6865f0ea6ad91fec3ae7831c49d48b5a7db4b428 (patch)
treef5e58cf973b6c49ed04dafb7fdc035f10d3366d3
parent6b817c03489083a7457cda16b953a214dcef8d64 (diff)
sh: Solution Engine 7722 board support.
This adds more full-featured support for the SH7722 Solution Engine. Previously this was using the generic board, and lacked most of the peripheral support. Signed-off-by: Ryusuke Sakato <sakato.ryusuke@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/Kconfig8
-rw-r--r--arch/sh/Makefile1
-rw-r--r--arch/sh/boards/se/7722/Makefile10
-rw-r--r--arch/sh/boards/se/7722/irq.c101
-rw-r--r--arch/sh/boards/se/7722/setup.c148
-rw-r--r--arch/sh/configs/se7722_defconfig351
-rw-r--r--arch/sh/kernel/cf-enabler.c28
-rw-r--r--include/asm-sh/se7722.h118
8 files changed, 598 insertions, 167 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig
index dfdfaae6772f..d74eb120a9c6 100644
--- a/arch/sh/Kconfig
+++ b/arch/sh/Kconfig
@@ -92,6 +92,14 @@ config SH_SOLUTION_ENGINE
92 Select SolutionEngine if configuring for a Hitachi SH7709 92 Select SolutionEngine if configuring for a Hitachi SH7709
93 or SH7750 evaluation board. 93 or SH7750 evaluation board.
94 94
95config SH_7722_SOLUTION_ENGINE
96 bool "SolutionEngine7722"
97 select SOLUTION_ENGINE
98 select CPU_SUBTYPE_SH7722
99 help
100 Select 7722 SolutionEngine if configuring for a Hitachi SH772
101 evaluation board.
102
95config SH_7751_SOLUTION_ENGINE 103config SH_7751_SOLUTION_ENGINE
96 bool "SolutionEngine7751" 104 bool "SolutionEngine7751"
97 select SOLUTION_ENGINE 105 select SOLUTION_ENGINE
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index d7c12053160b..7b1122417050 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -88,6 +88,7 @@ core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
88 88
89# Boards 89# Boards
90machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x 90machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x
91machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722
91machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751 92machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751
92machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780 93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780
93machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300 94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300
diff --git a/arch/sh/boards/se/7722/Makefile b/arch/sh/boards/se/7722/Makefile
new file mode 100644
index 000000000000..8694373389e5
--- /dev/null
+++ b/arch/sh/boards/se/7722/Makefile
@@ -0,0 +1,10 @@
1#
2# Makefile for the HITACHI UL SolutionEngine 7722 specific parts of the kernel
3#
4# This file is subject to the terms and conditions of the GNU General Public
5# License. See the file "COPYING" in the main directory of this archive
6# for more details.
7#
8#
9
10obj-y := setup.o irq.o
diff --git a/arch/sh/boards/se/7722/irq.c b/arch/sh/boards/se/7722/irq.c
new file mode 100644
index 000000000000..099e5deb77f8
--- /dev/null
+++ b/arch/sh/boards/se/7722/irq.c
@@ -0,0 +1,101 @@
1/*
2 * linux/arch/sh/boards/se/7722/irq.c
3 *
4 * Copyright (C) 2007 Nobuhiro Iwamatsu
5 *
6 * Hitachi UL SolutionEngine 7722 Support.
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file "COPYING" in the main directory of this archive
10 * for more details.
11 */
12#include <linux/init.h>
13#include <linux/irq.h>
14#include <linux/interrupt.h>
15#include <asm/irq.h>
16#include <asm/io.h>
17#include <asm/se7722.h>
18
19#define INTC_INTMSK0 0xFFD00044
20#define INTC_INTMSKCLR0 0xFFD00064
21
22static void disable_se7722_irq(unsigned int irq)
23{
24 struct ipr_data *p = get_irq_chip_data(irq);
25 ctrl_outw( ctrl_inw( p->addr ) | p->priority , p->addr );
26}
27
28static void enable_se7722_irq(unsigned int irq)
29{
30 struct ipr_data *p = get_irq_chip_data(irq);
31 ctrl_outw( ctrl_inw( p->addr ) & ~p->priority , p->addr );
32}
33
34static struct irq_chip se7722_irq_chip __read_mostly = {
35 .name = "SE7722",
36 .mask = disable_se7722_irq,
37 .unmask = enable_se7722_irq,
38 .mask_ack = disable_se7722_irq,
39};
40
41static struct ipr_data ipr_irq_table[] = {
42 /* irq ,idx,sft, priority , addr */
43 { MRSHPC_IRQ0 , 0 , 0 , MRSHPC_BIT0 , IRQ01_MASK } ,
44 { MRSHPC_IRQ1 , 0 , 0 , MRSHPC_BIT1 , IRQ01_MASK } ,
45 { MRSHPC_IRQ2 , 0 , 0 , MRSHPC_BIT2 , IRQ01_MASK } ,
46 { MRSHPC_IRQ3 , 0 , 0 , MRSHPC_BIT3 , IRQ01_MASK } ,
47 { SMC_IRQ , 0 , 0 , SMC_BIT , IRQ01_MASK } ,
48 { EXT_IRQ , 0 , 0 , EXT_BIT , IRQ01_MASK } ,
49};
50
51int se7722_irq_demux(int irq)
52{
53
54 if ((irq == IRQ0_IRQ)||(irq == IRQ1_IRQ)) {
55 volatile unsigned short intv =
56 *(volatile unsigned short *)IRQ01_STS;
57 if (irq == IRQ0_IRQ){
58 if(intv & SMC_BIT ) {
59 return SMC_IRQ;
60 } else if(intv & USB_BIT) {
61 return USB_IRQ;
62 } else {
63 printk("intv =%04x\n", intv);
64 return SMC_IRQ;
65 }
66 } else if(irq == IRQ1_IRQ){
67 if(intv & MRSHPC_BIT0) {
68 return MRSHPC_IRQ0;
69 } else if(intv & MRSHPC_BIT1) {
70 return MRSHPC_IRQ1;
71 } else if(intv & MRSHPC_BIT2) {
72 return MRSHPC_IRQ2;
73 } else if(intv & MRSHPC_BIT3) {
74 return MRSHPC_IRQ3;
75 } else {
76 printk("BIT_EXTENTION =%04x\n", intv);
77 return EXT_IRQ;
78 }
79 }
80 }
81 return irq;
82
83}
84/*
85 * Initialize IRQ setting
86 */
87void __init init_se7722_IRQ(void)
88{
89 int i = 0;
90 ctrl_outw(0x2000, 0xb03fffec); /* mrshpc irq enable */
91 ctrl_outl((3 << ((7 - 0) * 4))|(3 << ((7 - 1) * 4)), INTC_INTPRI0); /* irq0 pri=3,irq1,pri=3 */
92 ctrl_outw((2 << ((7 - 0) * 2))|(2 << ((7 - 1) * 2)), INTC_ICR1); /* irq0,1 low-level irq */
93
94 for (i = 0; i < ARRAY_SIZE(ipr_irq_table); i++) {
95 disable_irq_nosync(ipr_irq_table[i].irq);
96 set_irq_chip_and_handler_name( ipr_irq_table[i].irq, &se7722_irq_chip,
97 handle_level_irq, "level");
98 set_irq_chip_data( ipr_irq_table[i].irq, &ipr_irq_table[i] );
99 disable_se7722_irq(ipr_irq_table[i].irq);
100 }
101}
diff --git a/arch/sh/boards/se/7722/setup.c b/arch/sh/boards/se/7722/setup.c
new file mode 100644
index 000000000000..636ca6c987e0
--- /dev/null
+++ b/arch/sh/boards/se/7722/setup.c
@@ -0,0 +1,148 @@
1/*
2 * linux/arch/sh/boards/se/7722/setup.c
3 *
4 * Copyright (C) 2007 Nobuhiro Iwamatsu
5 *
6 * Hitachi UL SolutionEngine 7722 Support.
7 *
8 * This file is subject to the terms and conditions of the GNU General Public
9 * License. See the file "COPYING" in the main directory of this archive
10 * for more details.
11 *
12 */
13#include <linux/init.h>
14#include <linux/platform_device.h>
15#include <linux/pata_platform.h>
16#include <asm/machvec.h>
17#include <asm/se7722.h>
18#include <asm/io.h>
19
20/* Heartbeat */
21static unsigned char heartbeat_bit_pos[] = { 0, 1, 2, 3, 4, 5, 6, 7 };
22
23static struct resource heartbeat_resources[] = {
24 [0] = {
25 .start = PA_LED,
26 .end = PA_LED + ARRAY_SIZE(heartbeat_bit_pos) - 1,
27 .flags = IORESOURCE_MEM,
28 },
29};
30
31static struct platform_device heartbeat_device = {
32 .name = "heartbeat",
33 .id = -1,
34 .dev = {
35 .platform_data = heartbeat_bit_pos,
36 },
37 .num_resources = ARRAY_SIZE(heartbeat_resources),
38 .resource = heartbeat_resources,
39};
40
41/* SMC91x */
42static struct resource smc91x_eth_resources[] = {
43 [0] = {
44 .name = "smc91x-regs" ,
45 .start = PA_LAN + 0x300,
46 .end = PA_LAN + 0x300 + 0x10 ,
47 .flags = IORESOURCE_MEM,
48 },
49 [1] = {
50 .start = SMC_IRQ,
51 .end = SMC_IRQ,
52 .flags = IORESOURCE_IRQ,
53 },
54};
55
56static struct platform_device smc91x_eth_device = {
57 .name = "smc91x",
58 .id = 0,
59 .dev = {
60 .dma_mask = NULL, /* don't use dma */
61 .coherent_dma_mask = 0xffffffff,
62 },
63 .num_resources = ARRAY_SIZE(smc91x_eth_resources),
64 .resource = smc91x_eth_resources,
65};
66
67static struct resource cf_ide_resources[] = {
68 [0] = {
69 .start = PA_MRSHPC_IO + 0x1f0,
70 .end = PA_MRSHPC_IO + 0x1f0 + 8 ,
71 .flags = IORESOURCE_IO,
72 },
73 [1] = {
74 .start = PA_MRSHPC_IO + 0x1f0 + 0x206,
75 .end = PA_MRSHPC_IO + 0x1f0 +8 + 0x206 + 8,
76 .flags = IORESOURCE_IO,
77 },
78 [2] = {
79 .start = MRSHPC_IRQ0,
80 .flags = IORESOURCE_IRQ,
81 },
82};
83
84static struct platform_device cf_ide_device = {
85 .name = "pata_platform",
86 .id = -1,
87 .num_resources = ARRAY_SIZE(cf_ide_resources),
88 .resource = cf_ide_resources,
89};
90
91static struct platform_device *se7722_devices[] __initdata = {
92 &heartbeat_device,
93 &smc91x_eth_device,
94 &cf_ide_device,
95};
96
97static int __init se7722_devices_setup(void)
98{
99 return platform_add_devices(se7722_devices,
100 ARRAY_SIZE(se7722_devices));
101}
102device_initcall(se7722_devices_setup);
103
104static void __init se7722_setup(char **cmdline_p)
105{
106 ctrl_outw(0x010D, FPGA_OUT); /* FPGA */
107
108 ctrl_outl(0x00051001, MSTPCR0);
109 ctrl_outl(0x00000000, MSTPCR1);
110 /* KEYSC, VOU, BEU, CEU, VEU, VPU, LCDC */
111 ctrl_outl(0xffffbfC0, MSTPCR2);
112
113 ctrl_outw(0x0000, PORT_PECR); /* PORT E 1 = IRQ5 ,E 0 = BS */
114 ctrl_outw(0x1000, PORT_PJCR); /* PORT J 1 = IRQ1,J 0 =IRQ0 */
115
116 /* LCDC I/O */
117 ctrl_outw(0x0020, PORT_PSELD);
118
119 /* SIOF1*/
120 ctrl_outw(0x0003, PORT_PSELB);
121 ctrl_outw(0xe000, PORT_PSELC);
122 ctrl_outw(0x0000, PORT_PKCR);
123
124 /* LCDC */
125 ctrl_outw(0x4020, PORT_PHCR);
126 ctrl_outw(0x0000, PORT_PLCR);
127 ctrl_outw(0x0000, PORT_PMCR);
128 ctrl_outw(0x0002, PORT_PRCR);
129 ctrl_outw(0x0000, PORT_PXCR); /* LCDC,CS6A */
130
131 /* KEYSC */
132 ctrl_outw(0x0A10, PORT_PSELA); /* BS,SHHID2 */
133 ctrl_outw(0x0000, PORT_PYCR);
134 ctrl_outw(0x0000, PORT_PZCR);
135}
136
137/*
138 * The Machine Vector
139 */
140struct sh_machine_vector mv_se7722 __initmv = {
141 .mv_name = "Solution Engine 7722" ,
142 .mv_setup = se7722_setup ,
143 .mv_nr_irqs = 109 ,
144 .mv_init_irq = init_se7722_IRQ,
145 .mv_irq_demux = se7722_irq_demux,
146
147};
148ALIAS_MV(se7722)
diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig
index 6a55ccbc934e..ca4c663dfa37 100644
--- a/arch/sh/configs/se7722_defconfig
+++ b/arch/sh/configs/se7722_defconfig
@@ -1,7 +1,7 @@
1# 1#
2# Automatically generated make config: don't edit 2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.21-rc4 3# Linux kernel version: 2.6.21-rc7
4# Wed Mar 28 16:22:40 2007 4# Fri Apr 27 16:30:30 2007
5# 5#
6CONFIG_SUPERH=y 6CONFIG_SUPERH=y
7CONFIG_RWSEM_GENERIC_SPINLOCK=y 7CONFIG_RWSEM_GENERIC_SPINLOCK=y
@@ -35,24 +35,24 @@ CONFIG_SWAP=y
35CONFIG_SYSVIPC=y 35CONFIG_SYSVIPC=y
36# CONFIG_IPC_NS is not set 36# CONFIG_IPC_NS is not set
37CONFIG_SYSVIPC_SYSCTL=y 37CONFIG_SYSVIPC_SYSCTL=y
38# CONFIG_POSIX_MQUEUE is not set
38CONFIG_BSD_PROCESS_ACCT=y 39CONFIG_BSD_PROCESS_ACCT=y
39# CONFIG_BSD_PROCESS_ACCT_V3 is not set 40# CONFIG_BSD_PROCESS_ACCT_V3 is not set
41# CONFIG_TASKSTATS is not set
40# CONFIG_UTS_NS is not set 42# CONFIG_UTS_NS is not set
43# CONFIG_AUDIT is not set
41CONFIG_IKCONFIG=y 44CONFIG_IKCONFIG=y
42CONFIG_IKCONFIG_PROC=y 45CONFIG_IKCONFIG_PROC=y
43# CONFIG_SYSFS_DEPRECATED is not set 46# CONFIG_SYSFS_DEPRECATED is not set
44# CONFIG_RELAY is not set 47# CONFIG_RELAY is not set
45CONFIG_BLK_DEV_INITRD=y 48CONFIG_BLK_DEV_INITRD=y
46CONFIG_INITRAMFS_SOURCE="" 49CONFIG_INITRAMFS_SOURCE=""
47CONFIG_INITRAMFS_ROOT_UID=0
48CONFIG_INITRAMFS_ROOT_GID=0
49CONFIG_CC_OPTIMIZE_FOR_SIZE=y 50CONFIG_CC_OPTIMIZE_FOR_SIZE=y
50CONFIG_SYSCTL=y 51CONFIG_SYSCTL=y
51CONFIG_EMBEDDED=y 52CONFIG_EMBEDDED=y
52CONFIG_UID16=y 53CONFIG_UID16=y
53CONFIG_SYSCTL_SYSCALL=y 54CONFIG_SYSCTL_SYSCALL=y
54CONFIG_KALLSYMS=y 55CONFIG_KALLSYMS=y
55CONFIG_KALLSYMS_ALL=y
56# CONFIG_KALLSYMS_EXTRA_PASS is not set 56# CONFIG_KALLSYMS_EXTRA_PASS is not set
57CONFIG_HOTPLUG=y 57CONFIG_HOTPLUG=y
58CONFIG_PRINTK=y 58CONFIG_PRINTK=y
@@ -103,8 +103,11 @@ CONFIG_DEFAULT_IOSCHED="noop"
103# 103#
104# System type 104# System type
105# 105#
106CONFIG_SOLUTION_ENGINE=y
106# CONFIG_SH_SOLUTION_ENGINE is not set 107# CONFIG_SH_SOLUTION_ENGINE is not set
108CONFIG_SH_7722_SOLUTION_ENGINE=y
107# CONFIG_SH_7751_SOLUTION_ENGINE is not set 109# CONFIG_SH_7751_SOLUTION_ENGINE is not set
110# CONFIG_SH_7780_SOLUTION_ENGINE is not set
108# CONFIG_SH_7300_SOLUTION_ENGINE is not set 111# CONFIG_SH_7300_SOLUTION_ENGINE is not set
109# CONFIG_SH_7343_SOLUTION_ENGINE is not set 112# CONFIG_SH_7343_SOLUTION_ENGINE is not set
110# CONFIG_SH_73180_SOLUTION_ENGINE is not set 113# CONFIG_SH_73180_SOLUTION_ENGINE is not set
@@ -127,7 +130,7 @@ CONFIG_DEFAULT_IOSCHED="noop"
127# CONFIG_SH_7206_SOLUTION_ENGINE is not set 130# CONFIG_SH_7206_SOLUTION_ENGINE is not set
128# CONFIG_SH_7619_SOLUTION_ENGINE is not set 131# CONFIG_SH_7619_SOLUTION_ENGINE is not set
129# CONFIG_SH_LBOX_RE2 is not set 132# CONFIG_SH_LBOX_RE2 is not set
130CONFIG_SH_UNKNOWN=y 133# CONFIG_SH_UNKNOWN is not set
131 134
132# 135#
133# Processor selection 136# Processor selection
@@ -229,7 +232,10 @@ CONFIG_ZONE_DMA_FLAG=0
229# CONFIG_SH_DIRECT_MAPPED is not set 232# CONFIG_SH_DIRECT_MAPPED is not set
230# CONFIG_SH_WRITETHROUGH is not set 233# CONFIG_SH_WRITETHROUGH is not set
231# CONFIG_SH_OCRAM is not set 234# CONFIG_SH_OCRAM is not set
232# CONFIG_CF_ENABLER is not set 235CONFIG_CF_ENABLER=y
236# CONFIG_CF_AREA5 is not set
237CONFIG_CF_AREA6=y
238CONFIG_CF_BASE_ADDR=0xb8000000
233 239
234# 240#
235# Processor features 241# Processor features
@@ -251,7 +257,7 @@ CONFIG_CPU_HAS_PTEA=y
251CONFIG_SH_TMU=y 257CONFIG_SH_TMU=y
252CONFIG_SH_TIMER_IRQ=16 258CONFIG_SH_TIMER_IRQ=16
253CONFIG_NO_IDLE_HZ=y 259CONFIG_NO_IDLE_HZ=y
254CONFIG_SH_PCLK_FREQ=32000000 260CONFIG_SH_PCLK_FREQ=33333333
255 261
256# 262#
257# CPU Frequency scaling 263# CPU Frequency scaling
@@ -271,8 +277,8 @@ CONFIG_SH_PCLK_FREQ=32000000
271# 277#
272# Additional SuperH Device Drivers 278# Additional SuperH Device Drivers
273# 279#
274# CONFIG_HEARTBEAT is not set 280CONFIG_HEARTBEAT=y
275CONFIG_PUSH_SWITCH=y 281# CONFIG_PUSH_SWITCH is not set
276 282
277# 283#
278# Kernel features 284# Kernel features
@@ -283,6 +289,7 @@ CONFIG_HZ_250=y
283# CONFIG_HZ_1000 is not set 289# CONFIG_HZ_1000 is not set
284CONFIG_HZ=250 290CONFIG_HZ=250
285CONFIG_KEXEC=y 291CONFIG_KEXEC=y
292# CONFIG_CRASH_DUMP is not set
286# CONFIG_SMP is not set 293# CONFIG_SMP is not set
287# CONFIG_PREEMPT_NONE is not set 294# CONFIG_PREEMPT_NONE is not set
288# CONFIG_PREEMPT_VOLUNTARY is not set 295# CONFIG_PREEMPT_VOLUNTARY is not set
@@ -295,8 +302,7 @@ CONFIG_PREEMPT_BKL=y
295CONFIG_ZERO_PAGE_OFFSET=0x00001000 302CONFIG_ZERO_PAGE_OFFSET=0x00001000
296CONFIG_BOOT_LINK_OFFSET=0x00800000 303CONFIG_BOOT_LINK_OFFSET=0x00800000
297# CONFIG_UBC_WAKEUP is not set 304# CONFIG_UBC_WAKEUP is not set
298CONFIG_CMDLINE_BOOL=y 305# CONFIG_CMDLINE_BOOL is not set
299CONFIG_CMDLINE="console=ttySC0,115200"
300 306
301# 307#
302# Bus options 308# Bus options
@@ -327,7 +333,88 @@ CONFIG_BINFMT_ELF=y
327# 333#
328# Networking 334# Networking
329# 335#
330# CONFIG_NET is not set 336CONFIG_NET=y
337
338#
339# Networking options
340#
341# CONFIG_NETDEBUG is not set
342CONFIG_PACKET=y
343CONFIG_PACKET_MMAP=y
344CONFIG_UNIX=y
345CONFIG_XFRM=y
346# CONFIG_XFRM_USER is not set
347# CONFIG_XFRM_SUB_POLICY is not set
348# CONFIG_XFRM_MIGRATE is not set
349# CONFIG_NET_KEY is not set
350CONFIG_INET=y
351# CONFIG_IP_MULTICAST is not set
352# CONFIG_IP_ADVANCED_ROUTER is not set
353CONFIG_IP_FIB_HASH=y
354# CONFIG_IP_PNP is not set
355# CONFIG_NET_IPIP is not set
356# CONFIG_NET_IPGRE is not set
357# CONFIG_ARPD is not set
358# CONFIG_SYN_COOKIES is not set
359# CONFIG_INET_AH is not set
360# CONFIG_INET_ESP is not set
361# CONFIG_INET_IPCOMP is not set
362# CONFIG_INET_XFRM_TUNNEL is not set
363# CONFIG_INET_TUNNEL is not set
364CONFIG_INET_XFRM_MODE_TRANSPORT=y
365CONFIG_INET_XFRM_MODE_TUNNEL=y
366CONFIG_INET_XFRM_MODE_BEET=y
367CONFIG_INET_DIAG=y
368CONFIG_INET_TCP_DIAG=y
369# CONFIG_TCP_CONG_ADVANCED is not set
370CONFIG_TCP_CONG_CUBIC=y
371CONFIG_DEFAULT_TCP_CONG="cubic"
372# CONFIG_TCP_MD5SIG is not set
373# CONFIG_IPV6 is not set
374# CONFIG_INET6_XFRM_TUNNEL is not set
375# CONFIG_INET6_TUNNEL is not set
376# CONFIG_NETWORK_SECMARK is not set
377# CONFIG_NETFILTER is not set
378
379#
380# DCCP Configuration (EXPERIMENTAL)
381#
382# CONFIG_IP_DCCP is not set
383
384#
385# SCTP Configuration (EXPERIMENTAL)
386#
387# CONFIG_IP_SCTP is not set
388
389#
390# TIPC Configuration (EXPERIMENTAL)
391#
392# CONFIG_TIPC is not set
393# CONFIG_ATM is not set
394# CONFIG_BRIDGE is not set
395# CONFIG_VLAN_8021Q is not set
396# CONFIG_DECNET is not set
397# CONFIG_LLC2 is not set
398# CONFIG_IPX is not set
399# CONFIG_ATALK is not set
400# CONFIG_X25 is not set
401# CONFIG_LAPB is not set
402# CONFIG_ECONET is not set
403# CONFIG_WAN_ROUTER is not set
404
405#
406# QoS and/or fair queueing
407#
408# CONFIG_NET_SCHED is not set
409
410#
411# Network testing
412#
413# CONFIG_NET_PKTGEN is not set
414# CONFIG_HAMRADIO is not set
415# CONFIG_IRDA is not set
416# CONFIG_BT is not set
417# CONFIG_IEEE80211 is not set
331 418
332# 419#
333# Device Drivers 420# Device Drivers
@@ -338,14 +425,13 @@ CONFIG_BINFMT_ELF=y
338# 425#
339CONFIG_STANDALONE=y 426CONFIG_STANDALONE=y
340CONFIG_PREVENT_FIRMWARE_BUILD=y 427CONFIG_PREVENT_FIRMWARE_BUILD=y
341CONFIG_FW_LOADER=m 428# CONFIG_FW_LOADER is not set
342# CONFIG_DEBUG_DRIVER is not set
343# CONFIG_DEBUG_DEVRES is not set
344# CONFIG_SYS_HYPERVISOR is not set 429# CONFIG_SYS_HYPERVISOR is not set
345 430
346# 431#
347# Connector - unified userspace <-> kernelspace linker 432# Connector - unified userspace <-> kernelspace linker
348# 433#
434# CONFIG_CONNECTOR is not set
349 435
350# 436#
351# Memory Technology Devices (MTD) 437# Memory Technology Devices (MTD)
@@ -367,11 +453,13 @@ CONFIG_FW_LOADER=m
367# 453#
368# CONFIG_BLK_DEV_COW_COMMON is not set 454# CONFIG_BLK_DEV_COW_COMMON is not set
369# CONFIG_BLK_DEV_LOOP is not set 455# CONFIG_BLK_DEV_LOOP is not set
456# CONFIG_BLK_DEV_NBD is not set
370CONFIG_BLK_DEV_RAM=y 457CONFIG_BLK_DEV_RAM=y
371CONFIG_BLK_DEV_RAM_COUNT=16 458CONFIG_BLK_DEV_RAM_COUNT=16
372CONFIG_BLK_DEV_RAM_SIZE=4096 459CONFIG_BLK_DEV_RAM_SIZE=4096
373CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 460CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
374# CONFIG_CDROM_PKTCDVD is not set 461# CONFIG_CDROM_PKTCDVD is not set
462# CONFIG_ATA_OVER_ETH is not set
375 463
376# 464#
377# Misc devices 465# Misc devices
@@ -398,7 +486,7 @@ CONFIG_BLK_DEV_SD=y
398# CONFIG_CHR_DEV_ST is not set 486# CONFIG_CHR_DEV_ST is not set
399# CONFIG_CHR_DEV_OSST is not set 487# CONFIG_CHR_DEV_OSST is not set
400# CONFIG_BLK_DEV_SR is not set 488# CONFIG_BLK_DEV_SR is not set
401CONFIG_CHR_DEV_SG=m 489# CONFIG_CHR_DEV_SG is not set
402# CONFIG_CHR_DEV_SCH is not set 490# CONFIG_CHR_DEV_SCH is not set
403 491
404# 492#
@@ -414,12 +502,14 @@ CONFIG_CHR_DEV_SG=m
414# 502#
415# CONFIG_SCSI_SPI_ATTRS is not set 503# CONFIG_SCSI_SPI_ATTRS is not set
416# CONFIG_SCSI_FC_ATTRS is not set 504# CONFIG_SCSI_FC_ATTRS is not set
505# CONFIG_SCSI_ISCSI_ATTRS is not set
417# CONFIG_SCSI_SAS_ATTRS is not set 506# CONFIG_SCSI_SAS_ATTRS is not set
418# CONFIG_SCSI_SAS_LIBSAS is not set 507# CONFIG_SCSI_SAS_LIBSAS is not set
419 508
420# 509#
421# SCSI low-level drivers 510# SCSI low-level drivers
422# 511#
512# CONFIG_ISCSI_TCP is not set
423# CONFIG_SCSI_DEBUG is not set 513# CONFIG_SCSI_DEBUG is not set
424 514
425# 515#
@@ -448,8 +538,59 @@ CONFIG_PATA_PLATFORM=y
448# 538#
449 539
450# 540#
541# Network device support
542#
543CONFIG_NETDEVICES=y
544# CONFIG_DUMMY is not set
545# CONFIG_BONDING is not set
546# CONFIG_EQUALIZER is not set
547# CONFIG_TUN is not set
548
549#
550# PHY device support
551#
552# CONFIG_PHYLIB is not set
553
554#
555# Ethernet (10 or 100Mbit)
556#
557CONFIG_NET_ETHERNET=y
558CONFIG_MII=y
559# CONFIG_STNIC is not set
560CONFIG_SMC91X=y
561
562#
563# Ethernet (1000 Mbit)
564#
565
566#
567# Ethernet (10000 Mbit)
568#
569
570#
571# Token Ring devices
572#
573
574#
575# Wireless LAN (non-hamradio)
576#
577# CONFIG_NET_RADIO is not set
578
579#
580# Wan interfaces
581#
582# CONFIG_WAN is not set
583# CONFIG_PPP is not set
584# CONFIG_SLIP is not set
585# CONFIG_SHAPER is not set
586# CONFIG_NETCONSOLE is not set
587# CONFIG_NETPOLL is not set
588# CONFIG_NET_POLL_CONTROLLER is not set
589
590#
451# ISDN subsystem 591# ISDN subsystem
452# 592#
593# CONFIG_ISDN is not set
453 594
454# 595#
455# Telephony Support 596# Telephony Support
@@ -582,6 +723,7 @@ CONFIG_HWMON=y
582# 723#
583# Digital Video Broadcasting Devices 724# Digital Video Broadcasting Devices
584# 725#
726# CONFIG_DVB is not set
585 727
586# 728#
587# Graphics support 729# Graphics support
@@ -592,20 +734,7 @@ CONFIG_HWMON=y
592# 734#
593# Sound 735# Sound
594# 736#
595CONFIG_SOUND=m 737# CONFIG_SOUND is not set
596
597#
598# Advanced Linux Sound Architecture
599#
600# CONFIG_SND is not set
601
602#
603# Open Sound System
604#
605CONFIG_SOUND_PRIME=m
606# CONFIG_OBSOLETE_OSS is not set
607# CONFIG_SOUND_MSNDCLAS is not set
608# CONFIG_SOUND_MSNDPIN is not set
609 738
610# 739#
611# HID Devices 740# HID Devices
@@ -722,7 +851,8 @@ CONFIG_FS_MBCACHE=y
722# CONFIG_FS_POSIX_ACL is not set 851# CONFIG_FS_POSIX_ACL is not set
723# CONFIG_XFS_FS is not set 852# CONFIG_XFS_FS is not set
724# CONFIG_GFS2_FS is not set 853# CONFIG_GFS2_FS is not set
725CONFIG_MINIX_FS=y 854# CONFIG_OCFS2_FS is not set
855# CONFIG_MINIX_FS is not set
726# CONFIG_ROMFS_FS is not set 856# CONFIG_ROMFS_FS is not set
727CONFIG_INOTIFY=y 857CONFIG_INOTIFY=y
728CONFIG_INOTIFY_USER=y 858CONFIG_INOTIFY_USER=y
@@ -730,7 +860,7 @@ CONFIG_INOTIFY_USER=y
730CONFIG_DNOTIFY=y 860CONFIG_DNOTIFY=y
731# CONFIG_AUTOFS_FS is not set 861# CONFIG_AUTOFS_FS is not set
732# CONFIG_AUTOFS4_FS is not set 862# CONFIG_AUTOFS4_FS is not set
733CONFIG_FUSE_FS=m 863# CONFIG_FUSE_FS is not set
734 864
735# 865#
736# CD-ROM/DVD Filesystems 866# CD-ROM/DVD Filesystems
@@ -741,14 +871,9 @@ CONFIG_FUSE_FS=m
741# 871#
742# DOS/FAT/NT Filesystems 872# DOS/FAT/NT Filesystems
743# 873#
744CONFIG_FAT_FS=y 874# CONFIG_MSDOS_FS is not set
745CONFIG_MSDOS_FS=y 875# CONFIG_VFAT_FS is not set
746CONFIG_VFAT_FS=y 876# CONFIG_NTFS_FS is not set
747CONFIG_FAT_DEFAULT_CODEPAGE=437
748CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
749CONFIG_NTFS_FS=y
750# CONFIG_NTFS_DEBUG is not set
751CONFIG_NTFS_RW=y
752 877
753# 878#
754# Pseudo filesystems 879# Pseudo filesystems
@@ -762,7 +887,7 @@ CONFIG_TMPFS=y
762CONFIG_HUGETLBFS=y 887CONFIG_HUGETLBFS=y
763CONFIG_HUGETLB_PAGE=y 888CONFIG_HUGETLB_PAGE=y
764CONFIG_RAMFS=y 889CONFIG_RAMFS=y
765CONFIG_CONFIGFS_FS=m 890# CONFIG_CONFIGFS_FS is not set
766 891
767# 892#
768# Miscellaneous filesystems 893# Miscellaneous filesystems
@@ -782,6 +907,18 @@ CONFIG_CONFIGFS_FS=m
782# CONFIG_UFS_FS is not set 907# CONFIG_UFS_FS is not set
783 908
784# 909#
910# Network File Systems
911#
912# CONFIG_NFS_FS is not set
913# CONFIG_NFSD is not set
914# CONFIG_SMB_FS is not set
915# CONFIG_CIFS is not set
916# CONFIG_NCP_FS is not set
917# CONFIG_CODA_FS is not set
918# CONFIG_AFS_FS is not set
919# CONFIG_9P_FS is not set
920
921#
785# Partition Types 922# Partition Types
786# 923#
787# CONFIG_PARTITION_ADVANCED is not set 924# CONFIG_PARTITION_ADVANCED is not set
@@ -790,95 +927,33 @@ CONFIG_MSDOS_PARTITION=y
790# 927#
791# Native Language Support 928# Native Language Support
792# 929#
793CONFIG_NLS=y 930# CONFIG_NLS is not set
794CONFIG_NLS_DEFAULT="iso8859-1" 931
795CONFIG_NLS_CODEPAGE_437=y 932#
796# CONFIG_NLS_CODEPAGE_737 is not set 933# Distributed Lock Manager
797# CONFIG_NLS_CODEPAGE_775 is not set 934#
798# CONFIG_NLS_CODEPAGE_850 is not set 935# CONFIG_DLM is not set
799# CONFIG_NLS_CODEPAGE_852 is not set
800# CONFIG_NLS_CODEPAGE_855 is not set
801# CONFIG_NLS_CODEPAGE_857 is not set
802# CONFIG_NLS_CODEPAGE_860 is not set
803# CONFIG_NLS_CODEPAGE_861 is not set
804# CONFIG_NLS_CODEPAGE_862 is not set
805# CONFIG_NLS_CODEPAGE_863 is not set
806# CONFIG_NLS_CODEPAGE_864 is not set
807# CONFIG_NLS_CODEPAGE_865 is not set
808# CONFIG_NLS_CODEPAGE_866 is not set
809# CONFIG_NLS_CODEPAGE_869 is not set
810# CONFIG_NLS_CODEPAGE_936 is not set
811# CONFIG_NLS_CODEPAGE_950 is not set
812CONFIG_NLS_CODEPAGE_932=y
813# CONFIG_NLS_CODEPAGE_949 is not set
814# CONFIG_NLS_CODEPAGE_874 is not set
815# CONFIG_NLS_ISO8859_8 is not set
816# CONFIG_NLS_CODEPAGE_1250 is not set
817# CONFIG_NLS_CODEPAGE_1251 is not set
818# CONFIG_NLS_ASCII is not set
819CONFIG_NLS_ISO8859_1=y
820# CONFIG_NLS_ISO8859_2 is not set
821# CONFIG_NLS_ISO8859_3 is not set
822# CONFIG_NLS_ISO8859_4 is not set
823# CONFIG_NLS_ISO8859_5 is not set
824# CONFIG_NLS_ISO8859_6 is not set
825# CONFIG_NLS_ISO8859_7 is not set
826# CONFIG_NLS_ISO8859_9 is not set
827# CONFIG_NLS_ISO8859_13 is not set
828# CONFIG_NLS_ISO8859_14 is not set
829# CONFIG_NLS_ISO8859_15 is not set
830# CONFIG_NLS_KOI8_R is not set
831# CONFIG_NLS_KOI8_U is not set
832# CONFIG_NLS_UTF8 is not set
833 936
834# 937#
835# Profiling support 938# Profiling support
836# 939#
837CONFIG_PROFILING=y 940# CONFIG_PROFILING is not set
838CONFIG_OPROFILE=m
839 941
840# 942#
841# Kernel hacking 943# Kernel hacking
842# 944#
843CONFIG_TRACE_IRQFLAGS_SUPPORT=y 945CONFIG_TRACE_IRQFLAGS_SUPPORT=y
844# CONFIG_PRINTK_TIME is not set 946# CONFIG_PRINTK_TIME is not set
845CONFIG_ENABLE_MUST_CHECK=y 947# CONFIG_ENABLE_MUST_CHECK is not set
846CONFIG_MAGIC_SYSRQ=y 948# CONFIG_MAGIC_SYSRQ is not set
847# CONFIG_UNUSED_SYMBOLS is not set 949# CONFIG_UNUSED_SYMBOLS is not set
848CONFIG_DEBUG_FS=y 950# CONFIG_DEBUG_FS is not set
849# CONFIG_HEADERS_CHECK is not set 951# CONFIG_HEADERS_CHECK is not set
850CONFIG_DEBUG_KERNEL=y 952# CONFIG_DEBUG_KERNEL is not set
851# CONFIG_DEBUG_SHIRQ is not set
852CONFIG_LOG_BUF_SHIFT=14 953CONFIG_LOG_BUF_SHIFT=14
853CONFIG_DETECT_SOFTLOCKUP=y 954# CONFIG_DEBUG_BUGVERBOSE is not set
854# CONFIG_SCHEDSTATS is not set 955# CONFIG_SH_STANDARD_BIOS is not set
855# CONFIG_TIMER_STATS is not set
856CONFIG_DEBUG_SLAB=y
857# CONFIG_DEBUG_SLAB_LEAK is not set
858CONFIG_DEBUG_PREEMPT=y
859# CONFIG_DEBUG_RT_MUTEXES is not set
860# CONFIG_RT_MUTEX_TESTER is not set
861CONFIG_DEBUG_SPINLOCK=y
862CONFIG_DEBUG_MUTEXES=y
863# CONFIG_DEBUG_LOCK_ALLOC is not set
864# CONFIG_PROVE_LOCKING is not set
865# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
866# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
867# CONFIG_DEBUG_KOBJECT is not set
868CONFIG_DEBUG_BUGVERBOSE=y
869CONFIG_DEBUG_INFO=y
870CONFIG_DEBUG_VM=y
871# CONFIG_DEBUG_LIST is not set
872CONFIG_FRAME_POINTER=y
873CONFIG_FORCED_INLINING=y
874# CONFIG_RCU_TORTURE_TEST is not set
875# CONFIG_FAULT_INJECTION is not set
876CONFIG_SH_STANDARD_BIOS=y
877# CONFIG_EARLY_SCIF_CONSOLE is not set 956# CONFIG_EARLY_SCIF_CONSOLE is not set
878CONFIG_EARLY_PRINTK=y
879CONFIG_DEBUG_STACKOVERFLOW=y
880# CONFIG_DEBUG_STACK_USAGE is not set
881# CONFIG_4KSTACKS is not set
882# CONFIG_SH_KGDB is not set 957# CONFIG_SH_KGDB is not set
883 958
884# 959#
@@ -890,47 +965,7 @@ CONFIG_DEBUG_STACKOVERFLOW=y
890# 965#
891# Cryptographic options 966# Cryptographic options
892# 967#
893CONFIG_CRYPTO=y 968# CONFIG_CRYPTO is not set
894CONFIG_CRYPTO_ALGAPI=y
895CONFIG_CRYPTO_BLKCIPHER=y
896CONFIG_CRYPTO_HASH=y
897CONFIG_CRYPTO_MANAGER=y
898CONFIG_CRYPTO_HMAC=y
899# CONFIG_CRYPTO_XCBC is not set
900# CONFIG_CRYPTO_NULL is not set
901# CONFIG_CRYPTO_MD4 is not set
902CONFIG_CRYPTO_MD5=y
903# CONFIG_CRYPTO_SHA1 is not set
904# CONFIG_CRYPTO_SHA256 is not set
905# CONFIG_CRYPTO_SHA512 is not set
906# CONFIG_CRYPTO_WP512 is not set
907# CONFIG_CRYPTO_TGR192 is not set
908# CONFIG_CRYPTO_GF128MUL is not set
909CONFIG_CRYPTO_ECB=m
910CONFIG_CRYPTO_CBC=y
911CONFIG_CRYPTO_PCBC=m
912# CONFIG_CRYPTO_LRW is not set
913CONFIG_CRYPTO_DES=y
914# CONFIG_CRYPTO_FCRYPT is not set
915# CONFIG_CRYPTO_BLOWFISH is not set
916# CONFIG_CRYPTO_TWOFISH is not set
917# CONFIG_CRYPTO_SERPENT is not set
918# CONFIG_CRYPTO_AES is not set
919# CONFIG_CRYPTO_CAST5 is not set
920# CONFIG_CRYPTO_CAST6 is not set
921# CONFIG_CRYPTO_TEA is not set
922# CONFIG_CRYPTO_ARC4 is not set
923# CONFIG_CRYPTO_KHAZAD is not set
924# CONFIG_CRYPTO_ANUBIS is not set
925# CONFIG_CRYPTO_DEFLATE is not set
926# CONFIG_CRYPTO_MICHAEL_MIC is not set
927# CONFIG_CRYPTO_CRC32C is not set
928# CONFIG_CRYPTO_CAMELLIA is not set
929# CONFIG_CRYPTO_TEST is not set
930
931#
932# Hardware crypto devices
933#
934 969
935# 970#
936# Library routines 971# Library routines
diff --git a/arch/sh/kernel/cf-enabler.c b/arch/sh/kernel/cf-enabler.c
index 3e5fa1e24df0..0758d48147a0 100644
--- a/arch/sh/kernel/cf-enabler.c
+++ b/arch/sh/kernel/cf-enabler.c
@@ -29,7 +29,7 @@
29 * 0xB8001000 : Common Memory 29 * 0xB8001000 : Common Memory
30 * 0xBA000000 : I/O 30 * 0xBA000000 : I/O
31 */ 31 */
32#if defined(CONFIG_IDE) && defined(CONFIG_CPU_SH4) 32#if defined(CONFIG_CPU_SH4)
33/* SH4 can't access PCMCIA interface through P2 area. 33/* SH4 can't access PCMCIA interface through P2 area.
34 * we must remap it with appropreate attribute bit of the page set. 34 * we must remap it with appropreate attribute bit of the page set.
35 * this part is based on Greg Banks' hd64465_ss.c implementation - Masahiro Abe */ 35 * this part is based on Greg Banks' hd64465_ss.c implementation - Masahiro Abe */
@@ -71,7 +71,7 @@ static int __init cf_init_default(void)
71/* You must have enabled the card, and set the level interrupt 71/* You must have enabled the card, and set the level interrupt
72 * before reaching this point. Possibly in boot ROM or boot loader. 72 * before reaching this point. Possibly in boot ROM or boot loader.
73 */ 73 */
74#if defined(CONFIG_IDE) && defined(CONFIG_CPU_SH4) 74#if defined(CONFIG_CPU_SH4)
75 allocate_cf_area(); 75 allocate_cf_area();
76#endif 76#endif
77#if defined(CONFIG_SH_UNKNOWN) 77#if defined(CONFIG_SH_UNKNOWN)
@@ -84,15 +84,25 @@ static int __init cf_init_default(void)
84 84
85#if defined(CONFIG_SH_SOLUTION_ENGINE) 85#if defined(CONFIG_SH_SOLUTION_ENGINE)
86#include <asm/se.h> 86#include <asm/se.h>
87#elif defined(CONFIG_SH_7722_SOLUTION_ENGINE)
88#include <asm/se7722.h>
89#endif
87 90
88/* 91/*
89 * SolutionEngine 92 * SolutionEngine Seriese
90 * 93 *
94 * about MS770xSE
91 * 0xB8400000 : Common Memory 95 * 0xB8400000 : Common Memory
92 * 0xB8500000 : Attribute 96 * 0xB8500000 : Attribute
93 * 0xB8600000 : I/O 97 * 0xB8600000 : I/O
98 *
99 * about MS7722SE
100 * 0xB0400000 : Common Memory
101 * 0xB0500000 : Attribute
102 * 0xB0600000 : I/O
94 */ 103 */
95 104
105#if defined(CONFIG_SH_SOLUTION_ENGINE) || defined(CONFIG_SH_7722_SOLUTION_ENGINE)
96static int __init cf_init_se(void) 106static int __init cf_init_se(void)
97{ 107{
98 if ((ctrl_inw(MRSHPC_CSR) & 0x000c) != 0) 108 if ((ctrl_inw(MRSHPC_CSR) & 0x000c) != 0)
@@ -109,7 +119,7 @@ static int __init cf_init_se(void)
109 * flag == COMMON/ATTRIBUTE/IO 119 * flag == COMMON/ATTRIBUTE/IO
110 */ 120 */
111 /* common window open */ 121 /* common window open */
112 ctrl_outw(0x8a84, MRSHPC_MW0CR1);/* window 0xb8400000 */ 122 ctrl_outw(0x8a84, MRSHPC_MW0CR1);
113 if((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0) 123 if((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0)
114 /* common mode & bus width 16bit SWAP = 1*/ 124 /* common mode & bus width 16bit SWAP = 1*/
115 ctrl_outw(0x0b00, MRSHPC_MW0CR2); 125 ctrl_outw(0x0b00, MRSHPC_MW0CR2);
@@ -118,7 +128,7 @@ static int __init cf_init_se(void)
118 ctrl_outw(0x0300, MRSHPC_MW0CR2); 128 ctrl_outw(0x0300, MRSHPC_MW0CR2);
119 129
120 /* attribute window open */ 130 /* attribute window open */
121 ctrl_outw(0x8a85, MRSHPC_MW1CR1);/* window 0xb8500000 */ 131 ctrl_outw(0x8a85, MRSHPC_MW1CR1);
122 if ((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0) 132 if ((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0)
123 /* attribute mode & bus width 16bit SWAP = 1*/ 133 /* attribute mode & bus width 16bit SWAP = 1*/
124 ctrl_outw(0x0a00, MRSHPC_MW1CR2); 134 ctrl_outw(0x0a00, MRSHPC_MW1CR2);
@@ -127,7 +137,7 @@ static int __init cf_init_se(void)
127 ctrl_outw(0x0200, MRSHPC_MW1CR2); 137 ctrl_outw(0x0200, MRSHPC_MW1CR2);
128 138
129 /* I/O window open */ 139 /* I/O window open */
130 ctrl_outw(0x8a86, MRSHPC_IOWCR1);/* I/O window 0xb8600000 */ 140 ctrl_outw(0x8a86, MRSHPC_IOWCR1);
131 ctrl_outw(0x0008, MRSHPC_CDCR); /* I/O card mode */ 141 ctrl_outw(0x0008, MRSHPC_CDCR); /* I/O card mode */
132 if ((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0) 142 if ((ctrl_inw(MRSHPC_CSR) & 0x4000) != 0)
133 ctrl_outw(0x0a00, MRSHPC_IOWCR2); /* bus width 16bit SWAP = 1*/ 143 ctrl_outw(0x0a00, MRSHPC_IOWCR2); /* bus width 16bit SWAP = 1*/
@@ -143,10 +153,10 @@ static int __init cf_init_se(void)
143 153
144int __init cf_init(void) 154int __init cf_init(void)
145{ 155{
146#if defined(CONFIG_SH_SOLUTION_ENGINE) 156 if( mach_is_se() || mach_is_7722se() ){
147 if (MACH_SE)
148 return cf_init_se(); 157 return cf_init_se();
149#endif 158 }
159
150 return cf_init_default(); 160 return cf_init_default();
151} 161}
152 162
diff --git a/include/asm-sh/se7722.h b/include/asm-sh/se7722.h
new file mode 100644
index 000000000000..b3b31e4725c6
--- /dev/null
+++ b/include/asm-sh/se7722.h
@@ -0,0 +1,118 @@
1#ifndef __ASM_SH_SE7722_H
2#define __ASM_SH_SE7722_H
3
4/*
5 * linux/include/asm-sh/se7722.h
6 *
7 * Copyright (C) 2007 Nobuhiro Iwamatsu
8 *
9 * Hitachi UL SolutionEngine 7722 Support.
10 *
11 * This file is subject to the terms and conditions of the GNU General Public
12 * License. See the file "COPYING" in the main directory of this archive
13 * for more details.
14 *
15 */
16#include <asm/addrspace.h>
17
18/* Box specific addresses. */
19#define SE_AREA0_WIDTH 4 /* Area0: 32bit */
20#define PA_ROM 0xa0000000 /* EPROM */
21#define PA_ROM_SIZE 0x00200000 /* EPROM size 2M byte */
22#define PA_FROM 0xa1000000 /* Flash-ROM */
23#define PA_FROM_SIZE 0x01000000 /* Flash-ROM size 16M byte */
24#define PA_EXT1 0xa4000000
25#define PA_EXT1_SIZE 0x04000000
26#define PA_SDRAM 0xaC000000 /* DDR-SDRAM(Area3) 64MB */
27#define PA_SDRAM_SIZE 0x04000000
28
29#define PA_EXT4 0xb0000000
30#define PA_EXT4_SIZE 0x04000000
31
32#define PA_PERIPHERAL 0xB0000000
33
34#define PA_PCIC PA_PERIPHERAL /* MR-SHPC-01 PCMCIA */
35#define PA_MRSHPC (PA_PERIPHERAL + 0x003fffe0) /* MR-SHPC-01 PCMCIA controller */
36#define PA_MRSHPC_MW1 (PA_PERIPHERAL + 0x00400000) /* MR-SHPC-01 memory window base */
37#define PA_MRSHPC_MW2 (PA_PERIPHERAL + 0x00500000) /* MR-SHPC-01 attribute window base */
38#define PA_MRSHPC_IO (PA_PERIPHERAL + 0x00600000) /* MR-SHPC-01 I/O window base */
39#define MRSHPC_OPTION (PA_MRSHPC + 6)
40#define MRSHPC_CSR (PA_MRSHPC + 8)
41#define MRSHPC_ISR (PA_MRSHPC + 10)
42#define MRSHPC_ICR (PA_MRSHPC + 12)
43#define MRSHPC_CPWCR (PA_MRSHPC + 14)
44#define MRSHPC_MW0CR1 (PA_MRSHPC + 16)
45#define MRSHPC_MW1CR1 (PA_MRSHPC + 18)
46#define MRSHPC_IOWCR1 (PA_MRSHPC + 20)
47#define MRSHPC_MW0CR2 (PA_MRSHPC + 22)
48#define MRSHPC_MW1CR2 (PA_MRSHPC + 24)
49#define MRSHPC_IOWCR2 (PA_MRSHPC + 26)
50#define MRSHPC_CDCR (PA_MRSHPC + 28)
51#define MRSHPC_PCIC_INFO (PA_MRSHPC + 30)
52
53#define PA_LED (PA_PERIPHERAL + 0x00800000) /* 8bit LED */
54#define PA_FPGA (PA_PERIPHERAL + 0x01800000) /* FPGA base address */
55
56#define PA_LAN (PA_AREA6_IO + 0) /* SMC LAN91C111 */
57/* GPIO */
58#define MSTPCR0 0xA4150030UL
59#define MSTPCR1 0xA4150034UL
60#define MSTPCR2 0xA4150038UL
61
62#define FPGA_IN 0xb1840000UL
63#define FPGA_OUT 0xb1840004UL
64
65#define PORT_PECR 0xA4050108UL
66#define PORT_PJCR 0xA4050110UL
67#define PORT_PSELD 0xA4050154UL
68#define PORT_PSELB 0xA4050150UL
69
70#define PORT_PSELC 0xA4050152UL
71#define PORT_PKCR 0xA4050112UL
72#define PORT_PHCR 0xA405010EUL
73#define PORT_PLCR 0xA4050114UL
74#define PORT_PMCR 0xA4050116UL
75#define PORT_PRCR 0xA405011CUL
76#define PORT_PXCR 0xA4050148UL
77#define PORT_PSELA 0xA405014EUL
78#define PORT_PYCR 0xA405014AUL
79#define PORT_PZCR 0xA405014CUL
80
81/* IRQ */
82#define IRQ0_IRQ 32
83#define IRQ1_IRQ 33
84#define INTC_ICR0 0xA4140000UL
85#define INTC_ICR1 0xA414001CUL
86
87#define INTMSK0 0xa4140044
88#define INTMSKCLR0 0xa4140064
89#define INTC_INTPRI0 0xa4140010
90
91#define IRQ01_MODE 0xb1800000
92#define IRQ01_STS 0xb1800004
93#define IRQ01_MASK 0xb1800008
94#define EXT_BIT (0x3fc0) /* SH IRQ1 */
95#define MRSHPC_BIT0 (0x0004) /* SH IRQ1 */
96#define MRSHPC_BIT1 (0x0008) /* SH IRQ1 */
97#define MRSHPC_BIT2 (0x0010) /* SH IRQ1 */
98#define MRSHPC_BIT3 (0x0020) /* SH IRQ1 */
99#define SMC_BIT (0x0002) /* SH IRQ0 */
100#define USB_BIT (0x0001) /* SH IRQ0 */
101
102#define MRSHPC_IRQ3 11
103#define MRSHPC_IRQ2 12
104#define MRSHPC_IRQ1 13
105#define MRSHPC_IRQ0 14
106#define SMC_IRQ 10
107#define EXT_IRQ 5
108#define USB_IRQ 6
109
110
111/* arch/sh/boards/se/7722/irq.c */
112void init_se7722_IRQ(void);
113int se7722_irq_demux(int);
114
115#define __IO_PREFIX se7722
116#include <asm/io_generic.h>
117
118#endif /* __ASM_SH_SE7722_H */