OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/tags/LINUX_2_4_26_OR32/linux/linux-2.4/include/asm-arm/arch-ebsa110
    from Rev 1279 to Rev 1765
    Reverse comparison

Rev 1279 → Rev 1765

/irq.h
0,0 → 1,13
/*
* linux/include/asm-arm/arch-ebsa110/irq.h
*
* Copyright (C) 1996-1998 Russell King
*
* 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:
* 22-08-1998 RMK Restructured IRQ routines
*/
#define fixup_irq(i) (i)
/hardware.h
0,0 → 1,66
/*
* linux/include/asm-arm/arch-ebsa110/hardware.h
*
* Copyright (C) 1996-2000 Russell King.
*
* 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.
*
* This file contains the hardware definitions of the EBSA-110.
*/
#ifndef __ASM_ARCH_HARDWARE_H
#define __ASM_ARCH_HARDWARE_H
 
/*
* The EBSA110 has a weird "ISA IO" region:
*
* Region 0 (addr = 0xf0000000 + io << 2)
* --------------------------------------------------------
* Physical region IO region
* f0000fe0 - f0000ffc 3f8 - 3ff ttyS0
* f0000e60 - f0000e64 398 - 399
* f0000de0 - f0000dfc 378 - 37f lp0
* f0000be0 - f0000bfc 2f8 - 2ff ttyS1
*
* Region 1 (addr = 0xf0000000 + (io & ~1) << 1 + (io & 1))
* --------------------------------------------------------
* Physical region IO region
* f00014f1 a79 pnp write data
* f00007c0 - f00007c1 3e0 - 3e1 pcmcia
* f00004f1 279 pnp address
* f0000440 - f000046c 220 - 236 eth0
* f0000405 203 pnp read data
*/
 
#define ISAMEM_PHYS 0xe0000000
#define ISAMEM_SIZE 0x10000000
 
#define ISAIO_PHYS 0xf0000000
#define ISAIO_SIZE PGDIR_SIZE
 
#define TRICK0_PHYS 0xf2000000
#define TRICK1_PHYS 0xf2400000
#define TRICK2_PHYS 0xf2800000
#define TRICK3_PHYS 0xf2c00000
#define TRICK4_PHYS 0xf3000000
#define TRICK5_PHYS 0xf3400000
#define TRICK6_PHYS 0xf3800000
#define TRICK7_PHYS 0xf3c00000
 
#define ISAMEM_BASE 0xe0000000
#define ISAIO_BASE 0xf0000000
 
#define PIT_BASE 0xfc000000
#define SOFT_BASE 0xfd000000
 
/*
* RAM definitions
*/
#define FLUSH_BASE_PHYS 0x40000000
#define FLUSH_BASE 0xdf000000
 
#define UNCACHEABLE_ADDR 0xff000000 /* IRQ_STAT */
 
#endif
 
/vmalloc.h
0,0 → 1,22
/*
* linux/include/asm-arm/arch-ebsa110/vmalloc.h
*
* Copyright (C) 1998 Russell King
*
* 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.
*/
 
/*
* Just any arbitrary offset to the start of the vmalloc VM area: the
* current 8MB value just means that there will be a 8MB "hole" after the
* physical memory until the kernel virtual memory starts. That means that
* any out-of-bounds memory accesses will hopefully be caught.
* The vmalloc() routines leaves a hole of 4kB between each vmalloced
* area for the same reason. ;)
*/
#define VMALLOC_OFFSET (8*1024*1024)
#define VMALLOC_START (((unsigned long)high_memory + VMALLOC_OFFSET) & ~(VMALLOC_OFFSET-1))
#define VMALLOC_VMADDR(x) ((unsigned long)(x))
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
/irqs.h
0,0 → 1,20
/*
* linux/include/asm-arm/arch-ebsa110/irqs.h
*
* Copyright (C) 1996 Russell King
*
* 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.
*/
 
#define NR_IRQS 8
 
#define IRQ_EBSA110_PRINTER 0
#define IRQ_EBSA110_COM1 1
#define IRQ_EBSA110_COM2 2
#define IRQ_EBSA110_ETHERNET 3
#define IRQ_EBSA110_TIMER0 4
#define IRQ_EBSA110_TIMER1 5
#define IRQ_EBSA110_PCMCIA 6
#define IRQ_EBSA110_IMMEDIATE 7
/time.h
0,0 → 1,45
/*
* linux/include/asm-arm/arch-ebsa110/time.h
*
* Copyright (C) 1996,1997,1998 Russell King.
*
* 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.
*
* No real time clock on the evalulation board!
*
* Changelog:
* 10-Oct-1996 RMK Created
* 04-Dec-1997 RMK Updated for new arch/arm/kernel/time.c
* 07-Aug-1998 RMK Updated for arch/arm/kernel/leds.c
* 28-Dec-1998 APH Made leds code optional
*/
 
