Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b9601c5e authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: Kill off dead SH7604 support.



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: default avatarPaul Mundt <lethal@linux-sh.org>
parent 33d63bd8
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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

arch/sh/boards/saturn/Makefile

deleted100644 → 0
+0 −8
Original line number Diff line number Diff line
#
# Makefile for the Sega Saturn specific parts of the kernel
#

obj-y	 := setup.o io.o irq.o

obj-$(CONFIG_SMP) += smp.o

arch/sh/boards/saturn/io.c

deleted100644 → 0
+0 −26
Original line number Diff line number Diff line
/*
 * 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)
{
}

arch/sh/boards/saturn/irq.c

deleted100644 → 0
+0 −118
Original line number Diff line number Diff line
/*
 * 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;
}

arch/sh/boards/saturn/setup.c

deleted100644 → 0
+0 −30
Original line number Diff line number Diff line
/* 
 * 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,
};
Loading