config ARCH_ADIFCC
bool "ADIFCC-based"
-config ARCH_ANAKIN
- bool "Anakin"
- ---help---
- The Anakin is a StrongArm based SA110 - 2 DIN Vehicle Telematics Platform.
- 64MB SDRAM - 4 Mb Flash - Compact Flash Interface - 1 MB VRAM
-
- On board peripherals:
- * Front display: 400x234 16 bit TFT touchscreen
- * External independent second screen interface
- * CAN controller SJA1000
- * USB host controller
- * 6 channel video codec with hardware overlay
- * Smartcard reader
- * IrDa
-
- Modules interfaced over the Multi Media Extension slots:
- * A communication card
- Wavecom GPRS modem
- uBlock GPS
- Bosch DAB module
- * An audio card ( 4 * 40W, AC97 Codec, I2S)
-
config ARCH_CLPS7500
bool "Cirrus-CL-PS7500FE"
textaddr-$(CONFIG_ARCH_CLPS711X) := 0xc0028000
machine-$(CONFIG_ARCH_CLPS711X) := clps711x
textaddr-$(CONFIG_ARCH_FORTUNET) := 0xc0008000
- machine-$(CONFIG_ARCH_ANAKIN) := anakin
machine-$(CONFIG_ARCH_IOP3XX) := iop3xx
machine-$(CONFIG_ARCH_ADIFCC) := adifcc
params_phys-$(CONFIG_ARCH_SA1100) := 0xc0000100
initrd_phys-$(CONFIG_ARCH_SA1100) := 0xc0800000
zreladdr-$(CONFIG_ARCH_PXA) := 0xa0008000
- zreladdr-$(CONFIG_ARCH_ANAKIN) := 0x20008000
zreladdr-$(CONFIG_ARCH_IOP3XX) := 0xa0008000
params_phys-$(CONFIG_ARCH_IOP3XX) := 0xa0000100
zreladdr-$(CONFIG_ARCH_ADIFCC) := 0xc0008000
# System Type
#
CONFIG_ARCH_ADIFCC=y
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_FB_CLPS711X is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_SA1100=y
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_E1355 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
CONFIG_FB_SA1100=y
# CONFIG_FB_CYBER2000 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_ANAKIN is not set
#
# Archimedes/A5000 Implementations
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
CONFIG_FB_SA1100=y
# CONFIG_FB_CYBER2000 is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
CONFIG_ARCH_CLPS711X=y
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
CONFIG_SERIAL_CLPS711X=y
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_FB_CLPS711X is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_SA1100=y
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_E1355 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_FB_CLPS711X is not set
# CONFIG_FB_CYBER2000 is not set
CONFIG_FB_SA1100=y
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_E1355 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
CONFIG_FB_SA1100=y
# CONFIG_FB_CYBER2000 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_ANAKIN is not set
#
# Archimedes/A5000 Implementations
# CONFIG_FB_CLPS711X is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_SA1100 is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_E1355 is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_ATY is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
# CONFIG_FB_SA1100 is not set
CONFIG_FB_EPSON1356=y
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# CONFIG_ATOMWIDE_SERIAL is not set
# CONFIG_DUALSP_SERIAL is not set
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# CONFIG_ATOMWIDE_SERIAL is not set
# CONFIG_DUALSP_SERIAL is not set
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_FB_CYBER2000 is not set
# CONFIG_FB_SA1100 is not set
CONFIG_FB_MQ200=y
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_E1355 is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_FBCON_ADVANCED=y
# CONFIG_ARCH_RPC is not set
CONFIG_ARCH_SA1100=y
# CONFIG_ARCH_CLPS711X is not set
-# CONFIG_ARCH_ANAKIN is not set
#
# Archimedes/A5000 Implementations
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_CO285 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
CONFIG_FB_SA1100=y
# CONFIG_FB_CYBER2000 is not set
#
# System Type
#
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
#
# Serial drivers
#
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
# CONFIG_FB_ACORN is not set
-# CONFIG_FB_ANAKIN is not set
# CONFIG_FB_CLPS711X is not set
CONFIG_FB_SA1100=y
# CONFIG_FB_CYBER2000 is not set
# System Type
#
# CONFIG_ARCH_ADIFCC is not set
-# CONFIG_ARCH_ANAKIN is not set
# CONFIG_ARCH_ARCA5K is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_SERIAL_8250_MULTIPORT is not set
# CONFIG_SERIAL_8250_RSA is not set
# CONFIG_SERIAL_ACORN is not set
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
1002:
.endm
-#elif defined(CONFIG_ARCH_ANAKIN)
-
-//#//include <asm/arch/serial_reg.h>
-
- .macro addruart,rx
- mrc p15, 0, \rx, c1, c0
- tst \rx, #1 @ MMU enabled?
- moveq \rx, #IO_START
- movne \rx, #IO_BASE
- add \rx, \rx, #UART0
- .endm
-
- .macro senduart,rd,rx
- str \rd, [\rx, #0x14] @ tx
- ldr \rd, [\rx, #0x18]
- orr \rd, \rd, #SENDREQUEST
- str \rd, [\rx, #0x18]
- .endm
-
- .macro waituart,rd,rx
-1001: ldr \rd, [\rx, #0x10]
- tst \rd, #TXEMPTY
- beq 1001b
- .endm
-
- .macro busyuart,rd,rx
-1001: ldr \rd, [\rx, #0x10]
- tst \rd, #CTS
- bne 1001b
- .endm
-
#elif defined(CONFIG_ARCH_CAMELOT)
#include <asm/arch/excalibur.h>
.macro irq_prio_table
.endm
-#elif defined(CONFIG_ARCH_ANAKIN)
-
- .macro disable_fiq
- .endm
-
- .macro get_irqnr_and_base, irqnr, irqstat, base, tmp
- mov \base, #IO_BASE
- mov \irqstat, #INTERRUPT_CONTROLLER
- ldr \tmp, =anakin_irq_mask
- ldr \irqstat, [\base, \irqstat]
- ldr \tmp, [\tmp]
- ands \irqstat, \irqstat, \tmp
- ldrne \tmp, =anakin_active_irqs
- strne \irqstat, [\tmp]
- movne \irqnr, #IRQ_ANAKIN
- .endm
-
- .macro irq_prio_table
- .ltorg
- .bss
-ENTRY(anakin_irq_mask)
- .word 0
-ENTRY(anakin_active_irqs)
- .space 4
- .text
- .endm
-
#elif defined(CONFIG_ARCH_IOP310) || defined(CONFIG_ARCH_ADIFCC)
.macro disable_fiq
+++ /dev/null
-#
-# Makefile for the linux kernel.
-#
-
-# Object file lists.
-
-obj-y := arch.o irq.o mm.o
-obj-m :=
-obj-n :=
-obj- :=
-
+++ /dev/null
-/*
- * linux/arch/arm/mach-anakin/arch.c
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 W/TTC Created
- */
-#include <linux/tty.h>
-#include <linux/init.h>
-
-#include <asm/setup.h>
-#include <asm/mach-types.h>
-#include <asm/mach/arch.h>
-
-extern void anakin_map_io(void);
-extern void genarch_init_irq(void);
-
-MACHINE_START(ANAKIN, "Anakin")
- MAINTAINER("Wookey/Tak-Shing Chan")
- BOOT_MEM(0x20000000, 0x40000000, 0xe0000000)
- VIDEO(0x80000000, 0x8002db40)
- MAPIO(anakin_map_io)
- INITIRQ(genarch_init_irq)
-MACHINE_END
+++ /dev/null
-/*
- * linux/arch/arm/mach-anakin/irq.c
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#include <linux/ptrace.h>
-#include <linux/interrupt.h>
-#include <linux/init.h>
-
-#include <asm/irq.h>
-#include <asm/mach/irq.h>
-
-extern unsigned int anakin_irq_mask, anakin_active_irqs;
-extern void do_IRQ(int, struct pt_regs *);
-
-static void
-anakin_mask_irq(unsigned int irq)
-{
- anakin_irq_mask &= ~(1 << irq);
-}
-
-static void
-anakin_unmask_irq(unsigned int irq)
-{
- anakin_irq_mask |= (1 << irq);
-}
-
-/*
- * This is a faked interrupt to deal with parallel interrupt requests
- * on the Anakin. Make sure that its interrupt number is not in any
- * way conflicting with the hardware interrupt numbers! Check
- * IRQ_ANAKIN in linux/include/asm-arm/arch-anakin/irqs.h.
- */
-static void
-anakin_interrupt(int irq, void *dev_id, struct pt_regs *regs)
-{
- for (irq = 0; irq < NR_IRQS; irq++)
- if (anakin_active_irqs & (1 << irq))
- do_IRQ(irq, regs);
-}
-
-static struct irqaction anakin_irq = {
- .name = "Anakin IRQ",
- .handler = anakin_interrupt,
- .flags = SA_INTERRUPT
-};
-
-void __init
-irq_init_irq(void)
-{
- unsigned int irq;
-
- for (irq = 0; irq < NR_IRQS; irq++) {
- switch (irq) {
- case IRQ_UART0:
- case IRQ_UART1:
- case IRQ_UART2:
- case IRQ_TICK:
- case IRQ_CODEC:
- case IRQ_UART4:
- case IRQ_TOUCHSCREEN:
- case IRQ_UART3:
- case IRQ_FIFO:
- case IRQ_CAN:
- case IRQ_COMPACTFLASH:
- case IRQ_BOSH:
- case IRQ_ANAKIN:
- irq_desc[irq].valid = 1;
- irq_desc[irq].mask_ack = anakin_mask_irq;
- irq_desc[irq].mask = anakin_mask_irq;
- irq_desc[irq].unmask = anakin_unmask_irq;
- }
- }
- setup_arm_irq(IRQ_ANAKIN, &anakin_irq);
-}
+++ /dev/null
-/*
- * linux/arch/arm/mach-anakin/mm.c
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 W/TTC Created
- */
-#include <linux/kernel.h>
-#include <linux/init.h>
-
-#include <asm/io.h>
-#include <asm/pgtable.h>
-#include <asm/mach/map.h>
-
-static struct map_desc anakin_io_desc[] __initdata = {
- { IO_BASE, IO_START, IO_SIZE, MT_DEVICE },
- { FLASH_BASE, FLASH_START, FLASH_SIZE, MT_DEVICE },
- { VGA_BASE, VGA_START, VGA_SIZE, MT_DEVICE }
-};
-
-void __init
-anakin_map_io(void)
-{
- iotable_init(anakin_io_desc, ARRAY_SIZE(anakin_io_desc));
-}
# SA110
config CPU_SA110
- bool "Support StrongARM(R) SA-110 processor" if !ARCH_EBSA110 && !FOOTBRIDGE && !ARCH_TBOX && !ARCH_SHARK && !ARCH_NEXUSPCI && !ARCH_ANAKIN && ARCH_RPC
- default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_TBOX || ARCH_SHARK || ARCH_NEXUSPCI || ARCH_ANAKIN
+ bool "Support StrongARM(R) SA-110 processor" if !ARCH_EBSA110 && !FOOTBRIDGE && !ARCH_TBOX && !ARCH_SHARK && !ARCH_NEXUSPCI && ARCH_RPC
+ default y if ARCH_EBSA110 || FOOTBRIDGE || ARCH_TBOX || ARCH_SHARK || ARCH_NEXUSPCI
select CPU_32v3 if ARCH_RPC
select CPU_32v4 if !ARCH_RPC
select CPU_ABRT_EV4
# CONFIG_SERIAL_8250_RSA is not set
# CONFIG_ATOMWIDE_SERIAL is not set
# CONFIG_DUALSP_SERIAL is not set
-# CONFIG_SERIAL_ANAKIN is not set
-# CONFIG_SERIAL_ANAKIN_CONSOLE is not set
# CONFIG_SERIAL_AMBA is not set
# CONFIG_SERIAL_AMBA_CONSOLE is not set
# CONFIG_SERIAL_CLPS711X is not set
system, say Y to this option. The driver can handle 1, 2, or 3 port
cards. If unsure, say N.
-config SERIAL_ANAKIN
- bool "Anakin serial port support"
- depends on ARM && ARCH_ANAKIN
- select SERIAL_CORE
- help
- ::: To be written :::
-
-config SERIAL_ANAKIN_CONSOLE
- bool "Console on Anakin serial port"
- depends on SERIAL_ANAKIN
- select SERIAL_CORE_CONSOLE
- help
- 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=ttyAN0". (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 ANAKIN_DEFAULT_BAUDRATE
- int "Default Anakin serial baudrate"
- depends on SERIAL_ANAKIN
- default "9600"
- help
- ::: To be written :::
-
config SERIAL_AMBA
tristate "ARM AMBA serial port support"
depends on ARM_AMBA
obj-$(CONFIG_SERIAL_8250) += 8250.o $(serial-8250-y)
obj-$(CONFIG_SERIAL_8250_CS) += serial_cs.o
obj-$(CONFIG_SERIAL_8250_ACORN) += 8250_acorn.o
-obj-$(CONFIG_SERIAL_ANAKIN) += anakin.o
obj-$(CONFIG_SERIAL_AMBA) += amba.o
obj-$(CONFIG_SERIAL_CLPS711X) += clps711x.o
obj-$(CONFIG_SERIAL_PXA) += pxa.o
+++ /dev/null
-/*
- * linux/drivers/char/anakin.c
- *
- * Based on driver for AMBA serial ports, by ARM Limited,
- * Deep Blue Solutions Ltd., Linus Torvalds and Theodore Ts'o.
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * Copyright (C) 2001 Blue Mug, Inc. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 20-Apr-2001 TTC Created
- * 05-May-2001 W/TTC Updated for serial_core.c
- * 27-Jun-2001 jonm Minor changes; add mctrl support, switch to
- * SA_INTERRUPT. Works reliably now. No longer requires
- * changes to the serial_core API.
- *
- * $Id: anakin.c,v 1.32 2002/07/28 10:03:27 rmk Exp $
- */
-
-#include <linux/config.h>
-#include <linux/module.h>
-#include <linux/tty.h>
-#include <linux/ioport.h>
-#include <linux/init.h>
-#include <linux/serial.h>
-#include <linux/console.h>
-#include <linux/sysrq.h>
-#include <linux/device.h>
-
-#include <asm/io.h>
-#include <asm/irq.h>
-
-#include <linux/serial_core.h>
-
-#include <asm/arch/serial_reg.h>
-
-#define UART_NR 5
-
-#define SERIAL_ANAKIN_NAME "ttyAN"
-#define SERIAL_ANAKIN_MAJOR 204
-#define SERIAL_ANAKIN_MINOR 32
-
-static unsigned int txenable[NR_IRQS]; /* Software interrupt register */
-
-static inline unsigned int
-anakin_in(struct uart_port *port, unsigned int offset)
-{
- return __raw_readl(port->base + offset);
-}
-
-static inline void
-anakin_out(struct uart_port *port, unsigned int offset, unsigned int value)
-{
- __raw_writel(value, port->base + offset);
-}
-
-static void
-anakin_stop_tx(struct uart_port *port, unsigned int tty_stop)
-{
- txenable[port->irq] = 0;
-}
-
-static inline void
-anakin_transmit_buffer(struct uart_port *port)
-{
- struct circ_buf *xmit = &port->info->xmit;
-
- while (!(anakin_in(port, 0x10) & TXEMPTY))
- barrier();
- anakin_out(port, 0x14, xmit->buf[xmit->tail]);
- anakin_out(port, 0x18, anakin_in(port, 0x18) | SENDREQUEST);
- xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE-1);
- port->icount.tx++;
-
- if (uart_circ_empty(xmit))
- anakin_stop_tx(port, 0);
-}
-
-static inline void
-anakin_transmit_x_char(struct uart_port *port)
-{
- anakin_out(port, 0x14, port->x_char);
- anakin_out(port, 0x18, anakin_in(port, 0x18) | SENDREQUEST);
- port->icount.tx++;
- port->x_char = 0;
-}
-
-static void
-anakin_start_tx(struct uart_port *port, unsigned int tty_start)
-{
- // is it this... or below
- if (!txenable[port->irq]) {
- txenable[port->irq] = TXENABLE;
-
- if ((anakin_in(port, 0x10) & TXEMPTY)) {
- anakin_transmit_buffer(port);
- }
- }
-}
-
-static void
-anakin_stop_rx(struct uart_port *port)
-{
- while (anakin_in(port, 0x10) & RXRELEASE)
- anakin_in(port, 0x14);
- anakin_out(port, 0x18, anakin_in(port, 0x18) | BLOCKRX);
-}
-
-static void
-anakin_enable_ms(struct uart_port *port)
-{
-}
-
-static inline void
-anakin_rx_chars(struct uart_port *port)
-{
- unsigned int ch;
- struct tty_struct *tty = port->info->tty;
-
- if (!(anakin_in(port, 0x10) & RXRELEASE))
- return;
-
- ch = anakin_in(port, 0x14) & 0xff;
-
- if (tty->flip.count < TTY_FLIPBUF_SIZE) {
- *tty->flip.char_buf_ptr++ = ch;
- *tty->flip.flag_buf_ptr++ = TTY_NORMAL;
- port->icount.rx++;
- tty->flip.count++;
- }
- tty_flip_buffer_push(tty);
-}
-
-static inline void
-anakin_overrun_chars(struct uart_port *port)
-{
- unsigned int ch;
-
- ch = anakin_in(port, 0x14);
- port->icount.overrun++;
-}
-
-static inline void
-anakin_tx_chars(struct uart_port *port)
-{
- struct circ_buf *xmit = &port->info->xmit;
-
- if (port->x_char) {
- anakin_transmit_x_char(port);
- return;
- }
-
- if (uart_circ_empty(xmit) || uart_tx_stopped(port)) {
- anakin_stop_tx(port, 0);
- return;
- }
-
- anakin_transmit_buffer(port);
-
- if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)
- uart_write_wakeup(port);
-}
-
-static void
-anakin_int(int irq, void *dev_id, struct pt_regs *regs)
-{
- unsigned int status;
- struct uart_port *port = dev_id;
-
- status = anakin_in(port, 0x1c);
-
- if (status & RX)
- anakin_rx_chars(port);
-
- if (status & OVERRUN)
- anakin_overrun_chars(port);
-
- if (txenable[port->irq] && (status & TX))
- anakin_tx_chars(port);
-}
-
-static unsigned int
-anakin_tx_empty(struct uart_port *port)
-{
- return anakin_in(port, 0x10) & TXEMPTY ? TIOCSER_TEMT : 0;
-}
-
-static unsigned int
-anakin_get_mctrl(struct uart_port *port)
-{
- unsigned int status = 0;
-
- status |= (anakin_in(port, 0x10) & CTS ? TIOCM_CTS : 0);
- status |= (anakin_in(port, 0x18) & DCD ? TIOCM_CAR : 0);
- status |= (anakin_in(port, 0x18) & DTR ? TIOCM_DTR : 0);
- status |= (anakin_in(port, 0x18) & RTS ? TIOCM_RTS : 0);
-
- return status;
-}
-
-static void
-anakin_set_mctrl(struct uart_port *port, unsigned int mctrl)
-{
- unsigned int status;
-
- status = anakin_in(port, 0x18);
-
- if (mctrl & TIOCM_RTS)
- status |= RTS;
- else
- status &= ~RTS;
-
- if (mctrl & TIOCM_CAR)
- status |= DCD;
- else
- status &= ~DCD;
-
- anakin_out(port, 0x18, status);
-}
-
-static void
-anakin_break_ctl(struct uart_port *port, int break_state)
-{
- unsigned long flags;
- unsigned int status;
-
- spin_lock_irqsave(&port->lock, flags);
- status = anakin_in(port, 0x20);
-
- if (break_state == -1)
- status |= SETBREAK;
- else
- status &= ~SETBREAK;
-
- anakin_out(port, 0x20, status);
- spin_unlock_irqrestore(&port->lock, flags);
-}
-
-static int anakin_startup(struct uart_port *port)
-{
- int retval;
- unsigned int read,write;
-
- /*
- * Allocate the IRQ
- */
- retval = request_irq(port->irq, anakin_int, SA_INTERRUPT,
- "serial_anakin", port);
- if (retval)
- return retval;
-
- /*
- * initialise the old status of the modem signals
- */
- port->old_status = 0;
-
- /*
- * Finally, disable IRQ and softIRQs for first byte)
- */
- txenable[port->irq] = 0;
- read = anakin_in(port, 0x18);
- write = (read & ~(RTS | DTR | BLOCKRX)) | IRQENABLE;
- anakin_out(port, 0x18, write);
-
- return 0;
-}
-
-static void anakin_shutdown(struct uart_port *port)
-{
- /*
- * Free the interrupt
- */
- free_irq(port->irq, port);
-
- /*
- * disable all interrupts, disable the port
- */
- anakin_out(port, 0x18, anakin_in(port, 0x18) & ~IRQENABLE);
-}
-
-static void
-anakin_set_termios(struct uart_port *port, struct termios *termios,
- struct termios *old)
-{
- unsigned long flags;
- unsigned int baud, quot;
-
- /*
- * We don't support parity, stop bits, or anything other
- * than 8 bits, so clear these termios flags.
- */
- termios->c_cflag &= ~(CSIZE | CSTOPB | PARENB | PARODD | CREAD);
- termios->c_cflag |= CS8;
-
- /*
- * We don't appear to support any error conditions either.
- */
- termios->c_iflag &= ~(INPCK | IGNPAR | IGNBRK | BRKINT);
-
- /*
- * Ask the core to calculate the divisor for us.
- */
- baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
- quot = uart_get_divisor(port, baud);
-
- spin_lock_irqsave(&port->lock, flags);
-
- uart_update_timeout(port, termios->c_cflag, baud);
-
- while (!(anakin_in(port, 0x10) & TXEMPTY))
- barrier();
-
- anakin_out(port, 0x10, (anakin_in(port, 0x10) & ~PRESCALER)
- | (quot << 3));
-
- //parity always set to none
- anakin_out(port, 0x18, anakin_in(port, 0x18) & ~PARITY);
- spin_unlock_irqrestore(&port->lock, flags);
-}
-
-static const char *anakin_type(struct port *port)
-{
- return port->type == PORT_ANAKIN ? "ANAKIN" : NULL;
-}
-
-static struct uart_ops anakin_pops = {
- .tx_empty = anakin_tx_empty,
- .set_mctrl = anakin_set_mctrl,
- .get_mctrl = anakin_get_mctrl,
- .stop_tx = anakin_stop_tx,
- .start_tx = anakin_start_tx,
- .stop_rx = anakin_stop_rx,
- .enable_ms = anakin_enable_ms,
- .break_ctl = anakin_break_ctl,
- .startup = anakin_startup,
- .shutdown = anakin_shutdown,
- .set_termios = anakin_set_termios,
- .type = anakin_type,
-};
-
-static struct uart_port anakin_ports[UART_NR] = {
- {
- .base = IO_BASE + UART0,
- .irq = IRQ_UART0,
- .uartclk = 3686400,
- .fifosize = 0,
- .ops = &anakin_pops,
- .flags = ASYNC_BOOT_AUTOCONF,
- .line = 0,
- },
- {
- .base = IO_BASE + UART1,
- .irq = IRQ_UART1,
- .uartclk = 3686400,
- .fifosize = 0,
- .ops = &anakin_pops,
- .flags = ASYNC_BOOT_AUTOCONF,
- .line = 1,
- },
- {
- .base = IO_BASE + UART2,
- .irq = IRQ_UART2,
- .uartclk = 3686400,
- .fifosize = 0,
- .ops = &anakin_pops,
- .flags = ASYNC_BOOT_AUTOCONF,
- .line = 2,
- },
- {
- .base = IO_BASE + UART3,
- .irq = IRQ_UART3,
- .uartclk = 3686400,
- .fifosize = 0,
- .ops = &anakin_pops,
- .flags = ASYNC_BOOT_AUTOCONF,
- .line = 3,
- },
- {
- .base = IO_BASE + UART4,
- .irq = IRQ_UART4,
- .uartclk = 3686400,
- .fifosize = 0,
- .ops = &anakin_pops,
- .flags = ASYNC_BOOT_AUTOCONF,
- .line = 4,
- },
-};
-
-
-#ifdef CONFIG_SERIAL_ANAKIN_CONSOLE
-
-static void
-anakin_console_write(struct console *co, const char *s, unsigned int count)
-{
- struct uart_port *port = &anakin_ports[co->index];
- unsigned int flags, status, i;
-
- /*
- * First save the status then disable the interrupts
- */
- local_irq_save(flags);
- status = anakin_in(port, 0x18);
- anakin_out(port, 0x18, status & ~IRQENABLE);
- local_irq_restore(flags);
-
- /*
- * Now, do each character
- */
- for (i = 0; i < count; i++, s++) {
- while (!(anakin_in(port, 0x10) & TXEMPTY))
- barrier();
-
- /*
- * Send the character out.
- * If a LF, also do CR...
- */
- anakin_out(port, 0x14, *s);
- anakin_out(port, 0x18, anakin_in(port, 0x18) | SENDREQUEST);
-
- if (*s == 10) {
- while (!(anakin_in(port, 0x10) & TXEMPTY))
- barrier();
- anakin_out(port, 0x14, 13);
- anakin_out(port, 0x18, anakin_in(port, 0x18)
- | SENDREQUEST);
- }
- }
-
- /*
- * Finally, wait for transmitter to become empty
- * and restore the interrupts
- */
- while (!(anakin_in(port, 0x10) & TXEMPTY))
- barrier();
-
- if (status & IRQENABLE) {
- local_irq_save(flags);
- anakin_out(port, 0x18, anakin_in(port, 0x18) | IRQENABLE);
- local_irq_restore(flags);
- }
-}
-
-/*
- * Read the current UART setup.
- */
-static void __init
-anakin_console_get_options(struct uart_port *port, int *baud, int *parity, int *bits)
-{
- int paritycode;
-
- *baud = GETBAUD (anakin_in(port, 0x10) & PRESCALER);
- paritycode = GETPARITY(anakin_in(port, 0x18) & PARITY);
- switch (paritycode) {
- case NONEPARITY: *parity = 'n'; break;
- case ODDPARITY: *parity = 'o'; break;
- case EVENPARITY: *parity = 'e'; break;
- }
- *bits = 8;
-}
-
-static int __init
-anakin_console_setup(struct console *co, char *options)
-{
- struct uart_port *port;
- int baud = CONFIG_ANAKIN_DEFAULT_BAUDRATE;
- int bits = 8;
- int parity = 'n';
-
- /*
- * Check whether an invalid uart number has been specified, and
- * if so, search for the first available port that does have
- * console support.
- */
- if (co->index >= UART_NR)
- co->index = 0;
- port = &anakin_ports[co->index];
-
- if (options)
- uart_parse_options(options, &baud, &parity, &bits);
- else
- anakin_console_get_options(port, &baud, &parity, &bits);
-
- return uart_set_options(port, co, baud, parity, bits);
-}
-
-extern struct uart_driver anakin_reg;
-static struct console anakin_console = {
- .name = SERIAL_ANAKIN_NAME,
- .write = anakin_console_write,
- .device = uart_console_device,
- .setup = anakin_console_setup,
- .flags = CON_PRINTBUFFER,
- .index = -1,
-};
-
-static int __init anakin_console_init(void)
-{
- register_console(&anakin_console);
- return 0;
-}
-console_initcall(anakin_console_init);
-
-#define ANAKIN_CONSOLE &anakin_console
-#else
-#define ANAKIN_CONSOLE NULL
-#endif
-
-static struct uart_driver anakin_reg = {
- .driver_name = SERIAL_ANAKIN_NAME,
- .dev_name = SERIAL_ANAKIN_NAME,
- .major = SERIAL_ANAKIN_MAJOR,
- .minor = SERIAL_ANAKIN_MINOR,
- .nr = UART_NR,
- .cons = ANAKIN_CONSOLE,
-};
-
-static int __init
-anakin_init(void)
-{
- int ret;
-
- printk(KERN_INFO "Serial: Anakin driver $Revision: 1.32 $\n");
-
- ret = uart_register_driver(&anakin_reg);
- if (ret == 0) {
- int i;
-
- for (i = 0; i < UART_NR; i++)
- uart_add_one_port(&anakin_reg, &anakin_ports[i]);
- }
- return ret;
-}
-
-__initcall(anakin_init);
-
-MODULE_DESCRIPTION("Anakin serial driver");
-MODULE_AUTHOR("Tak-Shing Chan <chan@aleph1.co.uk>");
-MODULE_SUPPORTED_DEVICE("ttyAN");
-MODULE_LICENSE("GPL");
-MODULE_ALIAS_CHARDEV(SERIAL_ANAKIN_MAJOR, SERIAL_ANAKIN_MINOR);
hardware found in Acorn RISC PCs and other ARM-based machines. If
unsure, say N.
-config FB_ANAKIN
- bool "Anakin LCD support"
- depends on FB && ARM && ARCH_ANAKIN
-
config FB_CLPS711X
bool "CLPS711X LCD support"
depends on FB && ARM && ARCH_CLPS711X
obj-$(CONFIG_FB_PLATINUM) += platinumfb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_VALKYRIE) += valkyriefb.o macmodes.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_CT65550) += chipsfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
-obj-$(CONFIG_FB_ANAKIN) += anakinfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_CLPS711X) += clps711xfb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
obj-$(CONFIG_FB_CYBER) += cyberfb.o
obj-$(CONFIG_FB_CYBER2000) += cyber2000fb.o cfbfillrect.o cfbcopyarea.o cfbimgblt.o
+++ /dev/null
-/*
- * linux/drivers/video/anakinfb.c
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 23-Apr-2001 TTC Created
- */
-
-#include <linux/types.h>
-#include <linux/fb.h>
-#include <linux/string.h>
-#include <linux/errno.h>
-#include <linux/init.h>
-#include <linux/module.h>
-
-#include <asm/io.h>
-
-static u32 colreg[17];
-static struct fb_info fb_info;
-
-static struct fb_var_screeninfo anakinfb_var = {
- .xres = 400,
- .yres = 234,
- .xres_virtual = 400,
- .yres_virtual = 234,
- .bits_per_pixel = 16,
- .red = { 11, 5, 0 },
- .green = { 5, 6, 0 },
- .blue = { 0, 5, 0 },
- .activate = FB_ACTIVATE_NOW,
- .height = -1,
- .width = -1,
- .vmode = FB_VMODE_NONINTERLACED,
-};
-
-static struct fb_fix_screeninfo anakinfb_fix = {
- .id = "AnakinFB",
- .smem_start = VGA_START,
- .smem_len = VGA_SIZE,
- .type = FB_TYPE_PACKED_PIXELS,
- .visual = FB_VISUAL_TRUECOLOR,
- .line_length = 400*2,
- .accel = FB_ACCEL_NONE,
-};
-
-static int
-anakinfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
- u_int transp, struct fb_info *info)
-{
- if (regno > 15)
- return 1;
-
- ((u16 *)(info->pseudo_palette))[regno] = (red & 0xf800) | (green & 0xfc00 >> 5) | (blue & 0xf800 >> 11);
- return 0;
-}
-
-static struct fb_ops anakinfb_ops = {
- .owner = THIS_MODULE,
- .fb_setcolreg = anakinfb_setcolreg,
- .fb_fillrect = cfb_fillrect,
- .fb_copyarea = cfb_copyarea,
- .fb_imageblit = cfb_imageblit,
- .fb_cursor = soft_cursor,
-};
-
-int __init
-anakinfb_init(void)
-{
- memset(&fb_info, 0, sizeof(struct fb_info));
-
- fb_info.flags = FBINFO_FLAG_DEFAULT;
- fb_info.fbops = &anakinfb_ops;
- fb_info.var = anakinfb_var;
- fb_info.fix = anakinfb_fix;
- fb_info.psuedo_palette = colreg;
- if (!(request_mem_region(VGA_START, VGA_SIZE, "vga")))
- return -ENOMEM;
- if (fb_info.screen_base = ioremap(VGA_START, VGA_SIZE)) {
- release_mem_region(VGA_START, VGA_SIZE);
- return -EIO;
- }
-
- fb_alloc_cmap(&fb_info.cmap, 16, 0);
-
- if (register_framebuffer(&fb_info) < 0) {
- iounmap(fb_info.screen_base);
- release_mem_region(VGA_START, VGA_SIZE);
- return -EINVAL;
- }
-
- MOD_INC_USE_COUNT;
- return 0;
-}
-
-MODULE_AUTHOR("Tak-Shing Chan <chan@aleph1.co.uk>");
-MODULE_DESCRIPTION("Anakin framebuffer driver");
-MODULE_SUPPORTED_DEVICE("fb");
extern int acornfb_setup(char*);
extern int amifb_init(void);
extern int amifb_setup(char*);
-extern int anakinfb_init(void);
extern int atafb_init(void);
extern int atafb_setup(char*);
extern int macfb_init(void);
#ifdef CONFIG_FB_AMIGA
{ "amifb", amifb_init, amifb_setup },
#endif
-#ifdef CONFIG_FB_ANAKIN
- { "anakinfb", anakinfb_init, NULL },
-#endif
#ifdef CONFIG_FB_CLPS711X
{ "clps711xfb", clps711xfb_init, NULL },
#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/dma.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 W/TTC Created
- */
-
-#ifndef __ASM_ARCH_DMA_H
-#define __ASM_ARCH_DMA_H
-
-#define MAX_DMA_ADDRESS 0xffffffff
-#define MAX_DMA_CHANNELS 0
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/hardware.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_HARDWARE_H
-#define __ASM_ARCH_HARDWARE_H
-
-/*
- * Memory map
- */
-#define SRAM_START 0x00000000
-#define SRAM_SIZE 0x00100000
-#define SRAM_BASE 0xdf000000
-
-#define SDRAM_START 0x20000000
-#define SDRAM_SIZE 0x04000000
-#define SDRAM_BASE 0xc0000000
-
-#define IO_START 0x40000000
-#define IO_SIZE 0x00100000
-#define IO_BASE 0xe0000000
-
-#define FLASH_START 0x60000000
-#define FLASH_SIZE 0x00080000
-#define FLASH_BASE 0xe8000000
-
-#define VGA_START 0x80000000
-#define VGA_SIZE 0x0002db40
-#define VGA_BASE 0xf0000000
-
-/*
- * IO map
- */
-#define IO_CONTROLLER 0x00000
-#define INTERRUPT_CONTROLLER 0x02000
-#define UART0 0x04000
-#define UART1 0x06000
-#define UART2 0x08000
-#define CODEC 0x0a000
-#define UART4 0x0c000
-#define UART3 0x0e000
-#define DISPLAY_CONTROLLER 0x10000
-#define DAB 0x12000
-#define STATE_CONTROLLER 0x14000
-#define CAN 0x23000
-#define COMPACTFLASH 0x24000
-
-/*
- * Use SRAM for D-cache flush
- */
-#define FLUSH_BASE_PHYS SRAM_START
-#define FLUSH_BASE SRAM_BASE
-#define UNCACHEABLE_ADDR (SRAM_BASE + 0x10000)
-
-/*
- * Use SDRAM for memory
- */
-#define MEM_SIZE SDRAM_SIZE
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/ide.h
- *
- * Copyright 2001 Blue Mug Inc. for Acunia N.V.
- *
- * 08-jun-2001: Initial clone of arch-sa1100/ide.h by Jon McClintock
- * (jonm@bluemug.com).
- */
-
-#include <asm/irq.h>
-#include <asm/hardware.h>
-
-/*
- * Set up a hw structure for a specified data port, control port and IRQ.
- * This should follow whatever the default interface uses.
- */
-static __inline__ void
-ide_init_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq)
-{
- ide_ioreg_t reg;
- int i;
- int regincr = 4;
-
- memset(hw, 0, sizeof(*hw));
-
- reg = (ide_ioreg_t)data_port;
-
- for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
- hw->io_ports[i] = reg;
- reg += regincr;
- }
-
- hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;
-
- if (irq)
- *irq = 0;
-}
-
-
-/*
- * This registers the standard ports for this architecture with the IDE
- * driver.
- */
-static __inline__ void
-ide_init_default_hwifs(void)
-{
- hw_regs_t hw;
-
- ide_init_hwif_ports(&hw, IO_BASE + COMPACTFLASH,
- IO_BASE + COMPACTFLASH + IDE_CONTROL_OFFSET, NULL);
- hw.irq = IRQ_COMPACTFLASH;
- ide_register_hw(&hw);
-}
-
-
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/io.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARM_ARCH_IO_H
-#define __ASM_ARM_ARCH_IO_H
-
-
-#define IO_SPACE_LIMIT 0xffffffff
-
-#define __io(a) (a)
-
-/*
- * We don't support ins[lb]/outs[lb]. Make them fault.
- */
-#define __raw_readsb(p,d,l) do { *(int *)0 = 0; } while (0)
-#define __raw_readsl(p,d,l) do { *(int *)0 = 0; } while (0)
-#define __raw_writesb(p,d,l) do { *(int *)0 = 0; } while (0)
-#define __raw_writesl(p,d,l) do { *(int *)0 = 0; } while (0)
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/irqs.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_IRQS_H
-#define __ASM_ARCH_IRQS_H
-
-#define NR_IRQS 16
-
-#define IRQ_UART0 0
-#define IRQ_UART1 1
-#define IRQ_UART2 2
-#define IRQ_TICK 3
-#define IRQ_CODEC 4
-#define IRQ_UART4 5
-#define IRQ_TOUCHSCREEN 6
-#define IRQ_UART3 7
-#define IRQ_FIFO 8
-#define IRQ_CAN 9
-#define IRQ_COMPACTFLASH 10
-#define IRQ_BOSH 12
-#define IRQ_ANAKIN 15
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/memory.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_MEMORY_H
-#define __ASM_ARCH_MEMORY_H
-
-#define TASK_SIZE (0xbf000000)
-#define TASK_SIZE_26 (64u * 1024 * 1024)
-#define TASK_UNMAPPED_BASE (0x40000000)
-
-#define PAGE_OFFSET 0xc0000000
-#define PHYS_OFFSET 0x20000000
-
-#define __virt_to_phys(a) ((a) - PAGE_OFFSET + PHYS_OFFSET)
-#define __phys_to_virt(a) ((a) + PAGE_OFFSET - PHYS_OFFSET)
-#define __virt_to_bus(a) __virt_to_phys(a)
-#define __bus_to_virt(a) __phys_to_virt(a)
-
-#define __virt_to_phys__is_a_macro
-#define __phys_to_virt__is_a_macro
-#define __virt_to_bus__is_a_macro
-#define __bus_to_virt__is_a_macro
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/param.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 11-Apr-2001 TTC Created
- */
-
-/*
- * Reserved for future use
- */
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/serial.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 11-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_SERIAL_H
-#define __ASM_ARCH_SERIAL_H
-
-#include <asm/io.h>
-#include <asm/irq.h>
-
-/*
- * UART3 and UART4 are not supported yet
- */
-#define STD_SERIAL_PORT_DEFNS \
- { 0, 0, IO_BASE + UART0, IRQ_UART0, 0 }, \
- { 0, 0, IO_BASE + UART1, IRQ_UART1, 0 }, \
- { 0, 0, IO_BASE + UART2, IRQ_UART2, 0 }
-#define EXTRA_SERIAL_PORT_DEFNS
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/serial_reg.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 TTC Created
- */
-
-#ifndef ASM_ARCH_SERIAL_REG_H
-#define ASM_ARCH_SERIAL_REG_H
-
-/*
- * Serial registers (other than tx/rx)
- */
-
-/*
- * [UARTx + 0x10]
- */
-#define RXRELEASE (1 << 0)
-#define TXEMPTY (1 << 1)
-#define CTS (1 << 2)
-#define PRESCALER (31 << 3)
-#define SETBAUD(baud) ((230400 / (baud) - 1) << 3)
-#define GETBAUD(prescaler) (230400 / (((prescaler) >> 3) + 1))
-
-
-/*
- * [UARTx + 0x18]
- */
-#define IRQENABLE (1 << 0)
-#define SENDREQUEST (1 << 1)
-#define RTS (1 << 2)
-#define DTR (1 << 3)
-#define DCD (1 << 4)
-#define BLOCKRX (1 << 5)
-#define PARITY (3 << 6)
-#define SETPARITY(parity) ((parity) << 6)
-#define GETPARITY(parity) ((parity) >> 6)
-#define NONEPARITY (0)
-#define ODDPARITY (1)
-#define EVENPARITY (2)
-
-/*
- * [UARTx + 0x1c]
- */
-#define TX (1 << 0)
-#define RX (1 << 1)
-#define OVERRUN (1 << 2)
-
-/*
- * [UARTx + 0x20]
- */
-#define SETBREAK (1 << 0)
-
-/*
- * Software interrupt register
- */
-#define TXENABLE (1 << 0)
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/system.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 11-Apr-2001 TTC Created
- * 04-May-2001 W/PB Removed cpu_do_idle()
- */
-
-#ifndef __ASM_ARCH_SYSTEM_H
-#define __ASM_ARCH_SYSTEM_H
-
-static inline void arch_idle(void)
-{
-}
-
-static inline void
-arch_reset(char mode)
-{
- cpu_reset(0);
-}
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/time.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_TIME_H
-#define __ASM_ARCH_TIME_H
-
-static irqreturn_t
-anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
-{
- do_timer(regs);
- return IRQ_HANDLED;
-}
-
-void __init time_init(void)
-{
- timer_irq.handler = anakin_timer_interrupt;
- setup_irq(IRQ_TICK, &timer_irq);
-}
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/timex.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_TIMEX_H
-#define __ASM_ARCH_TIMEX_H
-
-/*
- * Timex specification for Anakin
- */
-#define CLOCK_TICK_RATE (1000 / 8)
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/uncompress.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 10-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_UNCOMPRESS_H
-#define __ASM_ARCH_UNCOMPRESS_H
-
-#include <linux/config.h>
-#include <asm/io.h>
-#include <asm/arch/serial_reg.h>
-
-#ifndef CONFIG_ANAKIN_DEFAULT_BAUDRATE
-#define CONFIG_ANAKIN_DEFAULT_BAUDRATE 9600
-#endif
-
-static inline void
-putc(int c)
-{
- while (!(__raw_readl(IO_START + UART0 + 0x10) & TXEMPTY));
- __raw_writel(c, IO_START + UART0 + 0x14);
- __raw_writel(__raw_readl(IO_START + UART0 + 0x18)
- | SENDREQUEST, IO_START + UART0 + 0x18);
-}
-
-static void
-puts(const char *s)
-{
- int c;
-
- while ((c = *s++)) {
- putc(c);
- if (c == '\n') putc('\r');
- }
-}
-
-static void
-arch_decomp_setup(void)
-{
- __raw_writel(__raw_readl(IO_START + UART0 + 0x10) & ~PRESCALER
- | SETBAUD(CONFIG_ANAKIN_DEFAULT_BAUDRATE),
- IO_START + UART0 + 0x10);
- __raw_writel(__raw_readl(IO_START + UART0 + 0x18) & ~(IRQENABLE
- | RTS | DTR | BLOCKRX | PARITY),
- IO_START + UART0 + 0x18);
-}
-
-#define arch_decomp_wdog()
-
-#endif
+++ /dev/null
-/*
- * linux/include/asm-arm/arch-anakin/vmalloc.h
- *
- * Copyright (C) 2001 Aleph One Ltd. for Acunia N.V.
- *
- * 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.
- *
- * Changelog:
- * 09-Apr-2001 TTC Created
- */
-
-#ifndef __ASM_ARCH_VMALLOC_H
-#define __ASM_ARCH_VMALLOC_H
-
-/*
- * VMALLOC_ARCH_OFFSET must be set to VMALLOC_OFFSET (check
- * linux/arch/arm/kernel/traps.c)
- */
-#define VMALLOC_ARCH_OFFSET (8 * 1024 * 1024)
-#define VMALLOC_START (((unsigned long) (high_memory) + VMALLOC_ARCH_OFFSET) & ~(VMALLOC_ARCH_OFFSET - 1))
-#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
-
-#define MODULE_START (PAGE_OFFSET - 16*1048576)
-#define MODULE_END (PAGE_OFFSET)
-
-#endif