|
From: Andy P. <at...@us...> - 2002-04-09 12:33:18
|
Update of /cvsroot/linux-vax/kernel-2.4/include/asm-arm/arch-anakin
In directory usw-pr-cvs1:/tmp/cvs-serv9454/asm-arm/arch-anakin
Added Files:
dma.h hardware.h ide.h io.h irq.h irqs.h keyboard.h memory.h
param.h serial.h serial_reg.h system.h time.h timex.h
uncompress.h vmalloc.h
Log Message:
Synch to 2.4.15 commit 1
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* 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
* (jo...@bl...).
*/
#include <linux/config.h>
#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, NULL);
}
--- NEW FILE ---
/*
* 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
#define __arch_getw(a) (*(volatile unsigned short *) (a))
#define __arch_putw(b, a) (*(volatile unsigned short *) (a) = (b))
#define iomem_valid_addr(i, s) 1
#define iomem_to_phys(i) i
/*
* 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
--- NEW FILE ---
/*
* linux/include/asm-arm/arch-anakin/irq.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_IRQ_H
#define __ASM_ARCH_IRQ_H
#define fixup_irq(i) i
#endif
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* linux/include/asm-arm/arch-anakin/keyboard.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
*/
#define kbd_init_hw() do { } while (0)
#define kbd_enable_irq() do { } while (0)
#define kbd_disable_irq() do { } while (0)
--- NEW FILE ---
/*
* 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 (3u * 1024 * 1024 * 1024)
#define TASK_SIZE_26 (64u * 1024 * 1024)
#define TASK_UNMAPPED_BASE (1u * 1024 * 1024 * 1024)
#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
#define PHYS_TO_NID(addr) (0)
#endif
--- NEW FILE ---
/*
* 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
*/
#ifndef __ASM_ARCH_PARAM_H
#define __ASM_ARCH_PARAM_H
/*
* Reserved for future use
*/
#endif
--- NEW FILE ---
/*
* 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 RS_TABLE_SIZE 3
#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
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* 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 void
anakin_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
do_timer(regs);
}
static inline void
setup_timer(void)
{
timer_irq.handler = anakin_timer_interrupt;
timer_irq.flags = SA_INTERRUPT;
setup_arm_irq(IRQ_TICK, &timer_irq);
}
#endif
--- NEW FILE ---
/*
* 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
--- NEW FILE ---
/*
* 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 <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
--- NEW FILE ---
/*
* 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_VMADDR(a) ((unsigned int) (a))
#define VMALLOC_START ((VMALLOC_VMADDR(high_memory) + VMALLOC_ARCH_OFFSET) & ~(VMALLOC_ARCH_OFFSET - 1))
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
#endif
|