]> err.no Git - linux-2.6/commitdiff
sh: Kill off dead SH7604 support.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 8 Jun 2007 02:55:28 +0000 (11:55 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 8 Jun 2007 02:55:28 +0000 (11:55 +0900)
This was added during 2.5.x, but was never moved along. This
can easily be resurrected if someone has one they wish to work
with, but it's not worth keeping around in its current form.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
14 files changed:
arch/sh/Makefile
arch/sh/boards/saturn/Makefile [deleted file]
arch/sh/boards/saturn/io.c [deleted file]
arch/sh/boards/saturn/irq.c [deleted file]
arch/sh/boards/saturn/setup.c [deleted file]
arch/sh/boards/saturn/smp.c [deleted file]
arch/sh/kernel/cpu/sh2/probe.c
arch/sh/kernel/setup.c
arch/sh/mm/Kconfig
arch/sh/tools/mach-types
include/asm-sh/cpu-sh2/cache.h
include/asm-sh/processor.h
include/asm-sh/saturn/io.h [deleted file]
include/asm-sh/saturn/smpc.h [deleted file]

index aa76167ceb48bacfe629db9efd2383cb814d595a..6e1e17467a470abd5193aff5bd6a6666b7c2fe39 100644 (file)
@@ -97,7 +97,6 @@ machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE)     += se/7300
 machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE)      += se/7343
 machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE)     += se/73180
 machdir-$(CONFIG_SH_HP6XX)                     += hp6xx
-machdir-$(CONFIG_SH_SATURN)                    += saturn
 machdir-$(CONFIG_SH_DREAMCAST)                 += dreamcast
 machdir-$(CONFIG_SH_MPC1211)                   += mpc1211
 machdir-$(CONFIG_SH_SH03)                      += sh03
