mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 04:18:39 +08:00
ARM: footbridge: remove CATS
Nobody seems to have a CATS machine any more, so remove it now, leaving only NetWinder and EBSA285. Cc: Russell King <linux@armlinux.org.uk> Acked-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
parent
046cd3c698
commit
50f6f34e60
@ -344,7 +344,7 @@ __create_page_tables:
|
||||
ldr r7, [r10, #PROCINFO_IO_MMUFLAGS] @ io_mmuflags
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_NETWINDER) || defined(CONFIG_ARCH_CATS)
|
||||
#if defined(CONFIG_ARCH_NETWINDER)
|
||||
/*
|
||||
* If we're using the NetWinder or CATS, we also need to map
|
||||
* in the 16550-type serial port for the debug messages
|
||||
|
@ -16,18 +16,6 @@ menuconfig ARCH_FOOTBRIDGE
|
||||
|
||||
if ARCH_FOOTBRIDGE
|
||||
|
||||
config ARCH_CATS
|
||||
bool "CATS"
|
||||
depends on UNUSED_BOARD_FILES
|
||||
select CLKEVT_I8253
|
||||
select CLKSRC_I8253
|
||||
select ISA
|
||||
select FORCE_PCI
|
||||
help
|
||||
Say Y here if you intend to run this kernel on the CATS.
|
||||
|
||||
Saying N will reduce the size of the Footbridge kernel.
|
||||
|
||||
config ARCH_EBSA285_HOST
|
||||
bool "EBSA285 (host mode)"
|
||||
select ARCH_EBSA285
|
||||
|
@ -8,11 +8,9 @@
|
||||
obj-y := common.o isa-irq.o isa.o isa-rtc.o dma-isa.o
|
||||
|
||||
pci-y += dc21285.o
|
||||
pci-$(CONFIG_ARCH_CATS) += cats-pci.o
|
||||
pci-$(CONFIG_ARCH_EBSA285) += ebsa285-pci.o
|
||||
pci-$(CONFIG_ARCH_NETWINDER) += netwinder-pci.o
|
||||
|
||||
obj-$(CONFIG_ARCH_CATS) += cats-hw.o isa-timer.o
|
||||
obj-$(CONFIG_ARCH_EBSA285) += ebsa285.o dc21285-timer.o
|
||||
obj-$(CONFIG_ARCH_NETWINDER) += netwinder-hw.o isa-timer.o
|
||||
|
||||
|
@ -1,98 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* linux/arch/arm/mach-footbridge/cats-hw.c
|
||||
*
|
||||
* CATS machine fixup
|
||||
*
|
||||
* Copyright (C) 1998, 1999 Russell King, Phil Blundell
|
||||
*/
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/screen_info.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/spinlock.h>
|
||||
|
||||
#include <asm/hardware/dec21285.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/setup.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
#define CFG_PORT 0x370
|
||||
#define INDEX_PORT (CFG_PORT)
|
||||
#define DATA_PORT (CFG_PORT + 1)
|
||||
|
||||
static int __init cats_hw_init(void)
|
||||
{
|
||||
if (machine_is_cats()) {
|
||||
/* Set Aladdin to CONFIGURE mode */
|
||||
outb(0x51, CFG_PORT);
|
||||
outb(0x23, CFG_PORT);
|
||||
|
||||
/* Select logical device 3 */
|
||||
outb(0x07, INDEX_PORT);
|
||||
outb(0x03, DATA_PORT);
|
||||
|
||||
/* Set parallel port to DMA channel 3, ECP+EPP1.9,
|
||||
enable EPP timeout */
|
||||
outb(0x74, INDEX_PORT);
|
||||
outb(0x03, DATA_PORT);
|
||||
|
||||
outb(0xf0, INDEX_PORT);
|
||||
outb(0x0f, DATA_PORT);
|
||||
|
||||
outb(0xf1, INDEX_PORT);
|
||||
outb(0x07, DATA_PORT);
|
||||
|
||||
/* Select logical device 4 */
|
||||
outb(0x07, INDEX_PORT);
|
||||
outb(0x04, DATA_PORT);
|
||||
|
||||
/* UART1 high speed mode */
|
||||
outb(0xf0, INDEX_PORT);
|
||||
outb(0x02, DATA_PORT);
|
||||
|
||||
/* Select logical device 5 */
|
||||
outb(0x07, INDEX_PORT);
|
||||
outb(0x05, DATA_PORT);
|
||||
|
||||
/* UART2 high speed mode */
|
||||
outb(0xf0, INDEX_PORT);
|
||||
outb(0x02, DATA_PORT);
|
||||
|
||||
/* Set Aladdin to RUN mode */
|
||||
outb(0xbb, CFG_PORT);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
__initcall(cats_hw_init);
|
||||
|
||||
/*
|
||||
* CATS uses soft-reboot by default, since
|
||||
* hard reboots fail on early boards.
|
||||
*/
|
||||
static void __init
|
||||
fixup_cats(struct tag *tags, char **cmdline)
|
||||
{
|
||||
#if defined(CONFIG_VGA_CONSOLE) || defined(CONFIG_DUMMY_CONSOLE)
|
||||
screen_info.orig_video_lines = 25;
|
||||
screen_info.orig_video_points = 16;
|
||||
screen_info.orig_y = 24;
|
||||
#endif
|
||||
}
|
||||
|
||||
MACHINE_START(CATS, "Chalice-CATS")
|
||||
/* Maintainer: Philip Blundell */
|
||||
.atag_offset = 0x100,
|
||||
.reboot_mode = REBOOT_SOFT,
|
||||
.fixup = fixup_cats,
|
||||
.map_io = footbridge_map_io,
|
||||
.init_irq = footbridge_init_irq,
|
||||
.init_time = isa_timer_init,
|
||||
.restart = footbridge_restart,
|
||||
MACHINE_END
|
@ -1,64 +0,0 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/*
|
||||
* linux/arch/arm/mach-footbridge/cats-pci.c
|
||||
*
|
||||
* PCI bios-type initialisation for PCI machines
|
||||
*
|
||||
* Bits taken from various places.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach/pci.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
/* cats host-specific stuff */
|
||||
static int irqmap_cats[] = { IRQ_PCI, IRQ_IN0, IRQ_IN1, IRQ_IN3 };
|
||||
|
||||
static u8 cats_no_swizzle(struct pci_dev *dev, u8 *pin)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int cats_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
if (dev->irq >= 255)
|
||||
return -1; /* not a valid interrupt. */
|
||||
|
||||
if (dev->irq >= 128)
|
||||
return dev->irq & 0x1f;
|
||||
|
||||
if (dev->irq >= 1 && dev->irq <= 4)
|
||||
return irqmap_cats[dev->irq - 1];
|
||||
|
||||
if (dev->irq != 0)
|
||||
printk("PCI: device %02x:%02x has unknown irq line %x\n",
|
||||
dev->bus->number, dev->devfn, dev->irq);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
/*
|
||||
* why not the standard PCI swizzle? does this prevent 4-port tulip
|
||||
* cards being used (ie, pci-pci bridge based cards)?
|
||||
*/
|
||||
static struct hw_pci cats_pci __initdata = {
|
||||
.swizzle = cats_no_swizzle,
|
||||
.map_irq = cats_map_irq,
|
||||
.nr_controllers = 1,
|
||||
.ops = &dc21285_ops,
|
||||
.setup = dc21285_setup,
|
||||
.preinit = dc21285_preinit,
|
||||
.postinit = dc21285_postinit,
|
||||
};
|
||||
|
||||
static int __init cats_pci_init(void)
|
||||
{
|
||||
if (machine_is_cats())
|
||||
pci_common_init(&cats_pci);
|
||||
return 0;
|
||||
}
|
||||
|
||||
subsys_initcall(cats_pci_init);
|
@ -206,9 +206,6 @@ void __init footbridge_init_irq(void)
|
||||
*/
|
||||
isa_init_irq(IRQ_PCI);
|
||||
|
||||
if (machine_is_cats())
|
||||
isa_init_irq(IRQ_IN2);
|
||||
|
||||
if (machine_is_netwinder())
|
||||
isa_init_irq(IRQ_IN3);
|
||||
}
|
||||
|
@ -206,8 +206,6 @@ static int __init footbridge_watchdog_init(void)
|
||||
pr_info("Footbridge Watchdog Timer: 0.01, timer margin: %d sec\n",
|
||||
soft_margin);
|
||||
|
||||
if (machine_is_cats())
|
||||
pr_warn("Warning: Watchdog reset may not work on this machine\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user