You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[ARM] Remove EPXA10DB machine support
EPXA10DB seems to be uncared for: - the "PLD" code has never been merged - no one has reported that this platform has been broken since at least 2.6.10 - interest seems to have dried up around March 2003. Therefore, remove EPXA10DB support. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
committed by
Russell King
parent
b9abaa3fb7
commit
0fec53a24a
@@ -103,13 +103,6 @@ config ARCH_EBSA110
|
||||
Ethernet interface, two PCMCIA sockets, two serial ports and a
|
||||
parallel port.
|
||||
|
||||
config ARCH_CAMELOT
|
||||
bool "Epxa10db"
|
||||
help
|
||||
This enables support for Altera's Excalibur XA10 development board.
|
||||
If you would like to build your kernel to run on one of these boards
|
||||
then you must say 'Y' here. Otherwise say 'N'
|
||||
|
||||
config ARCH_FOOTBRIDGE
|
||||
bool "FootBridge"
|
||||
select FOOTBRIDGE
|
||||
@@ -221,8 +214,6 @@ endchoice
|
||||
|
||||
source "arch/arm/mach-clps711x/Kconfig"
|
||||
|
||||
source "arch/arm/mach-epxa10db/Kconfig"
|
||||
|
||||
source "arch/arm/mach-footbridge/Kconfig"
|
||||
|
||||
source "arch/arm/mach-integrator/Kconfig"
|
||||
|
||||
@@ -84,7 +84,6 @@ endif
|
||||
machine-$(CONFIG_ARCH_PXA) := pxa
|
||||
machine-$(CONFIG_ARCH_L7200) := l7200
|
||||
machine-$(CONFIG_ARCH_INTEGRATOR) := integrator
|
||||
machine-$(CONFIG_ARCH_CAMELOT) := epxa10db
|
||||
textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000
|
||||
machine-$(CONFIG_ARCH_CLPS711X) := clps711x
|
||||
machine-$(CONFIG_ARCH_IOP3XX) := iop3xx
|
||||
|
||||
@@ -21,10 +21,6 @@ ifeq ($(CONFIG_ARCH_SHARK),y)
|
||||
OBJS += head-shark.o ofw-shark.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_CAMELOT),y)
|
||||
OBJS += head-epxa10db.o
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_L7200),y)
|
||||
OBJS += head-l7200.o
|
||||
endif
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/arch/excalibur.h>
|
||||
|
||||
.section ".start", "ax"
|
||||
mov r7, #MACH_TYPE_CAMELOT
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,23 +0,0 @@
|
||||
if ARCH_CAMELOT
|
||||
|
||||
menu "Epxa10db"
|
||||
|
||||
comment "PLD hotswap support"
|
||||
|
||||
config PLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config PLD_HOTSWAP
|
||||
bool "Support for PLD device hotplugging (experimental)"
|
||||
depends on EXPERIMENTAL
|
||||
help
|
||||
This enables support for the dynamic loading and configuration of
|
||||
compatible drivers when the contents of the PLD are changed. This
|
||||
is still experimental and requires configuration tools which are
|
||||
not yet generally available. Say N here. You must enable the kernel
|
||||
module loader for this feature to work.
|
||||
|
||||
endmenu
|
||||
|
||||
endif
|
||||
@@ -1,11 +0,0 @@
|
||||
#
|
||||
# Makefile for the linux kernel.
|
||||
#
|
||||
|
||||
# Object file lists.
|
||||
|
||||
obj-y := arch.o irq.o mm.o time.o
|
||||
obj-m :=
|
||||
obj-n :=
|
||||
obj- :=
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
zreladdr-y := 0x00008000
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-epxa10db/arch.c
|
||||
*
|
||||
* Copyright (C) 2000 Deep Blue Solutions Ltd
|
||||
* Copyright (C) 2001 Altera Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include <linux/types.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
static struct plat_serial8250_port serial_platform_data[] = {
|
||||
{
|
||||
.iobase = 0x3f8,
|
||||
.irq = IRQ_UARTINT0,
|
||||
#error FIXME
|
||||
.uartclk = 0,
|
||||
.regshift = 0,
|
||||
.iotype = UPIO_PORT,
|
||||
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
|
||||
},
|
||||
{
|
||||
.iobase = 0x2f8,
|
||||
.irq = IRQ_UARTINT1,
|
||||
#error FIXME
|
||||
.uartclk = 0,
|
||||
.regshift = 0,
|
||||
.iotype = UPIO_PORT,
|
||||
.flags = UPF_BOOT_AUTOCONF | UPF_SKIP_TEST,
|
||||
},
|
||||
{ },
|
||||
};
|
||||
|
||||
static struct platform_device serial_device = {
|
||||
.name = "serial8250",
|
||||
.id = PLAT8250_DEV_PLATFORM,
|
||||
.dev = {
|
||||
.platform_data = serial_platform_data,
|
||||
},
|
||||
};
|
||||
|
||||
extern void epxa10db_map_io(void);
|
||||
extern void epxa10db_init_irq(void);
|
||||
extern struct sys_timer epxa10db_timer;
|
||||
|
||||
MACHINE_START(CAMELOT, "Altera Epxa10db")
|
||||
/* Maintainer: Altera Corporation */
|
||||
.phys_ram = 0x00000000,
|
||||
.phys_io = 0x7fffc000,
|
||||
.io_pg_offst = ((0xffffc000) >> 18) & 0xfffc,
|
||||
.map_io = epxa10db_map_io,
|
||||
.init_irq = epxa10db_init_irq,
|
||||
.timer = &epxa10db_timer,
|
||||
MACHINE_END
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-epxa10db/irq.c
|
||||
*
|
||||
* Copyright (C) 2001 Altera Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/ioport.h>
|
||||
#include <linux/stddef.h>
|
||||
#include <linux/timer.h>
|
||||
#include <linux/list.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/arch/platform.h>
|
||||
#include <asm/arch/int_ctrl00.h>
|
||||
|
||||
|
||||
static void epxa_mask_irq(unsigned int irq)
|
||||
{
|
||||
writel(1 << irq, INT_MC(IO_ADDRESS(EXC_INT_CTRL00_BASE)));
|
||||
}
|
||||
|
||||
static void epxa_unmask_irq(unsigned int irq)
|
||||
{
|
||||
writel(1 << irq, INT_MS(IO_ADDRESS(EXC_INT_CTRL00_BASE)));
|
||||
}
|
||||
|
||||
|
||||
static struct irqchip epxa_irq_chip = {
|
||||
.ack = epxa_mask_irq,
|
||||
.mask = epxa_mask_irq,
|
||||
.unmask = epxa_unmask_irq,
|
||||
};
|
||||
|
||||
static struct resource irq_resource = {
|
||||
.name = "irq_handler",
|
||||
.start = IO_ADDRESS(EXC_INT_CTRL00_BASE),
|
||||
.end = IO_ADDRESS(INT_PRIORITY_FC(EXC_INT_CTRL00_BASE))+4,
|
||||
};
|
||||
|
||||
void __init epxa10db_init_irq(void)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
request_resource(&iomem_resource, &irq_resource);
|
||||
|
||||
/*
|
||||
* This bit sets up the interrupt controller using
|
||||
* the 6 PLD interrupts mode (the default) each
|
||||
* irqs is assigned a priority which is the same
|
||||
* as its interrupt number. This scheme is used because
|
||||
* its easy, but you may want to change it depending
|
||||
* on the contents of your PLD
|
||||
*/
|
||||
|
||||
writel(3,INT_MODE(IO_ADDRESS(EXC_INT_CTRL00_BASE)));
|
||||
for (i = 0; i < NR_IRQS; i++){
|
||||
writel(i+1, INT_PRIORITY_P0(IO_ADDRESS(EXC_INT_CTRL00_BASE)) + (4*i));
|
||||
set_irq_chip(i,&epxa_irq_chip);
|
||||
set_irq_handler(i,do_level_IRQ);
|
||||
set_irq_flags(i, IRQF_VALID | IRQF_PROBE);
|
||||
}
|
||||
|
||||
/* Disable all interrupts */
|
||||
writel(-1,INT_MC(IO_ADDRESS(EXC_INT_CTRL00_BASE)));
|
||||
|
||||
}
|
||||
@@ -1,71 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-epxa10db/mm.c
|
||||
*
|
||||
* MM routines for Altera'a Epxa10db board
|
||||
*
|
||||
* Copyright (C) 2001 Altera Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/sizes.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
/* Page table mapping for I/O region */
|
||||
|
||||
static struct map_desc epxa10db_io_desc[] __initdata = {
|
||||
{
|
||||
.virtual = IO_ADDRESS(EXC_REGISTERS_BASE),
|
||||
.pfn = __phys_to_pfn(EXC_REGISTERS_BASE),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
}, {
|
||||
.virtual = IO_ADDRESS(EXC_PLD_BLOCK0_BASE),
|
||||
.pfn = __phys_to_pfn(EXC_PLD_BLOCK0_BASE),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
}, {
|
||||
.virtual = IO_ADDRESS(EXC_PLD_BLOCK1_BASE),
|
||||
.pfn =__phys_to_pfn(EXC_PLD_BLOCK1_BASE),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
}, {
|
||||
.virtual = IO_ADDRESS(EXC_PLD_BLOCK2_BASE),
|
||||
.physical = __phys_to_pfn(EXC_PLD_BLOCK2_BASE),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
}, {
|
||||
.virtual = IO_ADDRESS(EXC_PLD_BLOCK3_BASE),
|
||||
.pfn = __phys_to_pfn(EXC_PLD_BLOCK3_BASE),
|
||||
.length = SZ_16K,
|
||||
.type = MT_DEVICE
|
||||
}, {
|
||||
.virtual = FLASH_VADDR(EXC_EBI_BLOCK0_BASE),
|
||||
.pfn = __phys_to_pfn(EXC_EBI_BLOCK0_BASE),
|
||||
.length = SZ_16M,
|
||||
.type = MT_DEVICE
|
||||
}
|
||||
};
|
||||
|
||||
void __init epxa10db_map_io(void)
|
||||
{
|
||||
iotable_init(epxa10db_io_desc, ARRAY_SIZE(epxa10db_io_desc));
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
/*
|
||||
* linux/arch/arm/mach-epxa10db/time.c
|
||||
*
|
||||
* Copyright (C) 2000 Deep Blue Solutions
|
||||
* Copyright (C) 2001 Altera Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/sched.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/leds.h>
|
||||
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
#define TIMER00_TYPE (volatile unsigned int*)
|
||||
#include <asm/arch/timer00.h>
|
||||
|
||||
static int epxa10db_set_rtc(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
static int epxa10db_rtc_init(void)
|
||||
{
|
||||
set_rtc = epxa10db_set_rtc;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
__initcall(epxa10db_rtc_init);
|
||||
|
||||
|
||||
/*
|
||||
* IRQ handler for the timer
|
||||
*/
|
||||
static irqreturn_t
|
||||
epxa10db_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
|
||||
{
|
||||
write_seqlock(&xtime_lock);
|
||||
|
||||
// ...clear the interrupt
|
||||
*TIMER0_CR(IO_ADDRESS(EXC_TIMER00_BASE))|=TIMER0_CR_CI_MSK;
|
||||
|
||||
timer_tick(regs);
|
||||
write_sequnlock(&xtime_lock);
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
static struct irqaction epxa10db_timer_irq = {
|
||||
.name = "Excalibur Timer Tick",
|
||||
.flags = SA_INTERRUPT | SA_TIMER,
|
||||
.handler = epxa10db_timer_interrupt,
|
||||
};
|
||||
|
||||
/*
|
||||
* Set up timer interrupt, and return the current time in seconds.
|
||||
*/
|
||||
static void __init epxa10db_timer_init(void)
|
||||
{
|
||||
/* Start the timer */
|
||||
*TIMER0_LIMIT(IO_ADDRESS(EXC_TIMER00_BASE))=(unsigned int)(EXC_AHB2_CLK_FREQUENCY/200);
|
||||
*TIMER0_PRESCALE(IO_ADDRESS(EXC_TIMER00_BASE))=1;
|
||||
*TIMER0_CR(IO_ADDRESS(EXC_TIMER00_BASE))=TIMER0_CR_IE_MSK | TIMER0_CR_S_MSK;
|
||||
|
||||
setup_irq(IRQ_TIMER0, &epxa10db_timer_irq);
|
||||
}
|
||||
|
||||
struct sys_timer epxa10db_timer = {
|
||||
.init = epxa10db_timer_init,
|
||||
};
|
||||
+2
-2
@@ -83,8 +83,8 @@ config CPU_ARM920T
|
||||
# ARM922T
|
||||
config CPU_ARM922T
|
||||
bool "Support ARM922T processor" if ARCH_INTEGRATOR
|
||||
depends on ARCH_CAMELOT || ARCH_LH7A40X || ARCH_INTEGRATOR
|
||||
default y if ARCH_CAMELOT || ARCH_LH7A40X
|
||||
depends on ARCH_LH7A40X || ARCH_INTEGRATOR
|
||||
default y if ARCH_LH7A40X
|
||||
select CPU_32v4
|
||||
select CPU_ABRT_EV4T
|
||||
select CPU_CACHE_V4WT
|
||||
|
||||
@@ -473,14 +473,6 @@ config MTD_IXP2000
|
||||
IXDP425 and Coyote. If you have an IXP2000 based board and
|
||||
would like to use the flash chips on it, say 'Y'.
|
||||
|
||||
config MTD_EPXA10DB
|
||||
tristate "CFI Flash device mapped on Epxa10db"
|
||||
depends on MTD_CFI && MTD_PARTITIONS && ARCH_CAMELOT
|
||||
help
|
||||
This enables support for the flash devices on the Altera
|
||||
Excalibur XA10 Development Board. If you are building a kernel
|
||||
for on of these boards then you should say 'Y' otherwise say 'N'.
|
||||
|
||||
config MTD_FORTUNET
|
||||
tristate "CFI Flash device mapped on the FortuNet board"
|
||||
depends on MTD_CFI && MTD_PARTITIONS && SA1100_FORTUNET
|
||||
|
||||
@@ -15,7 +15,6 @@ obj-$(CONFIG_MTD_CFI_FLAGADM) += cfi_flagadm.o
|
||||
obj-$(CONFIG_MTD_CSTM_MIPS_IXX) += cstm_mips_ixx.o
|
||||
obj-$(CONFIG_MTD_DC21285) += dc21285.o
|
||||
obj-$(CONFIG_MTD_DILNETPC) += dilnetpc.o
|
||||
obj-$(CONFIG_MTD_EPXA10DB) += epxa10db-flash.o
|
||||
obj-$(CONFIG_MTD_IQ80310) += iq80310.o
|
||||
obj-$(CONFIG_MTD_L440GX) += l440gx.o
|
||||
obj-$(CONFIG_MTD_AMD76XROM) += amd76xrom.o
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
/*
|
||||
* Flash memory access on EPXA based devices
|
||||
*
|
||||
* (C) 2000 Nicolas Pitre <nico@cam.org>
|
||||
* Copyright (C) 2001 Altera Corporation
|
||||
* Copyright (C) 2001 Red Hat, Inc.
|
||||
*
|
||||
* $Id: epxa10db-flash.c,v 1.15 2005/11/07 11:14:27 gleixner Exp $
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/slab.h>
|
||||
|
||||
#include <linux/mtd/mtd.h>
|
||||
#include <linux/mtd/map.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/hardware.h>
|
||||
|
||||
#ifdef CONFIG_EPXA10DB
|
||||
#define BOARD_NAME "EPXA10DB"
|
||||
#else
|
||||
#define BOARD_NAME "EPXA1DB"
|
||||
#endif
|
||||
|
||||
static int nr_parts = 0;
|
||||
static struct mtd_partition *parts;
|
||||
|
||||
static struct mtd_info *mymtd;
|
||||
|
||||
static int epxa_default_partitions(struct mtd_info *master, struct mtd_partition **pparts);
|
||||
|
||||
|
||||
static struct map_info epxa_map = {
|
||||
.name = "EPXA flash",
|
||||
.size = FLASH_SIZE,
|
||||
.bankwidth = 2,
|
||||
.phys = FLASH_START,
|
||||
};
|
||||
|
||||
static const char *probes[] = { "RedBoot", "afs", NULL };
|
||||
|
||||
static int __init epxa_mtd_init(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
printk(KERN_NOTICE "%s flash device: 0x%x at 0x%x\n", BOARD_NAME, FLASH_SIZE, FLASH_START);
|
||||
|
||||
epxa_map.virt = ioremap(FLASH_START, FLASH_SIZE);
|
||||
if (!epxa_map.virt) {
|
||||
printk("Failed to ioremap %s flash\n",BOARD_NAME);
|
||||
return -EIO;
|
||||
}
|
||||
simple_map_init(&epxa_map);
|
||||
|
||||
mymtd = do_map_probe("cfi_probe", &epxa_map);
|
||||
if (!mymtd) {
|
||||
iounmap((void *)epxa_map.virt);
|
||||
return -ENXIO;
|
||||
}
|
||||
|
||||
mymtd->owner = THIS_MODULE;
|
||||
|
||||
/* Unlock the flash device. */
|
||||
if(mymtd->unlock){
|
||||
for (i=0; i<mymtd->numeraseregions;i++){
|
||||
int j;
|
||||
for(j=0;j<mymtd->eraseregions[i].numblocks;j++){
|
||||
mymtd->unlock(mymtd,mymtd->eraseregions[i].offset + j * mymtd->eraseregions[i].erasesize,mymtd->eraseregions[i].erasesize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef CONFIG_MTD_PARTITIONS
|
||||
nr_parts = parse_mtd_partitions(mymtd, probes, &parts, 0);
|
||||
|
||||
if (nr_parts > 0) {
|
||||
add_mtd_partitions(mymtd, parts, nr_parts);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
/* No recognised partitioning schemes found - use defaults */
|
||||
nr_parts = epxa_default_partitions(mymtd, &parts);
|
||||
if (nr_parts > 0) {
|
||||
add_mtd_partitions(mymtd, parts, nr_parts);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* If all else fails... */
|
||||
add_mtd_device(mymtd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void __exit epxa_mtd_cleanup(void)
|
||||
{
|
||||
if (mymtd) {
|
||||
if (nr_parts)
|
||||
del_mtd_partitions(mymtd);
|
||||
else
|
||||
del_mtd_device(mymtd);
|
||||
map_destroy(mymtd);
|
||||
}
|
||||
if (epxa_map.virt) {
|
||||
iounmap((void *)epxa_map.virt);
|
||||
epxa_map.virt = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* This will do for now, once we decide which bootldr we're finally
|
||||
* going to use then we'll remove this function and do it properly
|
||||
*
|
||||
* Partions are currently (as offsets from base of flash):
|
||||
* 0x00000000 - 0x003FFFFF - bootloader (!)
|
||||
* 0x00400000 - 0x00FFFFFF - Flashdisk
|
||||
*/
|
||||
|
||||
static int __init epxa_default_partitions(struct mtd_info *master, struct mtd_partition **pparts)
|
||||
{
|
||||
struct mtd_partition *parts;
|
||||
int ret, i;
|
||||
int npartitions = 0;
|
||||
char *names;
|
||||
const char *name = "jffs";
|
||||
|
||||
printk("Using default partitions for %s\n",BOARD_NAME);
|
||||
npartitions=1;
|
||||
parts = kmalloc(npartitions*sizeof(*parts)+strlen(name), GFP_KERNEL);
|
||||
memzero(parts,npartitions*sizeof(*parts)+strlen(name));
|
||||
if (!parts) {
|
||||
ret = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
i=0;
|
||||
names = (char *)&parts[npartitions];
|
||||
parts[i].name = names;
|
||||
names += strlen(name) + 1;
|
||||
strcpy(parts[i].name, name);
|
||||
|
||||
#ifdef CONFIG_EPXA10DB
|
||||
parts[i].size = FLASH_SIZE-0x00400000;
|
||||
parts[i].offset = 0x00400000;
|
||||
#else
|
||||
parts[i].size = FLASH_SIZE-0x00180000;
|
||||
parts[i].offset = 0x00180000;
|
||||
#endif
|
||||
|
||||
out:
|
||||
*pparts = parts;
|
||||
return npartitions;
|
||||
}
|
||||
|
||||
|
||||
module_init(epxa_mtd_init);
|
||||
module_exit(epxa_mtd_cleanup);
|
||||
|
||||
MODULE_AUTHOR("Clive Davies");
|
||||
MODULE_DESCRIPTION("Altera epxa mtd flash map");
|
||||
MODULE_LICENSE("GPL");
|
||||
@@ -31,16 +31,3 @@ config ARM_ETHERH
|
||||
help
|
||||
If you have an Acorn system with one of these network cards, you
|
||||
should say Y to this option if you wish to use it with Linux.
|
||||
|
||||
config ARM_ETHER00
|
||||
tristate "Altera Ether00 support"
|
||||
depends on NET_ETHERNET && ARM && ARCH_CAMELOT
|
||||
help
|
||||
This is the driver for Altera's ether00 ethernet mac IP core. Say
|
||||
Y here if you want to build support for this into the kernel. It
|
||||
is also available as a module (say M here) that can be inserted/
|
||||
removed from the kernel at the same time as the PLD is configured.
|
||||
If this driver is running on an epxa10 development board then it
|
||||
will generate a suitable hw address based on the board serial
|
||||
number (MTD support is required for this). Otherwise you will
|
||||
need to set a suitable hw address using ifconfig.
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
|
||||
obj-$(CONFIG_ARM_AM79C961A) += am79c961a.o
|
||||
obj-$(CONFIG_ARM_ETHER00) += ether00.o
|
||||
obj-$(CONFIG_ARM_ETHERH) += etherh.o
|
||||
obj-$(CONFIG_ARM_ETHER3) += ether3.o
|
||||
obj-$(CONFIG_ARM_ETHER1) += ether1.o
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -359,29 +359,6 @@ config SERIAL_21285_CONSOLE
|
||||
your boot loader (lilo or loadlin) about how to pass options to the
|
||||
kernel at boot time.)
|
||||
|
||||
config SERIAL_UART00
|
||||
bool "Excalibur serial port (uart00) support"
|
||||
depends on ARM && ARCH_CAMELOT
|
||||
select SERIAL_CORE
|
||||
help
|
||||
Say Y here if you want to use the hard logic uart on Excalibur. This
|
||||
driver also supports soft logic implementations of this uart core.
|
||||
|
||||
config SERIAL_UART00_CONSOLE
|
||||
bool "Support for console on Excalibur serial port"
|
||||
depends on SERIAL_UART00
|
||||
select SERIAL_CORE_CONSOLE
|
||||
help
|
||||
Say Y here if you want to support a serial console on an Excalibur
|
||||
hard logic uart or uart00 IP core.
|
||||
|
||||
Even if you say Y here, the currently visible virtual console
|
||||
(/dev/tty0) will still be used as the system console by default, but
|
||||
you can alter that using a kernel command line option such as
|
||||
"console=ttyS1". (Try "man bootparam" or see the documentation of
|
||||
your boot loader (lilo or loadlin) about how to pass options to the
|
||||
kernel at boot time.)
|
||||
|
||||
config SERIAL_MPSC
|
||||
bool "Marvell MPSC serial port support"
|
||||
depends on PPC32 && MV64X60
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user