aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sh/Kconfig10
-rw-r--r--arch/sh/Makefile1
-rw-r--r--arch/sh/boards/se/73180/Makefile5
-rw-r--r--arch/sh/boards/se/73180/io.c268
-rw-r--r--arch/sh/boards/se/73180/irq.c136
-rw-r--r--arch/sh/boards/se/73180/setup.c75
-rw-r--r--arch/sh/configs/se73180_defconfig648
-rw-r--r--arch/sh/kernel/cpu/sh4/probe.c6
-rw-r--r--arch/sh/kernel/cpu/sh4a/Makefile2
-rw-r--r--arch/sh/kernel/cpu/sh4a/clock-sh73180.c81
-rw-r--r--arch/sh/kernel/cpu/sh4a/setup-sh73180.c43
-rw-r--r--arch/sh/kernel/setup.c2
-rw-r--r--arch/sh/mm/Kconfig4
-rw-r--r--drivers/serial/sh-sci.h11
-rw-r--r--include/asm-sh/bugs.h2
-rw-r--r--include/asm-sh/cpu-sh4/freq.h2
-rw-r--r--include/asm-sh/processor.h2
17 files changed, 5 insertions, 1293 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
277config 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
285config SH_7751_SYSTEMH 277config 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
446config SH_PCLK_FREQ 438config 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
93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780 93machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780
94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300 94machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300
95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343 95machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343
96machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180
97machdir-$(CONFIG_SH_HP6XX) += hp6xx 96machdir-$(CONFIG_SH_HP6XX) += hp6xx
98machdir-$(CONFIG_SH_DREAMCAST) += dreamcast 97machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
99machdir-$(CONFIG_SH_MPC1211) += mpc1211 98machdir-$(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
5obj-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
17struct 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
27struct iop *
28simple_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
36struct iop *
37ide_check(struct iop *p, unsigned long port)
38{
39 if (((0x1f0 <= port) && (port <= 0x1f7)) || (port == 0x3f7))
40 return p;
41 return NULL;
42}
43
44unsigned char
45simple_inb(struct iop *p, unsigned long port)
46{
47 return *(unsigned char *) (p->base + port);
48}
49
50unsigned short
51simple_inw(struct iop *p, unsigned long port)
52{
53 return *(unsigned short *) (p->base + port);
54}
55
56void
57simple_outb(struct iop *p, unsigned char value, unsigned long port)
58{
59 *(unsigned char *) (p->base + port) = value;
60}
61
62void
63simple_outw(struct iop *p, unsigned short value, unsigned long port)
64{
65 *(unsigned short *) (p->base + port) = value;
66}
67
68unsigned char
69pcc_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
80void
81pcc_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
90unsigned char
91bad_inb(struct iop *p, unsigned long port)
92{
93 badio(inb, port);
94}
95
96void
97bad_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 */
104static 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 */
117static 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 */
130static 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
140static __inline__ struct iop *
141port2iop(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
160static inline void
161delay(void)
162{
163 ctrl_inw(0xac000000);
164 ctrl_inw(0xac000000);
165}
166
167unsigned char
168sh73180se_inb(unsigned long port)
169{
170 struct iop *p = port2iop(port);
171 return (p->inb) (p, port);
172}
173
174unsigned char
175sh73180se_inb_p(unsigned long port)
176{
177 unsigned char v = sh73180se_inb(port);
178 delay();
179 return v;
180}
181
182unsigned short
183sh73180se_inw(unsigned long port)
184{
185 struct iop *p = port2iop(port);
186 return (p->inw) (p, port);
187}
188
189unsigned int
190sh73180se_inl(unsigned long port)
191{
192 badio(inl, port);
193}
194
195void
196sh73180se_outb(unsigned char value, unsigned long port)
197{
198 struct iop *p = port2iop(port);
199 (p->outb) (p, value, port);
200}
201
202void
203sh73180se_outb_p(unsigned char value, unsigned long port)
204{
205 sh73180se_outb(value, port);
206 delay();
207}
208
209void
210sh73180se_outw(unsigned short value, unsigned long port)
211{
212 struct iop *p = port2iop(port);
213 (p->outw) (p, value, port);
214}
215
216void
217sh73180se_outl(unsigned int value, unsigned long port)
218{
219 badio(outl, port);
220}
221
222void
223sh73180se_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
231void
232sh73180se_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
240void
241sh73180se_insl(unsigned long port, void *addr, unsigned long count)
242{
243 badio(insl, port);
244}
245
246void
247sh73180se_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
255void
256sh73180se_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
264void
265sh73180se_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
18static int
19irq2intreq(int irq)
20{
21 if (irq == 10)
22 return 5;
23 return 7 - (irq - 32);
24}
25
26static void
27disable_intreq_irq(unsigned int irq)
28{
29 ctrl_outb(1 << (7 - irq2intreq(irq)), INTMSK0);
30}
31
32static void
33enable_intreq_irq(unsigned int irq)
34{
35 ctrl_outb(1 << (7 - irq2intreq(irq)), INTMSKCLR0);
36}
37
38static void
39mask_and_ack_intreq_irq(unsigned int irq)
40{
41 disable_intreq_irq(irq);
42}
43
44static unsigned int
45startup_intreq_irq(unsigned int irq)
46{
47 enable_intreq_irq(irq);
48 return 0;
49}
50
51static void
52shutdown_intreq_irq(unsigned int irq)
53{
54 disable_intreq_irq(irq);
55}
56
57static void
58end_intreq_irq(unsigned int irq)
59{
60 if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
61 enable_intreq_irq(irq);
62}
63
64static 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
74void
75make_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
82int
83shmse_irq_demux(int irq)
84{
85 if (irq == IRQ5_IRQ)
86 return 10;
87 return irq;
88}
89
90static struct ipr_data se73180_siof0_ipr_map[] = {
91 { SIOF0_IRQ, SIOF0_IPR_ADDR, SIOF0_IPR_POS, SIOF0_PRIORITY },
92};
93static struct ipr_data se73180_vpu_ipr_map[] = {
94 { VPU_IRQ, VPU_IPR_ADDR, VPU_IPR_POS, 8 },
95};
96static 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 */
118void __init
119init_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
18void init_73180se_IRQ(void);
19
20static struct resource heartbeat_resources[] = {
21 [0] = {
22 .start = PA_LED,
23 .end = PA_LED + 8 - 1,
24 .flags = IORESOURCE_MEM,
25 },
26};
27
28static struct platform_device heartbeat_device = {
29 .name = "heartbeat",
30 .id = -1,
31 .num_resources = ARRAY_SIZE(heartbeat_resources),
32 .resource = heartbeat_resources,
33};
34
35static struct platform_device *se73180_devices[] __initdata = {
36 &heartbeat_device,
37};
38
39static 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 */
49static 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#
6CONFIG_SUPERH=y
7CONFIG_RWSEM_GENERIC_SPINLOCK=y
8CONFIG_GENERIC_FIND_NEXT_BIT=y
9CONFIG_GENERIC_HWEIGHT=y
10CONFIG_GENERIC_HARDIRQS=y
11CONFIG_GENERIC_IRQ_PROBE=y
12CONFIG_GENERIC_CALIBRATE_DELAY=y
13CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
14
15#
16# Code maturity level options
17#
18CONFIG_EXPERIMENTAL=y
19CONFIG_BROKEN_ON_SMP=y
20CONFIG_INIT_ENV_ARG_LIMIT=32
21
22#
23# General setup
24#
25CONFIG_LOCALVERSION=""
26CONFIG_LOCALVERSION_AUTO=y
27CONFIG_SWAP=y
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
33CONFIG_INITRAMFS_SOURCE=""
34# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
35CONFIG_SYSCTL=y
36CONFIG_EMBEDDED=y
37CONFIG_UID16=y
38# CONFIG_SYSCTL_SYSCALL is not set
39# CONFIG_KALLSYMS is not set
40# CONFIG_HOTPLUG is not set
41CONFIG_PRINTK=y
42CONFIG_BUG=y
43CONFIG_ELF_CORE=y
44CONFIG_BASE_FULL=y
45# CONFIG_FUTEX is not set
46# CONFIG_EPOLL is not set
47CONFIG_SHMEM=y
48CONFIG_SLAB=y
49CONFIG_VM_EVENT_COUNTERS=y
50# CONFIG_TINY_SHMEM is not set
51CONFIG_BASE_SMALL=0
52# CONFIG_SLOB is not set
53
54#
55# Loadable module support
56#
57CONFIG_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#
66CONFIG_BLOCK=y
67# CONFIG_LBD is not set
68# CONFIG_LSF is not set
69
70#
71# IO Schedulers
72#
73CONFIG_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
80CONFIG_DEFAULT_NOOP=y
81CONFIG_DEFAULT_IOSCHED="noop"
82
83#
84# System type
85#
86CONFIG_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
91CONFIG_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#
115CONFIG_CPU_SH4=y
116CONFIG_CPU_SH4A=y
117CONFIG_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#
162CONFIG_CPU_SUBTYPE_SH73180=y
163# CONFIG_CPU_SUBTYPE_SH7343 is not set
164
165#
166# Memory management options
167#
168CONFIG_MMU=y
169CONFIG_PAGE_OFFSET=0x80000000
170CONFIG_MEMORY_START=0x0c000000
171CONFIG_MEMORY_SIZE=0x02000000
172CONFIG_32BIT=y
173CONFIG_VSYSCALL=y
174CONFIG_SELECT_MEMORY_MODEL=y
175CONFIG_FLATMEM_MANUAL=y
176# CONFIG_DISCONTIGMEM_MANUAL is not set
177# CONFIG_SPARSEMEM_MANUAL is not set
178CONFIG_FLATMEM=y
179CONFIG_FLAT_NODE_MEM_MAP=y
180# CONFIG_SPARSEMEM_STATIC is not set
181CONFIG_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#
194CONFIG_CPU_LITTLE_ENDIAN=y
195# CONFIG_SH_FPU is not set
196# CONFIG_SH_FPU_EMU is not set
197CONFIG_SH_DSP=y
198# CONFIG_SH_STORE_QUEUES is not set
199CONFIG_CPU_HAS_INTEVT=y
200CONFIG_CPU_HAS_SR_RB=y
201
202#
203# Timer support
204#
205CONFIG_SH_TMU=y
206CONFIG_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
222CONFIG_HEARTBEAT=y
223
224#
225# Kernel features
226#
227# CONFIG_HZ_100 is not set
228CONFIG_HZ_250=y
229# CONFIG_HZ_1000 is not set
230CONFIG_HZ=250
231# CONFIG_KEXEC is not set
232# CONFIG_SMP is not set
233CONFIG_PREEMPT_NONE=y
234# CONFIG_PREEMPT_VOLUNTARY is not set
235# CONFIG_PREEMPT is not set
236
237#
238# Boot options
239#
240CONFIG_ZERO_PAGE_OFFSET=0x00010000
241CONFIG_BOOT_LINK_OFFSET=0x00800000
242# CONFIG_UBC_WAKEUP is not set
243CONFIG_CMDLINE_BOOL=y
244CONFIG_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#
262CONFIG_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#
283CONFIG_STANDALONE=y
284CONFIG_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
309CONFIG_BLK_DEV_LOOP=y
310# CONFIG_BLK_DEV_CRYPTOLOOP is not set
311CONFIG_BLK_DEV_RAM=y
312CONFIG_BLK_DEV_RAM_COUNT=16
313CONFIG_BLK_DEV_RAM_SIZE=4096
314CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
315CONFIG_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#
387CONFIG_SERIAL_SH_SCI=y
388CONFIG_SERIAL_SH_SCI_NR_UARTS=2
389CONFIG_SERIAL_SH_SCI_CONSOLE=y
390CONFIG_SERIAL_CORE=y
391CONFIG_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#
403CONFIG_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
411CONFIG_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#
445CONFIG_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
460CONFIG_VIDEO_V4L2=y
461
462#
463# Digital Video Broadcasting Devices
464#
465
466#
467# Graphics support
468#
469CONFIG_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#
540CONFIG_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
550CONFIG_INOTIFY=y
551CONFIG_INOTIFY_USER=y
552# CONFIG_QUOTA is not set
553CONFIG_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#
574CONFIG_PROC_FS=y
575CONFIG_PROC_KCORE=y
576CONFIG_PROC_SYSCTL=y
577# CONFIG_SYSFS is not set
578CONFIG_TMPFS=y
579# CONFIG_TMPFS_POSIX_ACL is not set
580# CONFIG_HUGETLBFS is not set
581# CONFIG_HUGETLB_PAGE is not set
582CONFIG_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
605CONFIG_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
621CONFIG_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
625CONFIG_LOG_BUF_SHIFT=14
626# CONFIG_DEBUG_BUGVERBOSE is not set
627CONFIG_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
647CONFIG_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 @@
6obj-$(CONFIG_CPU_SUBTYPE_SH7770) += setup-sh7770.o 6obj-$(CONFIG_CPU_SUBTYPE_SH7770) += setup-sh7770.o
7obj-$(CONFIG_CPU_SUBTYPE_SH7780) += setup-sh7780.o 7obj-$(CONFIG_CPU_SUBTYPE_SH7780) += setup-sh7780.o
8obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o 8obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o
9obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o
10obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o 9obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o
11obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o 10obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o
12obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o 11obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o
13 12
14# Primary on-chip clocks (common) 13# Primary on-chip clocks (common)
15clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o
16clock-$(CONFIG_CPU_SUBTYPE_SH7770) := clock-sh7770.o 14clock-$(CONFIG_CPU_SUBTYPE_SH7770) := clock-sh7770.o
17clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o 15clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o
18clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o 16clock-$(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 */
28static int divisors[] = { 1, 2, 3, 4, 6, 8, 12, 16 };
29
30static void master_clk_init(struct clk *clk)
31{
32 clk->rate *= divisors[ctrl_inl(FRQCR) & 0x0007];
33}
34
35static struct clk_ops sh73180_master_clk_ops = {
36 .init = master_clk_init,
37};
38
39static 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
45static struct clk_ops sh73180_module_clk_ops = {
46 .recalc = module_clk_recalc,
47};
48
49static 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
55static struct clk_ops sh73180_bus_clk_ops = {
56 .recalc = bus_clk_recalc,
57};
58
59static 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
65static struct clk_ops sh73180_cpu_clk_ops = {
66 .recalc = cpu_clk_recalc,
67};
68
69static 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
76void __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
15static 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
26static struct platform_device sci_device = {
27 .name = "sh-sci",
28 .id = -1,
29 .dev = {
30 .platform_data = sci_platform_data,
31 },
32};
33
34static struct platform_device *sh73180_devices[] __initdata = {
35 &sci_device,
36};
37
38static 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
205config CPU_SUBTYPE_SH73180
206 bool "Support SH73180 processor"
207 select CPU_SH4AL_DSP
208
209config CPU_SUBTYPE_SH7343 205config CPU_SUBTYPE_SH7343
210 bool "Support SH7343 processor" 206 bool "Support SH7343 processor"
211 select CPU_SH4AL_DSP 207 select CPU_SH4AL_DSP
diff --git a/drivers/serial/sh-sci.h b/drivers/serial/sh-sci.h
index 247fb66bf0f4..dd05b3403d2f 100644
--- a/drivers/serial/sh-sci.h
+++ b/drivers/serial/sh-sci.h
@@ -86,12 +86,6 @@
86# define PBCR 0xa4050102 86# define PBCR 0xa4050102
87# define SCSCR_INIT(port) 0x3B 87# define SCSCR_INIT(port) 0x3B
88# define SCIF_ONLY 88# define SCIF_ONLY
89#elif defined(CONFIG_CPU_SUBTYPE_SH73180)
90# define SCPDR 0xA4050138 /* 16 bit SCIF */
91# define SCSPTR2 SCPDR
92# define SCIF_ORER 0x0001 /* overrun error bit */
93# define SCSCR_INIT(port) 0x0038 /* TIE=0,RIE=0,TE=1,RE=1 */
94# define SCIF_ONLY
95#elif defined(CONFIG_CPU_SUBTYPE_SH7343) 89#elif defined(CONFIG_CPU_SUBTYPE_SH7343)
96# define SCSPTR0 0xffe00010 /* 16 bit SCIF */ 90# define SCSPTR0 0xffe00010 /* 16 bit SCIF */
97# define SCSPTR1 0xffe10010 /* 16 bit SCIF */ 91# define SCSPTR1 0xffe10010 /* 16 bit SCIF */
@@ -569,11 +563,6 @@ static inline int sci_rxd_in(struct uart_port *port)
569 return ctrl_inb(SCPDR)&0x01 ? 1 : 0; /* SCIF0 */ 563 return ctrl_inb(SCPDR)&0x01 ? 1 : 0; /* SCIF0 */
570 return 1; 564 return 1;
571} 565}
572#elif defined(CONFIG_CPU_SUBTYPE_SH73180)
573static inline int sci_rxd_in(struct uart_port *port)
574{
575 return ctrl_inb(SCPDR)&0x01 ? 1 : 0; /* SCIF0 */
576}
577#elif defined(CONFIG_CPU_SUBTYPE_SH7343) 566#elif defined(CONFIG_CPU_SUBTYPE_SH7343)
578static inline int sci_rxd_in(struct uart_port *port) 567static inline int sci_rxd_in(struct uart_port *port)
579{ 568{
diff --git a/include/asm-sh/bugs.h b/include/asm-sh/bugs.h
index aeee8da9c54f..d5d7a16cbfe0 100644
--- a/include/asm-sh/bugs.h
+++ b/include/asm-sh/bugs.h
@@ -39,7 +39,7 @@ static void __init check_bugs(void)
39 *p++ = '4'; 39 *p++ = '4';
40 *p++ = 'a'; 40 *p++ = 'a';
41 break; 41 break;
42 case CPU_SH73180 ... CPU_SH7722: 42 case CPU_SH7343 ... CPU_SH7722:
43 *p++ = '4'; 43 *p++ = '4';
44 *p++ = 'a'; 44 *p++ = 'a';
45 *p++ = 'l'; 45 *p++ = 'l';
diff --git a/include/asm-sh/cpu-sh4/freq.h b/include/asm-sh/cpu-sh4/freq.h
index 026025b51cea..dc1d32a86374 100644
--- a/include/asm-sh/cpu-sh4/freq.h
+++ b/include/asm-sh/cpu-sh4/freq.h
@@ -10,7 +10,7 @@
10#ifndef __ASM_CPU_SH4_FREQ_H 10#ifndef __ASM_CPU_SH4_FREQ_H
11#define __ASM_CPU_SH4_FREQ_H 11#define __ASM_CPU_SH4_FREQ_H
12 12
13#if defined(CONFIG_CPU_SUBTYPE_SH73180) || defined(CONFIG_CPU_SUBTYPE_SH7722) 13#if defined(CONFIG_CPU_SUBTYPE_SH7722)
14#define FRQCR 0xa4150000 14#define FRQCR 0xa4150000
15#define VCLKCR 0xa4150004 15#define VCLKCR 0xa4150004
16#define SCLKACR 0xa4150008 16#define SCLKACR 0xa4150008
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h
index 2252e75daa26..7969d3a127da 100644
--- a/include/asm-sh/processor.h
+++ b/include/asm-sh/processor.h
@@ -55,7 +55,7 @@ enum cpu_type {
55 CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, CPU_SHX3, 55 CPU_SH7770, CPU_SH7780, CPU_SH7781, CPU_SH7785, CPU_SHX3,
56 56
57 /* SH4AL-DSP types */ 57 /* SH4AL-DSP types */
58 CPU_SH73180, CPU_SH7343, CPU_SH7722, 58 CPU_SH7343, CPU_SH7722,
59 59
60 /* Unknown subtype */ 60 /* Unknown subtype */
61 CPU_SH_NONE 61 CPU_SH_NONE