Creation of Cybook 2416 (actually Gen4) repository
This commit is contained in:
31
include/asm-arm/arch-shark/debug-macro.S
Normal file
31
include/asm-arm/arch-shark/debug-macro.S
Normal file
@@ -0,0 +1,31 @@
|
||||
/* linux/include/asm-arm/arch-shark/debug-macro.S
|
||||
*
|
||||
* Debugging macro include header
|
||||
*
|
||||
* Copyright (C) 1994-1999 Russell King
|
||||
* Moved from linux/arch/arm/kernel/debug.S by Ben Dooks
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
*/
|
||||
|
||||
.macro addruart,rx
|
||||
mov \rx, #0xe0000000
|
||||
orr \rx, \rx, #0x000003f8
|
||||
.endm
|
||||
|
||||
.macro senduart,rd,rx
|
||||
strb \rd, [\rx]
|
||||
.endm
|
||||
|
||||
.macro busyuart,rd,rx
|
||||
mov \rd, #0
|
||||
1001: add \rd, \rd, #1
|
||||
teq \rd, #0x10000
|
||||
bne 1001b
|
||||
.endm
|
||||
|
||||
.macro waituart,rd,rx
|
||||
.endm
|
||||
18
include/asm-arm/arch-shark/dma.h
Normal file
18
include/asm-arm/arch-shark/dma.h
Normal file
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/dma.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*/
|
||||
#ifndef __ASM_ARCH_DMA_H
|
||||
#define __ASM_ARCH_DMA_H
|
||||
|
||||
/* Use only the lowest 4MB, nothing else works.
|
||||
* The rest is not DMAable. See dev / .properties
|
||||
* in OpenFirmware.
|
||||
*/
|
||||
#define MAX_DMA_ADDRESS 0xC0400000
|
||||
#define MAX_DMA_CHANNELS 8
|
||||
#define DMA_ISA_CASCADE 4
|
||||
|
||||
#endif /* _ASM_ARCH_DMA_H */
|
||||
|
||||
41
include/asm-arm/arch-shark/entry-macro.S
Normal file
41
include/asm-arm/arch-shark/entry-macro.S
Normal file
@@ -0,0 +1,41 @@
|
||||
/*
|
||||
* include/asm-arm/arch-shark/entry-macro.S
|
||||
*
|
||||
* Low-level IRQ helper macros for Shark platform
|
||||
*
|
||||
* This file is licensed under the terms of the GNU General Public
|
||||
* License version 2. This program is licensed "as is" without any
|
||||
* warranty of any kind, whether express or implied.
|
||||
*/
|
||||
.macro disable_fiq
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_preamble, base, tmp
|
||||
.endm
|
||||
|
||||
.macro arch_ret_to_user, tmp1, tmp2
|
||||
.endm
|
||||
|
||||
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
|
||||
mov r4, #0xe0000000
|
||||
|
||||
mov \irqstat, #0x0C
|
||||
strb \irqstat, [r4, #0x20] @outb(0x0C, 0x20) /* Poll command */
|
||||
ldrb \irqnr, [r4, #0x20] @irq = inb(0x20) & 7
|
||||
and \irqstat, \irqnr, #0x80
|
||||
teq \irqstat, #0
|
||||
beq 43f
|
||||
and \irqnr, \irqnr, #7
|
||||
teq \irqnr, #2
|
||||
bne 44f
|
||||
43: mov \irqstat, #0x0C
|
||||
strb \irqstat, [r4, #0xa0] @outb(0x0C, 0xA0) /* Poll command */
|
||||
ldrb \irqnr, [r4, #0xa0] @irq = (inb(0xA0) & 7) + 8
|
||||
and \irqstat, \irqnr, #0x80
|
||||
teq \irqstat, #0
|
||||
beq 44f
|
||||
and \irqnr, \irqnr, #7
|
||||
add \irqnr, \irqnr, #8
|
||||
44: teq \irqstat, #0
|
||||
.endm
|
||||
|
||||
51
include/asm-arm/arch-shark/hardware.h
Normal file
51
include/asm-arm/arch-shark/hardware.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/hardware.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*
|
||||
* derived from:
|
||||
* linux/include/asm-arm/arch-ebsa110/hardware.h
|
||||
* Copyright (C) 1996-1999 Russell King.
|
||||
*/
|
||||
#ifndef __ASM_ARCH_HARDWARE_H
|
||||
#define __ASM_ARCH_HARDWARE_H
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
/*
|
||||
* Mapping areas
|
||||
*/
|
||||
#define IO_BASE 0xe0000000
|
||||
|
||||
#else
|
||||
|
||||
#define IO_BASE 0
|
||||
|
||||
#endif
|
||||
|
||||
#define IO_SIZE 0x08000000
|
||||
#define IO_START 0x40000000
|
||||
#define ROMCARD_SIZE 0x08000000
|
||||
#define ROMCARD_START 0x10000000
|
||||
|
||||
#define PCIO_BASE 0xe0000000
|
||||
|
||||
|
||||
/* defines for the Framebuffer */
|
||||
#define FB_START 0x06000000
|
||||
#define FB_SIZE 0x01000000
|
||||
|
||||
#define UNCACHEABLE_ADDR 0xdf010000
|
||||
|
||||
#define SEQUOIA_LED_GREEN (1<<6)
|
||||
#define SEQUOIA_LED_AMBER (1<<5)
|
||||
#define SEQUOIA_LED_BACK (1<<7)
|
||||
|
||||
#define pcibios_assign_all_busses() 1
|
||||
|
||||
#define PCIBIOS_MIN_IO 0x6000
|
||||
#define PCIBIOS_MIN_MEM 0x50000000
|
||||
#define PCIMEM_BASE 0xe8000000
|
||||
|
||||
#endif
|
||||
|
||||
56
include/asm-arm/arch-shark/io.h
Normal file
56
include/asm-arm/arch-shark/io.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/io.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*
|
||||
* derived from:
|
||||
* linux/include/asm-arm/arch-ebsa110/io.h
|
||||
* Copyright (C) 1997,1998 Russell King
|
||||
*/
|
||||
|
||||
#ifndef __ASM_ARM_ARCH_IO_H
|
||||
#define __ASM_ARM_ARCH_IO_H
|
||||
|
||||
#include <asm/hardware.h>
|
||||
|
||||
#define IO_SPACE_LIMIT 0xffffffff
|
||||
|
||||
/*
|
||||
* We use two different types of addressing - PC style addresses, and ARM
|
||||
* addresses. PC style accesses the PC hardware with the normal PC IO
|
||||
* addresses, eg 0x3f8 for serial#1. ARM addresses are 0x80000000+
|
||||
* and are translated to the start of IO.
|
||||
*/
|
||||
#define __PORT_PCIO(x) (!((x) & 0x80000000))
|
||||
|
||||
#define __io(a) ((void __iomem *)(PCIO_BASE + (a)))
|
||||
|
||||
|
||||
static inline unsigned int __ioaddr (unsigned int port) \
|
||||
{ \
|
||||
if (__PORT_PCIO(port)) \
|
||||
return (unsigned int)(PCIO_BASE + (port)); \
|
||||
else \
|
||||
return (unsigned int)(IO_BASE + (port)); \
|
||||
}
|
||||
|
||||
#define __mem_pci(addr) (addr)
|
||||
|
||||
/*
|
||||
* Translated address IO functions
|
||||
*
|
||||
* IO address has already been translated to a virtual address
|
||||
*/
|
||||
#define outb_t(v,p) \
|
||||
(*(volatile unsigned char *)(p) = (v))
|
||||
|
||||
#define inb_t(p) \
|
||||
(*(volatile unsigned char *)(p))
|
||||
|
||||
#define outl_t(v,p) \
|
||||
(*(volatile unsigned long *)(p) = (v))
|
||||
|
||||
#define inl_t(p) \
|
||||
(*(volatile unsigned long *)(p))
|
||||
|
||||
#endif
|
||||
13
include/asm-arm/arch-shark/irqs.h
Normal file
13
include/asm-arm/arch-shark/irqs.h
Normal file
@@ -0,0 +1,13 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/irqs.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*/
|
||||
|
||||
#define NR_IRQS 16
|
||||
|
||||
#define IRQ_ISA_KEYBOARD 1
|
||||
#define RTC_IRQ 8
|
||||
#define I8042_KBD_IRQ 1
|
||||
#define I8042_AUX_IRQ 12
|
||||
#define IRQ_HARDDISK 14
|
||||
48
include/asm-arm/arch-shark/memory.h
Normal file
48
include/asm-arm/arch-shark/memory.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/memory.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*
|
||||
* derived from:
|
||||
* linux/include/asm-arm/arch-ebsa110/memory.h
|
||||
* Copyright (c) 1996-1999 Russell King.
|
||||
*/
|
||||
#ifndef __ASM_ARCH_MEMORY_H
|
||||
#define __ASM_ARCH_MEMORY_H
|
||||
|
||||
#include <asm/sizes.h>
|
||||
|
||||
/*
|
||||
* Physical DRAM offset.
|
||||
*/
|
||||
#define PHYS_OFFSET UL(0x08000000)
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
static inline void __arch_adjust_zones(int node, unsigned long *zone_size, unsigned long *zhole_size)
|
||||
{
|
||||
if (node != 0) return;
|
||||
/* Only the first 4 MB (=1024 Pages) are usable for DMA */
|
||||
zone_size[1] = zone_size[0] - 1024;
|
||||
zone_size[0] = 1024;
|
||||
zhole_size[1] = zhole_size[0];
|
||||
zhole_size[0] = 0;
|
||||
}
|
||||
|
||||
#define arch_adjust_zones(node, size, holes) \
|
||||
__arch_adjust_zones(node, size, holes)
|
||||
|
||||
#define ISA_DMA_THRESHOLD (PHYS_OFFSET + SZ_4M - 1)
|
||||
|
||||
#endif
|
||||
|
||||
#define __virt_to_bus(x) __virt_to_phys(x)
|
||||
#define __bus_to_virt(x) __phys_to_virt(x)
|
||||
|
||||
/*
|
||||
* Cache flushing area
|
||||
*/
|
||||
#define FLUSH_BASE_PHYS 0x80000000
|
||||
#define FLUSH_BASE 0xdf000000
|
||||
|
||||
#endif
|
||||
28
include/asm-arm/arch-shark/system.h
Normal file
28
include/asm-arm/arch-shark/system.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/system.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*/
|
||||
#ifndef __ASM_ARCH_SYSTEM_H
|
||||
#define __ASM_ARCH_SYSTEM_H
|
||||
|
||||
#include <asm/io.h>
|
||||
|
||||
static void arch_reset(char mode)
|
||||
{
|
||||
short temp;
|
||||
local_irq_disable();
|
||||
/* Reset the Machine via pc[3] of the sequoia chipset */
|
||||
outw(0x09,0x24);
|
||||
temp=inw(0x26);
|
||||
temp = temp | (1<<3) | (1<<10);
|
||||
outw(0x09,0x24);
|
||||
outw(temp,0x26);
|
||||
|
||||
}
|
||||
|
||||
static inline void arch_idle(void)
|
||||
{
|
||||
}
|
||||
|
||||
#endif
|
||||
7
include/asm-arm/arch-shark/timex.h
Normal file
7
include/asm-arm/arch-shark/timex.h
Normal file
@@ -0,0 +1,7 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/timex.h
|
||||
*
|
||||
* by Alexander Schulz
|
||||
*/
|
||||
|
||||
#define CLOCK_TICK_RATE 1193180
|
||||
51
include/asm-arm/arch-shark/uncompress.h
Normal file
51
include/asm-arm/arch-shark/uncompress.h
Normal file
@@ -0,0 +1,51 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/uncompress.h
|
||||
* by Alexander Schulz
|
||||
*
|
||||
* derived from:
|
||||
* linux/include/asm-arm/arch-ebsa285/uncompress.h
|
||||
* Copyright (C) 1996,1997,1998 Russell King
|
||||
*/
|
||||
|
||||
#define SERIAL_BASE ((volatile unsigned char *)0x400003f8)
|
||||
|
||||
static inline void putc(int c)
|
||||
{
|
||||
int t;
|
||||
|
||||
SERIAL_BASE[0] = c;
|
||||
t=0x10000;
|
||||
while (t--);
|
||||
}
|
||||
|
||||
static inline void flush(void)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef DEBUG
|
||||
static void putn(unsigned long z)
|
||||
{
|
||||
int i;
|
||||
char x;
|
||||
|
||||
putc('0');
|
||||
putc('x');
|
||||
for (i=0;i<8;i++) {
|
||||
x='0'+((z>>((7-i)*4))&0xf);
|
||||
if (x>'9') x=x-'0'+'A'-10;
|
||||
putc(x);
|
||||
}
|
||||
}
|
||||
|
||||
static void putr()
|
||||
{
|
||||
putc('\n');
|
||||
putc('\r');
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* nothing to do
|
||||
*/
|
||||
#define arch_decomp_setup()
|
||||
#define arch_decomp_wdog()
|
||||
4
include/asm-arm/arch-shark/vmalloc.h
Normal file
4
include/asm-arm/arch-shark/vmalloc.h
Normal file
@@ -0,0 +1,4 @@
|
||||
/*
|
||||
* linux/include/asm-arm/arch-shark/vmalloc.h
|
||||
*/
|
||||
#define VMALLOC_END (PAGE_OFFSET + 0x10000000)
|
||||
Reference in New Issue
Block a user