diff --git a/arch/sh/boards/saturn/Makefile b/arch/sh/boards/saturn/Makefile
deleted file mode 100644 (file)
index 75a3042..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-#
-# Makefile for the Sega Saturn specific parts of the kernel
-#
-
-obj-y   := setup.o io.o irq.o
-
-obj-$(CONFIG_SMP) += smp.o
-
diff --git a/arch/sh/boards/saturn/io.c b/arch/sh/boards/saturn/io.c
deleted file mode 100644 (file)
index c6e4f7f..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * arch/sh/boards/saturn/io.c
- *
- * I/O routines for the Sega Saturn.
- *
- * Copyright (C) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#include <asm/saturn/io.h>
-#include <asm/machvec.h>
-
-unsigned long saturn_isa_port2addr(unsigned long offset)
-{
-       return offset;
-}
-
-void *saturn_ioremap(unsigned long offset, unsigned long size)
-{
-       return (void *)offset;
-}
-
-void saturn_iounmap(void *addr)
-{
-}
-
diff --git a/arch/sh/boards/saturn/irq.c b/arch/sh/boards/saturn/irq.c
deleted file mode 100644 (file)
index 15d1d3f..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * arch/sh/boards/saturn/irq.c
- *
- * Copyright (C) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <asm/irq.h>
-#include <asm/io.h>
-
-/*
- * Interrupts map out as follows:
- *
- *  Vector     Name            Mask
- *
- *     64      VBLANKIN        0x0001
- *     65      VBLANKOUT       0x0002
- *     66      HBLANKIN        0x0004
- *     67      TIMER0          0x0008
- *     68      TIMER1          0x0010
- *     69      DSPEND          0x0020
- *     70      SOUNDREQUEST    0x0040
- *     71      SYSTEMMANAGER   0x0080
- *     72      PAD             0x0100
- *     73      LEVEL2DMAEND    0x0200
- *     74      LEVEL1DMAEND    0x0400
- *     75      LEVEL0DMAEND    0x0800
- *     76      DMAILLEGAL      0x1000
- *     77      SRITEDRAWEND    0x2000
- *     78      ABUS            0x8000
- *
- */
-#define SATURN_IRQ_MIN         64      /* VBLANKIN */
-#define SATURN_IRQ_MAX         78      /* ABUS */
-
-#define SATURN_IRQ_MASK                0xbfff
-
-static inline u32 saturn_irq_mask(unsigned int irq_nr)
-{
-       u32 mask;
-
-       mask = (1 << (irq_nr - SATURN_IRQ_MIN));
-       mask <<= (irq_nr == SATURN_IRQ_MAX);
-       mask &= SATURN_IRQ_MASK;
-
-       return mask;
-}
-
-static inline void mask_saturn_irq(unsigned int irq_nr)
-{
-       u32 mask;
-
-       mask = ctrl_inl(SATURN_IMR);
-       mask |= saturn_irq_mask(irq_nr);
-       ctrl_outl(mask, SATURN_IMR);
-}
-
-static inline void unmask_saturn_irq(unsigned int irq_nr)
-{
-       u32 mask;
-
-       mask = ctrl_inl(SATURN_IMR);
-       mask &= ~saturn_irq_mask(irq_nr);
-       ctrl_outl(mask, SATURN_IMR);
-}
-
-static void disable_saturn_irq(unsigned int irq_nr)
-{
-       mask_saturn_irq(irq_nr);
-}
-
-static void enable_saturn_irq(unsigned int irq_nr)
-{
-       unmask_saturn_irq(irq_nr);
-}
-
-static void mask_and_ack_saturn_irq(unsigned int irq_nr)
-{
-       mask_saturn_irq(irq_nr);
-}
-
-static void end_saturn_irq(unsigned int irq_nr)
-{
-       if (!(irq_desc[irq_nr].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
-               unmask_saturn_irq(irq_nr);
-}
-
-static unsigned int startup_saturn_irq(unsigned int irq_nr)
-{
-       unmask_saturn_irq(irq_nr);
-
-       return 0;
-}
-
-static void shutdown_saturn_irq(unsigned int irq_nr)
-{
-       mask_saturn_irq(irq_nr);
-}
-
-static struct hw_interrupt_type saturn_int = {
-       .typename       = "Saturn",
-       .enable         = enable_saturn_irq,
-       .disable        = disable_saturn_irq,
-       .ack            = mask_and_ack_saturn_irq,
-       .end            = end_saturn_irq,
-       .startup        = startup_saturn_irq,
-       .shutdown       = shutdown_saturn_irq,
-};
-
-int saturn_irq_demux(int irq_nr)
-{
-       /* FIXME */
-       return irq_nr;
-}
-
diff --git a/arch/sh/boards/saturn/setup.c b/arch/sh/boards/saturn/setup.c
deleted file mode 100644 (file)
index 7df4312..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-/* 
- * arch/sh/boards/saturn/setup.c
- *
- * Hardware support for the Sega Saturn.
- *
- * Copyright (c) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <asm/io.h>
-#include <asm/machvec.h>
-#include <asm/mach/io.h>
-
-extern int saturn_irq_demux(int irq_nr);
-
-/*
- * The Machine Vector
- */
-static struct sh_machine_vector mv_saturn __initmv = {
-       .mv_name                = "Sega Saturn",
-       .mv_nr_irqs             = 80,   /* Fix this later */
-
-       .mv_isa_port2addr       = saturn_isa_port2addr,
-       .mv_irq_demux           = saturn_irq_demux,
-
-       .mv_ioremap             = saturn_ioremap,
-       .mv_iounmap             = saturn_iounmap,
-};
diff --git a/arch/sh/boards/saturn/smp.c b/arch/sh/boards/saturn/smp.c
deleted file mode 100644 (file)
index 7646091..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 
- * arch/sh/boards/saturn/smp.c
- *
- * SMP support for the Sega Saturn.
- *
- * Copyright (c) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-#include <linux/smp.h>
-
-#include <asm/saturn/smpc.h>
-
-extern void start_secondary(void);
-
-void __smp_send_ipi(unsigned int cpu, unsigned int action)
-{
-       /* Nothing here yet .. */
-}
-
-unsigned int __smp_probe_cpus(void)
-{
-       /*
-        * This is just a straightforward master/slave configuration,
-        * and probing isn't really supported..
-        */
-       return 2;
-}
-
-/*
- * We're only allowed to do byte-access to SMPC registers. In
- * addition to which, we treat them as write-only, since
- * reading from them will return undefined data.
- */
-static inline void smpc_slave_stop(unsigned int cpu)
-{
-       smpc_barrier();
-       ctrl_outb(1, SMPC_STATUS);
-
-       ctrl_outb(SMPC_CMD_SSHOFF, SMPC_COMMAND);
-       smpc_barrier();
-}
-
-static inline void smpc_slave_start(unsigned int cpu)
-{
-       ctrl_outb(1, SMPC_STATUS);
-       ctrl_outb(SMPC_CMD_SSHON, SMPC_COMMAND);
-
-       smpc_barrier();
-}
-
-void __smp_slave_init(unsigned int cpu)
-{
-       register unsigned long vbr;
-       void **entry;
-
-       __asm__ __volatile__ ("stc vbr, %0\n\t" : "=r" (vbr));
-       entry = (void **)(vbr + 0x310 + 0x94);
-
-       smpc_slave_stop(cpu);
-
-       *(void **)entry = (void *)start_secondary;
-
-       smpc_slave_start(cpu);
-}
-
index 108e81b682ed0cb18cfb72f72892f1d08316002c..74765ae42929d21faa8350b4124f8853b9f3a2ff 100644 (file)
 
 int __init detect_cpu_and_cache_system(void)
 {
-#if defined(CONFIG_CPU_SUBTYPE_SH7604)
-       current_cpu_data.type                   = CPU_SH7604;
-       current_cpu_data.dcache.ways            = 4;
-       current_cpu_data.dcache.way_incr        = (1<<10);
-       current_cpu_data.dcache.sets            = 64;
-       current_cpu_data.dcache.entry_shift     = 4;
-       current_cpu_data.dcache.linesz          = L1_CACHE_BYTES;
-       current_cpu_data.dcache.flags           = 0;
-#elif defined(CONFIG_CPU_SUBTYPE_SH7619)
+#if defined(CONFIG_CPU_SUBTYPE_SH7619)
        current_cpu_data.type                   = CPU_SH7619;
        current_cpu_data.dcache.ways            = 4;
        current_cpu_data.dcache.way_incr        = (1<<12);
index c2c6bfdf4dfecb24f5157529431dc5d696cd5f9d..765f83c1bca4e0c62ca708b3979b657e558fa294 100644 (file)
@@ -271,7 +271,7 @@ void __init setup_arch(char **cmdline_p)
 
 static const char *cpu_name[] = {
        [CPU_SH7206]    = "SH7206",     [CPU_SH7619]    = "SH7619",
-       [CPU_SH7604]    = "SH7604",     [CPU_SH7300]    = "SH7300",
+       [CPU_SH7300]    = "SH7300",
        [CPU_SH7705]    = "SH7705",     [CPU_SH7706]    = "SH7706",
        [CPU_SH7707]    = "SH7707",     [CPU_SH7708]    = "SH7708",
        [CPU_SH7709]    = "SH7709",     [CPU_SH7710]    = "SH7710",
index 0c24abdd4ea12a182a74e794f07f31ed0d5b8870..b013a05fbc51a8dffa385cc5a065941c2b503c38 100644 (file)
@@ -45,10 +45,6 @@ choice
 
 # SH-2 Processor Support
 
-config CPU_SUBTYPE_SH7604
-       bool "Support SH7604 processor"
-       select CPU_SH2
-
 config CPU_SUBTYPE_SH7619
        bool "Support SH7619 processor"
        select CPU_SH2
index 8ae43f8c085c0c4222bfc3b90b5ad5e9ff038ca3..4b5e9305092eaf32494c5ecaf477c64ce35782dd 100644 (file)
@@ -18,7 +18,6 @@ SE                    SH_SOLUTION_ENGINE
 HP6XX                  SH_HP6XX
 HD64461                        HD64461
 HD64465                        HD64465
-SATURN                 SH_SATURN
 DREAMCAST              SH_DREAMCAST
 MPC1211                        SH_MPC1211
 SNAPGEAR               SH_SECUREEDGE5410
index 20b9796842dcf9a875cd0ed7747b54a518471028..f02ba7a672b227c5fb8acfb14a5a5f945f7a5224 100644 (file)
 
 #define L1_CACHE_SHIFT 4
 
-#if defined(CONFIG_CPU_SUBTYPE_SH7604)
-#define CCR            0xfffffe92      /* Address of Cache Control Register */
-
-#define CCR_CACHE_CE   0x01    /* Cache enable */
-#define CCR_CACHE_ID   0x02    /* Instruction Replacement disable */
-#define CCR_CACHE_OD   0x04    /* Data Replacement disable */
-#define CCR_CACHE_TW   0x08    /* Two-way mode */
-#define CCR_CACHE_CP   0x10    /* Cache purge */
-
-#define CACHE_OC_ADDRESS_ARRAY 0x60000000
-
-#define CCR_CACHE_ENABLE       CCR_CACHE_CE
-#define CCR_CACHE_INVALIDATE   CCR_CACHE_CP
-#define CCR_CACHE_ORA          CCR_CACHE_TW
-#define CCR_CACHE_WT           0x00    /* SH-2 is _always_ write-through */
-
-#elif defined(CONFIG_CPU_SUBTYPE_SH7619)
+#if defined(CONFIG_CPU_SUBTYPE_SH7619)
 #define CCR1           0xffffffec
 #define CCR            CCR1
 
@@ -49,5 +33,5 @@
 #define CCR_CACHE_ENABLE       CCR_CACHE_CE
 #define CCR_CACHE_INVALIDATE   CCR_CACHE_CF
 #endif
-#endif /* __ASM_CPU_SH2_CACHE_H */
 
+#endif /* __ASM_CPU_SH2_CACHE_H */
index d42f68e724fa3720d5c39ec5115c306e9db23442..1fc5eed1b22adcdc05ab16a455b9ad9bd1a70d58 100644 (file)
@@ -36,7 +36,7 @@
  */
 enum cpu_type {
        /* SH-2 types */
-       CPU_SH7604, CPU_SH7619,
+       CPU_SH7619,
 
        /* SH-2A types */
        CPU_SH7206,
diff --git a/include/asm-sh/saturn/io.h b/include/asm-sh/saturn/io.h
deleted file mode 100644 (file)
index f1b9b5d..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * include/asm-sh/saturn/io.h
- *
- * I/O functions for use on the Sega Saturn.
- *
- * Copyright (C) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#ifndef __ASM_SH_SATURN_IO_H
-#define __ASM_SH_SATURN_IO_H
-
-/* arch/sh/boards/saturn/io.c */
-extern unsigned long saturn_isa_port2addr(unsigned long offset);
-extern void *saturn_ioremap(unsigned long offset, unsigned long size);
-extern void saturn_iounmap(void *addr);
-
-#endif /* __ASM_SH_SATURN_IO_H */
-
diff --git a/include/asm-sh/saturn/smpc.h b/include/asm-sh/saturn/smpc.h
deleted file mode 100644 (file)
index 5de5c12..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * include/asm-sh/saturn/smpc.h
- *
- * System Manager / Peripheral Control definitions.
- *
- * Copyright (C) 2002 Paul Mundt
- *
- * Released under the terms of the GNU GPL v2.0.
- */
-#ifndef __ASM_SH_SATURN_SMPC_H
-#define __ASM_SH_SATURN_SMPC_H
-
-#include <asm/io.h>
-
-#define SMPC_COMMAND   0x2010001f      /* SMPC command register */
-#define SMPC_RESULT    0x2010005f      /* SMPC result register */
-#define SMPC_STATUS    0x20100063      /* SMPC status register */
-
-#define SMPC_CMD_MSHON 0x0001          /* Master SH On */
-#define SMPC_CMD_SSHON 0x0002          /* Slave SH On */
-#define SMPC_CMD_SSHOFF        0x0003          /* Slave SH Off */
-#define SMPC_CMD_SNDON 0x0004          /* Sound On */
-#define SMPC_CMD_SNDOFF        0x0005          /* Sound Off */
-#define SMPC_CMD_CDON  0x0006          /* CD On */
-#define SMPC_CMD_CDOFF 0x0007          /* CD Off */
-
-static inline void smpc_barrier(void)
-{
-       while ((ctrl_inb(SMPC_STATUS) & 0x0001) == 0x0001)
-               ;
-}
-
-#endif /* __ASM_SH_SATURN_SMPC_H */
-