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 |