#include <asm/leds.h>
 
extern int ebsa110_reset_timer(void);
extern void ebsa110_setup_timer(void);
 
static void timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
{
if (ebsa110_reset_timer()) {
do_leds();
do_timer(regs);
do_profile(regs);
}
}
 
/*
* Set up timer interrupt.
*/
static inline void setup_timer(void)
{
ebsa110_setup_timer();
 
timer_irq.handler = timer_interrupt;
 
setup_arm_irq(IRQ_EBSA110_TIMER0, &timer_irq);
}
 
 
/uncompress.h
0,0 → 1,46
/*
* linux/include/asm-arm/arch-ebsa110/uncompress.h
*
* Copyright (C) 1996,1997,1998 Russell King
*
* 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.
*/
 
/*
* This does not append a newline
*/
static void puts(const char *s)
{
unsigned long tmp1, tmp2;
 
__asm__ __volatile__(" \n\
ldrb %0, [%2], #1 \n\
teq %0, #0 \n\
beq 3f \n\
1: strb %0, [%3] \n\
2: ldrb %1, [%3, #0x14] \n\
and %1, %1, #0x60 \n\
teq %1, #0x60 \n\
bne 2b \n\
teq %0, #'\n' \n\
moveq %0, #'\r' \n\
beq 1b \n\
ldrb %0, [%2], #1 \n\
teq %0, #0 \n\
bne 1b \n\
3: ldrb %1, [%3, #0x14] \n\
and %1, %1, #0x60 \n\
teq %1, #0x60 \n\
bne 3b \n\
"
: "=&r" (tmp1), "=&r" (tmp2)
: "r" (s), "r" (0xf0000be0) : "cc");
}
 
/*
* nothing to do
*/
#define arch_decomp_setup()
#define arch_decomp_wdog()
/serial.h
0,0 → 1,37
/*
* linux/include/asm-arm/arch-ebsa110/serial.h
*
* Copyright (C) 1996,1997,1998 Russell King.
*
* 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:
* 15-10-1996 RMK Created
*/
#ifndef __ASM_ARCH_SERIAL_H
#define __ASM_ARCH_SERIAL_H
 
/*
* This assumes you have a 1.8432 MHz clock for your UART.
*
* It'd be nice if someone built a serial card with a 24.576 MHz
* clock, since the 16550A is capable of handling a top speed of 1.5
* megabits/second; but this requires the faster clock.
*/
#define BASE_BAUD (1843200 / 16)
 
#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST)
 
#define RS_TABLE_SIZE 2
 
/* UART CLK PORT IRQ FLAGS */
#define STD_SERIAL_PORT_DEFNS \
{ 0, BASE_BAUD, 0x3F8, 1, STD_COM_FLAGS }, /* ttyS0 */ \
{ 0, BASE_BAUD, 0x2F8, 2, STD_COM_FLAGS } /* ttyS1 */
 
#define EXTRA_SERIAL_PORT_DEFNS
 
#endif
 
/param.h
0,0 → 1,3
/*
* linux/include/asm-arm/arch-ebsa110/param.h
*/
/dma.h
0,0 → 1,19
/*
* linux/include/asm-arm/arch-ebsa110/dma.h
*
* Copyright (C) 1997,1998 Russell King
*
* 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.
*
* EBSA110 DMA definitions
*/
#ifndef __ASM_ARCH_DMA_H
#define __ASM_ARCH_DMA_H
 
#define MAX_DMA_ADDRESS 0xffffffff
#define MAX_DMA_CHANNELS 0
 
#endif /* _ASM_ARCH_DMA_H */
 
/ide.h
0,0 → 1,19
/* no ide */
/system.h
0,0 → 1,40
/*
* linux/include/asm-arm/arch-ebsa110/system.h
*
* Copyright (C) 1996-2000 Russell King.
*
* 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.
*/
#ifndef __ASM_ARCH_SYSTEM_H
#define __ASM_ARCH_SYSTEM_H
 
/*
* EBSA110 idling methodology:
*
* We can not execute the "wait for interrupt" instruction since that
* will stop our MCLK signal (which provides the clock for the glue
* logic, and therefore the timer interrupt).
*
* Instead, we spin, polling the IRQ_STAT register for the occurrence
* of any interrupt with core clock down to the memory clock.
*/
static inline void arch_idle(void)
{
const char *irq_stat = (char *)0xff000000;
 
/* disable clock switching */
asm volatile ("mcr%? p15, 0, %0, c15, c2, 2" : : "r" (0));
 
/* wait for an interrupt to occur */
while (!*irq_stat)
cpu_relax();
 
/* enable clock switching */
asm volatile ("mcr%? p15, 0, %0, c15, c1, 2" : : "r" (0));
}
 
