aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkogiidena <kogiidena@eggplant.ddo.jp>2006-09-27 01:53:35 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 01:53:35 -0400
commit94c0fa520cc169ccf661e9c03b5b95f74d1520b8 (patch)
tree2fc73ea11df222998a363083e03ef6c9e8066b28
parent634bf4f69b925950ddb09ef99ad7516a449a4333 (diff)
sh: landisk board support.
This adds support for the I-O DATA Landisk. Signed-off-by: kogiidena <kogiidena@eggplant.ddo.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r--arch/sh/Makefile1
-rw-r--r--arch/sh/boards/landisk/Makefile7
-rw-r--r--arch/sh/boards/landisk/io.c322
-rw-r--r--arch/sh/boards/landisk/irq.c105
-rw-r--r--arch/sh/boards/landisk/landisk_pwb.c348
-rw-r--r--arch/sh/boards/landisk/rtc.c102
-rw-r--r--arch/sh/boards/landisk/setup.c218
-rw-r--r--arch/sh/configs/landisk_defconfig1373
-rw-r--r--arch/sh/tools/mach-types2
-rw-r--r--include/asm-sh/landisk/gio.h45
-rw-r--r--include/asm-sh/landisk/ide.h14
-rw-r--r--include/asm-sh/landisk/iodata_landisk.h78
12 files changed, 2614 insertions, 1 deletions
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 66cf0ea6d38f..e9112def48dd 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -105,6 +105,7 @@ machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d
105machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh 105machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh
106machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705 106machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705
107machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev 107machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev
108machdir-$(CONFIG_SH_LANDISK) := landisk
108machdir-$(CONFIG_SH_UNKNOWN) := unknown 109machdir-$(CONFIG_SH_UNKNOWN) := unknown
109 110
110incdir-y := $(notdir $(machdir-y)) 111incdir-y := $(notdir $(machdir-y))
diff --git a/arch/sh/boards/landisk/Makefile b/arch/sh/boards/landisk/Makefile
new file mode 100644
index 000000000000..60e75c6db0eb
--- /dev/null
+++ b/arch/sh/boards/landisk/Makefile
@@ -0,0 +1,7 @@
1#
2# Makefile for I-O DATA DEVICE, INC. "LANDISK Series"
3#
4
5obj-y := setup.o io.o irq.o rtc.o landisk_pwb.o
6
7obj-$(CONFIG_PCI) += pci.o
diff --git a/arch/sh/boards/landisk/io.c b/arch/sh/boards/landisk/io.c
new file mode 100644
index 000000000000..1f1679af09d0
--- /dev/null
+++ b/arch/sh/boards/landisk/io.c
@@ -0,0 +1,322 @@
1/*
2 * arch/sh/boards/landisk/io.c
3 *
4 * Copyright (C) 2001 Ian da Silva, Jeremy Siegel
5 * Based largely on io_se.c.
6 *
7 * I/O routine for I-O Data Device, Inc. LANDISK.
8 *
9 * Initial version only to support LAN access; some
10 * placeholder code from io_landisk.c left in with the
11 * expectation of later SuperIO and PCMCIA access.
12 */
13/*
14 * modifed by kogiidena
15 * 2005.03.03
16 */
17
18#include <linux/kernel.h>
19#include <linux/types.h>
20#include <asm/io.h>
21#include <asm/landisk/iodata_landisk.h>
22#include <asm/addrspace.h>
23
24#include <linux/module.h>
25#include <linux/pci.h>
26#include "../../drivers/pci/pci-sh7751.h"
27
28extern void *area5_io_base; /* Area 5 I/O Base address */
29extern void *area6_io_base; /* Area 6 I/O Base address */
30
31/*
32 * The 7751R LANDISK uses the built-in PCI controller (PCIC)
33 * of the 7751R processor, and has a SuperIO accessible via the PCI.
34 * The board also includes a PCMCIA controller on its memory bus,
35 * like the other Solution Engine boards.
36 */
37
38#define PCIIOBR (volatile long *)PCI_REG(SH7751_PCIIOBR)
39#define PCIMBR (volatile long *)PCI_REG(SH7751_PCIMBR)
40#define PCI_IO_AREA SH7751_PCI_IO_BASE
41#define PCI_MEM_AREA SH7751_PCI_CONFIG_BASE
42
43#define PCI_IOMAP(adr) (PCI_IO_AREA + (adr & ~SH7751_PCIIOBR_MASK))
44
45#define maybebadio(name,port) \
46 printk("bad PC-like io %s for port 0x%lx at 0x%08x\n", \
47 #name, (port), (__u32) __builtin_return_address(0))
48
49static inline void delay(void)
50{
51 ctrl_inw(0xa0000000);
52}
53
54static inline unsigned long port2adr(unsigned int port)
55{
56 if ((0x1f0 <= port && port < 0x1f8) || port == 0x3f6)
57 if (port == 0x3f6)
58 return ((unsigned long)area5_io_base + 0x2c);
59 else
60 return ((unsigned long)area5_io_base + PA_PIDE_OFFSET +
61 ((port - 0x1f0) << 1));
62 else if ((0x170 <= port && port < 0x178) || port == 0x376)
63 if (port == 0x376)
64 return ((unsigned long)area6_io_base + 0x2c);
65 else
66 return ((unsigned long)area6_io_base + PA_SIDE_OFFSET +
67 ((port - 0x170) << 1));
68 else
69 maybebadio(port2adr, (unsigned long)port);
70
71 return port;
72}
73
74/* In case someone configures the kernel w/o PCI support: in that */
75/* scenario, don't ever bother to check for PCI-window addresses */
76
77/* NOTE: WINDOW CHECK MAY BE A BIT OFF, HIGH PCIBIOS_MIN_IO WRAPS? */
78#if defined(CONFIG_PCI)
79#define CHECK_SH7751_PCIIO(port) \
80 ((port >= PCIBIOS_MIN_IO) && (port < (PCIBIOS_MIN_IO + SH7751_PCI_IO_SIZE)))
81#else
82#define CHECK_SH_7751_PCIIO(port) (0)
83#endif
84
85/*
86 * General outline: remap really low stuff [eventually] to SuperIO,
87 * stuff in PCI IO space (at or above window at pci.h:PCIBIOS_MIN_IO)
88 * is mapped through the PCI IO window. Stuff with high bits (PXSEG)
89 * should be way beyond the window, and is used w/o translation for
90 * compatibility.
91 */
92unsigned char landisk_inb(unsigned long port)
93{
94 if (PXSEG(port))
95 return *(volatile unsigned char *)port;
96 else if (CHECK_SH7751_PCIIO(port))
97 return *(volatile unsigned char *)PCI_IOMAP(port);
98 else
99 return (*(volatile unsigned short *)port2adr(port) & 0xff);
100}
101
102unsigned char landisk_inb_p(unsigned long port)
103{
104 unsigned char v;
105
106 if (PXSEG(port))
107 v = *(volatile unsigned char *)port;
108 else if (CHECK_SH7751_PCIIO(port))
109 v = *(volatile unsigned char *)PCI_IOMAP(port);
110 else
111 v = (*(volatile unsigned short *)port2adr(port) & 0xff);
112 delay();
113
114 return v;
115}
116
117unsigned short landisk_inw(unsigned long port)
118{
119 if (PXSEG(port))
120 return *(volatile unsigned short *)port;
121 else if (CHECK_SH7751_PCIIO(port))
122 return *(volatile unsigned short *)PCI_IOMAP(port);
123 else
124 maybebadio(inw, port);
125
126 return 0;
127}
128
129unsigned int landisk_inl(unsigned long port)
130{
131 if (PXSEG(port))
132 return *(volatile unsigned long *)port;
133 else if (CHECK_SH7751_PCIIO(port))
134 return *(volatile unsigned long *)PCI_IOMAP(port);
135 else
136 maybebadio(inl, port);
137
138 return 0;
139}
140
141void landisk_outb(unsigned char value, unsigned long port)
142{
143
144 if (PXSEG(port))
145 *(volatile unsigned char *)port = value;
146 else if (CHECK_SH7751_PCIIO(port))
147 *(volatile unsigned char *)PCI_IOMAP(port) = value;
148 else
149 *(volatile unsigned short *)port2adr(port) = value;
150}
151
152void landisk_outb_p(unsigned char value, unsigned long port)
153{
154 if (PXSEG(port))
155 *(volatile unsigned char *)port = value;
156 else if (CHECK_SH7751_PCIIO(port))
157 *(volatile unsigned char *)PCI_IOMAP(port) = value;
158 else
159 *(volatile unsigned short *)port2adr(port) = value;
160 delay();
161}
162
163void landisk_outw(unsigned short value, unsigned long port)
164{
165 if (PXSEG(port))
166 *(volatile unsigned short *)port = value;
167 else if (CHECK_SH7751_PCIIO(port))
168 *(volatile unsigned short *)PCI_IOMAP(port) = value;
169 else
170 maybebadio(outw, port);
171}
172
173void landisk_outl(unsigned int value, unsigned long port)
174{
175 if (PXSEG(port))
176 *(volatile unsigned long *)port = value;
177 else if (CHECK_SH7751_PCIIO(port))
178 *(volatile unsigned long *)PCI_IOMAP(port) = value;
179 else
180 maybebadio(outl, port);
181}
182
183void landisk_insb(unsigned long port, void *addr, unsigned long count)
184{
185 if (PXSEG(port))
186 while (count--)
187 *((unsigned char *)addr)++ =
188 *(volatile unsigned char *)port;
189 else if (CHECK_SH7751_PCIIO(port)) {
190 volatile __u8 *bp = (__u8 *) PCI_IOMAP(port);
191
192 while (count--)
193 *((volatile unsigned char *)addr)++ = *bp;
194 } else {
195 volatile __u16 *p = (volatile unsigned short *)port2adr(port);
196
197 while (count--)
198 *((unsigned char *)addr)++ = *p;
199 }
200}
201
202void landisk_insw(unsigned long port, void *addr, unsigned long count)
203{
204 volatile __u16 *p;
205
206 if (PXSEG(port))
207 p = (volatile unsigned short *)port;
208 else if (CHECK_SH7751_PCIIO(port))
209 p = (volatile unsigned short *)PCI_IOMAP(port);
210 else
211 p = (volatile unsigned short *)port2adr(port);
212 while (count--)
213 *((__u16 *) addr)++ = *p;
214}
215
216void landisk_insl(unsigned long port, void *addr, unsigned long count)
217{
218 if (CHECK_SH7751_PCIIO(port)) {
219 volatile __u32 *p = (__u32 *) PCI_IOMAP(port);
220
221 while (count--)
222 *((__u32 *) addr)++ = *p;
223 } else
224 maybebadio(insl, port);
225}
226
227void landisk_outsb(unsigned long port, const void *addr, unsigned long count)
228{
229 if (PXSEG(port))
230 while (count--)
231 *(volatile unsigned char *)port =
232 *((unsigned char *)addr)++;
233 else if (CHECK_SH7751_PCIIO(port)) {
234 volatile __u8 *bp = (__u8 *) PCI_IOMAP(port);
235
236 while (count--)
237 *bp = *((volatile unsigned char *)addr)++;
238 } else {
239 volatile __u16 *p = (volatile unsigned short *)port2adr(port);
240
241 while (count--)
242 *p = *((unsigned char *)addr)++;
243 }
244}
245
246void landisk_outsw(unsigned long port, const void *addr, unsigned long count)
247{
248 volatile __u16 *p;
249
250 if (PXSEG(port))
251 p = (volatile unsigned short *)port;
252 else if (CHECK_SH7751_PCIIO(port))
253 p = (volatile unsigned short *)PCI_IOMAP(port);
254 else
255 p = (volatile unsigned short *)port2adr(port);
256 while (count--)
257 *p = *((__u16 *) addr)++;
258}
259
260void landisk_outsl(unsigned long port, const void *addr, unsigned long count)
261{
262 if (CHECK_SH7751_PCIIO(port)) {
263 volatile __u32 *p = (__u32 *) PCI_IOMAP(port);
264
265 while (count--)
266 *p = *((__u32 *) addr)++;
267 } else
268 maybebadio(outsl, port);
269}
270
271/* For read/write calls, just copy generic (pass-thru); PCIMBR is */
272/* already set up. For a larger memory space, these would need to */
273/* reset PCIMBR as needed on a per-call basis... */
274
275unsigned char landisk_readb(unsigned long addr)
276{
277 return *(volatile unsigned char *)addr;
278}
279
280unsigned short landisk_readw(unsigned long addr)
281{
282 return *(volatile unsigned short *)addr;
283}
284
285unsigned int landisk_readl(unsigned long addr)
286{
287 return *(volatile unsigned long *)addr;
288}
289
290void landisk_writeb(unsigned char b, unsigned long addr)
291{
292 *(volatile unsigned char *)addr = b;
293}
294
295void landisk_writew(unsigned short b, unsigned long addr)
296{
297 *(volatile unsigned short *)addr = b;
298}
299
300void landisk_writel(unsigned int b, unsigned long addr)
301{
302 *(volatile unsigned long *)addr = b;
303}
304
305void *landisk_ioremap(unsigned long offset, unsigned long size)
306{
307 if (offset >= 0xfd000000)
308 return (void *)offset;
309 else
310 return (void *)P2SEGADDR(offset);
311}
312
313void landisk_iounmap(void *addr)
314{
315}
316
317/* Map ISA bus address to the real address. Only for PCMCIA. */
318
319unsigned long landisk_isa_port2addr(unsigned long offset)
320{
321 return port2adr(offset);
322}
diff --git a/arch/sh/boards/landisk/irq.c b/arch/sh/boards/landisk/irq.c
new file mode 100644
index 000000000000..1dcc3feb7a44
--- /dev/null
+++ b/arch/sh/boards/landisk/irq.c
@@ -0,0 +1,105 @@
1/*
2 * arch/sh/boards/landisk/irq.c
3 *
4 * Copyright (C) 2001 Ian da Silva, Jeremy Siegel
5 * Based largely on io_se.c.
6 *
7 * I/O routine for I-O Data Device, Inc. LANDISK.
8 *
9 * Initial version only to support LAN access; some
10 * placeholder code from io_landisk.c left in with the
11 * expectation of later SuperIO and PCMCIA access.
12 */
13/*
14 * modified by kogiidena
15 * 2005.03.03
16 */
17
18#include <linux/config.h>
19#include <linux/init.h>
20#include <linux/irq.h>
21#include <asm/io.h>
22#include <asm/irq.h>
23#include <asm/landisk/iodata_landisk.h>
24
25static void enable_landisk_irq(unsigned int irq);
26static void disable_landisk_irq(unsigned int irq);
27
28/* shutdown is same as "disable" */
29#define shutdown_landisk_irq disable_landisk_irq
30
31static void ack_landisk_irq(unsigned int irq);
32static void end_landisk_irq(unsigned int irq);
33
34static unsigned int startup_landisk_irq(unsigned int irq)
35{
36 enable_landisk_irq(irq);
37 return 0; /* never anything pending */
38}
39
40static void disable_landisk_irq(unsigned int irq)
41{
42 unsigned long flags;
43 unsigned char val;
44 unsigned char mask = 0xff ^ (0x01 << (irq - 5));
45
46 /* Set the priority in IPR to 0 */
47 local_irq_save(flags);
48 val = ctrl_inb(PA_IMASK);
49 val &= mask;
50 ctrl_outb(val, PA_IMASK);
51 local_irq_restore(flags);
52}
53
54static void enable_landisk_irq(unsigned int irq)
55{
56 unsigned long flags;
57 unsigned char val;
58 unsigned char value = (0x01 << (irq - 5));
59
60 /* Set priority in IPR back to original value */
61 local_irq_save(flags);
62 val = ctrl_inb(PA_IMASK);
63 val |= value;
64 ctrl_outb(val, PA_IMASK);
65 local_irq_restore(flags);
66}
67
68static void ack_landisk_irq(unsigned int irq)
69{
70 disable_landisk_irq(irq);
71}
72
73static void end_landisk_irq(unsigned int irq)
74{
75 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
76 enable_landisk_irq(irq);
77}
78
79static struct hw_interrupt_type landisk_irq_type = {
80 .typename = "LANDISK IRQ",
81 .startup = startup_landisk_irq,
82 .shutdown = shutdown_landisk_irq,
83 .enable = enable_landisk_irq,
84 .disable = disable_landisk_irq,
85 .ack = ack_landisk_irq,
86 .end = end_landisk_irq
87};
88
89static void make_landisk_irq(unsigned int irq)
90{
91 disable_irq_nosync(irq);
92 irq_desc[irq].handler = &landisk_irq_type;
93 disable_landisk_irq(irq);
94}
95
96/*
97 * Initialize IRQ setting
98 */
99void __init init_landisk_IRQ(void)
100{
101 int i;
102
103 for (i = 5; i < 14; i++)
104 make_landisk_irq(i);
105}
diff --git a/arch/sh/boards/landisk/landisk_pwb.c b/arch/sh/boards/landisk/landisk_pwb.c
new file mode 100644
index 000000000000..e75cb578a28b
--- /dev/null
+++ b/arch/sh/boards/landisk/landisk_pwb.c
@@ -0,0 +1,348 @@
1/*
2 * arch/sh/boards/landisk/landisk_pwb.c -- driver for the Power control switch.
3 *
4 * This driver will also support the I-O DATA Device, Inc. LANDISK Board.
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 * Copylight (C) 2002 Atom Create Engineering Co., Ltd.
11 *
12 * LED control drive function added by kogiidena
13 */
14
15#include <linux/config.h>
16#include <linux/module.h>
17#include <linux/errno.h>
18#include <linux/signal.h>
19#include <linux/major.h>
20#include <linux/poll.h>
21#include <linux/init.h>
22#include <linux/delay.h>
23#include <linux/sched.h>
24#include <linux/timer.h>
25#include <linux/interrupt.h>
26
27#include <asm/system.h>
28#include <asm/io.h>
29#include <asm/irq.h>
30#include <asm/uaccess.h>
31#include <asm/landisk/iodata_landisk.h>
32
33#define SHUTDOWN_BTN_MINOR 1 /* Shutdown button device minor no. */
34#define LED_MINOR 21 /* LED minor no. */
35#define BTN_MINOR 22 /* BUTTON minor no. */
36#define GIO_MINOR 40 /* GIO minor no. */
37
38static int openCnt;
39static int openCntLED;
40static int openCntGio;
41static int openCntBtn;
42static int landisk_btn;
43static int landisk_btnctrlpid;
44/*
45 * Functions prototypes
46 */
47
48static int gio_ioctl(struct inode *inode, struct file *filp, unsigned int cmd,
49 unsigned long arg);
50
51static int swdrv_open(struct inode *inode, struct file *filp)
52{
53 int minor;
54
55 minor = MINOR(inode->i_rdev);
56 filp->private_data = (void *)minor;
57
58 if (minor == SHUTDOWN_BTN_MINOR) {
59 if (openCnt > 0) {
60 return -EALREADY;
61 } else {
62 openCnt++;
63 return 0;
64 }
65 } else if (minor == LED_MINOR) {
66 if (openCntLED > 0) {
67 return -EALREADY;
68 } else {
69 openCntLED++;
70 return 0;
71 }
72 } else if (minor == BTN_MINOR) {
73 if (openCntBtn > 0) {
74 return -EALREADY;
75 } else {
76 openCntBtn++;
77 return 0;
78 }
79 } else if (minor == GIO_MINOR) {
80 if (openCntGio > 0) {
81 return -EALREADY;
82 } else {
83 openCntGio++;
84 return 0;
85 }
86 }
87 return -ENOENT;
88
89}
90
91static int swdrv_close(struct inode *inode, struct file *filp)
92{
93 int minor;
94
95 minor = MINOR(inode->i_rdev);
96 if (minor == SHUTDOWN_BTN_MINOR) {
97 openCnt--;
98 } else if (minor == LED_MINOR) {
99 openCntLED--;
100 } else if (minor == BTN_MINOR) {
101 openCntBtn--;
102 } else if (minor == GIO_MINOR) {
103 openCntGio--;
104 }
105 return 0;
106}
107
108static int swdrv_read(struct file *filp, char *buff, size_t count,
109 loff_t * ppos)
110{
111 int minor;
112 minor = (int)(filp->private_data);
113
114 if (!access_ok(VERIFY_WRITE, (void *)buff, count))
115 return -EFAULT;
116
117 if (minor == SHUTDOWN_BTN_MINOR) {
118 if (landisk_btn & 0x10) {
119 put_user(1, buff);
120 return 1;
121 } else {
122 return 0;
123 }
124 }
125 return 0;
126}
127
128static int swdrv_write(struct file *filp, const char *buff, size_t count,
129 loff_t * ppos)
130{
131 int minor;
132 minor = (int)(filp->private_data);
133
134 if (minor == SHUTDOWN_BTN_MINOR) {
135 return count;
136 }
137 return count;
138}
139
140static irqreturn_t sw_interrupt(int irq, void *dev_id, struct pt_regs *regs)
141{
142 landisk_btn = (0x0ff & (~ctrl_inb(PA_STATUS)));
143 disable_irq(IRQ_BUTTON);
144 disable_irq(IRQ_POWER);
145 ctrl_outb(0x00, PA_PWRINT_CLR);
146
147 if (landisk_btnctrlpid != 0) {
148 kill_proc(landisk_btnctrlpid, SIGUSR1, 1);
149 landisk_btnctrlpid = 0;
150 }
151
152 return IRQ_HANDLED;
153}
154
155static struct file_operations swdrv_fops = {
156 .read = swdrv_read, /* read */
157 .write = swdrv_write, /* write */
158 .open = swdrv_open, /* open */
159 .release = swdrv_close, /* release */
160 .ioctl = gio_ioctl, /* ioctl */
161
162};
163
164static char banner[] __initdata =
165 KERN_INFO "LANDISK and USL-5P Button, LED and GIO driver initialized\n";
166
167int __init swdrv_init(void)
168{
169 int error;
170
171 printk("%s", banner);
172
173 openCnt = 0;
174 openCntLED = 0;
175 openCntBtn = 0;
176 openCntGio = 0;
177 landisk_btn = 0;
178 landisk_btnctrlpid = 0;
179
180 if ((error = register_chrdev(SHUTDOWN_BTN_MAJOR, "swdrv", &swdrv_fops))) {
181 printk(KERN_ERR
182 "Button, LED and GIO driver:Couldn't register driver, error=%d\n",
183 error);
184 return 1;
185 }
186
187 if (request_irq(IRQ_POWER, sw_interrupt, 0, "SHUTDOWNSWITCH", NULL)) {
188 printk(KERN_ERR "Unable to get IRQ 11.\n");
189 return 1;
190 }
191 if (request_irq(IRQ_BUTTON, sw_interrupt, 0, "USL-5P BUTTON", NULL)) {
192 printk(KERN_ERR "Unable to get IRQ 12.\n");
193 return 1;
194 }
195 ctrl_outb(0x00, PA_PWRINT_CLR);
196
197 return 0;
198}
199
200module_init(swdrv_init);
201
202/*
203 * gio driver
204 *
205 */
206
207#include <asm/landisk/gio.h>
208
209static int gio_ioctl(struct inode *inode, struct file *filp,
210 unsigned int cmd, unsigned long arg)
211{
212 int minor;
213 unsigned int data, mask;
214 static unsigned int addr = 0;
215
216 minor = (int)(filp->private_data);
217
218 /* access control */
219 if (minor == GIO_MINOR) {
220 ;
221 } else if (minor == LED_MINOR) {
222 if (((cmd & 0x0ff) >= 9) && ((cmd & 0x0ff) < 20)) {
223 ;
224 } else {
225 return -EINVAL;
226 }
227 } else if (minor == BTN_MINOR) {
228 if (((cmd & 0x0ff) >= 20) && ((cmd & 0x0ff) < 30)) {
229 ;
230 } else {
231 return -EINVAL;
232 }
233 } else {
234 return -EINVAL;
235 }
236
237 if (cmd & 0x01) { /* write */
238 if (copy_from_user(&data, (int *)arg, sizeof(int))) {
239 return -EFAULT;
240 }
241 }
242
243 switch (cmd) {
244 case GIODRV_IOCSGIOSETADDR: /* addres set */
245 addr = data;
246 break;
247
248 case GIODRV_IOCSGIODATA1: /* write byte */
249 ctrl_outb((unsigned char)(0x0ff & data), addr);
250 break;
251
252 case GIODRV_IOCSGIODATA2: /* write word */
253 if (addr & 0x01) {
254 return -EFAULT;
255 }
256 ctrl_outw((unsigned short int)(0x0ffff & data), addr);
257 break;
258
259 case GIODRV_IOCSGIODATA4: /* write long */
260 if (addr & 0x03) {
261 return -EFAULT;
262 }
263 ctrl_outl(data, addr);
264 break;
265
266 case GIODRV_IOCGGIODATA1: /* read byte */
267 data = ctrl_inb(addr);
268 break;
269
270 case GIODRV_IOCGGIODATA2: /* read word */
271 if (addr & 0x01) {
272 return -EFAULT;
273 }
274 data = ctrl_inw(addr);
275 break;
276
277 case GIODRV_IOCGGIODATA4: /* read long */
278 if (addr & 0x03) {
279 return -EFAULT;
280 }
281 data = ctrl_inl(addr);
282 break;
283 case GIODRV_IOCSGIO_LED: /* write */
284 mask = ((data & 0x00ffffff) << 8)
285 | ((data & 0x0000ffff) << 16)
286 | ((data & 0x000000ff) << 24);
287 landisk_ledparam = data & (~mask);
288 if (landisk_arch == 0) { /* arch == landisk */
289 landisk_ledparam &= 0x03030303;
290 mask = (~(landisk_ledparam >> 22)) & 0x000c;
291 landisk_ledparam |= mask;
292 } else { /* arch == usl-5p */
293 mask = (landisk_ledparam >> 24) & 0x0001;
294 landisk_ledparam |= mask;
295 landisk_ledparam &= 0x007f7f7f;
296 }
297 landisk_ledparam |= 0x80;
298 break;
299 case GIODRV_IOCGGIO_LED: /* read */
300 data = landisk_ledparam;
301 if (landisk_arch == 0) { /* arch == landisk */
302 data &= 0x03030303;
303 } else { /* arch == usl-5p */
304 ;
305 }
306 data &= (~0x080);
307 break;
308 case GIODRV_IOCSGIO_BUZZER: /* write */
309 landisk_buzzerparam = data;
310 landisk_ledparam |= 0x80;
311 break;
312 case GIODRV_IOCGGIO_LANDISK: /* read */
313 data = landisk_arch & 0x01;
314 break;
315 case GIODRV_IOCGGIO_BTN: /* read */
316 data = (0x0ff & ctrl_inb(PA_PWRINT_CLR));
317 data <<= 8;
318 data |= (0x0ff & ctrl_inb(PA_IMASK));
319 data <<= 8;
320 data |= (0x0ff & landisk_btn);
321 data <<= 8;
322 data |= (0x0ff & (~ctrl_inb(PA_STATUS)));
323 break;
324 case GIODRV_IOCSGIO_BTNPID: /* write */
325 landisk_btnctrlpid = data;
326 landisk_btn = 0;
327 if (irq_desc[IRQ_BUTTON].depth) {
328 enable_irq(IRQ_BUTTON);
329 }
330 if (irq_desc[IRQ_POWER].depth) {
331 enable_irq(IRQ_POWER);
332 }
333 break;
334 case GIODRV_IOCGGIO_BTNPID: /* read */
335 data = landisk_btnctrlpid;
336 break;
337 default:
338 return -EFAULT;
339 break;
340 }
341
342 if ((cmd & 0x01) == 0) { /* read */
343 if (copy_to_user((int *)arg, &data, sizeof(int))) {
344 return -EFAULT;
345 }
346 }
347 return 0;
348}
diff --git a/arch/sh/boards/landisk/rtc.c b/arch/sh/boards/landisk/rtc.c
new file mode 100644
index 000000000000..d666aa63303f
--- /dev/null
+++ b/arch/sh/boards/landisk/rtc.c
@@ -0,0 +1,102 @@
1/*
2 * arch/sh/boards/landisk/rtc.c -- RTC support
3 *
4 * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org>
5 * Copyright (C) 1999 Tetsuya Okada & Niibe Yutaka
6 */
7/*
8 * modifed by kogiidena
9 * 2005.09.16
10 */
11
12#include <linux/config.h>
13#include <linux/init.h>
14#include <linux/kernel.h>
15#include <linux/sched.h>
16#include <linux/time.h>
17#include <linux/delay.h>
18#include <linux/spinlock.h>
19
20#ifndef BCD_TO_BIN
21#define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
22#endif
23
24#ifndef BIN_TO_BCD
25#define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
26#endif
27
28extern void (*rtc_get_time) (struct timespec *);
29extern int (*rtc_set_time) (const time_t);
30extern spinlock_t rtc_lock;
31
32extern void
33rs5c313_set_cmos_time(unsigned int BCD_yr, unsigned int BCD_mon,
34 unsigned int BCD_day, unsigned int BCD_hr,
35 unsigned int BCD_min, unsigned int BCD_sec);
36
37extern unsigned long
38rs5c313_get_cmos_time(unsigned int *BCD_yr, unsigned int *BCD_mon,
39 unsigned int *BCD_day, unsigned int *BCD_hr,
40 unsigned int *BCD_min, unsigned int *BCD_sec);
41
42void landisk_rtc_gettimeofday(struct timespec *tv)
43{
44 unsigned int BCD_yr, BCD_mon, BCD_day, BCD_hr, BCD_min, BCD_sec;
45 unsigned long flags;
46
47 spin_lock_irqsave(&rtc_lock, flags);
48 tv->tv_sec = rs5c313_get_cmos_time
49 (&BCD_yr, &BCD_mon, &BCD_day, &BCD_hr, &BCD_min, &BCD_sec);
50 tv->tv_nsec = 0;
51 spin_unlock_irqrestore(&rtc_lock, flags);
52}
53
54int landisk_rtc_settimeofday(const time_t secs)
55{
56 int retval = 0;
57 int real_seconds, real_minutes, cmos_minutes;
58 unsigned long flags;
59 unsigned long nowtime = secs;
60 unsigned int BCD_yr, BCD_mon, BCD_day, BCD_hr, BCD_min, BCD_sec;
61
62 spin_lock_irqsave(&rtc_lock, flags);
63
64 rs5c313_get_cmos_time
65 (&BCD_yr, &BCD_mon, &BCD_day, &BCD_hr, &BCD_min, &BCD_sec);
66 cmos_minutes = BCD_min;
67 BCD_TO_BIN(cmos_minutes);
68
69 /*
70 * since we're only adjusting minutes and seconds,
71 * don't interfere with hour overflow. This avoids
72 * messing with unknown time zones but requires your
73 * RTC not to be off by more than 15 minutes
74 */
75 real_seconds = nowtime % 60;
76 real_minutes = nowtime / 60;
77 if (((abs(real_minutes - cmos_minutes) + 15) / 30) & 1)
78 real_minutes += 30; /* correct for half hour time zone */
79 real_minutes %= 60;
80
81 if (abs(real_minutes - cmos_minutes) < 30) {
82 BIN_TO_BCD(real_seconds);
83 BIN_TO_BCD(real_minutes);
84 rs5c313_set_cmos_time(BCD_yr, BCD_mon, BCD_day, BCD_hr,
85 real_minutes, real_seconds);
86 } else {
87 printk(KERN_WARNING
88 "set_rtc_time: can't update from %d to %d\n",
89 cmos_minutes, real_minutes);
90 retval = -1;
91 }
92
93 spin_unlock_irqrestore(&rtc_lock, flags);
94 return retval;
95}
96
97
98void landisk_time_init(void)
99{
100 rtc_get_time = landisk_rtc_gettimeofday;
101 rtc_set_time = landisk_rtc_settimeofday;
102}
diff --git a/arch/sh/boards/landisk/setup.c b/arch/sh/boards/landisk/setup.c
new file mode 100644
index 000000000000..0c60eaa10ba7
--- /dev/null
+++ b/arch/sh/boards/landisk/setup.c
@@ -0,0 +1,218 @@
1/*
2 * arch/sh/boards/landisk/setup.c
3 *
4 * Copyright (C) 2002 Paul Mundt
5 *
6 * May be copied or modified under the terms of the GNU General Public
7 * License. See linux/COPYING for more information.
8 *
9 * Setup code for an unknown machine (internal peripherials only)
10 */
11/*
12 * linux/arch/sh/kernel/setup_landisk.c
13 *
14 * Copyright (C) 2000 Kazumoto Kojima
15 *
16 * I-O DATA Device, Inc. LANDISK Support.
17 *
18 * Modified for LANDISK by
19 * Atom Create Engineering Co., Ltd. 2002.
20 */
21/*
22 * modifed by kogiidena
23 * 2005.09.16
24 */
25
26#include <linux/config.h>
27#include <linux/init.h>
28#include <linux/irq.h>
29#include <linux/pm.h>
30
31#include <linux/hdreg.h>
32#include <linux/ide.h>
33#include <linux/pci.h>
34
35#include <asm/machvec.h>
36#include <asm/rtc.h>
37#include <asm/machvec_init.h>
38#include <asm/io.h>
39#include <asm/landisk/iodata_landisk.h>
40#include <asm/landisk/io.h>
41
42#include <linux/mm.h>
43#include <linux/vmalloc.h>
44
45extern void (*board_time_init) (void);
46void landisk_time_init(void);
47extern void init_landisk_IRQ(void);
48
49int landisk_ledparam;
50int landisk_buzzerparam;
51int landisk_arch;
52
53/* defined in mm/ioremap.c */
54extern void *p3_ioremap(unsigned long phys_addr, unsigned long size,
55 unsigned long flags);
56
57/*
58 * Initialize the board
59 */
60
61const char *get_system_type(void)
62{
63 return "LANDISK";
64}
65
66static void landisk_power_off(void)
67{
68 ctrl_outb(0x01, PA_SHUTDOWN);
69}
70
71void check_usl5p(void)
72{
73 volatile unsigned char *p = (volatile unsigned char *)PA_LED;
74 unsigned char tmp1, tmp2;
75 tmp1 = *p;
76 *p = 0x40;
77 tmp2 = *p;
78 *p = tmp1;
79 landisk_arch = (tmp2 == 0x40) ? 1 : 0;
80 if (landisk_arch == 1) { /* arch == usl-5p */
81 landisk_ledparam = 0x00000380;
82 landisk_ledparam |= (tmp1 & 0x07c);
83 } else { /* arch == landisk */
84 landisk_ledparam = 0x02000180;
85 landisk_ledparam |= 0x04;
86 }
87 return;
88}
89
90void __init platform_setup(void)
91{
92
93 landisk_buzzerparam = 0;
94 check_usl5p();
95
96 printk(KERN_INFO "I-O DATA DEVICE, INC. \"LANDISK Series\" support.\n");
97 board_time_init = landisk_time_init;
98 pm_power_off = landisk_power_off;
99
100}
101
102void *area5_io_base;
103void *area6_io_base;
104
105int __init cf_init(void)
106{
107 pgprot_t prot;
108 unsigned long paddrbase, psize;
109
110 /* open I/O area window */
111 paddrbase = virt_to_phys((void *)PA_AREA5_IO);
112 psize = PAGE_SIZE;
113 prot = PAGE_KERNEL_PCC(1, _PAGE_PCC_IO16);
114 area5_io_base = p3_ioremap(paddrbase, psize, prot.pgprot);
115 if (!area5_io_base) {
116 printk("allocate_cf_area : can't open CF I/O window!\n");
117 return -ENOMEM;
118 }
119
120 paddrbase = virt_to_phys((void *)PA_AREA6_IO);
121 psize = PAGE_SIZE;
122 prot = PAGE_KERNEL_PCC(0, _PAGE_PCC_IO16);
123 area6_io_base = p3_ioremap(paddrbase, psize, prot.pgprot);
124 if (!area6_io_base) {
125 printk("allocate_cf_area : can't open HDD I/O window!\n");
126 return -ENOMEM;
127 }
128
129 printk(KERN_INFO "Allocate Area5/6 success.\n");
130
131 /* XXX : do we need attribute and common-memory area also? */
132
133 return 0;
134}
135
136__initcall(cf_init);
137
138#include <linux/sched.h>
139
140/* Cycle the LED's in the clasic knightrider/Sun pattern */
141
142void heartbeat_landisk(void)
143{
144 static unsigned int cnt = 0, blink = 0x00, period = 25;
145 volatile unsigned char *p = (volatile unsigned char *)PA_LED;
146 char data;
147
148 if ((landisk_ledparam & 0x080) == 0) {
149 return;
150 }
151 cnt += 1;
152 if (cnt < period) {
153 return;
154 }
155 cnt = 0;
156 blink++;
157
158 data = (blink & 0x01) ? (landisk_ledparam >> 16) : 0;
159 data |= (blink & 0x02) ? (landisk_ledparam >> 8) : 0;
160 data |= landisk_ledparam;
161
162 /* buzzer */
163 if (landisk_buzzerparam & 0x1) {
164 data |= 0x80;
165 } else {
166 data &= 0x7f;
167 }
168 *p = data;
169
170 if (((landisk_ledparam & 0x007f7f00) == 0)
171 && (landisk_buzzerparam == 0)) {
172 landisk_ledparam &= (~0x0080);
173 }
174 landisk_buzzerparam >>= 1;
175}
176
177/*
178 * The Machine Vector
179 */
180
181struct sh_machine_vector mv_landisk __initmv = {
182 .mv_nr_irqs = 72,
183 .mv_inb = landisk_inb,
184 .mv_inw = landisk_inw,
185 .mv_inl = landisk_inl,
186 .mv_outb = landisk_outb,
187 .mv_outw = landisk_outw,
188 .mv_outl = landisk_outl,
189 .mv_inb_p = landisk_inb_p,
190 .mv_inw_p = landisk_inw,
191 .mv_inl_p = landisk_inl,
192 .mv_outb_p = landisk_outb_p,
193 .mv_outw_p = landisk_outw,
194 .mv_outl_p = landisk_outl,
195 .mv_insb = landisk_insb,
196 .mv_insw = landisk_insw,
197 .mv_insl = landisk_insl,
198 .mv_outsb = landisk_outsb,
199 .mv_outsw = landisk_outsw,
200 .mv_outsl = landisk_outsl,
201 .mv_readb = landisk_readb,
202 .mv_readw = landisk_readw,
203 .mv_readl = landisk_readl,
204 .mv_writeb = landisk_writeb,
205 .mv_writew = landisk_writew,
206 .mv_writel = landisk_writel,
207 .mv_ioremap = landisk_ioremap,
208 .mv_iounmap = landisk_iounmap,
209 .mv_isa_port2addr = landisk_isa_port2addr,
210 .mv_init_irq = init_landisk_IRQ,
211
212#ifdef CONFIG_HEARTBEAT
213 .mv_heartbeat = heartbeat_landisk,
214#endif
215
216};
217
218ALIAS_MV(landisk)
diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig
new file mode 100644
index 000000000000..6b43316d03cf
--- /dev/null
+++ b/arch/sh/configs/landisk_defconfig
@@ -0,0 +1,1373 @@
1#
2# Automatically generated make config: don't edit
3# Linux kernel version: 2.6.13-sh
4# Sun Sep 11 13:00:46 2005
5#
6CONFIG_SUPERH=y
7CONFIG_UID16=y
8CONFIG_RWSEM_GENERIC_SPINLOCK=y
9CONFIG_GENERIC_HARDIRQS=y
10CONFIG_GENERIC_IRQ_PROBE=y
11CONFIG_GENERIC_CALIBRATE_DELAY=y
12CONFIG_GENERIC_IOMAP=y
13
14#
15# Code maturity level options
16#
17CONFIG_EXPERIMENTAL=y
18CONFIG_CLEAN_COMPILE=y
19CONFIG_BROKEN_ON_SMP=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27CONFIG_SWAP=y
28CONFIG_SYSVIPC=y
29# CONFIG_POSIX_MQUEUE is not set
30# CONFIG_BSD_PROCESS_ACCT is not set
31CONFIG_SYSCTL=y
32# CONFIG_AUDIT is not set
33CONFIG_HOTPLUG=y
34CONFIG_KOBJECT_UEVENT=y
35# CONFIG_IKCONFIG is not set
36CONFIG_INITRAMFS_SOURCE=""
37# CONFIG_EMBEDDED is not set
38CONFIG_KALLSYMS=y
39CONFIG_KALLSYMS_EXTRA_PASS=y
40CONFIG_PRINTK=y
41CONFIG_BUG=y
42CONFIG_BASE_FULL=y
43CONFIG_FUTEX=y
44CONFIG_EPOLL=y
45CONFIG_SHMEM=y
46CONFIG_CC_ALIGN_FUNCTIONS=0
47CONFIG_CC_ALIGN_LABELS=0
48CONFIG_CC_ALIGN_LOOPS=0
49CONFIG_CC_ALIGN_JUMPS=0
50# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0
52
53#
54# Loadable module support
55#
56CONFIG_MODULES=y
57CONFIG_MODULE_UNLOAD=y
58CONFIG_MODULE_FORCE_UNLOAD=y
59CONFIG_OBSOLETE_MODPARM=y
60# CONFIG_MODVERSIONS is not set
61# CONFIG_MODULE_SRCVERSION_ALL is not set
62CONFIG_KMOD=y
63
64#
65# System type
66#
67# CONFIG_SH_SOLUTION_ENGINE is not set
68# CONFIG_SH_7751_SOLUTION_ENGINE is not set
69# CONFIG_SH_7300_SOLUTION_ENGINE is not set
70# CONFIG_SH_73180_SOLUTION_ENGINE is not set
71# CONFIG_SH_7751_SYSTEMH is not set
72# CONFIG_SH_STB1_HARP is not set
73# CONFIG_SH_STB1_OVERDRIVE is not set
74# CONFIG_SH_HP6XX is not set
75# CONFIG_SH_CQREEK is not set
76# CONFIG_SH_DMIDA is not set
77# CONFIG_SH_EC3104 is not set
78# CONFIG_SH_SATURN is not set
79# CONFIG_SH_DREAMCAST is not set
80# CONFIG_SH_CAT68701 is not set
81# CONFIG_SH_BIGSUR is not set
82# CONFIG_SH_SH2000 is not set
83# CONFIG_SH_ADX is not set
84# CONFIG_SH_MPC1211 is not set
85# CONFIG_SH_SH03 is not set
86# CONFIG_SH_SECUREEDGE5410 is not set
87# CONFIG_SH_HS7751RVOIP is not set
88# CONFIG_SH_RTS7751R2D is not set
89# CONFIG_SH_EDOSK7705 is not set
90# CONFIG_SH_SH4202_MICRODEV is not set
91CONFIG_SH_LANDISK=y
92# CONFIG_SH_TITAN is not set
93# CONFIG_SH_UNKNOWN is not set
94
95#
96# Processor selection
97#
98CONFIG_CPU_SH4=y
99
100#
101# SH-2 Processor Support
102#
103# CONFIG_CPU_SUBTYPE_SH7604 is not set
104
105#
106# SH-3 Processor Support
107#
108# CONFIG_CPU_SUBTYPE_SH7300 is not set
109# CONFIG_CPU_SUBTYPE_SH7705 is not set
110# CONFIG_CPU_SUBTYPE_SH7707 is not set
111# CONFIG_CPU_SUBTYPE_SH7708 is not set
112# CONFIG_CPU_SUBTYPE_SH7709 is not set
113
114#
115# SH-4 Processor Support
116#
117# CONFIG_CPU_SUBTYPE_SH7750 is not set
118# CONFIG_CPU_SUBTYPE_SH7091 is not set
119# CONFIG_CPU_SUBTYPE_SH7750R is not set
120# CONFIG_CPU_SUBTYPE_SH7750S is not set
121CONFIG_CPU_SUBTYPE_SH7751=y
122CONFIG_CPU_SUBTYPE_SH7751R=y
123# CONFIG_CPU_SUBTYPE_SH7760 is not set
124# CONFIG_CPU_SUBTYPE_SH4_202 is not set
125
126#
127# ST40 Processor Support
128#
129# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
130# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
131
132#
133# SH-4A Processor Support
134#
135# CONFIG_CPU_SUBTYPE_SH73180 is not set
136# CONFIG_CPU_SUBTYPE_SH7770 is not set
137# CONFIG_CPU_SUBTYPE_SH7780 is not set
138
139#
140# Memory management options
141#
142CONFIG_MMU=y
143CONFIG_SELECT_MEMORY_MODEL=y
144CONFIG_FLATMEM_MANUAL=y
145# CONFIG_DISCONTIGMEM_MANUAL is not set
146# CONFIG_SPARSEMEM_MANUAL is not set
147CONFIG_FLATMEM=y
148CONFIG_FLAT_NODE_MEM_MAP=y
149# CONFIG_SPARSEMEM_STATIC is not set
150
151#
152# Cache configuration
153#
154# CONFIG_SH_DIRECT_MAPPED is not set
155# CONFIG_SH_WRITETHROUGH is not set
156# CONFIG_SH_OCRAM is not set
157CONFIG_MEMORY_START=0x0c000000
158CONFIG_MEMORY_SIZE=0x04000000
159
160#
161# Processor features
162#
163CONFIG_CPU_LITTLE_ENDIAN=y
164CONFIG_SH_FPU=y
165# CONFIG_SH_STORE_QUEUES is not set
166
167#
168# Timer support
169#
170CONFIG_SH_TMU=y
171CONFIG_SH_PCLK_FREQ_BOOL=y
172CONFIG_SH_PCLK_FREQ=33333333
173
174#
175# CPU Frequency scaling
176#
177# CONFIG_CPU_FREQ is not set
178
179#
180# DMA support
181#
182CONFIG_SH_DMA=y
183CONFIG_NR_ONCHIP_DMA_CHANNELS=4
184# CONFIG_NR_DMA_CHANNELS_BOOL is not set
185
186#
187# Companion Chips
188#
189# CONFIG_HD6446X_SERIES is not set
190CONFIG_HEARTBEAT=y
191
192#
193# Kernel features
194#
195CONFIG_KEXEC=y
196# CONFIG_PREEMPT is not set
197# CONFIG_SMP is not set
198
199#
200# Boot options
201#
202CONFIG_ZERO_PAGE_OFFSET=0x00001000
203CONFIG_BOOT_LINK_OFFSET=0x00800000
204# CONFIG_UBC_WAKEUP is not set
205# CONFIG_CMDLINE_BOOL is not set
206
207#
208# Bus options
209#
210CONFIG_ISA=y
211CONFIG_PCI=y
212CONFIG_SH_PCIDMA_NONCOHERENT=y
213CONFIG_PCI_AUTO=y
214CONFIG_PCI_AUTO_UPDATE_RESOURCES=y
215CONFIG_PCI_LEGACY_PROC=y
216
217#
218# PCCARD (PCMCIA/CardBus) support
219#
220CONFIG_PCCARD=y
221# CONFIG_PCMCIA_DEBUG is not set
222CONFIG_PCMCIA=y
223CONFIG_PCMCIA_LOAD_CIS=y
224CONFIG_PCMCIA_IOCTL=y
225CONFIG_CARDBUS=y
226
227#
228# PC-card bridges
229#
230CONFIG_YENTA=y
231# CONFIG_PD6729 is not set
232# CONFIG_I82092 is not set
233# CONFIG_I82365 is not set
234# CONFIG_TCIC is not set
235CONFIG_PCMCIA_PROBE=y
236CONFIG_PCCARD_NONSTATIC=y
237
238#
239# PCI Hotplug Support
240#
241# CONFIG_HOTPLUG_PCI is not set
242
243#
244# Executable file formats
245#
246CONFIG_BINFMT_ELF=y
247# CONFIG_BINFMT_FLAT is not set
248# CONFIG_BINFMT_MISC is not set
249
250#
251# Networking
252#
253CONFIG_NET=y
254
255#
256# Networking options
257#
258CONFIG_PACKET=y
259# CONFIG_PACKET_MMAP is not set
260CONFIG_UNIX=y
261# CONFIG_NET_KEY is not set
262CONFIG_INET=y
263# CONFIG_IP_MULTICAST is not set
264CONFIG_IP_ADVANCED_ROUTER=y
265CONFIG_ASK_IP_FIB_HASH=y
266# CONFIG_IP_FIB_TRIE is not set
267CONFIG_IP_FIB_HASH=y
268# CONFIG_IP_MULTIPLE_TABLES is not set
269# CONFIG_IP_ROUTE_MULTIPATH is not set
270# CONFIG_IP_ROUTE_VERBOSE is not set
271CONFIG_IP_PNP=y
272# CONFIG_IP_PNP_DHCP is not set
273# CONFIG_IP_PNP_BOOTP is not set
274# CONFIG_IP_PNP_RARP is not set
275# CONFIG_NET_IPIP is not set
276# CONFIG_NET_IPGRE is not set
277# CONFIG_ARPD is not set
278# CONFIG_SYN_COOKIES is not set
279# CONFIG_INET_AH is not set
280# CONFIG_INET_ESP is not set
281# CONFIG_INET_IPCOMP is not set
282# CONFIG_INET_TUNNEL is not set
283CONFIG_INET_DIAG=y
284CONFIG_INET_TCP_DIAG=y
285# CONFIG_TCP_CONG_ADVANCED is not set
286CONFIG_TCP_CONG_BIC=y
287
288#
289# IP: Virtual Server Configuration
290#
291# CONFIG_IP_VS is not set
292# CONFIG_IPV6 is not set
293CONFIG_NETFILTER=y
294# CONFIG_NETFILTER_DEBUG is not set
295# CONFIG_NETFILTER_NETLINK is not set
296
297#
298# IP: Netfilter Configuration
299#
300CONFIG_IP_NF_CONNTRACK=m
301CONFIG_IP_NF_CT_ACCT=y
302CONFIG_IP_NF_CONNTRACK_MARK=y
303# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
304# CONFIG_IP_NF_CT_PROTO_SCTP is not set
305CONFIG_IP_NF_FTP=m
306CONFIG_IP_NF_IRC=m
307# CONFIG_IP_NF_NETBIOS_NS is not set
308CONFIG_IP_NF_TFTP=m
309CONFIG_IP_NF_AMANDA=m
310# CONFIG_IP_NF_PPTP is not set
311CONFIG_IP_NF_QUEUE=m
312CONFIG_IP_NF_IPTABLES=m
313CONFIG_IP_NF_MATCH_LIMIT=m
314CONFIG_IP_NF_MATCH_IPRANGE=m
315CONFIG_IP_NF_MATCH_MAC=m
316CONFIG_IP_NF_MATCH_PKTTYPE=m
317CONFIG_IP_NF_MATCH_MARK=m
318CONFIG_IP_NF_MATCH_MULTIPORT=m
319CONFIG_IP_NF_MATCH_TOS=m
320CONFIG_IP_NF_MATCH_RECENT=m
321CONFIG_IP_NF_MATCH_ECN=m
322CONFIG_IP_NF_MATCH_DSCP=m
323CONFIG_IP_NF_MATCH_AH_ESP=m
324CONFIG_IP_NF_MATCH_LENGTH=m
325CONFIG_IP_NF_MATCH_TTL=m
326CONFIG_IP_NF_MATCH_TCPMSS=m
327CONFIG_IP_NF_MATCH_HELPER=m
328CONFIG_IP_NF_MATCH_STATE=m
329CONFIG_IP_NF_MATCH_CONNTRACK=m
330CONFIG_IP_NF_MATCH_OWNER=m
331CONFIG_IP_NF_MATCH_ADDRTYPE=m
332CONFIG_IP_NF_MATCH_REALM=m
333CONFIG_IP_NF_MATCH_SCTP=m
334# CONFIG_IP_NF_MATCH_DCCP is not set
335CONFIG_IP_NF_MATCH_COMMENT=m
336CONFIG_IP_NF_MATCH_CONNMARK=m
337# CONFIG_IP_NF_MATCH_CONNBYTES is not set
338CONFIG_IP_NF_MATCH_HASHLIMIT=m
339# CONFIG_IP_NF_MATCH_STRING is not set
340CONFIG_IP_NF_FILTER=m
341CONFIG_IP_NF_TARGET_REJECT=m
342CONFIG_IP_NF_TARGET_LOG=m
343CONFIG_IP_NF_TARGET_ULOG=m
344CONFIG_IP_NF_TARGET_TCPMSS=m
345# CONFIG_IP_NF_TARGET_NFQUEUE is not set
346CONFIG_IP_NF_NAT=m
347CONFIG_IP_NF_NAT_NEEDED=y
348CONFIG_IP_NF_TARGET_MASQUERADE=m
349CONFIG_IP_NF_TARGET_REDIRECT=m
350CONFIG_IP_NF_TARGET_NETMAP=m
351CONFIG_IP_NF_TARGET_SAME=m
352# CONFIG_IP_NF_NAT_SNMP_BASIC is not set
353CONFIG_IP_NF_NAT_IRC=m
354CONFIG_IP_NF_NAT_FTP=m
355CONFIG_IP_NF_NAT_TFTP=m
356CONFIG_IP_NF_NAT_AMANDA=m
357CONFIG_IP_NF_MANGLE=m
358CONFIG_IP_NF_TARGET_TOS=m
359CONFIG_IP_NF_TARGET_ECN=m
360CONFIG_IP_NF_TARGET_DSCP=m
361CONFIG_IP_NF_TARGET_MARK=m
362CONFIG_IP_NF_TARGET_CLASSIFY=m
363# CONFIG_IP_NF_TARGET_TTL is not set
364CONFIG_IP_NF_TARGET_CONNMARK=m
365# CONFIG_IP_NF_TARGET_CLUSTERIP is not set
366CONFIG_IP_NF_RAW=m
367CONFIG_IP_NF_TARGET_NOTRACK=m
368CONFIG_IP_NF_ARPTABLES=m
369CONFIG_IP_NF_ARPFILTER=m
370CONFIG_IP_NF_ARP_MANGLE=m
371
372#
373# DCCP Configuration (EXPERIMENTAL)
374#
375# CONFIG_IP_DCCP is not set
376
377#
378# SCTP Configuration (EXPERIMENTAL)
379#
380# CONFIG_IP_SCTP is not set
381# CONFIG_ATM is not set
382# CONFIG_BRIDGE is not set
383# CONFIG_VLAN_8021Q is not set
384# CONFIG_DECNET is not set
385CONFIG_LLC=m
386# CONFIG_LLC2 is not set
387# CONFIG_IPX is not set
388CONFIG_ATALK=m
389# CONFIG_DEV_APPLETALK is not set
390# CONFIG_X25 is not set
391# CONFIG_LAPB is not set
392# CONFIG_NET_DIVERT is not set
393# CONFIG_ECONET is not set
394# CONFIG_WAN_ROUTER is not set
395# CONFIG_NET_SCHED is not set
396CONFIG_NET_CLS_ROUTE=y
397
398#
399# Network testing
400#
401# CONFIG_NET_PKTGEN is not set
402# CONFIG_HAMRADIO is not set
403# CONFIG_IRDA is not set
404# CONFIG_BT is not set
405# CONFIG_IEEE80211 is not set
406
407#
408# Device Drivers
409#
410
411#
412# Generic Driver Options
413#
414CONFIG_STANDALONE=y
415CONFIG_PREVENT_FIRMWARE_BUILD=y
416CONFIG_FW_LOADER=y
417
418#
419# Connector - unified userspace <-> kernelspace linker
420#
421# CONFIG_CONNECTOR is not set
422
423#
424# Memory Technology Devices (MTD)
425#
426# CONFIG_MTD is not set
427
428#
429# Parallel port support
430#
431# CONFIG_PARPORT is not set
432
433#
434# Plug and Play support
435#
436# CONFIG_PNP is not set
437
438#
439# Block devices
440#
441# CONFIG_BLK_CPQ_DA is not set
442# CONFIG_BLK_CPQ_CISS_DA is not set
443# CONFIG_BLK_DEV_DAC960 is not set
444# CONFIG_BLK_DEV_UMEM is not set
445# CONFIG_BLK_DEV_COW_COMMON is not set
446CONFIG_BLK_DEV_LOOP=y
447# CONFIG_BLK_DEV_CRYPTOLOOP is not set
448# CONFIG_BLK_DEV_NBD is not set
449# CONFIG_BLK_DEV_SX8 is not set
450# CONFIG_BLK_DEV_UB is not set
451CONFIG_BLK_DEV_RAM=y
452CONFIG_BLK_DEV_RAM_COUNT=16
453CONFIG_BLK_DEV_RAM_SIZE=4096
454# CONFIG_BLK_DEV_INITRD is not set
455# CONFIG_LBD is not set
456# CONFIG_CDROM_PKTCDVD is not set
457
458#
459# IO Schedulers
460#
461CONFIG_IOSCHED_NOOP=y
462CONFIG_IOSCHED_AS=y
463CONFIG_IOSCHED_DEADLINE=y
464CONFIG_IOSCHED_CFQ=y
465# CONFIG_ATA_OVER_ETH is not set
466
467#
468# ATA/ATAPI/MFM/RLL support
469#
470CONFIG_IDE=y
471CONFIG_IDE_MAX_HWIFS=4
472CONFIG_BLK_DEV_IDE=y
473
474#
475# Please see Documentation/ide.txt for help/info on IDE drives
476#
477# CONFIG_BLK_DEV_IDE_SATA is not set
478CONFIG_BLK_DEV_IDEDISK=y
479# CONFIG_IDEDISK_MULTI_MODE is not set
480# CONFIG_BLK_DEV_IDECS is not set
481CONFIG_BLK_DEV_IDECD=y
482# CONFIG_BLK_DEV_IDETAPE is not set
483# CONFIG_BLK_DEV_IDEFLOPPY is not set
484CONFIG_BLK_DEV_IDESCSI=y
485# CONFIG_IDE_TASK_IOCTL is not set
486
487#
488# IDE chipset support/bugfixes
489#
490CONFIG_IDE_GENERIC=y
491CONFIG_BLK_DEV_IDEPCI=y
492CONFIG_IDEPCI_SHARE_IRQ=y
493CONFIG_BLK_DEV_OFFBOARD=y
494CONFIG_BLK_DEV_GENERIC=y
495# CONFIG_BLK_DEV_OPTI621 is not set
496CONFIG_BLK_DEV_IDEDMA_PCI=y
497# CONFIG_BLK_DEV_IDEDMA_FORCED is not set
498CONFIG_IDEDMA_PCI_AUTO=y
499CONFIG_IDEDMA_ONLYDISK=y
500CONFIG_BLK_DEV_AEC62XX=y
501# CONFIG_BLK_DEV_ALI15X3 is not set
502# CONFIG_BLK_DEV_AMD74XX is not set
503# CONFIG_BLK_DEV_CMD64X is not set
504# CONFIG_BLK_DEV_TRIFLEX is not set
505# CONFIG_BLK_DEV_CY82C693 is not set
506# CONFIG_BLK_DEV_CS5520 is not set
507# CONFIG_BLK_DEV_CS5530 is not set
508# CONFIG_BLK_DEV_HPT34X is not set
509# CONFIG_BLK_DEV_HPT366 is not set
510# CONFIG_BLK_DEV_SC1200 is not set
511# CONFIG_BLK_DEV_PIIX is not set
512# CONFIG_BLK_DEV_IT821X is not set
513# CONFIG_BLK_DEV_NS87415 is not set
514# CONFIG_BLK_DEV_PDC202XX_OLD is not set
515# CONFIG_BLK_DEV_PDC202XX_NEW is not set
516# CONFIG_BLK_DEV_SVWKS is not set
517# CONFIG_BLK_DEV_SIIMAGE is not set
518# CONFIG_BLK_DEV_SLC90E66 is not set
519# CONFIG_BLK_DEV_TRM290 is not set
520# CONFIG_BLK_DEV_VIA82CXXX is not set
521CONFIG_IDE_SH=y
522# CONFIG_IDE_ARM is not set
523# CONFIG_IDE_CHIPSETS is not set
524CONFIG_BLK_DEV_IDEDMA=y
525# CONFIG_IDEDMA_IVB is not set
526CONFIG_IDEDMA_AUTO=y
527# CONFIG_BLK_DEV_HD is not set
528
529#
530# SCSI device support
531#
532# CONFIG_RAID_ATTRS is not set
533CONFIG_SCSI=y
534CONFIG_SCSI_PROC_FS=y
535
536#
537# SCSI support type (disk, tape, CD-ROM)
538#
539CONFIG_BLK_DEV_SD=y
540# CONFIG_CHR_DEV_ST is not set
541# CONFIG_CHR_DEV_OSST is not set
542# CONFIG_BLK_DEV_SR is not set
543# CONFIG_CHR_DEV_SG is not set
544# CONFIG_CHR_DEV_SCH is not set
545
546#
547# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
548#
549CONFIG_SCSI_MULTI_LUN=y
550# CONFIG_SCSI_CONSTANTS is not set
551# CONFIG_SCSI_LOGGING is not set
552
553#
554# SCSI Transport Attributes
555#
556# CONFIG_SCSI_SPI_ATTRS is not set
557# CONFIG_SCSI_FC_ATTRS is not set
558# CONFIG_SCSI_ISCSI_ATTRS is not set
559# CONFIG_SCSI_SAS_ATTRS is not set
560
561#
562# SCSI low-level drivers
563#
564# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
565# CONFIG_SCSI_3W_9XXX is not set
566# CONFIG_SCSI_ACARD is not set
567# CONFIG_SCSI_AHA152X is not set
568# CONFIG_SCSI_AACRAID is not set
569# CONFIG_SCSI_AIC7XXX is not set
570# CONFIG_SCSI_AIC7XXX_OLD is not set
571# CONFIG_SCSI_AIC79XX is not set
572# CONFIG_SCSI_DPT_I2O is not set
573# CONFIG_SCSI_IN2000 is not set
574# CONFIG_MEGARAID_NEWGEN is not set
575# CONFIG_MEGARAID_LEGACY is not set
576# CONFIG_MEGARAID_SAS is not set
577# CONFIG_SCSI_SATA is not set
578# CONFIG_SCSI_DMX3191D is not set
579# CONFIG_SCSI_DTC3280 is not set
580# CONFIG_SCSI_FUTURE_DOMAIN is not set
581# CONFIG_SCSI_GENERIC_NCR5380 is not set
582# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
583# CONFIG_SCSI_IPS is not set
584# CONFIG_SCSI_INITIO is not set
585# CONFIG_SCSI_INIA100 is not set
586# CONFIG_SCSI_NCR53C406A is not set
587# CONFIG_SCSI_SYM53C8XX_2 is not set
588# CONFIG_SCSI_IPR is not set
589# CONFIG_SCSI_PAS16 is not set
590# CONFIG_SCSI_PSI240I is not set
591# CONFIG_SCSI_QLOGIC_FAS is not set
592# CONFIG_SCSI_QLOGIC_FC is not set
593# CONFIG_SCSI_QLOGIC_1280 is not set
594CONFIG_SCSI_QLA2XXX=y
595# CONFIG_SCSI_QLA21XX is not set
596# CONFIG_SCSI_QLA22XX is not set
597# CONFIG_SCSI_QLA2300 is not set
598# CONFIG_SCSI_QLA2322 is not set
599# CONFIG_SCSI_QLA6312 is not set
600# CONFIG_SCSI_QLA24XX is not set
601# CONFIG_SCSI_LPFC is not set
602# CONFIG_SCSI_SYM53C416 is not set
603# CONFIG_SCSI_DC395x is not set
604# CONFIG_SCSI_DC390T is not set
605# CONFIG_SCSI_T128 is not set
606# CONFIG_SCSI_NSP32 is not set
607# CONFIG_SCSI_DEBUG is not set
608
609#
610# PCMCIA SCSI adapter support
611#
612# CONFIG_PCMCIA_AHA152X is not set
613# CONFIG_PCMCIA_FDOMAIN is not set
614# CONFIG_PCMCIA_NINJA_SCSI is not set
615# CONFIG_PCMCIA_QLOGIC is not set
616# CONFIG_PCMCIA_SYM53C500 is not set
617
618#
619# Old CD-ROM drivers (not SCSI, not IDE)
620#
621# CONFIG_CD_NO_IDESCSI is not set
622
623#
624# Multi-device support (RAID and LVM)
625#
626CONFIG_MD=y
627CONFIG_BLK_DEV_MD=m
628CONFIG_MD_LINEAR=m
629CONFIG_MD_RAID0=m
630CONFIG_MD_RAID1=m
631# CONFIG_MD_RAID10 is not set
632# CONFIG_MD_RAID5 is not set
633# CONFIG_MD_RAID6 is not set
634# CONFIG_MD_MULTIPATH is not set
635# CONFIG_MD_FAULTY is not set
636# CONFIG_BLK_DEV_DM is not set
637
638#
639# Fusion MPT device support
640#
641# CONFIG_FUSION is not set
642# CONFIG_FUSION_SPI is not set
643# CONFIG_FUSION_FC is not set
644# CONFIG_FUSION_SAS is not set
645
646#
647# IEEE 1394 (FireWire) support
648#
649# CONFIG_IEEE1394 is not set
650
651#
652# I2O device support
653#
654# CONFIG_I2O is not set
655
656#
657# Network device support
658#
659CONFIG_NETDEVICES=y
660# CONFIG_DUMMY is not set
661# CONFIG_BONDING is not set
662# CONFIG_EQUALIZER is not set
663CONFIG_TUN=m
664
665#
666# ARCnet devices
667#
668# CONFIG_ARCNET is not set
669
670#
671# PHY device support
672#
673# CONFIG_PHYLIB is not set
674
675#
676# Ethernet (10 or 100Mbit)
677#
678CONFIG_NET_ETHERNET=y
679CONFIG_MII=y
680# CONFIG_STNIC is not set
681# CONFIG_HAPPYMEAL is not set
682# CONFIG_SUNGEM is not set
683# CONFIG_CASSINI is not set
684# CONFIG_NET_VENDOR_3COM is not set
685# CONFIG_NET_VENDOR_SMC is not set
686# CONFIG_SMC91X is not set
687# CONFIG_NET_VENDOR_RACAL is not set
688
689#
690# Tulip family network device support
691#
692# CONFIG_NET_TULIP is not set
693# CONFIG_AT1700 is not set
694# CONFIG_DEPCA is not set
695# CONFIG_HP100 is not set
696# CONFIG_NET_ISA is not set
697# CONFIG_NE2000 is not set
698CONFIG_NET_PCI=y
699# CONFIG_PCNET32 is not set
700# CONFIG_AMD8111_ETH is not set
701# CONFIG_ADAPTEC_STARFIRE is not set
702# CONFIG_AC3200 is not set
703# CONFIG_APRICOT is not set
704# CONFIG_B44 is not set
705# CONFIG_FORCEDETH is not set
706# CONFIG_CS89x0 is not set
707# CONFIG_DGRS is not set
708# CONFIG_EEPRO100 is not set
709# CONFIG_E100 is not set
710# CONFIG_FEALNX is not set
711# CONFIG_NATSEMI is not set
712# CONFIG_NE2K_PCI is not set
713CONFIG_8139CP=y
714# CONFIG_8139TOO is not set
715# CONFIG_SIS900 is not set
716# CONFIG_EPIC100 is not set
717# CONFIG_SUNDANCE is not set
718# CONFIG_TLAN is not set
719# CONFIG_VIA_RHINE is not set
720
721#
722# Ethernet (1000 Mbit)
723#
724# CONFIG_ACENIC is not set
725# CONFIG_DL2K is not set
726# CONFIG_E1000 is not set
727# CONFIG_NS83820 is not set
728# CONFIG_HAMACHI is not set
729# CONFIG_YELLOWFIN is not set
730# CONFIG_R8169 is not set
731# CONFIG_SIS190 is not set
732# CONFIG_SKGE is not set
733# CONFIG_SK98LIN is not set
734# CONFIG_VIA_VELOCITY is not set
735# CONFIG_TIGON3 is not set
736# CONFIG_BNX2 is not set
737
738#
739# Ethernet (10000 Mbit)
740#
741# CONFIG_CHELSIO_T1 is not set
742# CONFIG_IXGB is not set
743# CONFIG_S2IO is not set
744
745#
746# Token Ring devices
747#
748# CONFIG_TR is not set
749
750#
751# Wireless LAN (non-hamradio)
752#
753# CONFIG_NET_RADIO is not set
754
755#
756# PCMCIA network device support
757#
758# CONFIG_NET_PCMCIA is not set
759
760#
761# Wan interfaces
762#
763# CONFIG_WAN is not set
764# CONFIG_FDDI is not set
765# CONFIG_HIPPI is not set
766# CONFIG_PPP is not set
767# CONFIG_SLIP is not set
768# CONFIG_NET_FC is not set
769# CONFIG_SHAPER is not set
770# CONFIG_NETCONSOLE is not set
771# CONFIG_NETPOLL is not set
772# CONFIG_NET_POLL_CONTROLLER is not set
773
774#
775# ISDN subsystem
776#
777# CONFIG_ISDN is not set
778
779#
780# Telephony Support
781#
782# CONFIG_PHONE is not set
783
784#
785# Input device support
786#
787CONFIG_INPUT=y
788
789#
790# Userland interfaces
791#
792CONFIG_INPUT_MOUSEDEV=y
793# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
794CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
795CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
796# CONFIG_INPUT_JOYDEV is not set
797# CONFIG_INPUT_TSDEV is not set
798# CONFIG_INPUT_EVDEV is not set
799# CONFIG_INPUT_EVBUG is not set
800
801#
802# Input Device Drivers
803#
804# CONFIG_INPUT_KEYBOARD is not set
805# CONFIG_INPUT_MOUSE is not set
806# CONFIG_INPUT_JOYSTICK is not set
807# CONFIG_INPUT_TOUCHSCREEN is not set
808# CONFIG_INPUT_MISC is not set
809
810#
811# Hardware I/O ports
812#
813# CONFIG_SERIO is not set
814# CONFIG_GAMEPORT is not set
815
816#
817# Character devices
818#
819CONFIG_VT=y
820CONFIG_VT_CONSOLE=y
821CONFIG_HW_CONSOLE=y
822# CONFIG_SERIAL_NONSTANDARD is not set
823
824#
825# Serial drivers
826#
827# CONFIG_SERIAL_8250 is not set
828
829#
830# Non-8250 serial port support
831#
832CONFIG_SERIAL_SH_SCI=y
833CONFIG_SERIAL_SH_SCI_CONSOLE=y
834CONFIG_SERIAL_CORE=y
835CONFIG_SERIAL_CORE_CONSOLE=y
836# CONFIG_SERIAL_JSM is not set
837CONFIG_UNIX98_PTYS=y
838CONFIG_LEGACY_PTYS=y
839CONFIG_LEGACY_PTY_COUNT=256
840
841#
842# IPMI
843#
844# CONFIG_IPMI_HANDLER is not set
845
846#
847# Watchdog Cards
848#
849# CONFIG_WATCHDOG is not set
850# CONFIG_RTC is not set
851CONFIG_RS5C313_RTC=y
852# CONFIG_GEN_RTC is not set
853# CONFIG_DTLK is not set
854# CONFIG_R3964 is not set
855# CONFIG_APPLICOM is not set
856
857#
858# Ftape, the floppy tape device driver
859#
860# CONFIG_DRM is not set
861
862#
863# PCMCIA character devices
864#
865# CONFIG_SYNCLINK_CS is not set
866# CONFIG_RAW_DRIVER is not set
867
868#
869# TPM devices
870#
871# CONFIG_TCG_TPM is not set
872
873#
874# I2C support
875#
876# CONFIG_I2C is not set
877
878#
879# Dallas's 1-wire bus
880#
881# CONFIG_W1 is not set
882
883#
884# Hardware Monitoring support
885#
886CONFIG_HWMON=y
887# CONFIG_HWMON_VID is not set
888# CONFIG_HWMON_DEBUG_CHIP is not set
889
890#
891# Misc devices
892#
893
894#
895# Multimedia Capabilities Port drivers
896#
897
898#
899# Multimedia devices
900#
901CONFIG_VIDEO_DEV=m
902
903#
904# Video For Linux
905#
906
907#
908# Video Adapters
909#
910# CONFIG_VIDEO_PMS is not set
911# CONFIG_VIDEO_CPIA is not set
912# CONFIG_VIDEO_STRADIS is not set
913# CONFIG_VIDEO_MXB is not set
914# CONFIG_VIDEO_DPC is not set
915# CONFIG_VIDEO_HEXIUM_ORION is not set
916# CONFIG_VIDEO_HEXIUM_GEMINI is not set
917
918#
919# Radio Adapters
920#
921# CONFIG_RADIO_CADET is not set
922# CONFIG_RADIO_RTRACK is not set
923# CONFIG_RADIO_RTRACK2 is not set
924# CONFIG_RADIO_AZTECH is not set
925# CONFIG_RADIO_GEMTEK is not set
926# CONFIG_RADIO_GEMTEK_PCI is not set
927# CONFIG_RADIO_MAXIRADIO is not set
928# CONFIG_RADIO_MAESTRO is not set
929# CONFIG_RADIO_SF16FMI is not set
930# CONFIG_RADIO_SF16FMR2 is not set
931# CONFIG_RADIO_TERRATEC is not set
932# CONFIG_RADIO_TRUST is not set
933# CONFIG_RADIO_TYPHOON is not set
934# CONFIG_RADIO_ZOLTRIX is not set
935
936#
937# Digital Video Broadcasting Devices
938#
939# CONFIG_DVB is not set
940
941#
942# Graphics support
943#
944# CONFIG_FB is not set
945
946#
947# Console display driver support
948#
949# CONFIG_MDA_CONSOLE is not set
950CONFIG_DUMMY_CONSOLE=y
951CONFIG_FONT_8x16=y
952
953#
954# Sound
955#
956CONFIG_SOUND=m
957
958#
959# Advanced Linux Sound Architecture
960#
961# CONFIG_SND is not set
962
963#
964# Open Sound System
965#
966CONFIG_SOUND_PRIME=m
967# CONFIG_SOUND_BT878 is not set
968# CONFIG_SOUND_CMPCI is not set
969# CONFIG_SOUND_EMU10K1 is not set
970# CONFIG_SOUND_FUSION is not set
971# CONFIG_SOUND_CS4281 is not set
972# CONFIG_SOUND_ES1370 is not set
973# CONFIG_SOUND_ES1371 is not set
974# CONFIG_SOUND_ESSSOLO1 is not set
975# CONFIG_SOUND_MAESTRO is not set
976# CONFIG_SOUND_MAESTRO3 is not set
977# CONFIG_SOUND_ICH is not set
978# CONFIG_SOUND_SONICVIBES is not set
979# CONFIG_SOUND_TRIDENT is not set
980# CONFIG_SOUND_MSNDCLAS is not set
981# CONFIG_SOUND_MSNDPIN is not set
982# CONFIG_SOUND_VIA82CXXX is not set
983# CONFIG_SOUND_ALI5455 is not set
984# CONFIG_SOUND_FORTE is not set
985# CONFIG_SOUND_RME96XX is not set
986# CONFIG_SOUND_AD1980 is not set
987
988#
989# USB support
990#
991CONFIG_USB_ARCH_HAS_HCD=y
992CONFIG_USB_ARCH_HAS_OHCI=y
993CONFIG_USB=y
994# CONFIG_USB_DEBUG is not set
995
996#
997# Miscellaneous USB options
998#
999CONFIG_USB_DEVICEFS=y
1000# CONFIG_USB_BANDWIDTH is not set
1001# CONFIG_USB_DYNAMIC_MINORS is not set
1002# CONFIG_USB_OTG is not set
1003
1004#
1005# USB Host Controller Drivers
1006#
1007CONFIG_USB_EHCI_HCD=y
1008# CONFIG_USB_EHCI_SPLIT_ISO is not set
1009# CONFIG_USB_EHCI_ROOT_HUB_TT is not set
1010# CONFIG_USB_ISP116X_HCD is not set
1011CONFIG_USB_OHCI_HCD=y
1012# CONFIG_USB_OHCI_BIG_ENDIAN is not set
1013CONFIG_USB_OHCI_LITTLE_ENDIAN=y
1014# CONFIG_USB_UHCI_HCD is not set
1015# CONFIG_USB_SL811_HCD is not set
1016
1017#
1018# USB Device Class drivers
1019#
1020CONFIG_OBSOLETE_OSS_USB_DRIVER=y
1021CONFIG_USB_AUDIO=m
1022# CONFIG_USB_BLUETOOTH_TTY is not set
1023CONFIG_USB_MIDI=m
1024# CONFIG_USB_ACM is not set
1025CONFIG_USB_PRINTER=m
1026
1027#
1028# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
1029#
1030CONFIG_USB_STORAGE=m
1031# CONFIG_USB_STORAGE_DEBUG is not set
1032CONFIG_USB_STORAGE_DATAFAB=y
1033CONFIG_USB_STORAGE_FREECOM=y
1034CONFIG_USB_STORAGE_ISD200=y
1035CONFIG_USB_STORAGE_DPCM=y
1036# CONFIG_USB_STORAGE_USBAT is not set
1037CONFIG_USB_STORAGE_SDDR09=y
1038CONFIG_USB_STORAGE_SDDR55=y
1039CONFIG_USB_STORAGE_JUMPSHOT=y
1040
1041#
1042# USB Input Devices
1043#
1044CONFIG_USB_HID=m
1045CONFIG_USB_HIDINPUT=y
1046# CONFIG_HID_FF is not set
1047# CONFIG_USB_HIDDEV is not set
1048
1049#
1050# USB HID Boot Protocol drivers
1051#
1052# CONFIG_USB_KBD is not set
1053# CONFIG_USB_MOUSE is not set
1054# CONFIG_USB_AIPTEK is not set
1055# CONFIG_USB_WACOM is not set
1056# CONFIG_USB_ACECAD is not set
1057# CONFIG_USB_KBTAB is not set
1058# CONFIG_USB_POWERMATE is not set
1059# CONFIG_USB_MTOUCH is not set
1060# CONFIG_USB_ITMTOUCH is not set
1061# CONFIG_USB_EGALAX is not set
1062# CONFIG_USB_YEALINK is not set
1063# CONFIG_USB_XPAD is not set
1064# CONFIG_USB_ATI_REMOTE is not set
1065# CONFIG_USB_KEYSPAN_REMOTE is not set
1066# CONFIG_USB_APPLETOUCH is not set
1067
1068#
1069# USB Imaging devices
1070#
1071# CONFIG_USB_MDC800 is not set
1072# CONFIG_USB_MICROTEK is not set
1073
1074#
1075# USB Multimedia devices
1076#
1077CONFIG_USB_DABUSB=m
1078CONFIG_USB_VICAM=m
1079CONFIG_USB_DSBR=m
1080CONFIG_USB_IBMCAM=m
1081CONFIG_USB_KONICAWC=m
1082CONFIG_USB_OV511=m
1083CONFIG_USB_SE401=m
1084CONFIG_USB_SN9C102=m
1085CONFIG_USB_STV680=m
1086CONFIG_USB_PWC=m
1087
1088#
1089# USB Network Adapters
1090#
1091# CONFIG_USB_CATC is not set
1092# CONFIG_USB_KAWETH is not set
1093CONFIG_USB_PEGASUS=m
1094CONFIG_USB_RTL8150=m
1095# CONFIG_USB_USBNET is not set
1096CONFIG_USB_MON=y
1097
1098#
1099# USB port drivers
1100#
1101
1102#
1103# USB Serial Converter support
1104#
1105CONFIG_USB_SERIAL=m
1106# CONFIG_USB_SERIAL_GENERIC is not set
1107# CONFIG_USB_SERIAL_AIRPRIME is not set
1108# CONFIG_USB_SERIAL_BELKIN is not set
1109# CONFIG_USB_SERIAL_WHITEHEAT is not set
1110# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
1111# CONFIG_USB_SERIAL_CP2101 is not set
1112# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
1113# CONFIG_USB_SERIAL_EMPEG is not set
1114CONFIG_USB_SERIAL_FTDI_SIO=m
1115# CONFIG_USB_SERIAL_VISOR is not set
1116# CONFIG_USB_SERIAL_IPAQ is not set
1117# CONFIG_USB_SERIAL_IR is not set
1118# CONFIG_USB_SERIAL_EDGEPORT is not set
1119# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
1120# CONFIG_USB_SERIAL_GARMIN is not set
1121# CONFIG_USB_SERIAL_IPW is not set
1122# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
1123# CONFIG_USB_SERIAL_KEYSPAN is not set
1124# CONFIG_USB_SERIAL_KLSI is not set
1125# CONFIG_USB_SERIAL_KOBIL_SCT is not set
1126# CONFIG_USB_SERIAL_MCT_U232 is not set
1127CONFIG_USB_SERIAL_PL2303=m
1128# CONFIG_USB_SERIAL_HP4X is not set
1129# CONFIG_USB_SERIAL_SAFE is not set
1130# CONFIG_USB_SERIAL_TI is not set
1131# CONFIG_USB_SERIAL_CYBERJACK is not set
1132# CONFIG_USB_SERIAL_XIRCOM is not set
1133# CONFIG_USB_SERIAL_OPTION is not set
1134# CONFIG_USB_SERIAL_OMNINET is not set
1135
1136#
1137# USB Miscellaneous drivers
1138#
1139CONFIG_USB_EMI62=m
1140CONFIG_USB_EMI26=m
1141# CONFIG_USB_AUERSWALD is not set
1142# CONFIG_USB_RIO500 is not set
1143# CONFIG_USB_LEGOTOWER is not set
1144# CONFIG_USB_LCD is not set
1145# CONFIG_USB_LED is not set
1146# CONFIG_USB_CYTHERM is not set
1147# CONFIG_USB_PHIDGETKIT is not set
1148# CONFIG_USB_PHIDGETSERVO is not set
1149# CONFIG_USB_IDMOUSE is not set
1150CONFIG_USB_SISUSBVGA=m
1151CONFIG_USB_SISUSBVGA_CON=y
1152# CONFIG_USB_LD is not set
1153# CONFIG_USB_TEST is not set
1154
1155#
1156# USB DSL modem support
1157#
1158
1159#
1160# USB Gadget Support
1161#
1162# CONFIG_USB_GADGET is not set
1163
1164#
1165# MMC/SD Card support
1166#
1167# CONFIG_MMC is not set
1168
1169#
1170# InfiniBand support
1171#
1172# CONFIG_INFINIBAND is not set
1173
1174#
1175# SN Devices
1176#
1177
1178#
1179# File systems
1180#
1181CONFIG_EXT2_FS=y
1182# CONFIG_EXT2_FS_XATTR is not set
1183# CONFIG_EXT2_FS_XIP is not set
1184CONFIG_EXT3_FS=y
1185CONFIG_EXT3_FS_XATTR=y
1186# CONFIG_EXT3_FS_POSIX_ACL is not set
1187# CONFIG_EXT3_FS_SECURITY is not set
1188CONFIG_JBD=y
1189# CONFIG_JBD_DEBUG is not set
1190CONFIG_FS_MBCACHE=y
1191CONFIG_REISERFS_FS=y
1192# CONFIG_REISERFS_CHECK is not set
1193# CONFIG_REISERFS_PROC_INFO is not set
1194# CONFIG_REISERFS_FS_XATTR is not set
1195# CONFIG_JFS_FS is not set
1196# CONFIG_FS_POSIX_ACL is not set
1197# CONFIG_XFS_FS is not set
1198# CONFIG_MINIX_FS is not set
1199CONFIG_ROMFS_FS=y
1200CONFIG_INOTIFY=y
1201# CONFIG_QUOTA is not set
1202CONFIG_DNOTIFY=y
1203# CONFIG_AUTOFS_FS is not set
1204# CONFIG_AUTOFS4_FS is not set
1205# CONFIG_FUSE_FS is not set
1206
1207#
1208# CD-ROM/DVD Filesystems
1209#
1210CONFIG_ISO9660_FS=m
1211# CONFIG_JOLIET is not set
1212# CONFIG_ZISOFS is not set
1213# CONFIG_UDF_FS is not set
1214
1215#
1216# DOS/FAT/NT Filesystems
1217#
1218CONFIG_FAT_FS=y
1219CONFIG_MSDOS_FS=y
1220CONFIG_VFAT_FS=y
1221CONFIG_FAT_DEFAULT_CODEPAGE=437
1222CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
1223CONFIG_NTFS_FS=m
1224# CONFIG_NTFS_DEBUG is not set
1225CONFIG_NTFS_RW=y
1226
1227#
1228# Pseudo filesystems
1229#
1230CONFIG_PROC_FS=y
1231# CONFIG_PROC_KCORE is not set
1232CONFIG_SYSFS=y
1233CONFIG_TMPFS=y
1234# CONFIG_HUGETLBFS is not set
1235# CONFIG_HUGETLB_PAGE is not set
1236CONFIG_RAMFS=y
1237# CONFIG_RELAYFS_FS is not set
1238
1239#
1240# Miscellaneous filesystems
1241#
1242# CONFIG_ADFS_FS is not set
1243# CONFIG_AFFS_FS is not set
1244# CONFIG_HFS_FS is not set
1245# CONFIG_HFSPLUS_FS is not set
1246# CONFIG_BEFS_FS is not set
1247# CONFIG_BFS_FS is not set
1248# CONFIG_EFS_FS is not set
1249# CONFIG_CRAMFS is not set
1250# CONFIG_VXFS_FS is not set
1251# CONFIG_HPFS_FS is not set
1252# CONFIG_QNX4FS_FS is not set
1253# CONFIG_SYSV_FS is not set
1254CONFIG_UFS_FS=m
1255CONFIG_UFS_FS_WRITE=y
1256
1257#
1258# Network File Systems
1259#
1260CONFIG_NFS_FS=m
1261CONFIG_NFS_V3=y
1262# CONFIG_NFS_V3_ACL is not set
1263# CONFIG_NFS_V4 is not set
1264# CONFIG_NFS_DIRECTIO is not set
1265CONFIG_NFSD=m
1266CONFIG_NFSD_V3=y
1267# CONFIG_NFSD_V3_ACL is not set
1268# CONFIG_NFSD_V4 is not set
1269CONFIG_NFSD_TCP=y
1270CONFIG_LOCKD=m
1271CONFIG_LOCKD_V4=y
1272CONFIG_EXPORTFS=m
1273CONFIG_NFS_COMMON=y
1274CONFIG_SUNRPC=m
1275# CONFIG_RPCSEC_GSS_KRB5 is not set
1276# CONFIG_RPCSEC_GSS_SPKM3 is not set
1277CONFIG_SMB_FS=m
1278# CONFIG_SMB_NLS_DEFAULT is not set
1279# CONFIG_CIFS is not set
1280# CONFIG_NCP_FS is not set
1281# CONFIG_CODA_FS is not set
1282# CONFIG_AFS_FS is not set
1283# CONFIG_9P_FS is not set
1284
1285#
1286# Partition Types
1287#
1288# CONFIG_PARTITION_ADVANCED is not set
1289CONFIG_MSDOS_PARTITION=y
1290
1291#
1292# Native Language Support
1293#
1294CONFIG_NLS=y
1295CONFIG_NLS_DEFAULT="iso8859-1"
1296CONFIG_NLS_CODEPAGE_437=y
1297# CONFIG_NLS_CODEPAGE_737 is not set
1298# CONFIG_NLS_CODEPAGE_775 is not set
1299# CONFIG_NLS_CODEPAGE_850 is not set
1300# CONFIG_NLS_CODEPAGE_852 is not set
1301# CONFIG_NLS_CODEPAGE_855 is not set
1302# CONFIG_NLS_CODEPAGE_857 is not set
1303# CONFIG_NLS_CODEPAGE_860 is not set
1304# CONFIG_NLS_CODEPAGE_861 is not set
1305# CONFIG_NLS_CODEPAGE_862 is not set
1306# CONFIG_NLS_CODEPAGE_863 is not set
1307# CONFIG_NLS_CODEPAGE_864 is not set
1308# CONFIG_NLS_CODEPAGE_865 is not set
1309# CONFIG_NLS_CODEPAGE_866 is not set
1310# CONFIG_NLS_CODEPAGE_869 is not set
1311# CONFIG_NLS_CODEPAGE_936 is not set
1312# CONFIG_NLS_CODEPAGE_950 is not set
1313CONFIG_NLS_CODEPAGE_932=y
1314# CONFIG_NLS_CODEPAGE_949 is not set
1315# CONFIG_NLS_CODEPAGE_874 is not set
1316# CONFIG_NLS_ISO8859_8 is not set
1317# CONFIG_NLS_CODEPAGE_1250 is not set
1318# CONFIG_NLS_CODEPAGE_1251 is not set
1319# CONFIG_NLS_ASCII is not set
1320# CONFIG_NLS_ISO8859_1 is not set
1321# CONFIG_NLS_ISO8859_2 is not set
1322# CONFIG_NLS_ISO8859_3 is not set
1323# CONFIG_NLS_ISO8859_4 is not set
1324# CONFIG_NLS_ISO8859_5 is not set
1325# CONFIG_NLS_ISO8859_6 is not set
1326# CONFIG_NLS_ISO8859_7 is not set
1327# CONFIG_NLS_ISO8859_9 is not set
1328# CONFIG_NLS_ISO8859_13 is not set
1329# CONFIG_NLS_ISO8859_14 is not set
1330# CONFIG_NLS_ISO8859_15 is not set
1331# CONFIG_NLS_KOI8_R is not set
1332# CONFIG_NLS_KOI8_U is not set
1333# CONFIG_NLS_UTF8 is not set
1334
1335#
1336# Profiling support
1337#
1338# CONFIG_PROFILING is not set
1339
1340#
1341# Kernel hacking
1342#
1343# CONFIG_PRINTK_TIME is not set
1344# CONFIG_DEBUG_KERNEL is not set
1345CONFIG_LOG_BUF_SHIFT=14
1346# CONFIG_FRAME_POINTER is not set
1347CONFIG_SH_STANDARD_BIOS=y
1348# CONFIG_EARLY_SCIF_CONSOLE is not set
1349# CONFIG_EARLY_PRINTK is not set
1350# CONFIG_KGDB is not set
1351
1352#
1353# Security options
1354#
1355# CONFIG_KEYS is not set
1356# CONFIG_SECURITY is not set
1357
1358#
1359# Cryptographic options
1360#
1361# CONFIG_CRYPTO is not set
1362
1363#
1364# Hardware crypto devices
1365#
1366
1367#
1368# Library routines
1369#
1370# CONFIG_CRC_CCITT is not set
1371# CONFIG_CRC16 is not set
1372CONFIG_CRC32=y
1373# CONFIG_LIBCRC32C is not set
diff --git a/arch/sh/tools/mach-types b/arch/sh/tools/mach-types
index 182fe9092577..c503ca072e11 100644
--- a/arch/sh/tools/mach-types
+++ b/arch/sh/tools/mach-types
@@ -25,4 +25,4 @@ RTS7751R2D SH_RTS7751R2D
25EDOSK7705 SH_EDOSK7705 25EDOSK7705 SH_EDOSK7705
26SH4202_MICRODEV SH_SH4202_MICRODEV 26SH4202_MICRODEV SH_SH4202_MICRODEV
27SH03 SH_SH03 27SH03 SH_SH03
28 28LANDISK SH_LANDISK
diff --git a/include/asm-sh/landisk/gio.h b/include/asm-sh/landisk/gio.h
new file mode 100644
index 000000000000..3fce4c451a46
--- /dev/null
+++ b/include/asm-sh/landisk/gio.h
@@ -0,0 +1,45 @@
1#ifndef __ASM_SH_LANDISK_GIO_H
2#define __ASM_SH_LANDISK_GIO_H
3
4#include <linux/ioctl.h>
5
6/* version */
7#define VERSION_STR "1.00"
8
9/* Driver name */
10#define GIO_DRIVER_NAME "/dev/giodrv"
11
12/* Use 'k' as magic number */
13#define GIODRV_IOC_MAGIC 'k'
14
15#define GIODRV_IOCRESET _IO(GIODRV_IOC_MAGIC, 0)
16/*
17 * S means "Set" through a ptr,
18 * T means "Tell" directly
19 * G means "Get" (to a pointed var)
20 * Q means "Query", response is on the return value
21 * X means "eXchange": G and S atomically
22 * H means "sHift": T and Q atomically
23 */
24#define GIODRV_IOCSGIODATA1 _IOW(GIODRV_IOC_MAGIC, 1, unsigned char *)
25#define GIODRV_IOCGGIODATA1 _IOR(GIODRV_IOC_MAGIC, 2, unsigned char *)
26#define GIODRV_IOCSGIODATA2 _IOW(GIODRV_IOC_MAGIC, 3, unsigned short *)
27#define GIODRV_IOCGGIODATA2 _IOR(GIODRV_IOC_MAGIC, 4, unsigned short *)
28#define GIODRV_IOCSGIODATA4 _IOW(GIODRV_IOC_MAGIC, 5, unsigned long *)
29#define GIODRV_IOCGGIODATA4 _IOR(GIODRV_IOC_MAGIC, 6, unsigned long *)
30#define GIODRV_IOCSGIOSETADDR _IOW(GIODRV_IOC_MAGIC, 7, unsigned long *)
31#define GIODRV_IOCHARDRESET _IO(GIODRV_IOC_MAGIC, 8) /* debugging tool */
32
33#define GIODRV_IOCSGIO_LED _IOW(GIODRV_IOC_MAGIC, 9, unsigned long *)
34#define GIODRV_IOCGGIO_LED _IOR(GIODRV_IOC_MAGIC, 10, unsigned long *)
35#define GIODRV_IOCSGIO_BUZZER _IOW(GIODRV_IOC_MAGIC, 11, unsigned long *)
36#define GIODRV_IOCGGIO_LANDISK _IOR(GIODRV_IOC_MAGIC, 14, unsigned long *)
37#define GIODRV_IOCGGIO_BTN _IOR(GIODRV_IOC_MAGIC, 22, unsigned long *)
38#define GIODRV_IOCSGIO_BTNPID _IOW(GIODRV_IOC_MAGIC, 23, unsigned long *)
39#define GIODRV_IOCGGIO_BTNPID _IOR(GIODRV_IOC_MAGIC, 24, unsigned long *)
40
41#define GIODRV_IOC_MAXNR 8
42#define GIO_READ 0x00000000
43#define GIO_WRITE 0x00000001
44
45#endif /* __ASM_SH_LANDISK_GIO_H */
diff --git a/include/asm-sh/landisk/ide.h b/include/asm-sh/landisk/ide.h
new file mode 100644
index 000000000000..6490e28415ed
--- /dev/null
+++ b/include/asm-sh/landisk/ide.h
@@ -0,0 +1,14 @@
1/*
2 * modifed by kogiidena
3 * 2005.03.03
4 */
5
6#ifndef __ASM_SH_LANDISK_IDE_H
7#define __ASM_SH_LANDISK_IDE_H
8
9/* Nothing to see here.. */
10#include <asm/landisk/iodata_landisk.h>
11#define IRQ_CFCARD IRQ_FATA /* CF Card IRQ */
12#define IRQ_PCMCIA IRQ_ATA /* PCMCIA IRQ */
13
14#endif /* __ASM_SH_LANDISK_IDE_H */
diff --git a/include/asm-sh/landisk/iodata_landisk.h b/include/asm-sh/landisk/iodata_landisk.h
new file mode 100644
index 000000000000..7189d3a36384
--- /dev/null
+++ b/include/asm-sh/landisk/iodata_landisk.h
@@ -0,0 +1,78 @@
1#ifndef __ASM_SH_IODATA_LANDISK_H
2#define __ASM_SH_IODATA_LANDISK_H
3
4/*
5 * linux/include/asm-sh/landisk/iodata_landisk.h
6 *
7 * Copyright (C) 2000 Atom Create Engineering Co., Ltd.
8 *
9 * IO-DATA LANDISK support
10 */
11
12/* Box specific addresses. */
13
14#define PA_USB 0xa4000000 /* USB Controller M66590 */
15
16#define PA_ATARST 0xb0000000 /* ATA/FATA Access Control Register */
17#define PA_LED 0xb0000001 /* LED Control Register */
18#define PA_STATUS 0xb0000002 /* Switch Status Register */
19#define PA_SHUTDOWN 0xb0000003 /* Shutdown Control Register */
20#define PA_PCIPME 0xb0000004 /* PCI PME Status Register */
21#define PA_IMASK 0xb0000005 /* Interrupt Mask Register */
22/* 2003.10.31 I-O DATA NSD NWG add. for shutdown port clear */
23#define PA_PWRINT_CLR 0xb0000006 /* Shutdown Interrupt clear Register */
24
25#define PA_AREA5_IO 0xb4000000 /* Area 5 IO Memory */
26#define PA_AREA6_IO 0xb8000000 /* Area 6 IO Memory */
27#define PA_LCD_CLRDSP 0x00 /* LCD Clear Display Offset */
28#define PA_LCD_RTNHOME 0x00 /* LCD Return Home Offset */
29#define PA_LCD_ENTMODE 0x00 /* LCD Entry Mode Offset */
30#define PA_LCD_DSPCTL 0x00 /* LCD Display ON/OFF Control Offset */
31#define PA_LCD_FUNC 0x00 /* LCD Function Set Offset */
32#define PA_LCD_CGRAM 0x00 /* LCD Set CGRAM Address Offset */
33#define PA_LCD_DDRAM 0x00 /* LCD Set DDRAM Address Offset */
34#define PA_LCD_RDFLAG 0x01 /* LCD Read Busy Flag Offset */
35#define PA_LCD_WTDATA 0x02 /* LCD Write Datat to RAM Offset */
36#define PA_LCD_RDDATA 0x03 /* LCD Read Data from RAM Offset */
37#define PA_PIDE_OFFSET 0x40 /* CF IDE Offset */
38#define PA_SIDE_OFFSET 0x40 /* HDD IDE Offset */
39
40#define IRQ_PCIINTA 5 /* PCI INTA IRQ */
41#define IRQ_PCIINTB 6 /* PCI INTB IRQ */
42#define IRQ_PCIINDC 7 /* PCI INTC IRQ */
43#define IRQ_PCIINTD 8 /* PCI INTD IRQ */
44#define IRQ_ATA 9 /* ATA IRQ */
45#define IRQ_FATA 10 /* FATA IRQ */
46#define IRQ_POWER 11 /* Power Switch IRQ */
47#define IRQ_BUTTON 12 /* USL-5P Button IRQ */
48#define IRQ_FAULT 13 /* USL-5P Fault IRQ */
49
50#define SHUTDOWN_BTN_MAJOR 99 /* Shutdown button device major no. */
51
52#define SHUTDOWN_LOOP_CNT 5 /* Shutdown button Detection loop */
53#define SHUTDOWN_DELAY 200 /* Shutdown button delay value(ms) */
54
55
56/* added by kogiidena */
57/*
58 * landisk_ledparam
59 *
60 * led ------10 -6543210 -6543210 -6543210
61 * |000000..|0.......|0.......|U.......|
62 * | HARD |fastblik| blink | on |
63 *
64 * led0: power U:update flag
65 * led1: error
66 * led2: usb1
67 * led3: usb2
68 * led4: usb3
69 * led5: usb4
70 * led6: usb5
71 *
72 */
73extern int landisk_ledparam; /* from setup.c */
74extern int landisk_buzzerparam; /* from setup.c */
75extern int landisk_arch; /* from setup.c */
76
77#endif /* __ASM_SH_IODATA_LANDISK_H */
78