diff options
author | Magnus Damm <damm@igel.co.jp> | 2007-07-24 21:49:21 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-07-24 21:49:21 -0400 |
commit | 870e8a24380cf1854dc1bb5fa5abebb44d82674b (patch) | |
tree | 67f5e33c93eefb862eb2be092044ca5b12c59193 /arch/sh | |
parent | 347b9bdddbc38cfd46c27b3345e7facf651ecb92 (diff) |
sh: remove support for sh73180 and solution engine 73180
This patch removes old dead code:
- kill off sh73180 cpu support
- get rid of broken solution engine 73180 board support
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/Kconfig | 10 | ||||
-rw-r--r-- | arch/sh/Makefile | 1 | ||||
-rw-r--r-- | arch/sh/boards/se/73180/Makefile | 5 | ||||
-rw-r--r-- | arch/sh/boards/se/73180/io.c | 268 | ||||
-rw-r--r-- | arch/sh/boards/se/73180/irq.c | 136 | ||||
-rw-r--r-- | arch/sh/boards/se/73180/setup.c | 75 | ||||
-rw-r--r-- | arch/sh/configs/se73180_defconfig | 648 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4/probe.c | 6 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/Makefile | 2 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/clock-sh73180.c | 81 | ||||
-rw-r--r-- | arch/sh/kernel/cpu/sh4a/setup-sh73180.c | 43 | ||||
-rw-r--r-- | arch/sh/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/sh/mm/Kconfig | 4 |
13 files changed, 2 insertions, 1279 deletions
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index b1063f46e6a2..2aad2ff39a2f 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -274,14 +274,6 @@ config SH_7343_SOLUTION_ENGINE | |||
274 | Select 7343 SolutionEngine if configuring for a Hitachi | 274 | Select 7343 SolutionEngine if configuring for a Hitachi |
275 | SH7343 (SH-Mobile 3AS) evaluation board. | 275 | SH7343 (SH-Mobile 3AS) evaluation board. |
276 | 276 | ||
277 | config SH_73180_SOLUTION_ENGINE | ||
278 | bool "SolutionEngine73180" | ||
279 | select SOLUTION_ENGINE | ||
280 | depends on CPU_SUBTYPE_SH73180 | ||
281 | help | ||
282 | Select 73180 SolutionEngine if configuring for a Hitachi | ||
283 | SH73180(SH-Mobile 3) evaluation board. | ||
284 | |||
285 | config SH_7751_SYSTEMH | 277 | config SH_7751_SYSTEMH |
286 | bool "SystemH7751R" | 278 | bool "SystemH7751R" |
287 | depends on CPU_SUBTYPE_SH7751R | 279 | depends on CPU_SUBTYPE_SH7751R |
@@ -445,7 +437,7 @@ config SH_TIMER_IRQ | |||
445 | 437 | ||
446 | config SH_PCLK_FREQ | 438 | config SH_PCLK_FREQ |
447 | int "Peripheral clock frequency (in Hz)" | 439 | int "Peripheral clock frequency (in Hz)" |
448 | default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343 | 440 | default "27000000" if CPU_SUBTYPE_SH7343 |
449 | default "31250000" if CPU_SUBTYPE_SH7619 | 441 | default "31250000" if CPU_SUBTYPE_SH7619 |
450 | default "32000000" if CPU_SUBTYPE_SH7722 | 442 | default "32000000" if CPU_SUBTYPE_SH7722 |
451 | default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \ | 443 | default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \ |
diff --git a/arch/sh/Makefile b/arch/sh/Makefile index 0016609d1eba..cb6661c5efe4 100644 --- a/arch/sh/Makefile +++ b/arch/sh/Makefile | |||
@@ -93,7 +93,6 @@ machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751 | |||
93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 | 93 | machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 |
94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 | 94 | machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 |
95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 | 95 | machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 |
96 | machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180 | ||
97 | machdir-$(CONFIG_SH_HP6XX) += hp6xx | 96 | machdir-$(CONFIG_SH_HP6XX) += hp6xx |
98 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast | 97 | machdir-$(CONFIG_SH_DREAMCAST) += dreamcast |
99 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 | 98 | machdir-$(CONFIG_SH_MPC1211) += mpc1211 |
diff --git a/arch/sh/boards/se/73180/Makefile b/arch/sh/boards/se/73180/Makefile deleted file mode 100644 index e7c09967c529..000000000000 --- a/arch/sh/boards/se/73180/Makefile +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | # | ||
2 | # Makefile for the 73180 SolutionEngine specific parts of the kernel | ||
3 | # | ||
4 | |||
5 | obj-y := setup.o io.o irq.o | ||
diff --git a/arch/sh/boards/se/73180/io.c b/arch/sh/boards/se/73180/io.c deleted file mode 100644 index 72715575458b..000000000000 --- a/arch/sh/boards/se/73180/io.c +++ /dev/null | |||
@@ -1,268 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/se/73180/io.c | ||
3 | * | ||
4 | * Copyright (C) 2003 YOSHII Takashi <yoshii-takashi@hitachi-ul.co.jp> | ||
5 | * Based on arch/sh/boards/se/7300/io.c | ||
6 | * | ||
7 | * I/O routine for SH-Mobile3 73180 SolutionEngine. | ||
8 | * | ||
9 | */ | ||
10 | |||
11 | #include <linux/kernel.h> | ||
12 | #include <asm/mach/se73180.h> | ||
13 | #include <asm/io.h> | ||
14 | |||
15 | #define badio(fn, a) panic("bad i/o operation %s for %08lx.", #fn, a) | ||
16 | |||
17 | struct iop { | ||
18 | unsigned long start, end; | ||
19 | unsigned long base; | ||
20 | struct iop *(*check) (struct iop * p, unsigned long port); | ||
21 | unsigned char (*inb) (struct iop * p, unsigned long port); | ||
22 | unsigned short (*inw) (struct iop * p, unsigned long port); | ||
23 | void (*outb) (struct iop * p, unsigned char value, unsigned long port); | ||
24 | void (*outw) (struct iop * p, unsigned short value, unsigned long port); | ||
25 | }; | ||
26 | |||
27 | struct iop * | ||
28 | simple_check(struct iop *p, unsigned long port) | ||
29 | { | ||
30 | if ((p->start <= port) && (port <= p->end)) | ||
31 | return p; | ||
32 | else | ||
33 | badio(check, port); | ||
34 | } | ||
35 | |||
36 | struct iop * | ||
37 | ide_check(struct iop *p, unsigned long port) | ||
38 | { | ||
39 | if (((0x1f0 <= port) && (port <= 0x1f7)) || (port == 0x3f7)) | ||
40 | return p; | ||
41 | return NULL; | ||
42 | } | ||
43 | |||
44 | unsigned char | ||
45 | simple_inb(struct iop *p, unsigned long port) | ||
46 | { | ||
47 | return *(unsigned char *) (p->base + port); | ||
48 | } | ||
49 | |||
50 | unsigned short | ||
51 | simple_inw(struct iop *p, unsigned long port) | ||
52 | { | ||
53 | return *(unsigned short *) (p->base + port); | ||
54 | } | ||
55 | |||
56 | void | ||
57 | simple_outb(struct iop *p, unsigned char value, unsigned long port) | ||
58 | { | ||
59 | *(unsigned char *) (p->base + port) = value; | ||
60 | } | ||
61 | |||
62 | void | ||
63 | simple_outw(struct iop *p, unsigned short value, unsigned long port) | ||
64 | { | ||
65 | *(unsigned short *) (p->base + port) = value; | ||
66 | } | ||
67 | |||
68 | unsigned char | ||
69 | pcc_inb(struct iop *p, unsigned long port) | ||
70 | { | ||
71 | unsigned long addr = p->base + port + 0x40000; | ||
72 | unsigned long v; | ||
73 | |||
74 | if (port & 1) | ||
75 | addr += 0x00400000; | ||
76 | v = *(volatile unsigned char *) addr; | ||
77 | return v; | ||
78 | } | ||
79 | |||
80 | void | ||
81 | pcc_outb(struct iop *p, unsigned char value, unsigned long port) | ||
82 | { | ||
83 | unsigned long addr = p->base + port + 0x40000; | ||
84 | |||
85 | if (port & 1) | ||
86 | addr += 0x00400000; | ||
87 | *(volatile unsigned char *) addr = value; | ||
88 | } | ||
89 | |||
90 | unsigned char | ||
91 | bad_inb(struct iop *p, unsigned long port) | ||
92 | { | ||
93 | badio(inb, port); | ||
94 | } | ||
95 | |||
96 | void | ||
97 | bad_outb(struct iop *p, unsigned char value, unsigned long port) | ||
98 | { | ||
99 | badio(inw, port); | ||
100 | } | ||
101 | |||
102 | #ifdef CONFIG_SMC91X | ||
103 | /* MSTLANEX01 LAN at 0xb400:0000 */ | ||
104 | static struct iop laniop = { | ||
105 | .start = 0x300, | ||
106 | .end = 0x30f, | ||
107 | .base = 0xb4000000, | ||
108 | .check = simple_check, | ||
109 | .inb = simple_inb, | ||
110 | .inw = simple_inw, | ||
111 | .outb = simple_outb, | ||
112 | .outw = simple_outw, | ||
113 | }; | ||
114 | #endif | ||
115 | |||
116 | /* NE2000 pc card NIC */ | ||
117 | static struct iop neiop = { | ||
118 | .start = 0x280, | ||
119 | .end = 0x29f, | ||
120 | .base = 0xb0600000 + 0x80, /* soft 0x280 -> hard 0x300 */ | ||
121 | .check = simple_check, | ||
122 | .inb = pcc_inb, | ||
123 | .inw = simple_inw, | ||
124 | .outb = pcc_outb, | ||
125 | .outw = simple_outw, | ||
126 | }; | ||
127 | |||
128 | #ifdef CONFIG_IDE | ||
129 | /* CF in CF slot */ | ||
130 | static struct iop cfiop = { | ||
131 | .base = 0xb0600000, | ||
132 | .check = ide_check, | ||
133 | .inb = pcc_inb, | ||
134 | .inw = simple_inw, | ||
135 | .outb = pcc_outb, | ||
136 | .outw = simple_outw, | ||
137 | }; | ||
138 | #endif | ||
139 | |||
140 | static __inline__ struct iop * | ||
141 | port2iop(unsigned long port) | ||
142 | { | ||
143 | if (0) ; | ||
144 | #if defined(CONFIG_SMC91X) | ||
145 | else if (laniop.check(&laniop, port)) | ||
146 | return &laniop; | ||
147 | #endif | ||
148 | #if defined(CONFIG_NE2000) | ||
149 | else if (neiop.check(&neiop, port)) | ||
150 | return &neiop; | ||
151 | #endif | ||
152 | #if defined(CONFIG_IDE) | ||
153 | else if (cfiop.check(&cfiop, port)) | ||
154 | return &cfiop; | ||
155 | #endif | ||
156 | else | ||
157 | return &neiop; /* fallback */ | ||
158 | } | ||
159 | |||
160 | static inline void | ||
161 | delay(void) | ||
162 | { | ||
163 | ctrl_inw(0xac000000); | ||
164 | ctrl_inw(0xac000000); | ||
165 | } | ||
166 | |||
167 | unsigned char | ||
168 | sh73180se_inb(unsigned long port) | ||
169 | { | ||
170 | struct iop *p = port2iop(port); | ||
171 | return (p->inb) (p, port); | ||
172 | } | ||
173 | |||
174 | unsigned char | ||
175 | sh73180se_inb_p(unsigned long port) | ||
176 | { | ||
177 | unsigned char v = sh73180se_inb(port); | ||
178 | delay(); | ||
179 | return v; | ||
180 | } | ||
181 | |||
182 | unsigned short | ||
183 | sh73180se_inw(unsigned long port) | ||
184 | { | ||
185 | struct iop *p = port2iop(port); | ||
186 | return (p->inw) (p, port); | ||
187 | } | ||
188 | |||
189 | unsigned int | ||
190 | sh73180se_inl(unsigned long port) | ||
191 | { | ||
192 | badio(inl, port); | ||
193 | } | ||
194 | |||
195 | void | ||
196 | sh73180se_outb(unsigned char value, unsigned long port) | ||
197 | { | ||
198 | struct iop *p = port2iop(port); | ||
199 | (p->outb) (p, value, port); | ||
200 | } | ||
201 | |||
202 | void | ||
203 | sh73180se_outb_p(unsigned char value, unsigned long port) | ||
204 | { | ||
205 | sh73180se_outb(value, port); | ||
206 | delay(); | ||
207 | } | ||
208 | |||
209 | void | ||
210 | sh73180se_outw(unsigned short value, unsigned long port) | ||
211 | { | ||
212 | struct iop *p = port2iop(port); | ||
213 | (p->outw) (p, value, port); | ||
214 | } | ||
215 | |||
216 | void | ||
217 | sh73180se_outl(unsigned int value, unsigned long port) | ||
218 | { | ||
219 | badio(outl, port); | ||
220 | } | ||
221 | |||
222 | void | ||
223 | sh73180se_insb(unsigned long port, void *addr, unsigned long count) | ||
224 | { | ||
225 | unsigned char *a = addr; | ||
226 | struct iop *p = port2iop(port); | ||
227 | while (count--) | ||
228 | *a++ = (p->inb) (p, port); | ||
229 | } | ||
230 | |||
231 | void | ||
232 | sh73180se_insw(unsigned long port, void *addr, unsigned long count) | ||
233 | { | ||
234 | unsigned short *a = addr; | ||
235 | struct iop *p = port2iop(port); | ||
236 | while (count--) | ||
237 | *a++ = (p->inw) (p, port); | ||
238 | } | ||
239 | |||
240 | void | ||
241 | sh73180se_insl(unsigned long port, void *addr, unsigned long count) | ||
242 | { | ||
243 | badio(insl, port); | ||
244 | } | ||
245 | |||
246 | void | ||
247 | sh73180se_outsb(unsigned long port, const void *addr, unsigned long count) | ||
248 | { | ||
249 | unsigned char *a = (unsigned char *) addr; | ||
250 | struct iop *p = port2iop(port); | ||
251 | while (count--) | ||
252 | (p->outb) (p, *a++, port); | ||
253 | } | ||
254 | |||
255 | void | ||
256 | sh73180se_outsw(unsigned long port, const void *addr, unsigned long count) | ||
257 | { | ||
258 | unsigned short *a = (unsigned short *) addr; | ||
259 | struct iop *p = port2iop(port); | ||
260 | while (count--) | ||
261 | (p->outw) (p, *a++, port); | ||
262 | } | ||
263 | |||
264 | void | ||
265 | sh73180se_outsl(unsigned long port, const void *addr, unsigned long count) | ||
266 | { | ||
267 | badio(outsw, port); | ||
268 | } | ||
diff --git a/arch/sh/boards/se/73180/irq.c b/arch/sh/boards/se/73180/irq.c deleted file mode 100644 index e7200c56bb45..000000000000 --- a/arch/sh/boards/se/73180/irq.c +++ /dev/null | |||
@@ -1,136 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/se/73180/irq.c | ||
3 | * | ||
4 | * Copyright (C) 2003 Takashi Kusuda <kusuda-takashi@hitachi-ul.co.jp> | ||
5 | * Based on arch/sh/boards/se/7300/irq.c | ||
6 | * | ||
7 | * Modified for SH-Mobile SolutionEngine 73180 Support | ||
8 | * by YOSHII Takashi <yoshii-takashi@hitachi-ul.co.jp> | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/init.h> | ||
13 | #include <linux/irq.h> | ||
14 | #include <asm/irq.h> | ||
15 | #include <asm/io.h> | ||
16 | #include <asm/mach/se73180.h> | ||
17 | |||
18 | static int | ||
19 | irq2intreq(int irq) | ||
20 | { | ||
21 | if (irq == 10) | ||
22 | return 5; | ||
23 | return 7 - (irq - 32); | ||
24 | } | ||
25 | |||
26 | static void | ||
27 | disable_intreq_irq(unsigned int irq) | ||
28 | { | ||
29 | ctrl_outb(1 << (7 - irq2intreq(irq)), INTMSK0); | ||
30 | } | ||
31 | |||
32 | static void | ||
33 | enable_intreq_irq(unsigned int irq) | ||
34 | { | ||
35 | ctrl_outb(1 << (7 - irq2intreq(irq)), INTMSKCLR0); | ||
36 | } | ||
37 | |||
38 | static void | ||
39 | mask_and_ack_intreq_irq(unsigned int irq) | ||
40 | { | ||
41 | disable_intreq_irq(irq); | ||
42 | } | ||
43 | |||
44 | static unsigned int | ||
45 | startup_intreq_irq(unsigned int irq) | ||
46 | { | ||
47 | enable_intreq_irq(irq); | ||
48 | return 0; | ||
49 | } | ||
50 | |||
51 | static void | ||
52 | shutdown_intreq_irq(unsigned int irq) | ||
53 | { | ||
54 | disable_intreq_irq(irq); | ||
55 | } | ||
56 | |||
57 | static void | ||
58 | end_intreq_irq(unsigned int irq) | ||
59 | { | ||
60 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
61 | enable_intreq_irq(irq); | ||
62 | } | ||
63 | |||
64 | static struct hw_interrupt_type intreq_irq_type = { | ||
65 | .typename = "intreq", | ||
66 | .startup = startup_intreq_irq, | ||
67 | .shutdown = shutdown_intreq_irq, | ||
68 | .enable = enable_intreq_irq, | ||
69 | .disable = disable_intreq_irq, | ||
70 | .ack = mask_and_ack_intreq_irq, | ||
71 | .end = end_intreq_irq | ||
72 | }; | ||
73 | |||
74 | void | ||
75 | make_intreq_irq(unsigned int irq) | ||
76 | { | ||
77 | disable_irq_nosync(irq); | ||
78 | irq_desc[irq].chip = &intreq_irq_type; | ||
79 | disable_intreq_irq(irq); | ||
80 | } | ||
81 | |||
82 | int | ||
83 | shmse_irq_demux(int irq) | ||
84 | { | ||
85 | if (irq == IRQ5_IRQ) | ||
86 | return 10; | ||
87 | return irq; | ||
88 | } | ||
89 | |||
90 | static struct ipr_data se73180_siof0_ipr_map[] = { | ||
91 | { SIOF0_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
92 | }; | ||
93 | static struct ipr_data se73180_vpu_ipr_map[] = { | ||
94 | { VPU_IRQ, VPU_IPR_ADDR, VPU_IPR_POS, 8 }, | ||
95 | }; | ||
96 | static struct ipr_data se73180_other_ipr_map[] = { | ||
97 | { DMTE2_IRQ, DMA1_IPR_ADDR, DMA1_IPR_POS, DMA1_PRIORITY }, | ||
98 | { DMTE3_IRQ, DMA1_IPR_ADDR, DMA1_IPR_POS, DMA1_PRIORITY }, | ||
99 | { DMTE4_IRQ, DMA2_IPR_ADDR, DMA2_IPR_POS, DMA2_PRIORITY }, | ||
100 | { IIC0_ALI_IRQ, IIC0_IPR_ADDR, IIC0_IPR_POS, IIC0_PRIORITY }, | ||
101 | { IIC0_TACKI_IRQ, IIC0_IPR_ADDR, IIC0_IPR_POS, IIC0_PRIORITY }, | ||
102 | { IIC0_WAITI_IRQ, IIC0_IPR_ADDR, IIC0_IPR_POS, IIC0_PRIORITY }, | ||
103 | { IIC0_DTEI_IRQ, IIC0_IPR_ADDR, IIC0_IPR_POS, IIC0_PRIORITY }, | ||
104 | { SIOF0_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY }, | ||
105 | { SIU_IRQ, SIU_IPR_ADDR, SIU_IPR_POS, SIU_PRIORITY }, | ||
106 | |||
107 | /* VIO interrupt */ | ||
108 | { CEU_IRQ, VIO_IPR_ADDR, VIO_IPR_POS, VIO_PRIORITY }, | ||
109 | { BEU_IRQ, VIO_IPR_ADDR, VIO_IPR_POS, VIO_PRIORITY }, | ||
110 | { VEU_IRQ, VIO_IPR_ADDR, VIO_IPR_POS, VIO_PRIORITY }, | ||
111 | |||
112 | { LCDC_IRQ, LCDC_IPR_ADDR, LCDC_IPR_POS, LCDC_PRIORITY }, | ||
113 | }; | ||
114 | |||
115 | /* | ||
116 | * Initialize IRQ setting | ||
117 | */ | ||
118 | void __init | ||
119 | init_73180se_IRQ(void) | ||
120 | { | ||
121 | make_ipr_irq(se73180_siof0_ipr_map, ARRAY_SIZE(se73180_siof0_ipr_map)); | ||
122 | |||
123 | ctrl_outw(0x2000, 0xb03fffec); /* mrshpc irq enable */ | ||
124 | ctrl_outw(0x2000, 0xb07fffec); /* mrshpc irq enable */ | ||
125 | ctrl_outl(3 << ((7 - 5) * 4), INTC_INTPRI0); /* irq5 pri=3 */ | ||
126 | ctrl_outw(2 << ((7 - 5) * 2), INTC_ICR1); /* low-level irq */ | ||
127 | make_intreq_irq(10); | ||
128 | |||
129 | make_ipr_irq(se73180_vpu_ipr_map, ARRAY_SIZE(se73180_vpu_ipr_map)); | ||
130 | |||
131 | ctrl_outb(0x0f, INTC_IMCR5); /* enable SCIF IRQ */ | ||
132 | |||
133 | make_ipr_irq(se73180_other_ipr_map, ARRAY_SIZE(se73180_other_ipr_map)); | ||
134 | |||
135 | ctrl_outw(0x2000, PA_MRSHPC + 0x0c); /* mrshpc irq enable */ | ||
136 | } | ||
diff --git a/arch/sh/boards/se/73180/setup.c b/arch/sh/boards/se/73180/setup.c deleted file mode 100644 index 1deee8556642..000000000000 --- a/arch/sh/boards/se/73180/setup.c +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/boards/se/73180/setup.c | ||
3 | * | ||
4 | * Copyright (C) 2003 Takashi Kusuda <kusuda-takashi@hitachi-ul.co.jp> | ||
5 | * Based on arch/sh/setup_shmse.c | ||
6 | * | ||
7 | * Modified for 73180 SolutionEngine | ||
8 | * by YOSHII Takashi <yoshii-takashi@hitachi-ul.co.jp> | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <linux/init.h> | ||
13 | #include <linux/platform_device.h> | ||
14 | #include <asm/machvec.h> | ||
15 | #include <asm/se73180.h> | ||
16 | #include <asm/irq.h> | ||
17 | |||
18 | void init_73180se_IRQ(void); | ||
19 | |||
20 | static struct resource heartbeat_resources[] = { | ||
21 | [0] = { | ||
22 | .start = PA_LED, | ||
23 | .end = PA_LED + 8 - 1, | ||
24 | .flags = IORESOURCE_MEM, | ||
25 | }, | ||
26 | }; | ||
27 | |||
28 | static struct platform_device heartbeat_device = { | ||
29 | .name = "heartbeat", | ||
30 | .id = -1, | ||
31 | .num_resources = ARRAY_SIZE(heartbeat_resources), | ||
32 | .resource = heartbeat_resources, | ||
33 | }; | ||
34 | |||
35 | static struct platform_device *se73180_devices[] __initdata = { | ||
36 | &heartbeat_device, | ||
37 | }; | ||
38 | |||
39 | static int __init se73180_devices_setup(void) | ||
40 | { | ||
41 | return platform_add_devices(se73180_devices, | ||
42 | ARRAY_SIZE(se73180_devices)); | ||
43 | } | ||
44 | __initcall(se73180_devices_setup); | ||
45 | |||
46 | /* | ||
47 | * The Machine Vector | ||
48 | */ | ||
49 | static struct sh_machine_vector mv_73180se __initmv = { | ||
50 | .mv_name = "SolutionEngine 73180", | ||
51 | .mv_nr_irqs = 108, | ||
52 | .mv_inb = sh73180se_inb, | ||
53 | .mv_inw = sh73180se_inw, | ||
54 | .mv_inl = sh73180se_inl, | ||
55 | .mv_outb = sh73180se_outb, | ||
56 | .mv_outw = sh73180se_outw, | ||
57 | .mv_outl = sh73180se_outl, | ||
58 | |||
59 | .mv_inb_p = sh73180se_inb_p, | ||
60 | .mv_inw_p = sh73180se_inw, | ||
61 | .mv_inl_p = sh73180se_inl, | ||
62 | .mv_outb_p = sh73180se_outb_p, | ||
63 | .mv_outw_p = sh73180se_outw, | ||
64 | .mv_outl_p = sh73180se_outl, | ||
65 | |||
66 | .mv_insb = sh73180se_insb, | ||
67 | .mv_insw = sh73180se_insw, | ||
68 | .mv_insl = sh73180se_insl, | ||
69 | .mv_outsb = sh73180se_outsb, | ||
70 | .mv_outsw = sh73180se_outsw, | ||
71 | .mv_outsl = sh73180se_outsl, | ||
72 | |||
73 | .mv_init_irq = init_73180se_IRQ, | ||
74 | .mv_irq_demux = shmse_irq_demux, | ||
75 | }; | ||
diff --git a/arch/sh/configs/se73180_defconfig b/arch/sh/configs/se73180_defconfig deleted file mode 100644 index 1a766153cbb0..000000000000 --- a/arch/sh/configs/se73180_defconfig +++ /dev/null | |||
@@ -1,648 +0,0 @@ | |||
1 | # | ||
2 | # Automatically generated make config: don't edit | ||
3 | # Linux kernel version: 2.6.18 | ||
4 | # Tue Oct 3 11:44:45 2006 | ||
5 | # | ||
6 | CONFIG_SUPERH=y | ||
7 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
8 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
9 | CONFIG_GENERIC_HWEIGHT=y | ||
10 | CONFIG_GENERIC_HARDIRQS=y | ||
11 | CONFIG_GENERIC_IRQ_PROBE=y | ||
12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | ||
13 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
14 | |||
15 | # | ||
16 | # Code maturity level options | ||
17 | # | ||
18 | CONFIG_EXPERIMENTAL=y | ||
19 | CONFIG_BROKEN_ON_SMP=y | ||
20 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
21 | |||
22 | # | ||
23 | # General setup | ||
24 | # | ||
25 | CONFIG_LOCALVERSION="" | ||
26 | CONFIG_LOCALVERSION_AUTO=y | ||
27 | CONFIG_SWAP=y | ||
28 | # CONFIG_SYSVIPC is not set | ||
29 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
30 | # CONFIG_UTS_NS is not set | ||
31 | # CONFIG_IKCONFIG is not set | ||
32 | # CONFIG_RELAY is not set | ||
33 | CONFIG_INITRAMFS_SOURCE="" | ||
34 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
35 | CONFIG_SYSCTL=y | ||
36 | CONFIG_EMBEDDED=y | ||
37 | CONFIG_UID16=y | ||
38 | # CONFIG_SYSCTL_SYSCALL is not set | ||
39 | # CONFIG_KALLSYMS is not set | ||
40 | # CONFIG_HOTPLUG is not set | ||
41 | CONFIG_PRINTK=y | ||
42 | CONFIG_BUG=y | ||
43 | CONFIG_ELF_CORE=y | ||
44 | CONFIG_BASE_FULL=y | ||
45 | # CONFIG_FUTEX is not set | ||
46 | # CONFIG_EPOLL is not set | ||
47 | CONFIG_SHMEM=y | ||
48 | CONFIG_SLAB=y | ||
49 | CONFIG_VM_EVENT_COUNTERS=y | ||
50 | # CONFIG_TINY_SHMEM is not set | ||
51 | CONFIG_BASE_SMALL=0 | ||
52 | # CONFIG_SLOB is not set | ||
53 | |||
54 | # | ||
55 | # Loadable module support | ||
56 | # | ||
57 | CONFIG_MODULES=y | ||
58 | # CONFIG_MODULE_UNLOAD is not set | ||
59 | # CONFIG_MODVERSIONS is not set | ||
60 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
61 | # CONFIG_KMOD is not set | ||
62 | |||
63 | # | ||
64 | # Block layer | ||
65 | # | ||
66 | CONFIG_BLOCK=y | ||
67 | # CONFIG_LBD is not set | ||
68 | # CONFIG_LSF is not set | ||
69 | |||
70 | # | ||
71 | # IO Schedulers | ||
72 | # | ||
73 | CONFIG_IOSCHED_NOOP=y | ||
74 | # CONFIG_IOSCHED_AS is not set | ||
75 | # CONFIG_IOSCHED_DEADLINE is not set | ||
76 | # CONFIG_IOSCHED_CFQ is not set | ||
77 | # CONFIG_DEFAULT_AS is not set | ||
78 | # CONFIG_DEFAULT_DEADLINE is not set | ||
79 | # CONFIG_DEFAULT_CFQ is not set | ||
80 | CONFIG_DEFAULT_NOOP=y | ||
81 | CONFIG_DEFAULT_IOSCHED="noop" | ||
82 | |||
83 | # | ||
84 | # System type | ||
85 | # | ||
86 | CONFIG_SOLUTION_ENGINE=y | ||
87 | # CONFIG_SH_SOLUTION_ENGINE is not set | ||
88 | # CONFIG_SH_7751_SOLUTION_ENGINE is not set | ||
89 | # CONFIG_SH_7300_SOLUTION_ENGINE is not set | ||
90 | # CONFIG_SH_7343_SOLUTION_ENGINE is not set | ||
91 | CONFIG_SH_73180_SOLUTION_ENGINE=y | ||
92 | # CONFIG_SH_7751_SYSTEMH is not set | ||
93 | # CONFIG_SH_HP6XX is not set | ||
94 | # CONFIG_SH_EC3104 is not set | ||
95 | # CONFIG_SH_SATURN is not set | ||
96 | # CONFIG_SH_DREAMCAST is not set | ||
97 | # CONFIG_SH_BIGSUR is not set | ||
98 | # CONFIG_SH_MPC1211 is not set | ||
99 | # CONFIG_SH_SH03 is not set | ||
100 | # CONFIG_SH_SECUREEDGE5410 is not set | ||
101 | # CONFIG_SH_HS7751RVOIP is not set | ||
102 | # CONFIG_SH_7710VOIPGW is not set | ||
103 | # CONFIG_SH_RTS7751R2D is not set | ||
104 | # CONFIG_SH_R7780RP is not set | ||
105 | # CONFIG_SH_EDOSK7705 is not set | ||
106 | # CONFIG_SH_SH4202_MICRODEV is not set | ||
107 | # CONFIG_SH_LANDISK is not set | ||
108 | # CONFIG_SH_TITAN is not set | ||
109 | # CONFIG_SH_SHMIN is not set | ||
110 | # CONFIG_SH_UNKNOWN is not set | ||
111 | |||
112 | # | ||
113 | # Processor selection | ||
114 | # | ||
115 | CONFIG_CPU_SH4=y | ||
116 | CONFIG_CPU_SH4A=y | ||
117 | CONFIG_CPU_SH4AL_DSP=y | ||
118 | |||
119 | # | ||
120 | # SH-2 Processor Support | ||
121 | # | ||
122 | # CONFIG_CPU_SUBTYPE_SH7604 is not set | ||
123 | |||
124 | # | ||
125 | # SH-3 Processor Support | ||
126 | # | ||
127 | # CONFIG_CPU_SUBTYPE_SH7300 is not set | ||
128 | # CONFIG_CPU_SUBTYPE_SH7705 is not set | ||
129 | # CONFIG_CPU_SUBTYPE_SH7706 is not set | ||
130 | # CONFIG_CPU_SUBTYPE_SH7707 is not set | ||
131 | # CONFIG_CPU_SUBTYPE_SH7708 is not set | ||
132 | # CONFIG_CPU_SUBTYPE_SH7709 is not set | ||
133 | # CONFIG_CPU_SUBTYPE_SH7710 is not set | ||
134 | |||
135 | # | ||
136 | # SH-4 Processor Support | ||
137 | # | ||
138 | # CONFIG_CPU_SUBTYPE_SH7750 is not set | ||
139 | # CONFIG_CPU_SUBTYPE_SH7091 is not set | ||
140 | # CONFIG_CPU_SUBTYPE_SH7750R is not set | ||
141 | # CONFIG_CPU_SUBTYPE_SH7750S is not set | ||
142 | # CONFIG_CPU_SUBTYPE_SH7751 is not set | ||
143 | # CONFIG_CPU_SUBTYPE_SH7751R is not set | ||
144 | # CONFIG_CPU_SUBTYPE_SH7760 is not set | ||
145 | # CONFIG_CPU_SUBTYPE_SH4_202 is not set | ||
146 | |||
147 | # | ||
148 | # ST40 Processor Support | ||
149 | # | ||
150 | # CONFIG_CPU_SUBTYPE_ST40STB1 is not set | ||
151 | # CONFIG_CPU_SUBTYPE_ST40GX1 is not set | ||
152 | |||
153 | # | ||
154 | # SH-4A Processor Support | ||
155 | # | ||
156 | # CONFIG_CPU_SUBTYPE_SH7770 is not set | ||
157 | # CONFIG_CPU_SUBTYPE_SH7780 is not set | ||
158 | |||
159 | # | ||
160 | # SH4AL-DSP Processor Support | ||
161 | # | ||
162 | CONFIG_CPU_SUBTYPE_SH73180=y | ||
163 | # CONFIG_CPU_SUBTYPE_SH7343 is not set | ||
164 | |||
165 | # | ||
166 | # Memory management options | ||
167 | # | ||
168 | CONFIG_MMU=y | ||
169 | CONFIG_PAGE_OFFSET=0x80000000 | ||
170 | CONFIG_MEMORY_START=0x0c000000 | ||
171 | CONFIG_MEMORY_SIZE=0x02000000 | ||
172 | CONFIG_32BIT=y | ||
173 | CONFIG_VSYSCALL=y | ||
174 | CONFIG_SELECT_MEMORY_MODEL=y | ||
175 | CONFIG_FLATMEM_MANUAL=y | ||
176 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
177 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
178 | CONFIG_FLATMEM=y | ||
179 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
180 | # CONFIG_SPARSEMEM_STATIC is not set | ||
181 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
182 | # CONFIG_RESOURCES_64BIT is not set | ||
183 | |||
184 | # | ||
185 | # Cache configuration | ||
186 | # | ||
187 | # CONFIG_SH_DIRECT_MAPPED is not set | ||
188 | # CONFIG_SH_WRITETHROUGH is not set | ||
189 | # CONFIG_SH_OCRAM is not set | ||
190 | |||
191 | # | ||
192 | # Processor features | ||
193 | # | ||
194 | CONFIG_CPU_LITTLE_ENDIAN=y | ||
195 | # CONFIG_SH_FPU is not set | ||
196 | # CONFIG_SH_FPU_EMU is not set | ||
197 | CONFIG_SH_DSP=y | ||
198 | # CONFIG_SH_STORE_QUEUES is not set | ||
199 | CONFIG_CPU_HAS_INTEVT=y | ||
200 | CONFIG_CPU_HAS_SR_RB=y | ||
201 | |||
202 | # | ||
203 | # Timer support | ||
204 | # | ||
205 | CONFIG_SH_TMU=y | ||
206 | CONFIG_SH_PCLK_FREQ=27000000 | ||
207 | |||
208 | # | ||
209 | # CPU Frequency scaling | ||
210 | # | ||
211 | # CONFIG_CPU_FREQ is not set | ||
212 | |||
213 | # | ||
214 | # DMA support | ||
215 | # | ||
216 | # CONFIG_SH_DMA is not set | ||
217 | |||
218 | # | ||
219 | # Companion Chips | ||
220 | # | ||
221 | # CONFIG_HD6446X_SERIES is not set | ||
222 | CONFIG_HEARTBEAT=y | ||
223 | |||
224 | # | ||
225 | # Kernel features | ||
226 | # | ||
227 | # CONFIG_HZ_100 is not set | ||
228 | CONFIG_HZ_250=y | ||
229 | # CONFIG_HZ_1000 is not set | ||
230 | CONFIG_HZ=250 | ||
231 | # CONFIG_KEXEC is not set | ||
232 | # CONFIG_SMP is not set | ||
233 | CONFIG_PREEMPT_NONE=y | ||
234 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
235 | # CONFIG_PREEMPT is not set | ||
236 | |||
237 | # | ||
238 | # Boot options | ||
239 | # | ||
240 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 | ||
241 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | ||
242 | # CONFIG_UBC_WAKEUP is not set | ||
243 | CONFIG_CMDLINE_BOOL=y | ||
244 | CONFIG_CMDLINE="console=ttySC0,38400 root=/dev/ram" | ||
245 | |||
246 | # | ||
247 | # Bus options | ||
248 | # | ||
249 | # CONFIG_PCI is not set | ||
250 | |||
251 | # | ||
252 | # PCCARD (PCMCIA/CardBus) support | ||
253 | # | ||
254 | |||
255 | # | ||
256 | # PCI Hotplug Support | ||
257 | # | ||
258 | |||
259 | # | ||
260 | # Executable file formats | ||
261 | # | ||
262 | CONFIG_BINFMT_ELF=y | ||
263 | # CONFIG_BINFMT_FLAT is not set | ||
264 | # CONFIG_BINFMT_MISC is not set | ||
265 | |||
266 | # | ||
267 | # Power management options (EXPERIMENTAL) | ||
268 | # | ||
269 | # CONFIG_PM is not set | ||
270 | |||
271 | # | ||
272 | # Networking | ||
273 | # | ||
274 | # CONFIG_NET is not set | ||
275 | |||
276 | # | ||
277 | # Device Drivers | ||
278 | # | ||
279 | |||
280 | # | ||
281 | # Generic Driver Options | ||
282 | # | ||
283 | CONFIG_STANDALONE=y | ||
284 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
285 | # CONFIG_SYS_HYPERVISOR is not set | ||
286 | |||
287 | # | ||
288 | # Connector - unified userspace <-> kernelspace linker | ||
289 | # | ||
290 | |||
291 | # | ||
292 | # Memory Technology Devices (MTD) | ||
293 | # | ||
294 | # CONFIG_MTD is not set | ||
295 | |||
296 | # | ||
297 | # Parallel port support | ||
298 | # | ||
299 | # CONFIG_PARPORT is not set | ||
300 | |||
301 | # | ||
302 | # Plug and Play support | ||
303 | # | ||
304 | |||
305 | # | ||
306 | # Block devices | ||
307 | # | ||
308 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
309 | CONFIG_BLK_DEV_LOOP=y | ||
310 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
311 | CONFIG_BLK_DEV_RAM=y | ||
312 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
313 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
314 | CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 | ||
315 | CONFIG_BLK_DEV_INITRD=y | ||
316 | # CONFIG_CDROM_PKTCDVD is not set | ||
317 | |||
318 | # | ||
319 | # ATA/ATAPI/MFM/RLL support | ||
320 | # | ||
321 | # CONFIG_IDE is not set | ||
322 | |||
323 | # | ||
324 | # SCSI device support | ||
325 | # | ||
326 | # CONFIG_RAID_ATTRS is not set | ||
327 | # CONFIG_SCSI is not set | ||
328 | # CONFIG_SCSI_NETLINK is not set | ||
329 | |||
330 | # | ||
331 | # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||
332 | # | ||
333 | # CONFIG_ATA is not set | ||
334 | |||
335 | # | ||
336 | # Multi-device support (RAID and LVM) | ||
337 | # | ||
338 | # CONFIG_MD is not set | ||
339 | |||
340 | # | ||
341 | # Fusion MPT device support | ||
342 | # | ||
343 | # CONFIG_FUSION is not set | ||
344 | |||
345 | # | ||
346 | # IEEE 1394 (FireWire) support | ||
347 | # | ||
348 | |||
349 | # | ||
350 | # I2O device support | ||
351 | # | ||
352 | |||
353 | # | ||
354 | # ISDN subsystem | ||
355 | # | ||
356 | |||
357 | # | ||
358 | # Telephony Support | ||
359 | # | ||
360 | # CONFIG_PHONE is not set | ||
361 | |||
362 | # | ||
363 | # Input device support | ||
364 | # | ||
365 | # CONFIG_INPUT is not set | ||
366 | |||
367 | # | ||
368 | # Hardware I/O ports | ||
369 | # | ||
370 | # CONFIG_SERIO is not set | ||
371 | # CONFIG_GAMEPORT is not set | ||
372 | |||
373 | # | ||
374 | # Character devices | ||
375 | # | ||
376 | # CONFIG_VT is not set | ||
377 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
378 | |||
379 | # | ||
380 | # Serial drivers | ||
381 | # | ||
382 | # CONFIG_SERIAL_8250 is not set | ||
383 | |||
384 | # | ||
385 | # Non-8250 serial port support | ||
386 | # | ||
387 | CONFIG_SERIAL_SH_SCI=y | ||
388 | CONFIG_SERIAL_SH_SCI_NR_UARTS=2 | ||
389 | CONFIG_SERIAL_SH_SCI_CONSOLE=y | ||
390 | CONFIG_SERIAL_CORE=y | ||
391 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
392 | # CONFIG_UNIX98_PTYS is not set | ||
393 | # CONFIG_LEGACY_PTYS is not set | ||
394 | |||
395 | # | ||
396 | # IPMI | ||
397 | # | ||
398 | # CONFIG_IPMI_HANDLER is not set | ||
399 | |||
400 | # | ||
401 | # Watchdog Cards | ||
402 | # | ||
403 | CONFIG_WATCHDOG=y | ||
404 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
405 | |||
406 | # | ||
407 | # Watchdog Device Drivers | ||
408 | # | ||
409 | # CONFIG_SOFT_WATCHDOG is not set | ||
410 | # CONFIG_SH_WDT is not set | ||
411 | CONFIG_HW_RANDOM=y | ||
412 | # CONFIG_GEN_RTC is not set | ||
413 | # CONFIG_DTLK is not set | ||
414 | # CONFIG_R3964 is not set | ||
415 | |||
416 | # | ||
417 | # Ftape, the floppy tape device driver | ||
418 | # | ||
419 | # CONFIG_RAW_DRIVER is not set | ||
420 | |||
421 | # | ||
422 | # TPM devices | ||
423 | # | ||
424 | # CONFIG_TCG_TPM is not set | ||
425 | # CONFIG_TELCLOCK is not set | ||
426 | |||
427 | # | ||
428 | # I2C support | ||
429 | # | ||
430 | # CONFIG_I2C is not set | ||
431 | |||
432 | # | ||
433 | # SPI support | ||
434 | # | ||
435 | # CONFIG_SPI is not set | ||
436 | # CONFIG_SPI_MASTER is not set | ||
437 | |||
438 | # | ||
439 | # Dallas's 1-wire bus | ||
440 | # | ||
441 | |||
442 | # | ||
443 | # Hardware Monitoring support | ||
444 | # | ||
445 | CONFIG_HWMON=y | ||
446 | # CONFIG_HWMON_VID is not set | ||
447 | # CONFIG_SENSORS_ABITUGURU is not set | ||
448 | # CONFIG_SENSORS_F71805F is not set | ||
449 | # CONFIG_SENSORS_VT1211 is not set | ||
450 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
451 | |||
452 | # | ||
453 | # Misc devices | ||
454 | # | ||
455 | |||
456 | # | ||
457 | # Multimedia devices | ||
458 | # | ||
459 | # CONFIG_VIDEO_DEV is not set | ||
460 | CONFIG_VIDEO_V4L2=y | ||
461 | |||
462 | # | ||
463 | # Digital Video Broadcasting Devices | ||
464 | # | ||
465 | |||
466 | # | ||
467 | # Graphics support | ||
468 | # | ||
469 | CONFIG_FIRMWARE_EDID=y | ||
470 | # CONFIG_FB is not set | ||
471 | |||
472 | # | ||
473 | # Sound | ||
474 | # | ||
475 | # CONFIG_SOUND is not set | ||
476 | |||
477 | # | ||
478 | # USB support | ||
479 | # | ||
480 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
481 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
482 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
483 | |||
484 | # | ||
485 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||
486 | # | ||
487 | |||
488 | # | ||
489 | # USB Gadget Support | ||
490 | # | ||
491 | # CONFIG_USB_GADGET is not set | ||
492 | |||
493 | # | ||
494 | # MMC/SD Card support | ||
495 | # | ||
496 | # CONFIG_MMC is not set | ||
497 | |||
498 | # | ||
499 | # LED devices | ||
500 | # | ||
501 | # CONFIG_NEW_LEDS is not set | ||
502 | |||
503 | # | ||
504 | # LED drivers | ||
505 | # | ||
506 | |||
507 | # | ||
508 | # LED Triggers | ||
509 | # | ||
510 | |||
511 | # | ||
512 | # InfiniBand support | ||
513 | # | ||
514 | |||
515 | # | ||
516 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||
517 | # | ||
518 | |||
519 | # | ||
520 | # Real Time Clock | ||
521 | # | ||
522 | # CONFIG_RTC_CLASS is not set | ||
523 | |||
524 | # | ||
525 | # DMA Engine support | ||
526 | # | ||
527 | # CONFIG_DMA_ENGINE is not set | ||
528 | |||
529 | # | ||
530 | # DMA Clients | ||
531 | # | ||
532 | |||
533 | # | ||
534 | # DMA Devices | ||
535 | # | ||
536 | |||
537 | # | ||
538 | # File systems | ||
539 | # | ||
540 | CONFIG_EXT2_FS=y | ||
541 | # CONFIG_EXT2_FS_XATTR is not set | ||
542 | # CONFIG_EXT2_FS_XIP is not set | ||
543 | # CONFIG_EXT3_FS is not set | ||
544 | # CONFIG_REISERFS_FS is not set | ||
545 | # CONFIG_JFS_FS is not set | ||
546 | # CONFIG_FS_POSIX_ACL is not set | ||
547 | # CONFIG_XFS_FS is not set | ||
548 | # CONFIG_MINIX_FS is not set | ||
549 | # CONFIG_ROMFS_FS is not set | ||
550 | CONFIG_INOTIFY=y | ||
551 | CONFIG_INOTIFY_USER=y | ||
552 | # CONFIG_QUOTA is not set | ||
553 | CONFIG_DNOTIFY=y | ||
554 | # CONFIG_AUTOFS_FS is not set | ||
555 | # CONFIG_AUTOFS4_FS is not set | ||
556 | # CONFIG_FUSE_FS is not set | ||
557 | |||
558 | # | ||
559 | # CD-ROM/DVD Filesystems | ||
560 | # | ||
561 | # CONFIG_ISO9660_FS is not set | ||
562 | # CONFIG_UDF_FS is not set | ||
563 | |||
564 | # | ||
565 | # DOS/FAT/NT Filesystems | ||
566 | # | ||
567 | # CONFIG_MSDOS_FS is not set | ||
568 | # CONFIG_VFAT_FS is not set | ||
569 | # CONFIG_NTFS_FS is not set | ||
570 | |||
571 | # | ||
572 | # Pseudo filesystems | ||
573 | # | ||
574 | CONFIG_PROC_FS=y | ||
575 | CONFIG_PROC_KCORE=y | ||
576 | CONFIG_PROC_SYSCTL=y | ||
577 | # CONFIG_SYSFS is not set | ||
578 | CONFIG_TMPFS=y | ||
579 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
580 | # CONFIG_HUGETLBFS is not set | ||
581 | # CONFIG_HUGETLB_PAGE is not set | ||
582 | CONFIG_RAMFS=y | ||
583 | |||
584 | # | ||
585 | # Miscellaneous filesystems | ||
586 | # | ||
587 | # CONFIG_ADFS_FS is not set | ||
588 | # CONFIG_AFFS_FS is not set | ||
589 | # CONFIG_HFS_FS is not set | ||
590 | # CONFIG_HFSPLUS_FS is not set | ||
591 | # CONFIG_BEFS_FS is not set | ||
592 | # CONFIG_BFS_FS is not set | ||
593 | # CONFIG_EFS_FS is not set | ||
594 | # CONFIG_CRAMFS is not set | ||
595 | # CONFIG_VXFS_FS is not set | ||
596 | # CONFIG_HPFS_FS is not set | ||
597 | # CONFIG_QNX4FS_FS is not set | ||
598 | # CONFIG_SYSV_FS is not set | ||
599 | # CONFIG_UFS_FS is not set | ||
600 | |||
601 | # | ||
602 | # Partition Types | ||
603 | # | ||
604 | # CONFIG_PARTITION_ADVANCED is not set | ||
605 | CONFIG_MSDOS_PARTITION=y | ||
606 | |||
607 | # | ||
608 | # Native Language Support | ||
609 | # | ||
610 | # CONFIG_NLS is not set | ||
611 | |||
612 | # | ||
613 | # Profiling support | ||
614 | # | ||
615 | # CONFIG_PROFILING is not set | ||
616 | |||
617 | # | ||
618 | # Kernel hacking | ||
619 | # | ||
620 | # CONFIG_PRINTK_TIME is not set | ||
621 | CONFIG_ENABLE_MUST_CHECK=y | ||
622 | # CONFIG_MAGIC_SYSRQ is not set | ||
623 | # CONFIG_UNUSED_SYMBOLS is not set | ||
624 | # CONFIG_DEBUG_KERNEL is not set | ||
625 | CONFIG_LOG_BUF_SHIFT=14 | ||
626 | # CONFIG_DEBUG_BUGVERBOSE is not set | ||
627 | CONFIG_SH_STANDARD_BIOS=y | ||
628 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
629 | # CONFIG_EARLY_PRINTK is not set | ||
630 | # CONFIG_KGDB is not set | ||
631 | |||
632 | # | ||
633 | # Security options | ||
634 | # | ||
635 | # CONFIG_KEYS is not set | ||
636 | |||
637 | # | ||
638 | # Cryptographic options | ||
639 | # | ||
640 | # CONFIG_CRYPTO is not set | ||
641 | |||
642 | # | ||
643 | # Library routines | ||
644 | # | ||
645 | # CONFIG_CRC_CCITT is not set | ||
646 | # CONFIG_CRC16 is not set | ||
647 | CONFIG_CRC32=y | ||
648 | # CONFIG_LIBCRC32C is not set | ||
diff --git a/arch/sh/kernel/cpu/sh4/probe.c b/arch/sh/kernel/cpu/sh4/probe.c index 66c3f75647b2..98d28fb1ce16 100644 --- a/arch/sh/kernel/cpu/sh4/probe.c +++ b/arch/sh/kernel/cpu/sh4/probe.c | |||
@@ -90,12 +90,6 @@ int __init detect_cpu_and_cache_system(void) | |||
90 | current_cpu_data.type = CPU_SH7751; | 90 | current_cpu_data.type = CPU_SH7751; |
91 | current_cpu_data.flags |= CPU_HAS_FPU; | 91 | current_cpu_data.flags |= CPU_HAS_FPU; |
92 | break; | 92 | break; |
93 | case 0x2000: | ||
94 | current_cpu_data.type = CPU_SH73180; | ||
95 | current_cpu_data.icache.ways = 4; | ||
96 | current_cpu_data.dcache.ways = 4; | ||
97 | current_cpu_data.flags |= CPU_HAS_LLSC; | ||
98 | break; | ||
99 | case 0x2001: | 93 | case 0x2001: |
100 | case 0x2004: | 94 | case 0x2004: |
101 | current_cpu_data.type = CPU_SH7770; | 95 | current_cpu_data.type = CPU_SH7770; |
diff --git a/arch/sh/kernel/cpu/sh4a/Makefile b/arch/sh/kernel/cpu/sh4a/Makefile index 400623286487..e6a1fb5f8484 100644 --- a/arch/sh/kernel/cpu/sh4a/Makefile +++ b/arch/sh/kernel/cpu/sh4a/Makefile | |||
@@ -6,13 +6,11 @@ | |||
6 | obj-$(CONFIG_CPU_SUBTYPE_SH7770) += setup-sh7770.o | 6 | obj-$(CONFIG_CPU_SUBTYPE_SH7770) += setup-sh7770.o |
7 | obj-$(CONFIG_CPU_SUBTYPE_SH7780) += setup-sh7780.o | 7 | obj-$(CONFIG_CPU_SUBTYPE_SH7780) += setup-sh7780.o |
8 | obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o | 8 | obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o |
9 | obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o | ||
10 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o | 9 | obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o |
11 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o | 10 | obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o |
12 | obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o | 11 | obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o |
13 | 12 | ||
14 | # Primary on-chip clocks (common) | 13 | # Primary on-chip clocks (common) |
15 | clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o | ||
16 | clock-$(CONFIG_CPU_SUBTYPE_SH7770) := clock-sh7770.o | 14 | clock-$(CONFIG_CPU_SUBTYPE_SH7770) := clock-sh7770.o |
17 | clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o | 15 | clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o |
18 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o | 16 | clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o |
diff --git a/arch/sh/kernel/cpu/sh4a/clock-sh73180.c b/arch/sh/kernel/cpu/sh4a/clock-sh73180.c deleted file mode 100644 index 6d5ba373a75e..000000000000 --- a/arch/sh/kernel/cpu/sh4a/clock-sh73180.c +++ /dev/null | |||
@@ -1,81 +0,0 @@ | |||
1 | /* | ||
2 | * arch/sh/kernel/cpu/sh4a/clock-sh73180.c | ||
3 | * | ||
4 | * SH73180 support for the clock framework | ||
5 | * | ||
6 | * Copyright (C) 2005 Paul Mundt | ||
7 | * | ||
8 | * FRQCR parsing hacked out of arch/sh/kernel/time.c | ||
9 | * | ||
10 | * Copyright (C) 1999 Tetsuya Okada & Niibe Yutaka | ||
11 | * Copyright (C) 2000 Philipp Rumpf <prumpf@tux.org> | ||
12 | * Copyright (C) 2002, 2003, 2004 Paul Mundt | ||
13 | * Copyright (C) 2002 M. R. Brown <mrbrown@linux-sh.org> | ||
14 | * | ||
15 | * This file is subject to the terms and conditions of the GNU General Public | ||
16 | * License. See the file "COPYING" in the main directory of this archive | ||
17 | * for more details. | ||
18 | */ | ||
19 | #include <linux/init.h> | ||
20 | #include <linux/kernel.h> | ||
21 | #include <asm/clock.h> | ||
22 | #include <asm/freq.h> | ||
23 | #include <asm/io.h> | ||
24 | |||
25 | /* | ||
26 | * SH73180 uses a common set of divisors, so this is quite simple.. | ||
27 | */ | ||
28 | static int divisors[] = { 1, 2, 3, 4, 6, 8, 12, 16 }; | ||
29 | |||
30 | static void master_clk_init(struct clk *clk) | ||
31 | { | ||
32 | clk->rate *= divisors[ctrl_inl(FRQCR) & 0x0007]; | ||
33 | } | ||
34 | |||
35 | static struct clk_ops sh73180_master_clk_ops = { | ||
36 | .init = master_clk_init, | ||
37 | }; | ||
38 | |||
39 | static void module_clk_recalc(struct clk *clk) | ||
40 | { | ||
41 | int idx = (ctrl_inl(FRQCR) & 0x0007); | ||
42 | clk->rate = clk->parent->rate / divisors[idx]; | ||
43 | } | ||
44 | |||
45 | static struct clk_ops sh73180_module_clk_ops = { | ||
46 | .recalc = module_clk_recalc, | ||
47 | }; | ||
48 | |||
49 | static void bus_clk_recalc(struct clk *clk) | ||
50 | { | ||
51 | int idx = (ctrl_inl(FRQCR) >> 12) & 0x0007; | ||
52 | clk->rate = clk->parent->rate / divisors[idx]; | ||
53 | } | ||
54 | |||
55 | static struct clk_ops sh73180_bus_clk_ops = { | ||
56 | .recalc = bus_clk_recalc, | ||
57 | }; | ||
58 | |||
59 | static void cpu_clk_recalc(struct clk *clk) | ||
60 | { | ||
61 | int idx = (ctrl_inl(FRQCR) >> 20) & 0x0007; | ||
62 | clk->rate = clk->parent->rate / divisors[idx]; | ||
63 | } | ||
64 | |||
65 | static struct clk_ops sh73180_cpu_clk_ops = { | ||
66 | .recalc = cpu_clk_recalc, | ||
67 | }; | ||
68 | |||
69 | static struct clk_ops *sh73180_clk_ops[] = { | ||
70 | &sh73180_master_clk_ops, | ||
71 | &sh73180_module_clk_ops, | ||
72 | &sh73180_bus_clk_ops, | ||
73 | &sh73180_cpu_clk_ops, | ||
74 | }; | ||
75 | |||
76 | void __init arch_init_clk_ops(struct clk_ops **ops, int idx) | ||
77 | { | ||
78 | if (idx < ARRAY_SIZE(sh73180_clk_ops)) | ||
79 | *ops = sh73180_clk_ops[idx]; | ||
80 | } | ||
81 | |||
diff --git a/arch/sh/kernel/cpu/sh4a/setup-sh73180.c b/arch/sh/kernel/cpu/sh4a/setup-sh73180.c deleted file mode 100644 index cc9ea1e2e5df..000000000000 --- a/arch/sh/kernel/cpu/sh4a/setup-sh73180.c +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * SH73180 Setup | ||
3 | * | ||
4 | * Copyright (C) 2006 Paul Mundt | ||
5 | * | ||
6 | * This file is subject to the terms and conditions of the GNU General Public | ||
7 | * License. See the file "COPYING" in the main directory of this archive | ||
8 | * for more details. | ||
9 | */ | ||
10 | #include <linux/platform_device.h> | ||
11 | #include <linux/init.h> | ||
12 | #include <linux/serial.h> | ||
13 | #include <asm/sci.h> | ||
14 | |||
15 | static struct plat_sci_port sci_platform_data[] = { | ||
16 | { | ||
17 | .mapbase = 0xffe80000, | ||
18 | .flags = UPF_BOOT_AUTOCONF, | ||
19 | .type = PORT_SCIF, | ||
20 | .irqs = { 80, 81, 83, 82 }, | ||
21 | }, { | ||
22 | .flags = 0, | ||
23 | } | ||
24 | }; | ||
25 | |||
26 | static struct platform_device sci_device = { | ||
27 | .name = "sh-sci", | ||
28 | .id = -1, | ||
29 | .dev = { | ||
30 | .platform_data = sci_platform_data, | ||
31 | }, | ||
32 | }; | ||
33 | |||
34 | static struct platform_device *sh73180_devices[] __initdata = { | ||
35 | &sci_device, | ||
36 | }; | ||
37 | |||
38 | static int __init sh73180_devices_setup(void) | ||
39 | { | ||
40 | return platform_add_devices(sh73180_devices, | ||
41 | ARRAY_SIZE(sh73180_devices)); | ||
42 | } | ||
43 | __initcall(sh73180_devices_setup); | ||
diff --git a/arch/sh/kernel/setup.c b/arch/sh/kernel/setup.c index c14a3e95d0b1..af766b6cd3c1 100644 --- a/arch/sh/kernel/setup.c +++ b/arch/sh/kernel/setup.c | |||
@@ -284,7 +284,7 @@ static const char *cpu_name[] = { | |||
284 | [CPU_SH7729] = "SH7729", [CPU_SH7750] = "SH7750", | 284 | [CPU_SH7729] = "SH7729", [CPU_SH7750] = "SH7750", |
285 | [CPU_SH7750S] = "SH7750S", [CPU_SH7750R] = "SH7750R", | 285 | [CPU_SH7750S] = "SH7750S", [CPU_SH7750R] = "SH7750R", |
286 | [CPU_SH7751] = "SH7751", [CPU_SH7751R] = "SH7751R", | 286 | [CPU_SH7751] = "SH7751", [CPU_SH7751R] = "SH7751R", |
287 | [CPU_SH7760] = "SH7760", [CPU_SH73180] = "SH73180", | 287 | [CPU_SH7760] = "SH7760", |
288 | [CPU_ST40RA] = "ST40RA", [CPU_ST40GX1] = "ST40GX1", | 288 | [CPU_ST40RA] = "ST40RA", [CPU_ST40GX1] = "ST40GX1", |
289 | [CPU_SH4_202] = "SH4-202", [CPU_SH4_501] = "SH4-501", | 289 | [CPU_SH4_202] = "SH4-202", [CPU_SH4_501] = "SH4-501", |
290 | [CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780", | 290 | [CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780", |
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 0fc1e8ea779e..03f7b988d5dd 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -202,10 +202,6 @@ config CPU_SUBTYPE_SHX3 | |||
202 | 202 | ||
203 | # SH4AL-DSP Processor Support | 203 | # SH4AL-DSP Processor Support |
204 | 204 | ||
205 | config CPU_SUBTYPE_SH73180 | ||
206 | bool "Support SH73180 processor" | ||
207 | select CPU_SH4AL_DSP | ||
208 | |||
209 | config CPU_SUBTYPE_SH7343 | 205 | config CPU_SUBTYPE_SH7343 |
210 | bool "Support SH7343 processor" | 206 | bool "Support SH7343 processor" |
211 | select CPU_SH4AL_DSP | 207 | select CPU_SH4AL_DSP |