#define arch_reset(mode) cpu_reset(0x80000000)
 
#endif
/timex.h
0,0 → 1,19
/*
* linux/include/asm-arm/arch-ebsa110/timex.h
*
* Copyright (C) 1997, 1998 Russell King
*
* 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.
*
* EBSA110 architecture timex specifications
*/
 
/*
* On the EBSA, the clock ticks at weird rates.
* This is therefore not used to calculate the
* divisor.
*/
//#define CLOCK_TICK_RATE 2000000
 
/io.h
0,0 → 1,81
/*
* linux/include/asm-arm/arch-ebsa110/io.h
*
* Copyright (C) 1997,1998 Russell King
*
* 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.
*
* Modifications:
* 06-Dec-1997 RMK Created.
*/
#ifndef __ASM_ARM_ARCH_IO_H
#define __ASM_ARM_ARCH_IO_H
 
#define IO_SPACE_LIMIT 0xffff
 
/*
* Generic virtual read/write
*/
#define __arch_getw(a) (*(volatile unsigned short *)(a))
#define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v))
 
u8 __inb8(unsigned int port);
void __outb8(u8 val, unsigned int port);
 
u8 __inb16(unsigned int port);
void __outb16(u8 val, unsigned int port);
 
u16 __inw(unsigned int port);
void __outw(u16 val, unsigned int port);
 
u32 __inl(unsigned int port);
void __outl(u32 val, unsigned int port);
 
u8 __readb(void *addr);
u16 __readw(void *addr);
u32 __readl(void *addr);
 
void __writeb(u8 val, void *addr);
void __writew(u16 val, void *addr);
void __writel(u32 val, void *addr);
 
/*
* Argh, someone forgot the IOCS16 line. We therefore have to handle
* the byte stearing by selecting the correct byte IO functions here.
*/
#ifdef ISA_SIXTEEN_BIT_PERIPHERAL
#define inb(p) __inb16(p)
#define outb(v,p) __outb16(v,p)
#else
#define inb(p) __inb8(p)
#define outb(v,p) __outb8(v,p)
#endif
 
#define inw(p) __inw(p)
#define outw(v,p) __outw(v,p)
 
#define inl(p) __inl(p)
#define outl(v,p) __outl(v,p)
 
#define readb(b) __readb(b)
#define readw(b) __readw(b)
#define readl(b) __readl(b)
 
#define writeb(v,b) __writeb(v,b)
#define writew(v,b) __writew(v,b)
#define writel(v,b) __writel(v,b)
 
#define __arch_ioremap(off,sz,c) ((void *)(off))
#define __arch_iounmap(virt) do { } while (0)
 
extern void insb(unsigned int port, void *buf, int sz);
extern void insw(unsigned int port, void *buf, int sz);
extern void insl(unsigned int port, void *buf, int sz);
 
extern void outsb(unsigned int port, const void *buf, int sz);
extern void outsw(unsigned int port, const void *buf, int sz);
extern void outsl(unsigned int port, const void *buf, int sz);
 
#endif
/memory.h
0,0 → 1,51
/*
* linux/include/asm-arm/arch-ebsa110/memory.h
*
* Copyright (C) 1996-1999 Russell King.
*
* 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-Oct-1996 RMK Created
* 31-Dec-1997 RMK Fixed definitions to reduce warnings
* 21-Mar-1999 RMK Renamed to memory.h
* RMK Moved TASK_SIZE and PAGE_OFFSET here
*/
#ifndef __ASM_ARCH_MEMORY_H
#define __ASM_ARCH_MEMORY_H
 
/*
* Task size: 3GB
*/
#define TASK_SIZE (0xc0000000UL)
#define TASK_SIZE_26 (0x04000000UL)
 
/*
* This decides where the kernel will search for a free chunk of vm
* space during mmap's.
*/
#define TASK_UNMAPPED_BASE (TASK_SIZE / 3)
 
/*
* Page offset: 3GB
*/
#define PAGE_OFFSET (0xc0000000UL)
#define PHYS_OFFSET (0x00000000UL)
 
#define __virt_to_phys__is_a_macro
#define __virt_to_phys(vpage) ((vpage) - PAGE_OFFSET)
#define __phys_to_virt__is_a_macro
#define __phys_to_virt(ppage) ((ppage) + PAGE_OFFSET)
 
/*
* We keep this 1:1 so that we don't interfere
* with the PCMCIA memory regions
*/
#define __virt_to_bus__is_a_macro
#define __virt_to_bus(x) (x)
#define __bus_to_virt__is_a_macro
#define __bus_to_virt(x) (x)
 
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.