diff options
author | Paul Mundt <lethal@linux-sh.org> | 2007-02-15 04:20:52 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-02-15 04:20:52 -0500 |
commit | 9c57548f17806ffd8e4dc4f7973ce78bbfbc2079 (patch) | |
tree | b42b80e40e1f84fcea23ceb76fa697022df6ed9b /arch | |
parent | e65fa9f59e9230b72ac298d445b4a18a4eefeb34 (diff) |
sh: rts7751r2d board updates.
This tidies up some of the rts7751r2d mess and gets it booting
again. Update the defconfig, too.
Signed-off-by: Masayuki Hosokawa <hosokawa@ace-jp.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/Makefile | 2 | ||||
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/io.c | 302 | ||||
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/irq.c | 80 | ||||
-rw-r--r-- | arch/sh/boards/renesas/rts7751r2d/setup.c | 123 | ||||
-rw-r--r-- | arch/sh/cchips/voyagergx/irq.c | 70 | ||||
-rw-r--r-- | arch/sh/cchips/voyagergx/setup.c | 4 | ||||
-rw-r--r-- | arch/sh/configs/rts7751r2d_defconfig | 308 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4/setup-sh7750.c | 2 | ||||
-rw-r--r-- | arch/sh/kernel/io_generic.c | 12 |
9 files changed, 386 insertions, 517 deletions
diff --git a/arch/sh/boards/renesas/rts7751r2d/Makefile b/arch/sh/boards/renesas/rts7751r2d/Makefile index 833de1eac0e8..0d4c75a72be0 100644 --- a/arch/sh/boards/renesas/rts7751r2d/Makefile +++ b/arch/sh/boards/renesas/rts7751r2d/Makefile | |||
@@ -2,4 +2,4 @@ | |||
2 | # Makefile for the RTS7751R2D specific parts of the kernel | 2 | # Makefile for the RTS7751R2D specific parts of the kernel |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y := setup.o io.o irq.o | 5 | obj-y := setup.o irq.o |
diff --git a/arch/sh/boards/renesas/rts7751r2d/io.c b/arch/sh/boards/renesas/rts7751r2d/io.c deleted file mode 100644 index f2507a804979..000000000000 --- a/arch/sh/boards/renesas/rts7751r2d/io.c +++ /dev/null | |||
@@ -1,302 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2001 Ian da Silva, Jeremy Siegel | ||
3 | * Based largely on io_se.c. | ||
4 | * | ||
5 | * I/O routine for Renesas Technology sales RTS7751R2D. | ||
6 | * | ||
7 | * Initial version only to support LAN access; some | ||
8 | * placeholder code from io_rts7751r2d.c left in with the | ||
9 | * expectation of later SuperIO and PCMCIA access. | ||
10 | */ | ||
11 | #include <linux/kernel.h> | ||
12 | #include <linux/types.h> | ||
13 | #include <linux/pci.h> | ||
14 | #include <linux/io.h> | ||
15 | #include <asm/rts7751r2d.h> | ||
16 | #include <asm/addrspace.h> | ||
17 | |||
18 | /* | ||
19 | * The 7751R RTS7751R2D uses the built-in PCI controller (PCIC) | ||
20 | * of the 7751R processor, and has a SuperIO accessible via the PCI. | ||
21 | * The board also includes a PCMCIA controller on its memory bus, | ||
22 | * like the other Solution Engine boards. | ||
23 | */ | ||
24 | |||
25 | static inline unsigned long port2adr(unsigned int port) | ||
26 | { | ||
27 | if ((0x1f0 <= port && port < 0x1f8) || port == 0x3f6) | ||
28 | if (port == 0x3f6) | ||
29 | return (PA_AREA5_IO + 0x80c); | ||
30 | else | ||
31 | return (PA_AREA5_IO + 0x1000 + ((port-0x1f0) << 1)); | ||
32 | else | ||
33 | maybebadio((unsigned long)port); | ||
34 | |||
35 | return port; | ||
36 | } | ||
37 | |||
38 | static inline unsigned long port88796l(unsigned int port, int flag) | ||
39 | { | ||
40 | unsigned long addr; | ||
41 | |||
42 | if (flag) | ||
43 | addr = PA_AX88796L + ((port - AX88796L_IO_BASE) << 1); | ||
44 | else | ||
45 | addr = PA_AX88796L + ((port - AX88796L_IO_BASE) << 1) + 0x1000; | ||
46 | |||
47 | return addr; | ||
48 | } | ||
49 | |||
50 | /* The 7751R RTS7751R2D seems to have everything hooked */ | ||
51 | /* up pretty normally (nothing on high-bytes only...) so this */ | ||
52 | /* shouldn't be needed */ | ||
53 | static inline int shifted_port(unsigned long port) | ||
54 | { | ||
55 | /* For IDE registers, value is not shifted */ | ||
56 | if ((0x1f0 <= port && port < 0x1f8) || port == 0x3f6) | ||
57 | return 0; | ||
58 | else | ||
59 | return 1; | ||
60 | } | ||
61 | |||
62 | #if defined(CONFIG_NE2000) || defined(CONFIG_NE2000_MODULE) | ||
63 | #define CHECK_AX88796L_PORT(port) \ | ||
64 | ((port >= AX88796L_IO_BASE) && (port < (AX88796L_IO_BASE+0x20))) | ||
65 | #else | ||
66 | #define CHECK_AX88796L_PORT(port) (0) | ||
67 | #endif | ||
68 | |||
69 | /* | ||
70 | * General outline: remap really low stuff [eventually] to SuperIO, | ||
71 | * stuff in PCI IO space (at or above window at pci.h:PCIBIOS_MIN_IO) | ||
72 | * is mapped through the PCI IO window. Stuff with high bits (PXSEG) | ||
73 | * should be way beyond the window, and is used w/o translation for | ||
74 | * compatibility. | ||
75 | */ | ||
76 | unsigned char rts7751r2d_inb(unsigned long port) | ||
77 | { | ||
78 | if (CHECK_AX88796L_PORT(port)) | ||
79 | return (*(volatile unsigned short *)port88796l(port, 0)) & 0xff; | ||
80 | else if (PXSEG(port)) | ||
81 | return *(volatile unsigned char *)port; | ||
82 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
83 | return *(volatile unsigned char *)pci_ioaddr(port); | ||
84 | else | ||
85 | return (*(volatile unsigned short *)port2adr(port) & 0xff); | ||
86 | } | ||
87 | |||
88 | unsigned char rts7751r2d_inb_p(unsigned long port) | ||
89 | { | ||
90 | unsigned char v; | ||
91 | |||
92 | if (CHECK_AX88796L_PORT(port)) | ||
93 | v = (*(volatile unsigned short *)port88796l(port, 0)) & 0xff; | ||
94 | else if (PXSEG(port)) | ||
95 | v = *(volatile unsigned char *)port; | ||
96 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
97 | v = *(volatile unsigned char *)pci_ioaddr(port); | ||
98 | else | ||
99 | v = (*(volatile unsigned short *)port2adr(port) & 0xff); | ||
100 | |||
101 | ctrl_delay(); | ||
102 | |||
103 | return v; | ||
104 | } | ||
105 | |||
106 | unsigned short rts7751r2d_inw(unsigned long port) | ||
107 | { | ||
108 | if (CHECK_AX88796L_PORT(port)) | ||
109 | maybebadio(port); | ||
110 | else if (PXSEG(port)) | ||
111 | return *(volatile unsigned short *)port; | ||
112 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
113 | return *(volatile unsigned short *)pci_ioaddr(port); | ||
114 | else | ||
115 | maybebadio(port); | ||
116 | |||
117 | return 0; | ||
118 | } | ||
119 | |||
120 | unsigned int rts7751r2d_inl(unsigned long port) | ||
121 | { | ||
122 | if (CHECK_AX88796L_PORT(port)) | ||
123 | maybebadio(port); | ||
124 | else if (PXSEG(port)) | ||
125 | return *(volatile unsigned long *)port; | ||
126 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
127 | return *(volatile unsigned long *)pci_ioaddr(port); | ||
128 | else | ||
129 | maybebadio(port); | ||
130 | |||
131 | return 0; | ||
132 | } | ||
133 | |||
134 | void rts7751r2d_outb(unsigned char value, unsigned long port) | ||
135 | { | ||
136 | if (CHECK_AX88796L_PORT(port)) | ||
137 | *((volatile unsigned short *)port88796l(port, 0)) = value; | ||
138 | else if (PXSEG(port)) | ||
139 | *(volatile unsigned char *)port = value; | ||
140 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
141 | *(volatile unsigned char *)pci_ioaddr(port) = value; | ||
142 | else | ||
143 | *(volatile unsigned short *)port2adr(port) = value; | ||
144 | } | ||
145 | |||
146 | void rts7751r2d_outb_p(unsigned char value, unsigned long port) | ||
147 | { | ||
148 | if (CHECK_AX88796L_PORT(port)) | ||
149 | *((volatile unsigned short *)port88796l(port, 0)) = value; | ||
150 | else if (PXSEG(port)) | ||
151 | *(volatile unsigned char *)port = value; | ||
152 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
153 | *(volatile unsigned char *)pci_ioaddr(port) = value; | ||
154 | else | ||
155 | *(volatile unsigned short *)port2adr(port) = value; | ||
156 | |||
157 | ctrl_delay(); | ||
158 | } | ||
159 | |||
160 | void rts7751r2d_outw(unsigned short value, unsigned long port) | ||
161 | { | ||
162 | if (CHECK_AX88796L_PORT(port)) | ||
163 | maybebadio(port); | ||
164 | else if (PXSEG(port)) | ||
165 | *(volatile unsigned short *)port = value; | ||
166 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
167 | *(volatile unsigned short *)pci_ioaddr(port) = value; | ||
168 | else | ||
169 | maybebadio(port); | ||
170 | } | ||
171 | |||
172 | void rts7751r2d_outl(unsigned int value, unsigned long port) | ||
173 | { | ||
174 | if (CHECK_AX88796L_PORT(port)) | ||
175 | maybebadio(port); | ||
176 | else if (PXSEG(port)) | ||
177 | *(volatile unsigned long *)port = value; | ||
178 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
179 | *(volatile unsigned long *)pci_ioaddr(port) = value; | ||
180 | else | ||
181 | maybebadio(port); | ||
182 | } | ||
183 | |||
184 | void rts7751r2d_insb(unsigned long port, void *addr, unsigned long count) | ||
185 | { | ||
186 | unsigned long a = (unsigned long)addr; | ||
187 | volatile __u8 *bp; | ||
188 | volatile __u16 *p; | ||
189 | |||
190 | if (CHECK_AX88796L_PORT(port)) { | ||
191 | p = (volatile unsigned short *)port88796l(port, 0); | ||
192 | while (count--) | ||
193 | ctrl_outb(*p & 0xff, a++); | ||
194 | } else if (PXSEG(port)) | ||
195 | while (count--) | ||
196 | ctrl_outb(ctrl_inb(port), a++); | ||
197 | else if (is_pci_ioaddr(port) || shifted_port(port)) { | ||
198 | bp = (__u8 *)pci_ioaddr(port); | ||
199 | while (count--) | ||
200 | ctrl_outb(*bp, a++); | ||
201 | } else { | ||
202 | p = (volatile unsigned short *)port2adr(port); | ||
203 | while (count--) | ||
204 | ctrl_outb(*p & 0xff, a++); | ||
205 | } | ||
206 | } | ||
207 | |||
208 | void rts7751r2d_insw(unsigned long port, void *addr, unsigned long count) | ||
209 | { | ||
210 | unsigned long a = (unsigned long)addr; | ||
211 | volatile __u16 *p; | ||
212 | |||
213 | if (CHECK_AX88796L_PORT(port)) | ||
214 | p = (volatile unsigned short *)port88796l(port, 1); | ||
215 | else if (PXSEG(port)) | ||
216 | p = (volatile unsigned short *)port; | ||
217 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
218 | p = (volatile unsigned short *)pci_ioaddr(port); | ||
219 | else | ||
220 | p = (volatile unsigned short *)port2adr(port); | ||
221 | while (count--) | ||
222 | ctrl_outw(*p, a++); | ||
223 | } | ||
224 | |||
225 | void rts7751r2d_insl(unsigned long port, void *addr, unsigned long count) | ||
226 | { | ||
227 | if (CHECK_AX88796L_PORT(port)) | ||
228 | maybebadio(port); | ||
229 | else if (is_pci_ioaddr(port) || shifted_port(port)) { | ||
230 | unsigned long a = (unsigned long)addr; | ||
231 | |||
232 | while (count--) { | ||
233 | ctrl_outl(ctrl_inl(pci_ioaddr(port)), a); | ||
234 | a += 4; | ||
235 | } | ||
236 | } else | ||
237 | maybebadio(port); | ||
238 | } | ||
239 | |||
240 | void rts7751r2d_outsb(unsigned long port, const void *addr, unsigned long count) | ||
241 | { | ||
242 | unsigned long a = (unsigned long)addr; | ||
243 | volatile __u8 *bp; | ||
244 | volatile __u16 *p; | ||
245 | |||
246 | if (CHECK_AX88796L_PORT(port)) { | ||
247 | p = (volatile unsigned short *)port88796l(port, 0); | ||
248 | while (count--) | ||
249 | *p = ctrl_inb(a++); | ||
250 | } else if (PXSEG(port)) | ||
251 | while (count--) | ||
252 | ctrl_outb(a++, port); | ||
253 | else if (is_pci_ioaddr(port) || shifted_port(port)) { | ||
254 | bp = (__u8 *)pci_ioaddr(port); | ||
255 | while (count--) | ||
256 | *bp = ctrl_inb(a++); | ||
257 | } else { | ||
258 | p = (volatile unsigned short *)port2adr(port); | ||
259 | while (count--) | ||
260 | *p = ctrl_inb(a++); | ||
261 | } | ||
262 | } | ||
263 | |||
264 | void rts7751r2d_outsw(unsigned long port, const void *addr, unsigned long count) | ||
265 | { | ||
266 | unsigned long a = (unsigned long)addr; | ||
267 | volatile __u16 *p; | ||
268 | |||
269 | if (CHECK_AX88796L_PORT(port)) | ||
270 | p = (volatile unsigned short *)port88796l(port, 1); | ||
271 | else if (PXSEG(port)) | ||
272 | p = (volatile unsigned short *)port; | ||
273 | else if (is_pci_ioaddr(port) || shifted_port(port)) | ||
274 | p = (volatile unsigned short *)pci_ioaddr(port); | ||
275 | else | ||
276 | p = (volatile unsigned short *)port2adr(port); | ||
277 | |||
278 | while (count--) { | ||
279 | ctrl_outw(*p, a); | ||
280 | a += 2; | ||
281 | } | ||
282 | } | ||
283 | |||
284 | void rts7751r2d_outsl(unsigned long port, const void *addr, unsigned long count) | ||
285 | { | ||
286 | if (CHECK_AX88796L_PORT(port)) | ||
287 | maybebadio(port); | ||
288 | else if (is_pci_ioaddr(port) || shifted_port(port)) { | ||
289 | unsigned long a = (unsigned long)addr; | ||
290 | |||
291 | while (count--) { | ||
292 | ctrl_outl(ctrl_inl(a), pci_ioaddr(port)); | ||
293 | a += 4; | ||
294 | } | ||
295 | } else | ||
296 | maybebadio(port); | ||
297 | } | ||
298 | |||
299 | unsigned long rts7751r2d_isa_port2addr(unsigned long offset) | ||
300 | { | ||
301 | return port2adr(offset); | ||
302 | } | ||
diff --git a/arch/sh/boards/renesas/rts7751r2d/irq.c b/arch/sh/boards/renesas/rts7751r2d/irq.c index cb0eb20d1b43..0bae9041aceb 100644 --- a/arch/sh/boards/renesas/rts7751r2d/irq.c +++ b/arch/sh/boards/renesas/rts7751r2d/irq.c | |||
@@ -9,7 +9,9 @@ | |||
9 | * Atom Create Engineering Co., Ltd. 2002. | 9 | * Atom Create Engineering Co., Ltd. 2002. |
10 | */ | 10 | */ |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/interrupt.h> | ||
12 | #include <linux/irq.h> | 13 | #include <linux/irq.h> |
14 | #include <linux/interrupt.h> | ||
13 | #include <linux/io.h> | 15 | #include <linux/io.h> |
14 | #include <asm/rts7751r2d.h> | 16 | #include <asm/rts7751r2d.h> |
15 | 17 | ||
@@ -22,79 +24,31 @@ static int mask_pos[] = {6, 11, 9, 8, 12, 10, 5, 4, 7, 14, 13, 0, 0, 0, 0}; | |||
22 | extern int voyagergx_irq_demux(int irq); | 24 | extern int voyagergx_irq_demux(int irq); |
23 | extern void setup_voyagergx_irq(void); | 25 | extern void setup_voyagergx_irq(void); |
24 | 26 | ||
25 | static void enable_rts7751r2d_irq(unsigned int irq); | 27 | static void enable_rts7751r2d_irq(unsigned int irq) |
26 | static void disable_rts7751r2d_irq(unsigned int irq); | ||
27 | |||
28 | /* shutdown is same as "disable" */ | ||
29 | #define shutdown_rts7751r2d_irq disable_rts7751r2d_irq | ||
30 | |||
31 | static void ack_rts7751r2d_irq(unsigned int irq); | ||
32 | static void end_rts7751r2d_irq(unsigned int irq); | ||
33 | |||
34 | static unsigned int startup_rts7751r2d_irq(unsigned int irq) | ||
35 | { | 28 | { |
36 | enable_rts7751r2d_irq(irq); | 29 | /* Set priority in IPR back to original value */ |
37 | return 0; /* never anything pending */ | 30 | ctrl_outw(ctrl_inw(IRLCNTR1) | (1 << mask_pos[irq]), IRLCNTR1); |
38 | } | 31 | } |
39 | 32 | ||
40 | static void disable_rts7751r2d_irq(unsigned int irq) | 33 | static void disable_rts7751r2d_irq(unsigned int irq) |
41 | { | 34 | { |
42 | unsigned short val; | ||
43 | unsigned short mask = 0xffff ^ (0x0001 << mask_pos[irq]); | ||
44 | |||
45 | /* Set the priority in IPR to 0 */ | 35 | /* Set the priority in IPR to 0 */ |
46 | val = ctrl_inw(IRLCNTR1); | 36 | ctrl_outw(ctrl_inw(IRLCNTR1) & (0xffff ^ (1 << mask_pos[irq])), |
47 | val &= mask; | 37 | IRLCNTR1); |
48 | ctrl_outw(val, IRLCNTR1); | ||
49 | } | ||
50 | |||
51 | static void enable_rts7751r2d_irq(unsigned int irq) | ||
52 | { | ||
53 | unsigned short val; | ||
54 | unsigned short value = (0x0001 << mask_pos[irq]); | ||
55 | |||
56 | /* Set priority in IPR back to original value */ | ||
57 | val = ctrl_inw(IRLCNTR1); | ||
58 | val |= value; | ||
59 | ctrl_outw(val, IRLCNTR1); | ||
60 | } | 38 | } |
61 | 39 | ||
62 | int rts7751r2d_irq_demux(int irq) | 40 | int rts7751r2d_irq_demux(int irq) |
63 | { | 41 | { |
64 | int demux_irq; | 42 | return voyagergx_irq_demux(irq); |
65 | |||
66 | demux_irq = voyagergx_irq_demux(irq); | ||
67 | return demux_irq; | ||
68 | } | ||
69 | |||
70 | static void ack_rts7751r2d_irq(unsigned int irq) | ||
71 | { | ||
72 | disable_rts7751r2d_irq(irq); | ||
73 | } | 43 | } |
74 | 44 | ||
75 | static void end_rts7751r2d_irq(unsigned int irq) | 45 | static struct irq_chip rts7751r2d_irq_chip __read_mostly = { |
76 | { | 46 | .name = "rts7751r2d", |
77 | if (!(irq_desc[irq].status & (IRQ_DISABLED|IRQ_INPROGRESS))) | 47 | .mask = disable_rts7751r2d_irq, |
78 | enable_rts7751r2d_irq(irq); | 48 | .unmask = enable_rts7751r2d_irq, |
79 | } | 49 | .mask_ack = disable_rts7751r2d_irq, |
80 | |||
81 | static struct hw_interrupt_type rts7751r2d_irq_type = { | ||
82 | .typename = "RTS7751R2D IRQ", | ||
83 | .startup = startup_rts7751r2d_irq, | ||
84 | .shutdown = shutdown_rts7751r2d_irq, | ||
85 | .enable = enable_rts7751r2d_irq, | ||
86 | .disable = disable_rts7751r2d_irq, | ||
87 | .ack = ack_rts7751r2d_irq, | ||
88 | .end = end_rts7751r2d_irq, | ||
89 | }; | 50 | }; |
90 | 51 | ||
91 | static void make_rts7751r2d_irq(unsigned int irq) | ||
92 | { | ||
93 | disable_irq_nosync(irq); | ||
94 | irq_desc[irq].chip = &rts7751r2d_irq_type; | ||
95 | disable_rts7751r2d_irq(irq); | ||
96 | } | ||
97 | |||
98 | /* | 52 | /* |
99 | * Initialize IRQ setting | 53 | * Initialize IRQ setting |
100 | */ | 54 | */ |
@@ -119,8 +73,12 @@ void __init init_rts7751r2d_IRQ(void) | |||
119 | * IRL14=Extention #3 | 73 | * IRL14=Extention #3 |
120 | */ | 74 | */ |
121 | 75 | ||
122 | for (i=0; i<15; i++) | 76 | for (i=0; i<15; i++) { |
123 | make_rts7751r2d_irq(i); | 77 | disable_irq_nosync(i); |
78 | set_irq_chip_and_handler_name(i, &rts7751r2d_irq_chip, | ||
79 | handle_level_irq, "level"); | ||
80 | enable_rts7751r2d_irq(i); | ||
81 | } | ||
124 | 82 | ||
125 | setup_voyagergx_irq(); | 83 | setup_voyagergx_irq(); |
126 | } | 84 | } |
diff --git a/arch/sh/boards/renesas/rts7751r2d/setup.c b/arch/sh/boards/renesas/rts7751r2d/setup.c index d97be1202245..44b42082a0af 100644 --- a/arch/sh/boards/renesas/rts7751r2d/setup.c +++ b/arch/sh/boards/renesas/rts7751r2d/setup.c | |||
@@ -1,8 +1,8 @@ | |||
1 | /* | 1 | /* |
2 | * Renesas Technology Sales RTS7751R2D Support. | 2 | * Renesas Technology Sales RTS7751R2D Support. |
3 | * | 3 | * |
4 | * Copyright (C) 2002 Atom Create Engineering Co., Ltd. | 4 | * Copyright (C) 2002 - 2006 Atom Create Engineering Co., Ltd. |
5 | * Copyright (C) 2004 - 2006 Paul Mundt | 5 | * Copyright (C) 2004 - 2007 Paul Mundt |
6 | * | 6 | * |
7 | * This file is subject to the terms and conditions of the GNU General Public | 7 | * This file is subject to the terms and conditions of the GNU General Public |
8 | * License. See the file "COPYING" in the main directory of this archive | 8 | * License. See the file "COPYING" in the main directory of this archive |
@@ -10,33 +10,13 @@ | |||
10 | */ | 10 | */ |
11 | #include <linux/init.h> | 11 | #include <linux/init.h> |
12 | #include <linux/platform_device.h> | 12 | #include <linux/platform_device.h> |
13 | #include <linux/pata_platform.h> | ||
13 | #include <linux/serial_8250.h> | 14 | #include <linux/serial_8250.h> |
14 | #include <linux/pm.h> | 15 | #include <linux/pm.h> |
15 | #include <asm/machvec.h> | 16 | #include <asm/machvec.h> |
16 | #include <asm/mach/rts7751r2d.h> | 17 | #include <asm/rts7751r2d.h> |
17 | #include <asm/io.h> | ||
18 | #include <asm/voyagergx.h> | 18 | #include <asm/voyagergx.h> |
19 | 19 | #include <asm/io.h> | |
20 | extern void heartbeat_rts7751r2d(void); | ||
21 | extern void init_rts7751r2d_IRQ(void); | ||
22 | extern int rts7751r2d_irq_demux(int irq); | ||
23 | |||
24 | extern void *voyagergx_consistent_alloc(struct device *, size_t, dma_addr_t *, gfp_t); | ||
25 | extern int voyagergx_consistent_free(struct device *, size_t, void *, dma_addr_t); | ||
26 | |||
27 | static struct plat_serial8250_port uart_platform_data[] = { | ||
28 | { | ||
29 | .membase = (void *)VOYAGER_UART_BASE, | ||
30 | .mapbase = VOYAGER_UART_BASE, | ||
31 | .iotype = UPIO_MEM, | ||
32 | .irq = VOYAGER_UART0_IRQ, | ||
33 | .flags = UPF_BOOT_AUTOCONF, | ||
34 | .regshift = 2, | ||
35 | .uartclk = (9600 * 16), | ||
36 | }, { | ||
37 | .flags = 0, | ||
38 | }, | ||
39 | }; | ||
40 | 20 | ||
41 | static void __init voyagergx_serial_init(void) | 21 | static void __init voyagergx_serial_init(void) |
42 | { | 22 | { |
@@ -45,25 +25,72 @@ static void __init voyagergx_serial_init(void) | |||
45 | /* | 25 | /* |
46 | * GPIO Control | 26 | * GPIO Control |
47 | */ | 27 | */ |
48 | val = inl(GPIO_MUX_HIGH); | 28 | val = readl((void __iomem *)GPIO_MUX_HIGH); |
49 | val |= 0x00001fe0; | 29 | val |= 0x00001fe0; |
50 | outl(val, GPIO_MUX_HIGH); | 30 | writel(val, (void __iomem *)GPIO_MUX_HIGH); |
51 | 31 | ||
52 | /* | 32 | /* |
53 | * Power Mode Gate | 33 | * Power Mode Gate |
54 | */ | 34 | */ |
55 | val = inl(POWER_MODE0_GATE); | 35 | val = readl((void __iomem *)POWER_MODE0_GATE); |
56 | val |= (POWER_MODE0_GATE_U0 | POWER_MODE0_GATE_U1); | 36 | val |= (POWER_MODE0_GATE_U0 | POWER_MODE0_GATE_U1); |
57 | outl(val, POWER_MODE0_GATE); | 37 | writel(val, (void __iomem *)POWER_MODE0_GATE); |
58 | 38 | ||
59 | val = inl(POWER_MODE1_GATE); | 39 | val = readl((void __iomem *)POWER_MODE1_GATE); |
60 | val |= (POWER_MODE1_GATE_U0 | POWER_MODE1_GATE_U1); | 40 | val |= (POWER_MODE1_GATE_U0 | POWER_MODE1_GATE_U1); |
61 | outl(val, POWER_MODE1_GATE); | 41 | writel(val, (void __iomem *)POWER_MODE1_GATE); |
62 | } | 42 | } |
63 | 43 | ||
44 | static struct resource cf_ide_resources[] = { | ||
45 | [0] = { | ||
46 | .start = PA_AREA5_IO + 0x1000, | ||
47 | .end = PA_AREA5_IO + 0x1000 + 0x08 - 1, | ||
48 | .flags = IORESOURCE_MEM, | ||
49 | }, | ||
50 | [1] = { | ||
51 | .start = PA_AREA5_IO + 0x80c, | ||
52 | .end = PA_AREA5_IO + 0x80c + 0x16 - 1, | ||
53 | .flags = IORESOURCE_MEM, | ||
54 | }, | ||
55 | [2] = { | ||
56 | #ifdef CONFIG_RTS7751R2D_REV11 | ||
57 | .start = 1, | ||
58 | #else | ||
59 | .start = 2, | ||
60 | #endif | ||
61 | .flags = IORESOURCE_IRQ, | ||
62 | }, | ||
63 | }; | ||
64 | |||
65 | static struct pata_platform_info pata_info = { | ||
66 | .ioport_shift = 1, | ||
67 | }; | ||
68 | |||
69 | static struct platform_device cf_ide_device = { | ||
70 | .name = "pata_platform", | ||
71 | .id = -1, | ||
72 | .num_resources = ARRAY_SIZE(cf_ide_resources), | ||
73 | .resource = cf_ide_resources, | ||
74 | .dev = { | ||
75 | .platform_data = &pata_info, | ||
76 | }, | ||
77 | }; | ||
78 | |||
79 | static struct plat_serial8250_port uart_platform_data[] = { | ||
80 | { | ||
81 | .membase = (void __iomem *)VOYAGER_UART_BASE, | ||
82 | .mapbase = VOYAGER_UART_BASE, | ||
83 | .iotype = UPIO_MEM, | ||
84 | .irq = VOYAGER_UART0_IRQ, | ||
85 | .flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST, | ||
86 | .regshift = 2, | ||
87 | .uartclk = (9600 * 16), | ||
88 | } | ||
89 | }; | ||
90 | |||
64 | static struct platform_device uart_device = { | 91 | static struct platform_device uart_device = { |
65 | .name = "serial8250", | 92 | .name = "serial8250", |
66 | .id = -1, | 93 | .id = PLAT8250_DEV_PLATFORM, |
67 | .dev = { | 94 | .dev = { |
68 | .platform_data = uart_platform_data, | 95 | .platform_data = uart_platform_data, |
69 | }, | 96 | }, |
@@ -87,6 +114,7 @@ static struct platform_device heartbeat_device = { | |||
87 | static struct platform_device *rts7751r2d_devices[] __initdata = { | 114 | static struct platform_device *rts7751r2d_devices[] __initdata = { |
88 | &uart_device, | 115 | &uart_device, |
89 | &heartbeat_device, | 116 | &heartbeat_device, |
117 | &cf_ide_device, | ||
90 | }; | 118 | }; |
91 | 119 | ||
92 | static int __init rts7751r2d_devices_setup(void) | 120 | static int __init rts7751r2d_devices_setup(void) |
@@ -94,6 +122,7 @@ static int __init rts7751r2d_devices_setup(void) | |||
94 | return platform_add_devices(rts7751r2d_devices, | 122 | return platform_add_devices(rts7751r2d_devices, |
95 | ARRAY_SIZE(rts7751r2d_devices)); | 123 | ARRAY_SIZE(rts7751r2d_devices)); |
96 | } | 124 | } |
125 | __initcall(rts7751r2d_devices_setup); | ||
97 | 126 | ||
98 | static void rts7751r2d_power_off(void) | 127 | static void rts7751r2d_power_off(void) |
99 | { | 128 | { |
@@ -105,14 +134,17 @@ static void rts7751r2d_power_off(void) | |||
105 | */ | 134 | */ |
106 | static void __init rts7751r2d_setup(char **cmdline_p) | 135 | static void __init rts7751r2d_setup(char **cmdline_p) |
107 | { | 136 | { |
108 | device_initcall(rts7751r2d_devices_setup); | 137 | u16 ver = ctrl_inw(PA_VERREG); |
138 | |||
139 | printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n"); | ||
140 | |||
141 | printk(KERN_INFO "FPGA version:%d (revision:%d)\n", | ||
142 | (ver >> 4) & 0xf, ver & 0xf); | ||
109 | 143 | ||
110 | ctrl_outw(0x0000, PA_OUTPORT); | 144 | ctrl_outw(0x0000, PA_OUTPORT); |
111 | pm_power_off = rts7751r2d_power_off; | 145 | pm_power_off = rts7751r2d_power_off; |
112 | 146 | ||
113 | voyagergx_serial_init(); | 147 | voyagergx_serial_init(); |
114 | |||
115 | printk(KERN_INFO "Renesas Technology Sales RTS7751R2D support.\n"); | ||
116 | } | 148 | } |
117 | 149 | ||
118 | /* | 150 | /* |
@@ -123,27 +155,6 @@ struct sh_machine_vector mv_rts7751r2d __initmv = { | |||
123 | .mv_setup = rts7751r2d_setup, | 155 | .mv_setup = rts7751r2d_setup, |
124 | .mv_nr_irqs = 72, | 156 | .mv_nr_irqs = 72, |
125 | 157 | ||
126 | .mv_inb = rts7751r2d_inb, | ||
127 | .mv_inw = rts7751r2d_inw, | ||
128 | .mv_inl = rts7751r2d_inl, | ||
129 | .mv_outb = rts7751r2d_outb, | ||
130 | .mv_outw = rts7751r2d_outw, | ||
131 | .mv_outl = rts7751r2d_outl, | ||
132 | |||
133 | .mv_inb_p = rts7751r2d_inb_p, | ||
134 | .mv_inw_p = rts7751r2d_inw, | ||
135 | .mv_inl_p = rts7751r2d_inl, | ||
136 | .mv_outb_p = rts7751r2d_outb_p, | ||
137 | .mv_outw_p = rts7751r2d_outw, | ||
138 | .mv_outl_p = rts7751r2d_outl, | ||
139 | |||
140 | .mv_insb = rts7751r2d_insb, | ||
141 | .mv_insw = rts7751r2d_insw, | ||
142 | .mv_insl = rts7751r2d_insl, | ||
143 | .mv_outsb = rts7751r2d_outsb, | ||
144 | .mv_outsw = rts7751r2d_outsw, | ||
145 | .mv_outsl = rts7751r2d_outsl, | ||
146 | |||
147 | .mv_init_irq = init_rts7751r2d_IRQ, | 158 | .mv_init_irq = init_rts7751r2d_IRQ, |
148 | .mv_irq_demux = rts7751r2d_irq_demux, | 159 | .mv_irq_demux = rts7751r2d_irq_demux, |
149 | 160 | ||
diff --git a/arch/sh/cchips/voyagergx/irq.c b/arch/sh/cchips/voyagergx/irq.c index f7ea700d05ae..70f12907647f 100644 --- a/arch/sh/cchips/voyagergx/irq.c +++ b/arch/sh/cchips/voyagergx/irq.c | |||
@@ -28,21 +28,21 @@ static void disable_voyagergx_irq(unsigned int irq) | |||
28 | unsigned long val; | 28 | unsigned long val; |
29 | unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); | 29 | unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); |
30 | 30 | ||
31 | pr_debug("disable_voyagergx_irq(%d): mask=%lx\n", irq, mask); | 31 | pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); |
32 | val = inl(VOYAGER_INT_MASK); | 32 | val = readl((void __iomem *)VOYAGER_INT_MASK); |
33 | val &= ~mask; | 33 | val &= ~mask; |
34 | outl(val, VOYAGER_INT_MASK); | 34 | writel(val, (void __iomem *)VOYAGER_INT_MASK); |
35 | } | 35 | } |
36 | 36 | ||
37 | static void enable_voyagergx_irq(unsigned int irq) | 37 | static void enable_voyagergx_irq(unsigned int irq) |
38 | { | 38 | { |
39 | unsigned long val; | 39 | unsigned long val; |
40 | unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); | 40 | unsigned long mask = 1 << (irq - VOYAGER_IRQ_BASE); |
41 | 41 | ||
42 | pr_debug("disable_voyagergx_irq(%d): mask=%lx\n", irq, mask); | 42 | pr_debug("disable_voyagergx_irq(%d): mask=%x\n", irq, mask); |
43 | val = inl(VOYAGER_INT_MASK); | 43 | val = readl((void __iomem *)VOYAGER_INT_MASK); |
44 | val |= mask; | 44 | val |= mask; |
45 | outl(val, VOYAGER_INT_MASK); | 45 | writel(val, (void __iomem *)VOYAGER_INT_MASK); |
46 | } | 46 | } |
47 | 47 | ||
48 | static void mask_and_ack_voyagergx(unsigned int irq) | 48 | static void mask_and_ack_voyagergx(unsigned int irq) |
@@ -68,20 +68,20 @@ static void shutdown_voyagergx_irq(unsigned int irq) | |||
68 | } | 68 | } |
69 | 69 | ||
70 | static struct hw_interrupt_type voyagergx_irq_type = { | 70 | static struct hw_interrupt_type voyagergx_irq_type = { |
71 | .typename = "VOYAGERGX-IRQ", | 71 | .typename = "VOYAGERGX-IRQ", |
72 | .startup = startup_voyagergx_irq, | 72 | .startup = startup_voyagergx_irq, |
73 | .shutdown = shutdown_voyagergx_irq, | 73 | .shutdown = shutdown_voyagergx_irq, |
74 | .enable = enable_voyagergx_irq, | 74 | .enable = enable_voyagergx_irq, |
75 | .disable = disable_voyagergx_irq, | 75 | .disable = disable_voyagergx_irq, |
76 | .ack = mask_and_ack_voyagergx, | 76 | .ack = mask_and_ack_voyagergx, |
77 | .end = end_voyagergx_irq, | 77 | .end = end_voyagergx_irq, |
78 | }; | 78 | }; |
79 | 79 | ||
80 | static irqreturn_t voyagergx_interrupt(int irq, void *dev_id) | 80 | static irqreturn_t voyagergx_interrupt(int irq, void *dev_id) |
81 | { | 81 | { |
82 | printk(KERN_INFO | 82 | printk(KERN_INFO |
83 | "VoyagerGX: spurious interrupt, status: 0x%x\n", | 83 | "VoyagerGX: spurious interrupt, status: 0x%x\n", |
84 | inl(INT_STATUS)); | 84 | (unsigned int)readl((void __iomem *)INT_STATUS)); |
85 | return IRQ_HANDLED; | 85 | return IRQ_HANDLED; |
86 | } | 86 | } |
87 | 87 | ||
@@ -93,13 +93,13 @@ static struct { | |||
93 | void voyagergx_register_irq_demux(int irq, | 93 | void voyagergx_register_irq_demux(int irq, |
94 | int (*demux)(int irq, void *dev), void *dev) | 94 | int (*demux)(int irq, void *dev), void *dev) |
95 | { | 95 | { |
96 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].func = demux; | 96 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].func = demux; |
97 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].dev = dev; | 97 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].dev = dev; |
98 | } | 98 | } |
99 | 99 | ||
100 | void voyagergx_unregister_irq_demux(int irq) | 100 | void voyagergx_unregister_irq_demux(int irq) |
101 | { | 101 | { |
102 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].func = 0; | 102 | voyagergx_demux[irq - VOYAGER_IRQ_BASE].func = 0; |
103 | } | 103 | } |
104 | 104 | ||
105 | int voyagergx_irq_demux(int irq) | 105 | int voyagergx_irq_demux(int irq) |
@@ -107,31 +107,25 @@ int voyagergx_irq_demux(int irq) | |||
107 | 107 | ||
108 | if (irq == IRQ_VOYAGER ) { | 108 | if (irq == IRQ_VOYAGER ) { |
109 | unsigned long i = 0, bit __attribute__ ((unused)); | 109 | unsigned long i = 0, bit __attribute__ ((unused)); |
110 | unsigned long val = inl(INT_STATUS); | 110 | unsigned long val = readl((void __iomem *)INT_STATUS); |
111 | #if 1 | 111 | |
112 | if ( val & ( 1 << 1 )){ | 112 | if (val & (1 << 1)) |
113 | i = 1; | 113 | i = 1; |
114 | } else if ( val & ( 1 << 2 )){ | 114 | else if (val & (1 << 2)) |
115 | i = 2; | 115 | i = 2; |
116 | } else if ( val & ( 1 << 6 )){ | 116 | else if (val & (1 << 6)) |
117 | i = 6; | 117 | i = 6; |
118 | } else if( val & ( 1 << 10 )){ | 118 | else if (val & (1 << 10)) |
119 | i = 10; | 119 | i = 10; |
120 | } else if( val & ( 1 << 11 )){ | 120 | else if (val & (1 << 11)) |
121 | i = 11; | 121 | i = 11; |
122 | } else if( val & ( 1 << 12 )){ | 122 | else if (val & (1 << 12)) |
123 | i = 12; | 123 | i = 12; |
124 | } else if( val & ( 1 << 17 )){ | 124 | else if (val & (1 << 17)) |
125 | i = 17; | 125 | i = 17; |
126 | } else { | 126 | else |
127 | printk("Unexpected IRQ irq = %d status = 0x%08lx\n", irq, val); | 127 | printk("Unexpected IRQ irq = %d status = 0x%08lx\n", irq, val); |
128 | } | 128 | pr_debug("voyagergx_irq_demux %d \n", i); |
129 | pr_debug("voyagergx_irq_demux %ld\n", i); | ||
130 | #else | ||
131 | for (bit = 1, i = 0 ; i < VOYAGER_IRQ_NUM ; bit <<= 1, i++) | ||
132 | if (val & bit) | ||
133 | break; | ||
134 | #endif | ||
135 | if (i < VOYAGER_IRQ_NUM) { | 129 | if (i < VOYAGER_IRQ_NUM) { |
136 | irq = VOYAGER_IRQ_BASE + i; | 130 | irq = VOYAGER_IRQ_BASE + i; |
137 | if (voyagergx_demux[i].func != 0) | 131 | if (voyagergx_demux[i].func != 0) |
diff --git a/arch/sh/cchips/voyagergx/setup.c b/arch/sh/cchips/voyagergx/setup.c index 66b2fedd7ad9..33f03027c193 100644 --- a/arch/sh/cchips/voyagergx/setup.c +++ b/arch/sh/cchips/voyagergx/setup.c | |||
@@ -19,7 +19,7 @@ static int __init setup_voyagergx(void) | |||
19 | { | 19 | { |
20 | unsigned long val; | 20 | unsigned long val; |
21 | 21 | ||
22 | val = inl(DRAM_CTRL); | 22 | val = readl((void __iomem *)DRAM_CTRL); |
23 | val |= (DRAM_CTRL_CPU_COLUMN_SIZE_256 | | 23 | val |= (DRAM_CTRL_CPU_COLUMN_SIZE_256 | |
24 | DRAM_CTRL_CPU_ACTIVE_PRECHARGE | | 24 | DRAM_CTRL_CPU_ACTIVE_PRECHARGE | |
25 | DRAM_CTRL_CPU_RESET | | 25 | DRAM_CTRL_CPU_RESET | |
@@ -29,7 +29,7 @@ static int __init setup_voyagergx(void) | |||
29 | DRAM_CTRL_ACTIVE_PRECHARGE | | 29 | DRAM_CTRL_ACTIVE_PRECHARGE | |
30 | DRAM_CTRL_RESET | | 30 | DRAM_CTRL_RESET | |
31 | DRAM_CTRL_REMAIN_ACTIVE); | 31 | DRAM_CTRL_REMAIN_ACTIVE); |
32 | outl(val, DRAM_CTRL); | 32 | writel(val, (void __iomem *)DRAM_CTRL); |
33 | 33 | ||
34 | return 0; | 34 | return 0; |
35 | } | 35 | } |
diff --git a/arch/sh/configs/rts7751r2d_defconfig b/arch/sh/configs/rts7751r2d_defconfig index 099e98f14729..db6a02df5af6 100644 --- a/arch/sh/configs/rts7751r2d_defconfig +++ b/arch/sh/configs/rts7751r2d_defconfig | |||
@@ -1,15 +1,21 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.18 | 3 | # Linux kernel version: 2.6.20 |
4 | # Tue Oct 3 11:38:36 2006 | 4 | # Thu Feb 15 17:17:29 2007 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 8 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 9 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y |
11 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
11 | CONFIG_GENERIC_IRQ_PROBE=y | 12 | CONFIG_GENERIC_IRQ_PROBE=y |
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
14 | # CONFIG_GENERIC_TIME is not set | ||
15 | CONFIG_STACKTRACE_SUPPORT=y | ||
16 | CONFIG_LOCKDEP_SUPPORT=y | ||
17 | # CONFIG_ARCH_HAS_ILOG2_U32 is not set | ||
18 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | ||
13 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 19 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
14 | 20 | ||
15 | # | 21 | # |
@@ -33,8 +39,8 @@ CONFIG_SYSVIPC=y | |||
33 | # CONFIG_UTS_NS is not set | 39 | # CONFIG_UTS_NS is not set |
34 | # CONFIG_AUDIT is not set | 40 | # CONFIG_AUDIT is not set |
35 | # CONFIG_IKCONFIG is not set | 41 | # CONFIG_IKCONFIG is not set |
42 | CONFIG_SYSFS_DEPRECATED=y | ||
36 | # CONFIG_RELAY is not set | 43 | # CONFIG_RELAY is not set |
37 | CONFIG_INITRAMFS_SOURCE="" | ||
38 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 44 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
39 | CONFIG_SYSCTL=y | 45 | CONFIG_SYSCTL=y |
40 | CONFIG_EMBEDDED=y | 46 | CONFIG_EMBEDDED=y |
@@ -97,10 +103,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
97 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set | 103 | # CONFIG_SH_73180_SOLUTION_ENGINE is not set |
98 | # CONFIG_SH_7751_SYSTEMH is not set | 104 | # CONFIG_SH_7751_SYSTEMH is not set |
99 | # CONFIG_SH_HP6XX is not set | 105 | # CONFIG_SH_HP6XX is not set |
100 | # CONFIG_SH_EC3104 is not set | ||
101 | # CONFIG_SH_SATURN is not set | 106 | # CONFIG_SH_SATURN is not set |
102 | # CONFIG_SH_DREAMCAST is not set | 107 | # CONFIG_SH_DREAMCAST is not set |
103 | # CONFIG_SH_BIGSUR is not set | ||
104 | # CONFIG_SH_MPC1211 is not set | 108 | # CONFIG_SH_MPC1211 is not set |
105 | # CONFIG_SH_SH03 is not set | 109 | # CONFIG_SH_SH03 is not set |
106 | # CONFIG_SH_SECUREEDGE5410 is not set | 110 | # CONFIG_SH_SECUREEDGE5410 is not set |
@@ -113,6 +117,9 @@ CONFIG_SH_RTS7751R2D=y | |||
113 | # CONFIG_SH_LANDISK is not set | 117 | # CONFIG_SH_LANDISK is not set |
114 | # CONFIG_SH_TITAN is not set | 118 | # CONFIG_SH_TITAN is not set |
115 | # CONFIG_SH_SHMIN is not set | 119 | # CONFIG_SH_SHMIN is not set |
120 | # CONFIG_SH_7206_SOLUTION_ENGINE is not set | ||
121 | # CONFIG_SH_7619_SOLUTION_ENGINE is not set | ||
122 | # CONFIG_SH_ASDAP310 is not set | ||
116 | # CONFIG_SH_UNKNOWN is not set | 123 | # CONFIG_SH_UNKNOWN is not set |
117 | 124 | ||
118 | # | 125 | # |
@@ -124,6 +131,12 @@ CONFIG_CPU_SH4=y | |||
124 | # SH-2 Processor Support | 131 | # SH-2 Processor Support |
125 | # | 132 | # |
126 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | 133 | # CONFIG_CPU_SUBTYPE_SH7604 is not set |
134 | # CONFIG_CPU_SUBTYPE_SH7619 is not set | ||
135 | |||
136 | # | ||
137 | # SH-2A Processor Support | ||
138 | # | ||
139 | # CONFIG_CPU_SUBTYPE_SH7206 is not set | ||
127 | 140 | ||
128 | # | 141 | # |
129 | # SH-3 Processor Support | 142 | # SH-3 Processor Support |
@@ -159,12 +172,14 @@ CONFIG_CPU_SUBTYPE_SH7751R=y | |||
159 | # | 172 | # |
160 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | 173 | # CONFIG_CPU_SUBTYPE_SH7770 is not set |
161 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | 174 | # CONFIG_CPU_SUBTYPE_SH7780 is not set |
175 | # CONFIG_CPU_SUBTYPE_SH7785 is not set | ||
162 | 176 | ||
163 | # | 177 | # |
164 | # SH4AL-DSP Processor Support | 178 | # SH4AL-DSP Processor Support |
165 | # | 179 | # |
166 | # CONFIG_CPU_SUBTYPE_SH73180 is not set | 180 | # CONFIG_CPU_SUBTYPE_SH73180 is not set |
167 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | 181 | # CONFIG_CPU_SUBTYPE_SH7343 is not set |
182 | # CONFIG_CPU_SUBTYPE_SH7722 is not set | ||
168 | 183 | ||
169 | # | 184 | # |
170 | # Memory management options | 185 | # Memory management options |
@@ -174,6 +189,9 @@ CONFIG_PAGE_OFFSET=0x80000000 | |||
174 | CONFIG_MEMORY_START=0x0c000000 | 189 | CONFIG_MEMORY_START=0x0c000000 |
175 | CONFIG_MEMORY_SIZE=0x04000000 | 190 | CONFIG_MEMORY_SIZE=0x04000000 |
176 | CONFIG_VSYSCALL=y | 191 | CONFIG_VSYSCALL=y |
192 | CONFIG_PAGE_SIZE_4KB=y | ||
193 | # CONFIG_PAGE_SIZE_8KB is not set | ||
194 | # CONFIG_PAGE_SIZE_64KB is not set | ||
177 | CONFIG_SELECT_MEMORY_MODEL=y | 195 | CONFIG_SELECT_MEMORY_MODEL=y |
178 | CONFIG_FLATMEM_MANUAL=y | 196 | CONFIG_FLATMEM_MANUAL=y |
179 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 197 | # CONFIG_DISCONTIGMEM_MANUAL is not set |
@@ -183,6 +201,7 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
183 | # CONFIG_SPARSEMEM_STATIC is not set | 201 | # CONFIG_SPARSEMEM_STATIC is not set |
184 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 202 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
185 | # CONFIG_RESOURCES_64BIT is not set | 203 | # CONFIG_RESOURCES_64BIT is not set |
204 | CONFIG_ZONE_DMA_FLAG=0 | ||
186 | 205 | ||
187 | # | 206 | # |
188 | # Cache configuration | 207 | # Cache configuration |
@@ -195,11 +214,14 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
195 | # Processor features | 214 | # Processor features |
196 | # | 215 | # |
197 | CONFIG_CPU_LITTLE_ENDIAN=y | 216 | CONFIG_CPU_LITTLE_ENDIAN=y |
217 | # CONFIG_CPU_BIG_ENDIAN is not set | ||
198 | CONFIG_SH_FPU=y | 218 | CONFIG_SH_FPU=y |
199 | # CONFIG_SH_DSP is not set | 219 | # CONFIG_SH_DSP is not set |
200 | # CONFIG_SH_STORE_QUEUES is not set | 220 | # CONFIG_SH_STORE_QUEUES is not set |
201 | CONFIG_CPU_HAS_INTEVT=y | 221 | CONFIG_CPU_HAS_INTEVT=y |
222 | CONFIG_CPU_HAS_IPR_IRQ=y | ||
202 | CONFIG_CPU_HAS_SR_RB=y | 223 | CONFIG_CPU_HAS_SR_RB=y |
224 | CONFIG_CPU_HAS_PTEA=y | ||
203 | 225 | ||
204 | # | 226 | # |
205 | # Timer support | 227 | # Timer support |
@@ -210,6 +232,8 @@ CONFIG_SH_TMU=y | |||
210 | # RTS7751R2D options | 232 | # RTS7751R2D options |
211 | # | 233 | # |
212 | CONFIG_RTS7751R2D_REV11=y | 234 | CONFIG_RTS7751R2D_REV11=y |
235 | CONFIG_SH_TIMER_IRQ=16 | ||
236 | # CONFIG_NO_IDLE_HZ is not set | ||
213 | CONFIG_SH_PCLK_FREQ=60000000 | 237 | CONFIG_SH_PCLK_FREQ=60000000 |
214 | 238 | ||
215 | # | 239 | # |
@@ -232,10 +256,16 @@ CONFIG_VOYAGERGX=y | |||
232 | CONFIG_HEARTBEAT=y | 256 | CONFIG_HEARTBEAT=y |
233 | 257 | ||
234 | # | 258 | # |
259 | # Additional SuperH Device Drivers | ||
260 | # | ||
261 | # CONFIG_PUSH_SWITCH is not set | ||
262 | |||
263 | # | ||
235 | # Kernel features | 264 | # Kernel features |
236 | # | 265 | # |
237 | # CONFIG_HZ_100 is not set | 266 | # CONFIG_HZ_100 is not set |
238 | CONFIG_HZ_250=y | 267 | CONFIG_HZ_250=y |
268 | # CONFIG_HZ_300 is not set | ||
239 | # CONFIG_HZ_1000 is not set | 269 | # CONFIG_HZ_1000 is not set |
240 | CONFIG_HZ=250 | 270 | CONFIG_HZ=250 |
241 | # CONFIG_KEXEC is not set | 271 | # CONFIG_KEXEC is not set |
@@ -251,7 +281,7 @@ CONFIG_ZERO_PAGE_OFFSET=0x00010000 | |||
251 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 281 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
252 | # CONFIG_UBC_WAKEUP is not set | 282 | # CONFIG_UBC_WAKEUP is not set |
253 | CONFIG_CMDLINE_BOOL=y | 283 | CONFIG_CMDLINE_BOOL=y |
254 | CONFIG_CMDLINE="mem=64M console=ttySC0,115200 root=/dev/hda1" | 284 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" |
255 | 285 | ||
256 | # | 286 | # |
257 | # Bus options | 287 | # Bus options |
@@ -260,7 +290,6 @@ CONFIG_PCI=y | |||
260 | CONFIG_SH_PCIDMA_NONCOHERENT=y | 290 | CONFIG_SH_PCIDMA_NONCOHERENT=y |
261 | CONFIG_PCI_AUTO=y | 291 | CONFIG_PCI_AUTO=y |
262 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y | 292 | CONFIG_PCI_AUTO_UPDATE_RESOURCES=y |
263 | # CONFIG_PCI_MULTITHREAD_PROBE is not set | ||
264 | 293 | ||
265 | # | 294 | # |
266 | # PCCARD (PCMCIA/CardBus) support | 295 | # PCCARD (PCMCIA/CardBus) support |
@@ -302,6 +331,7 @@ CONFIG_UNIX=y | |||
302 | CONFIG_XFRM=y | 331 | CONFIG_XFRM=y |
303 | # CONFIG_XFRM_USER is not set | 332 | # CONFIG_XFRM_USER is not set |
304 | # CONFIG_XFRM_SUB_POLICY is not set | 333 | # CONFIG_XFRM_SUB_POLICY is not set |
334 | # CONFIG_XFRM_MIGRATE is not set | ||
305 | # CONFIG_NET_KEY is not set | 335 | # CONFIG_NET_KEY is not set |
306 | CONFIG_INET=y | 336 | CONFIG_INET=y |
307 | # CONFIG_IP_MULTICAST is not set | 337 | # CONFIG_IP_MULTICAST is not set |
@@ -319,11 +349,13 @@ CONFIG_IP_FIB_HASH=y | |||
319 | # CONFIG_INET_TUNNEL is not set | 349 | # CONFIG_INET_TUNNEL is not set |
320 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | 350 | CONFIG_INET_XFRM_MODE_TRANSPORT=y |
321 | CONFIG_INET_XFRM_MODE_TUNNEL=y | 351 | CONFIG_INET_XFRM_MODE_TUNNEL=y |
352 | CONFIG_INET_XFRM_MODE_BEET=y | ||
322 | CONFIG_INET_DIAG=y | 353 | CONFIG_INET_DIAG=y |
323 | CONFIG_INET_TCP_DIAG=y | 354 | CONFIG_INET_TCP_DIAG=y |
324 | # CONFIG_TCP_CONG_ADVANCED is not set | 355 | # CONFIG_TCP_CONG_ADVANCED is not set |
325 | CONFIG_TCP_CONG_CUBIC=y | 356 | CONFIG_TCP_CONG_CUBIC=y |
326 | CONFIG_DEFAULT_TCP_CONG="cubic" | 357 | CONFIG_DEFAULT_TCP_CONG="cubic" |
358 | # CONFIG_TCP_MD5SIG is not set | ||
327 | # CONFIG_IPV6 is not set | 359 | # CONFIG_IPV6 is not set |
328 | # CONFIG_INET6_XFRM_TUNNEL is not set | 360 | # CONFIG_INET6_XFRM_TUNNEL is not set |
329 | # CONFIG_INET6_TUNNEL is not set | 361 | # CONFIG_INET6_TUNNEL is not set |
@@ -380,7 +412,7 @@ CONFIG_WIRELESS_EXT=y | |||
380 | # | 412 | # |
381 | CONFIG_STANDALONE=y | 413 | CONFIG_STANDALONE=y |
382 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 414 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
383 | # CONFIG_FW_LOADER is not set | 415 | CONFIG_FW_LOADER=m |
384 | # CONFIG_SYS_HYPERVISOR is not set | 416 | # CONFIG_SYS_HYPERVISOR is not set |
385 | 417 | ||
386 | # | 418 | # |
@@ -422,44 +454,145 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | |||
422 | # CONFIG_ATA_OVER_ETH is not set | 454 | # CONFIG_ATA_OVER_ETH is not set |
423 | 455 | ||
424 | # | 456 | # |
425 | # ATA/ATAPI/MFM/RLL support | 457 | # Misc devices |
426 | # | ||
427 | CONFIG_IDE=y | ||
428 | CONFIG_IDE_MAX_HWIFS=4 | ||
429 | CONFIG_BLK_DEV_IDE=y | ||
430 | |||
431 | # | ||
432 | # Please see Documentation/ide.txt for help/info on IDE drives | ||
433 | # | 458 | # |
434 | # CONFIG_BLK_DEV_IDE_SATA is not set | 459 | # CONFIG_SGI_IOC4 is not set |
435 | CONFIG_BLK_DEV_IDEDISK=y | 460 | # CONFIG_TIFM_CORE is not set |
436 | # CONFIG_IDEDISK_MULTI_MODE is not set | ||
437 | # CONFIG_BLK_DEV_IDECD is not set | ||
438 | # CONFIG_BLK_DEV_IDETAPE is not set | ||
439 | # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||
440 | # CONFIG_IDE_TASK_IOCTL is not set | ||
441 | 461 | ||
442 | # | 462 | # |
443 | # IDE chipset support/bugfixes | 463 | # ATA/ATAPI/MFM/RLL support |
444 | # | 464 | # |
445 | CONFIG_IDE_GENERIC=y | 465 | # CONFIG_IDE is not set |
446 | # CONFIG_BLK_DEV_IDEPCI is not set | ||
447 | # CONFIG_IDE_ARM is not set | ||
448 | # CONFIG_BLK_DEV_IDEDMA is not set | ||
449 | # CONFIG_IDEDMA_AUTO is not set | ||
450 | # CONFIG_BLK_DEV_HD is not set | ||
451 | 466 | ||
452 | # | 467 | # |
453 | # SCSI device support | 468 | # SCSI device support |
454 | # | 469 | # |
455 | # CONFIG_RAID_ATTRS is not set | 470 | # CONFIG_RAID_ATTRS is not set |
456 | # CONFIG_SCSI is not set | 471 | CONFIG_SCSI=y |
472 | # CONFIG_SCSI_TGT is not set | ||
457 | # CONFIG_SCSI_NETLINK is not set | 473 | # CONFIG_SCSI_NETLINK is not set |
474 | CONFIG_SCSI_PROC_FS=y | ||
475 | |||
476 | # | ||
477 | # SCSI support type (disk, tape, CD-ROM) | ||
478 | # | ||
479 | CONFIG_BLK_DEV_SD=y | ||
480 | # CONFIG_CHR_DEV_ST is not set | ||
481 | # CONFIG_CHR_DEV_OSST is not set | ||
482 | # CONFIG_BLK_DEV_SR is not set | ||
483 | # CONFIG_CHR_DEV_SG is not set | ||
484 | # CONFIG_CHR_DEV_SCH is not set | ||
485 | |||
486 | # | ||
487 | # Some SCSI devices (e.g. CD jukebox) support multiple LUNs | ||
488 | # | ||
489 | # CONFIG_SCSI_MULTI_LUN is not set | ||
490 | # CONFIG_SCSI_CONSTANTS is not set | ||
491 | # CONFIG_SCSI_LOGGING is not set | ||
492 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
493 | |||
494 | # | ||
495 | # SCSI Transports | ||
496 | # | ||
497 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
498 | # CONFIG_SCSI_FC_ATTRS is not set | ||
499 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
500 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
501 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
502 | |||
503 | # | ||
504 | # SCSI low-level drivers | ||
505 | # | ||
506 | # CONFIG_ISCSI_TCP is not set | ||
507 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | ||
508 | # CONFIG_SCSI_3W_9XXX is not set | ||
509 | # CONFIG_SCSI_ACARD is not set | ||
510 | # CONFIG_SCSI_AACRAID is not set | ||
511 | # CONFIG_SCSI_AIC7XXX is not set | ||
512 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
513 | # CONFIG_SCSI_AIC79XX is not set | ||
514 | # CONFIG_SCSI_AIC94XX is not set | ||
515 | # CONFIG_SCSI_DPT_I2O is not set | ||
516 | # CONFIG_SCSI_ARCMSR is not set | ||
517 | # CONFIG_MEGARAID_NEWGEN is not set | ||
518 | # CONFIG_MEGARAID_LEGACY is not set | ||
519 | # CONFIG_MEGARAID_SAS is not set | ||
520 | # CONFIG_SCSI_HPTIOP is not set | ||
521 | # CONFIG_SCSI_DMX3191D is not set | ||
522 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
523 | # CONFIG_SCSI_IPS is not set | ||
524 | # CONFIG_SCSI_INITIO is not set | ||
525 | # CONFIG_SCSI_INIA100 is not set | ||
526 | # CONFIG_SCSI_STEX is not set | ||
527 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
528 | # CONFIG_SCSI_IPR is not set | ||
529 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
530 | # CONFIG_SCSI_QLA_FC is not set | ||
531 | # CONFIG_SCSI_QLA_ISCSI is not set | ||
532 | # CONFIG_SCSI_LPFC is not set | ||
533 | # CONFIG_SCSI_DC395x is not set | ||
534 | # CONFIG_SCSI_DC390T is not set | ||
535 | # CONFIG_SCSI_NSP32 is not set | ||
536 | # CONFIG_SCSI_DEBUG is not set | ||
537 | # CONFIG_SCSI_SRP is not set | ||
458 | 538 | ||
459 | # | 539 | # |
460 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | 540 | # Serial ATA (prod) and Parallel ATA (experimental) drivers |
461 | # | 541 | # |
462 | # CONFIG_ATA is not set | 542 | CONFIG_ATA=y |
543 | # CONFIG_ATA_NONSTANDARD is not set | ||
544 | # CONFIG_SATA_AHCI is not set | ||
545 | # CONFIG_SATA_SVW is not set | ||
546 | # CONFIG_ATA_PIIX is not set | ||
547 | # CONFIG_SATA_MV is not set | ||
548 | # CONFIG_SATA_NV is not set | ||
549 | # CONFIG_PDC_ADMA is not set | ||
550 | # CONFIG_SATA_QSTOR is not set | ||
551 | # CONFIG_SATA_PROMISE is not set | ||
552 | # CONFIG_SATA_SX4 is not set | ||
553 | # CONFIG_SATA_SIL is not set | ||
554 | # CONFIG_SATA_SIL24 is not set | ||
555 | # CONFIG_SATA_SIS is not set | ||
556 | # CONFIG_SATA_ULI is not set | ||
557 | # CONFIG_SATA_VIA is not set | ||
558 | # CONFIG_SATA_VITESSE is not set | ||
559 | # CONFIG_SATA_INIC162X is not set | ||
560 | # CONFIG_PATA_ALI is not set | ||
561 | # CONFIG_PATA_AMD is not set | ||
562 | # CONFIG_PATA_ARTOP is not set | ||
563 | # CONFIG_PATA_ATIIXP is not set | ||
564 | # CONFIG_PATA_CMD64X is not set | ||
565 | # CONFIG_PATA_CS5520 is not set | ||
566 | # CONFIG_PATA_CS5530 is not set | ||
567 | # CONFIG_PATA_CYPRESS is not set | ||
568 | # CONFIG_PATA_EFAR is not set | ||
569 | # CONFIG_ATA_GENERIC is not set | ||
570 | # CONFIG_PATA_HPT366 is not set | ||
571 | # CONFIG_PATA_HPT37X is not set | ||
572 | # CONFIG_PATA_HPT3X2N is not set | ||
573 | # CONFIG_PATA_HPT3X3 is not set | ||
574 | # CONFIG_PATA_IT821X is not set | ||
575 | # CONFIG_PATA_IT8213 is not set | ||
576 | # CONFIG_PATA_JMICRON is not set | ||
577 | # CONFIG_PATA_TRIFLEX is not set | ||
578 | # CONFIG_PATA_MARVELL is not set | ||
579 | # CONFIG_PATA_MPIIX is not set | ||
580 | # CONFIG_PATA_OLDPIIX is not set | ||
581 | # CONFIG_PATA_NETCELL is not set | ||
582 | # CONFIG_PATA_NS87410 is not set | ||
583 | # CONFIG_PATA_OPTI is not set | ||
584 | # CONFIG_PATA_OPTIDMA is not set | ||
585 | # CONFIG_PATA_PDC_OLD is not set | ||
586 | # CONFIG_PATA_RADISYS is not set | ||
587 | # CONFIG_PATA_RZ1000 is not set | ||
588 | # CONFIG_PATA_SC1200 is not set | ||
589 | # CONFIG_PATA_SERVERWORKS is not set | ||
590 | # CONFIG_PATA_PDC2027X is not set | ||
591 | # CONFIG_PATA_SIL680 is not set | ||
592 | # CONFIG_PATA_SIS is not set | ||
593 | # CONFIG_PATA_VIA is not set | ||
594 | # CONFIG_PATA_WINBOND is not set | ||
595 | CONFIG_PATA_PLATFORM=y | ||
463 | 596 | ||
464 | # | 597 | # |
465 | # Multi-device support (RAID and LVM) | 598 | # Multi-device support (RAID and LVM) |
@@ -470,6 +603,9 @@ CONFIG_IDE_GENERIC=y | |||
470 | # Fusion MPT device support | 603 | # Fusion MPT device support |
471 | # | 604 | # |
472 | # CONFIG_FUSION is not set | 605 | # CONFIG_FUSION is not set |
606 | # CONFIG_FUSION_SPI is not set | ||
607 | # CONFIG_FUSION_FC is not set | ||
608 | # CONFIG_FUSION_SAS is not set | ||
473 | 609 | ||
474 | # | 610 | # |
475 | # IEEE 1394 (FireWire) support | 611 | # IEEE 1394 (FireWire) support |
@@ -540,6 +676,7 @@ CONFIG_8139TOO=y | |||
540 | # CONFIG_SUNDANCE is not set | 676 | # CONFIG_SUNDANCE is not set |
541 | # CONFIG_TLAN is not set | 677 | # CONFIG_TLAN is not set |
542 | # CONFIG_VIA_RHINE is not set | 678 | # CONFIG_VIA_RHINE is not set |
679 | # CONFIG_SC92031 is not set | ||
543 | 680 | ||
544 | # | 681 | # |
545 | # Ethernet (1000 Mbit) | 682 | # Ethernet (1000 Mbit) |
@@ -559,14 +696,17 @@ CONFIG_8139TOO=y | |||
559 | # CONFIG_TIGON3 is not set | 696 | # CONFIG_TIGON3 is not set |
560 | # CONFIG_BNX2 is not set | 697 | # CONFIG_BNX2 is not set |
561 | # CONFIG_QLA3XXX is not set | 698 | # CONFIG_QLA3XXX is not set |
699 | # CONFIG_ATL1 is not set | ||
562 | 700 | ||
563 | # | 701 | # |
564 | # Ethernet (10000 Mbit) | 702 | # Ethernet (10000 Mbit) |
565 | # | 703 | # |
566 | # CONFIG_CHELSIO_T1 is not set | 704 | # CONFIG_CHELSIO_T1 is not set |
705 | # CONFIG_CHELSIO_T3 is not set | ||
567 | # CONFIG_IXGB is not set | 706 | # CONFIG_IXGB is not set |
568 | # CONFIG_S2IO is not set | 707 | # CONFIG_S2IO is not set |
569 | # CONFIG_MYRI10GE is not set | 708 | # CONFIG_MYRI10GE is not set |
709 | # CONFIG_NETXEN_NIC is not set | ||
570 | 710 | ||
571 | # | 711 | # |
572 | # Token Ring devices | 712 | # Token Ring devices |
@@ -611,6 +751,7 @@ CONFIG_NET_WIRELESS=y | |||
611 | # CONFIG_HIPPI is not set | 751 | # CONFIG_HIPPI is not set |
612 | # CONFIG_PPP is not set | 752 | # CONFIG_PPP is not set |
613 | # CONFIG_SLIP is not set | 753 | # CONFIG_SLIP is not set |
754 | # CONFIG_NET_FC is not set | ||
614 | # CONFIG_SHAPER is not set | 755 | # CONFIG_SHAPER is not set |
615 | # CONFIG_NETCONSOLE is not set | 756 | # CONFIG_NETCONSOLE is not set |
616 | # CONFIG_NETPOLL is not set | 757 | # CONFIG_NETPOLL is not set |
@@ -646,14 +787,23 @@ CONFIG_NET_WIRELESS=y | |||
646 | # | 787 | # |
647 | # Serial drivers | 788 | # Serial drivers |
648 | # | 789 | # |
649 | # CONFIG_SERIAL_8250 is not set | 790 | CONFIG_SERIAL_8250=y |
791 | # CONFIG_SERIAL_8250_CONSOLE is not set | ||
792 | CONFIG_SERIAL_8250_PCI=y | ||
793 | CONFIG_SERIAL_8250_NR_UARTS=4 | ||
794 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||
795 | # CONFIG_SERIAL_8250_EXTENDED is not set | ||
650 | 796 | ||
651 | # | 797 | # |
652 | # Non-8250 serial port support | 798 | # Non-8250 serial port support |
653 | # | 799 | # |
654 | # CONFIG_SERIAL_SH_SCI is not set | 800 | CONFIG_SERIAL_SH_SCI=y |
801 | CONFIG_SERIAL_SH_SCI_NR_UARTS=1 | ||
802 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
803 | CONFIG_SERIAL_CORE=y | ||
804 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
655 | # CONFIG_SERIAL_JSM is not set | 805 | # CONFIG_SERIAL_JSM is not set |
656 | # CONFIG_UNIX98_PTYS is not set | 806 | CONFIG_UNIX98_PTYS=y |
657 | CONFIG_LEGACY_PTYS=y | 807 | CONFIG_LEGACY_PTYS=y |
658 | CONFIG_LEGACY_PTY_COUNT=256 | 808 | CONFIG_LEGACY_PTY_COUNT=256 |
659 | 809 | ||
@@ -671,10 +821,6 @@ CONFIG_HW_RANDOM=y | |||
671 | # CONFIG_DTLK is not set | 821 | # CONFIG_DTLK is not set |
672 | # CONFIG_R3964 is not set | 822 | # CONFIG_R3964 is not set |
673 | # CONFIG_APPLICOM is not set | 823 | # CONFIG_APPLICOM is not set |
674 | |||
675 | # | ||
676 | # Ftape, the floppy tape device driver | ||
677 | # | ||
678 | # CONFIG_DRM is not set | 824 | # CONFIG_DRM is not set |
679 | # CONFIG_RAW_DRIVER is not set | 825 | # CONFIG_RAW_DRIVER is not set |
680 | 826 | ||
@@ -682,7 +828,6 @@ CONFIG_HW_RANDOM=y | |||
682 | # TPM devices | 828 | # TPM devices |
683 | # | 829 | # |
684 | # CONFIG_TCG_TPM is not set | 830 | # CONFIG_TCG_TPM is not set |
685 | # CONFIG_TELCLOCK is not set | ||
686 | 831 | ||
687 | # | 832 | # |
688 | # I2C support | 833 | # I2C support |
@@ -698,6 +843,7 @@ CONFIG_HW_RANDOM=y | |||
698 | # | 843 | # |
699 | # Dallas's 1-wire bus | 844 | # Dallas's 1-wire bus |
700 | # | 845 | # |
846 | # CONFIG_W1 is not set | ||
701 | 847 | ||
702 | # | 848 | # |
703 | # Hardware Monitoring support | 849 | # Hardware Monitoring support |
@@ -706,18 +852,14 @@ CONFIG_HWMON=y | |||
706 | # CONFIG_HWMON_VID is not set | 852 | # CONFIG_HWMON_VID is not set |
707 | # CONFIG_SENSORS_ABITUGURU is not set | 853 | # CONFIG_SENSORS_ABITUGURU is not set |
708 | # CONFIG_SENSORS_F71805F is not set | 854 | # CONFIG_SENSORS_F71805F is not set |
855 | # CONFIG_SENSORS_PC87427 is not set | ||
709 | # CONFIG_SENSORS_VT1211 is not set | 856 | # CONFIG_SENSORS_VT1211 is not set |
710 | # CONFIG_HWMON_DEBUG_CHIP is not set | 857 | # CONFIG_HWMON_DEBUG_CHIP is not set |
711 | 858 | ||
712 | # | 859 | # |
713 | # Misc devices | ||
714 | # | ||
715 | |||
716 | # | ||
717 | # Multimedia devices | 860 | # Multimedia devices |
718 | # | 861 | # |
719 | # CONFIG_VIDEO_DEV is not set | 862 | # CONFIG_VIDEO_DEV is not set |
720 | CONFIG_VIDEO_V4L2=y | ||
721 | 863 | ||
722 | # | 864 | # |
723 | # Digital Video Broadcasting Devices | 865 | # Digital Video Broadcasting Devices |
@@ -759,7 +901,6 @@ CONFIG_SND_VERBOSE_PROCFS=y | |||
759 | CONFIG_SND_MPU401_UART=m | 901 | CONFIG_SND_MPU401_UART=m |
760 | CONFIG_SND_OPL3_LIB=m | 902 | CONFIG_SND_OPL3_LIB=m |
761 | CONFIG_SND_AC97_CODEC=m | 903 | CONFIG_SND_AC97_CODEC=m |
762 | CONFIG_SND_AC97_BUS=m | ||
763 | # CONFIG_SND_DUMMY is not set | 904 | # CONFIG_SND_DUMMY is not set |
764 | # CONFIG_SND_MTPAV is not set | 905 | # CONFIG_SND_MTPAV is not set |
765 | # CONFIG_SND_SERIAL_U16550 is not set | 906 | # CONFIG_SND_SERIAL_U16550 is not set |
@@ -782,6 +923,18 @@ CONFIG_SND_AC97_BUS=m | |||
782 | # CONFIG_SND_CMIPCI is not set | 923 | # CONFIG_SND_CMIPCI is not set |
783 | # CONFIG_SND_CS4281 is not set | 924 | # CONFIG_SND_CS4281 is not set |
784 | # CONFIG_SND_CS46XX is not set | 925 | # CONFIG_SND_CS46XX is not set |
926 | # CONFIG_SND_DARLA20 is not set | ||
927 | # CONFIG_SND_GINA20 is not set | ||
928 | # CONFIG_SND_LAYLA20 is not set | ||
929 | # CONFIG_SND_DARLA24 is not set | ||
930 | # CONFIG_SND_GINA24 is not set | ||
931 | # CONFIG_SND_LAYLA24 is not set | ||
932 | # CONFIG_SND_MONA is not set | ||
933 | # CONFIG_SND_MIA is not set | ||
934 | # CONFIG_SND_ECHO3G is not set | ||
935 | # CONFIG_SND_INDIGO is not set | ||
936 | # CONFIG_SND_INDIGOIO is not set | ||
937 | # CONFIG_SND_INDIGODJ is not set | ||
785 | # CONFIG_SND_EMU10K1 is not set | 938 | # CONFIG_SND_EMU10K1 is not set |
786 | # CONFIG_SND_EMU10K1X is not set | 939 | # CONFIG_SND_EMU10K1X is not set |
787 | # CONFIG_SND_ENS1370 is not set | 940 | # CONFIG_SND_ENS1370 is not set |
@@ -801,6 +954,7 @@ CONFIG_SND_AC97_BUS=m | |||
801 | # CONFIG_SND_MIXART is not set | 954 | # CONFIG_SND_MIXART is not set |
802 | # CONFIG_SND_NM256 is not set | 955 | # CONFIG_SND_NM256 is not set |
803 | # CONFIG_SND_PCXHR is not set | 956 | # CONFIG_SND_PCXHR is not set |
957 | # CONFIG_SND_RIPTIDE is not set | ||
804 | # CONFIG_SND_RME32 is not set | 958 | # CONFIG_SND_RME32 is not set |
805 | # CONFIG_SND_RME96 is not set | 959 | # CONFIG_SND_RME96 is not set |
806 | # CONFIG_SND_RME9652 is not set | 960 | # CONFIG_SND_RME9652 is not set |
@@ -813,17 +967,22 @@ CONFIG_SND_YMFPCI=m | |||
813 | # CONFIG_SND_AC97_POWER_SAVE is not set | 967 | # CONFIG_SND_AC97_POWER_SAVE is not set |
814 | 968 | ||
815 | # | 969 | # |
970 | # SoC audio support | ||
971 | # | ||
972 | # CONFIG_SND_SOC is not set | ||
973 | |||
974 | # | ||
816 | # Open Sound System | 975 | # Open Sound System |
817 | # | 976 | # |
818 | CONFIG_SOUND_PRIME=m | 977 | CONFIG_SOUND_PRIME=m |
819 | # CONFIG_OSS_OBSOLETE_DRIVER is not set | 978 | # CONFIG_OBSOLETE_OSS is not set |
820 | # CONFIG_SOUND_BT878 is not set | 979 | # CONFIG_SOUND_BT878 is not set |
821 | # CONFIG_SOUND_ES1371 is not set | ||
822 | # CONFIG_SOUND_ICH is not set | 980 | # CONFIG_SOUND_ICH is not set |
823 | # CONFIG_SOUND_TRIDENT is not set | 981 | # CONFIG_SOUND_TRIDENT is not set |
824 | # CONFIG_SOUND_MSNDCLAS is not set | 982 | # CONFIG_SOUND_MSNDCLAS is not set |
825 | # CONFIG_SOUND_MSNDPIN is not set | 983 | # CONFIG_SOUND_MSNDPIN is not set |
826 | # CONFIG_SOUND_VIA82CXXX is not set | 984 | # CONFIG_SOUND_VIA82CXXX is not set |
985 | CONFIG_AC97_BUS=m | ||
827 | 986 | ||
828 | # | 987 | # |
829 | # USB support | 988 | # USB support |
@@ -872,7 +1031,29 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
872 | # | 1031 | # |
873 | # Real Time Clock | 1032 | # Real Time Clock |
874 | # | 1033 | # |
875 | # CONFIG_RTC_CLASS is not set | 1034 | CONFIG_RTC_LIB=y |
1035 | CONFIG_RTC_CLASS=y | ||
1036 | CONFIG_RTC_HCTOSYS=y | ||
1037 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
1038 | # CONFIG_RTC_DEBUG is not set | ||
1039 | |||
1040 | # | ||
1041 | # RTC interfaces | ||
1042 | # | ||
1043 | CONFIG_RTC_INTF_SYSFS=y | ||
1044 | CONFIG_RTC_INTF_PROC=y | ||
1045 | CONFIG_RTC_INTF_DEV=y | ||
1046 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
1047 | |||
1048 | # | ||
1049 | # RTC drivers | ||
1050 | # | ||
1051 | # CONFIG_RTC_DRV_DS1553 is not set | ||
1052 | # CONFIG_RTC_DRV_DS1742 is not set | ||
1053 | # CONFIG_RTC_DRV_M48T86 is not set | ||
1054 | CONFIG_RTC_DRV_SH=y | ||
1055 | # CONFIG_RTC_DRV_TEST is not set | ||
1056 | # CONFIG_RTC_DRV_V3020 is not set | ||
876 | 1057 | ||
877 | # | 1058 | # |
878 | # DMA Engine support | 1059 | # DMA Engine support |
@@ -888,16 +1069,26 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
888 | # | 1069 | # |
889 | 1070 | ||
890 | # | 1071 | # |
1072 | # Auxiliary Display support | ||
1073 | # | ||
1074 | |||
1075 | # | ||
1076 | # Virtualization | ||
1077 | # | ||
1078 | |||
1079 | # | ||
891 | # File systems | 1080 | # File systems |
892 | # | 1081 | # |
893 | CONFIG_EXT2_FS=y | 1082 | CONFIG_EXT2_FS=y |
894 | # CONFIG_EXT2_FS_XATTR is not set | 1083 | # CONFIG_EXT2_FS_XATTR is not set |
895 | # CONFIG_EXT2_FS_XIP is not set | 1084 | # CONFIG_EXT2_FS_XIP is not set |
896 | # CONFIG_EXT3_FS is not set | 1085 | # CONFIG_EXT3_FS is not set |
1086 | # CONFIG_EXT4DEV_FS is not set | ||
897 | # CONFIG_REISERFS_FS is not set | 1087 | # CONFIG_REISERFS_FS is not set |
898 | # CONFIG_JFS_FS is not set | 1088 | # CONFIG_JFS_FS is not set |
899 | # CONFIG_FS_POSIX_ACL is not set | 1089 | # CONFIG_FS_POSIX_ACL is not set |
900 | # CONFIG_XFS_FS is not set | 1090 | # CONFIG_XFS_FS is not set |
1091 | # CONFIG_GFS2_FS is not set | ||
901 | # CONFIG_OCFS2_FS is not set | 1092 | # CONFIG_OCFS2_FS is not set |
902 | CONFIG_MINIX_FS=y | 1093 | CONFIG_MINIX_FS=y |
903 | # CONFIG_ROMFS_FS is not set | 1094 | # CONFIG_ROMFS_FS is not set |
@@ -932,7 +1123,8 @@ CONFIG_PROC_FS=y | |||
932 | CONFIG_PROC_KCORE=y | 1123 | CONFIG_PROC_KCORE=y |
933 | CONFIG_PROC_SYSCTL=y | 1124 | CONFIG_PROC_SYSCTL=y |
934 | CONFIG_SYSFS=y | 1125 | CONFIG_SYSFS=y |
935 | # CONFIG_TMPFS is not set | 1126 | CONFIG_TMPFS=y |
1127 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
936 | # CONFIG_HUGETLBFS is not set | 1128 | # CONFIG_HUGETLBFS is not set |
937 | # CONFIG_HUGETLB_PAGE is not set | 1129 | # CONFIG_HUGETLB_PAGE is not set |
938 | CONFIG_RAMFS=y | 1130 | CONFIG_RAMFS=y |
@@ -1018,6 +1210,11 @@ CONFIG_NLS_CODEPAGE_932=y | |||
1018 | # CONFIG_NLS_UTF8 is not set | 1210 | # CONFIG_NLS_UTF8 is not set |
1019 | 1211 | ||
1020 | # | 1212 | # |
1213 | # Distributed Lock Manager | ||
1214 | # | ||
1215 | # CONFIG_DLM is not set | ||
1216 | |||
1217 | # | ||
1021 | # Profiling support | 1218 | # Profiling support |
1022 | # | 1219 | # |
1023 | CONFIG_PROFILING=y | 1220 | CONFIG_PROFILING=y |
@@ -1026,16 +1223,20 @@ CONFIG_OPROFILE=y | |||
1026 | # | 1223 | # |
1027 | # Kernel hacking | 1224 | # Kernel hacking |
1028 | # | 1225 | # |
1226 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
1029 | # CONFIG_PRINTK_TIME is not set | 1227 | # CONFIG_PRINTK_TIME is not set |
1030 | CONFIG_ENABLE_MUST_CHECK=y | 1228 | CONFIG_ENABLE_MUST_CHECK=y |
1031 | # CONFIG_MAGIC_SYSRQ is not set | 1229 | # CONFIG_MAGIC_SYSRQ is not set |
1032 | # CONFIG_UNUSED_SYMBOLS is not set | 1230 | # CONFIG_UNUSED_SYMBOLS is not set |
1231 | # CONFIG_DEBUG_FS is not set | ||
1232 | # CONFIG_HEADERS_CHECK is not set | ||
1033 | # CONFIG_DEBUG_KERNEL is not set | 1233 | # CONFIG_DEBUG_KERNEL is not set |
1034 | CONFIG_LOG_BUF_SHIFT=14 | 1234 | CONFIG_LOG_BUF_SHIFT=14 |
1035 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1235 | # CONFIG_DEBUG_BUGVERBOSE is not set |
1036 | # CONFIG_DEBUG_FS is not set | ||
1037 | # CONFIG_SH_STANDARD_BIOS is not set | 1236 | # CONFIG_SH_STANDARD_BIOS is not set |
1038 | # CONFIG_EARLY_SCIF_CONSOLE is not set | 1237 | CONFIG_EARLY_SCIF_CONSOLE=y |
1238 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe80000 | ||
1239 | CONFIG_EARLY_PRINTK=y | ||
1039 | # CONFIG_KGDB is not set | 1240 | # CONFIG_KGDB is not set |
1040 | 1241 | ||
1041 | # | 1242 | # |
@@ -1052,8 +1253,11 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
1052 | # | 1253 | # |
1053 | # Library routines | 1254 | # Library routines |
1054 | # | 1255 | # |
1256 | CONFIG_BITREVERSE=y | ||
1055 | # CONFIG_CRC_CCITT is not set | 1257 | # CONFIG_CRC_CCITT is not set |
1056 | # CONFIG_CRC16 is not set | 1258 | # CONFIG_CRC16 is not set |
1057 | CONFIG_CRC32=y | 1259 | CONFIG_CRC32=y |
1058 | # CONFIG_LIBCRC32C is not set | 1260 | # CONFIG_LIBCRC32C is not set |
1059 | CONFIG_PLIST=y | 1261 | CONFIG_PLIST=y |
1262 | CONFIG_HAS_IOMEM=y | ||
1263 | CONFIG_HAS_IOPORT=y | ||
diff --git a/arch/sh/kernel/cpu/sh4/setup-sh7750.c b/arch/sh/kernel/cpu/sh4/setup-sh7750.c index aa26245f0344..6f8f458912c7 100644 --- a/arch/sh/kernel/cpu/sh4/setup-sh7750.c +++ b/arch/sh/kernel/cpu/sh4/setup-sh7750.c | |||
@@ -46,11 +46,13 @@ static struct platform_device rtc_device = { | |||
46 | 46 | ||
47 | static struct plat_sci_port sci_platform_data[] = { | 47 | static struct plat_sci_port sci_platform_data[] = { |
48 | { | 48 | { |
49 | #ifndef CONFIG_SH_RTS7751R2D | ||
49 | .mapbase = 0xffe00000, | 50 | .mapbase = 0xffe00000, |
50 | .flags = UPF_BOOT_AUTOCONF, | 51 | .flags = UPF_BOOT_AUTOCONF, |
51 | .type = PORT_SCI, | 52 | .type = PORT_SCI, |
52 | .irqs = { 23, 24, 25, 0 }, | 53 | .irqs = { 23, 24, 25, 0 }, |
53 | }, { | 54 | }, { |
55 | #endif | ||
54 | .mapbase = 0xffe80000, | 56 | .mapbase = 0xffe80000, |
55 | .flags = UPF_BOOT_AUTOCONF, | 57 | .flags = UPF_BOOT_AUTOCONF, |
56 | .type = PORT_SCIF, | 58 | .type = PORT_SCIF, |
diff --git a/arch/sh/kernel/io_generic.c b/arch/sh/kernel/io_generic.c index 28ec7487de8c..66626c03e1ee 100644 --- a/arch/sh/kernel/io_generic.c +++ b/arch/sh/kernel/io_generic.c | |||
@@ -1,9 +1,8 @@ | |||
1 | /* $Id: io_generic.c,v 1.2 2003/05/04 19:29:53 lethal Exp $ | 1 | /* |
2 | * | 2 | * arch/sh/kernel/io_generic.c |
3 | * linux/arch/sh/kernel/io_generic.c | ||
4 | * | 3 | * |
5 | * Copyright (C) 2000 Niibe Yutaka | 4 | * Copyright (C) 2000 Niibe Yutaka |
6 | * Copyright (C) 2005 Paul Mundt | 5 | * Copyright (C) 2005 - 2007 Paul Mundt |
7 | * | 6 | * |
8 | * Generic I/O routine. These can be used where a machine specific version | 7 | * Generic I/O routine. These can be used where a machine specific version |
9 | * is not required. | 8 | * is not required. |
@@ -13,8 +12,9 @@ | |||
13 | * for more details. | 12 | * for more details. |
14 | */ | 13 | */ |
15 | #include <linux/module.h> | 14 | #include <linux/module.h> |
16 | #include <asm/io.h> | 15 | #include <linux/io.h> |
17 | #include <asm/machvec.h> | 16 | #include <asm/machvec.h> |
17 | #include <asm/cacheflush.h> | ||
18 | 18 | ||
19 | #ifdef CONFIG_CPU_SH3 | 19 | #ifdef CONFIG_CPU_SH3 |
20 | /* SH3 has a PCMCIA bug that needs a dummy read from area 6 for a | 20 | /* SH3 has a PCMCIA bug that needs a dummy read from area 6 for a |
@@ -96,6 +96,7 @@ void generic_insw(unsigned long port, void *dst, unsigned long count) | |||
96 | while (count--) | 96 | while (count--) |
97 | *buf++ = *port_addr; | 97 | *buf++ = *port_addr; |
98 | 98 | ||
99 | flush_dcache_all(); | ||
99 | dummy_read(); | 100 | dummy_read(); |
100 | } | 101 | } |
101 | 102 | ||
@@ -170,6 +171,7 @@ void generic_outsw(unsigned long port, const void *src, unsigned long count) | |||
170 | while (count--) | 171 | while (count--) |
171 | *port_addr = *buf++; | 172 | *port_addr = *buf++; |
172 | 173 | ||
174 | flush_dcache_all(); | ||
173 | dummy_read(); | 175 | dummy_read(); |
174 | } | 176 | } |
175 | 177 | ||