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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [linux/] [linux-2.4/] [arch/] [arm/] [kernel/] [arch.c] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1275 phoenix
/*
2
 *  linux/arch/arm/kernel/arch.c
3
 *
4
 *  Architecture specific fixups.
5
 */
6
#include <linux/config.h>
7
#include <linux/tty.h>
8
#include <linux/delay.h>
9
#include <linux/pm.h>
10
#include <linux/init.h>
11
 
12
#include <asm/elf.h>
13
#include <asm/setup.h>
14
#include <asm/mach-types.h>
15
 
16
#include <asm/mach/arch.h>
17
#include <asm/hardware/dec21285.h>
18
 
19
extern void genarch_init_irq(void);
20
 
21
unsigned int vram_size;
22
 
23
#if defined(CONFIG_ARCH_ACORN) || defined(CONFIG_ARCH_RISCSTATION)
24
 
25
unsigned int memc_ctrl_reg;
26
unsigned int number_mfm_drives;
27
 
28
static int __init parse_tag_acorn(const struct tag *tag)
29
{
30
        memc_ctrl_reg = tag->u.acorn.memc_control_reg;
31
        number_mfm_drives = tag->u.acorn.adfsdrives;
32
 
33
        switch (tag->u.acorn.vram_pages) {
34
        case 512:
35
                vram_size += PAGE_SIZE * 256;
36
        case 256:
37
                vram_size += PAGE_SIZE * 256;
38
        default:
39
                break;
40
        }
41
#if 0
42
        if (vram_size) {
43
                desc->video_start = 0x02000000;
44
                desc->video_end   = 0x02000000 + vram_size;
45
        }
46
#endif
47
        return 0;
48
}
49
 
50
__tagtable(ATAG_ACORN, parse_tag_acorn);
51
 
52
 
53
#if defined(CONFIG_ARCH_RPC) || defined(CONFIG_ARCH_RISCSTATION)
54
static void __init
55
fixup_riscpc(struct machine_desc *desc, struct param_struct *unusd,
56
            char **cmdline, struct meminfo *mi)
57
{
58
        /*
59
         * RiscPC can't handle half-word loads and stores
60
         */
61
        elf_hwcap &= ~HWCAP_HALF;
62
}
63
 
64
extern void __init rpc_map_io(void);
65
extern void __init riscstation_map_io(void);
66
 
67
#ifdef CONFIG_ARCH_RPC
68
MACHINE_START(RISCPC, "Acorn-RiscPC")
69
        MAINTAINER("Russell King")
70
        BOOT_MEM(0x10000000, 0x03000000, 0xe0000000)
71
        BOOT_PARAMS(0x10000100)
72
        DISABLE_PARPORT(0)
73
        DISABLE_PARPORT(1)
74
        FIXUP(fixup_riscpc)
75
        MAPIO(rpc_map_io)
76
        INITIRQ(genarch_init_irq)
77
MACHINE_END
78
#endif
79
 
80
#ifdef CONFIG_ARCH_RISCSTATION
81
/* TODO = check all parameters */
82
MACHINE_START(RISCSTATION, "RiscStation-RS7500")
83
        MAINTAINER("Ben Dooks, Vincent Sanders")
84
        BOOT_MEM(0x10000000, 0x03000000, 0xe0000000)
85
        BOOT_PARAMS(0x10000100)
86
        FIXUP(fixup_riscpc)
87
        MAPIO(riscstation_map_io)
88
        INITIRQ(genarch_init_irq)
89
MACHINE_END
90
#endif
91
 
92
#endif /* CONFIG_ARCH_RPC | CONFIG_ARCH_RISCSTATION */
93
#ifdef CONFIG_ARCH_ARC
94
MACHINE_START(ARCHIMEDES, "Acorn-Archimedes")
95
        MAINTAINER("Dave Gilbert")
96
        BOOT_PARAMS(0x0207c000)
97
        INITIRQ(genarch_init_irq)
98
MACHINE_END
99
#endif
100
#ifdef CONFIG_ARCH_A5K
101
MACHINE_START(A5K, "Acorn-A5000")
102
        MAINTAINER("Russell King")
103
        BOOT_PARAMS(0x0207c000)
104
        INITIRQ(genarch_init_irq)
105
MACHINE_END
106
#endif
107
#endif
108
 
109
#ifdef CONFIG_ARCH_L7200
110
extern void __init l7200_map_io(void);
111
 
112
static void __init
113
fixup_l7200(struct machine_desc *desc, struct param_struct *unused,
114
             char **cmdline, struct meminfo *mi)
115
{
116
        mi->nr_banks      = 1;
117
        mi->bank[0].start = PHYS_OFFSET;
118
        mi->bank[0].size  = (32*1024*1024);
119
        mi->bank[0].node  = 0;
120
 
121
        ROOT_DEV = MKDEV(RAMDISK_MAJOR,0);
122
        setup_ramdisk( 1, 0, 0, CONFIG_BLK_DEV_RAM_SIZE);
123
        setup_initrd( __phys_to_virt(0xf1000000), 0x005dac7b);
124
 
125
        /* Serial Console COM2 and LCD */
126
        strcpy( *cmdline, "console=tty0 console=ttyLU1,115200");
127
 
128
        /* Serial Console COM1 and LCD */
129
        //strcpy( *cmdline, "console=tty0 console=ttyLU0,115200");
130
 
131
        /* Console on LCD */
132
        //strcpy( *cmdline, "console=tty0");
133
}
134
 
135
MACHINE_START(L7200, "LinkUp Systems L7200")
136
        MAINTAINER("Steve Hill / Scott McConnell")
137
        BOOT_MEM(0xf0000000, 0x80040000, 0xd0000000)
138
        FIXUP(fixup_l7200)
139
        MAPIO(l7200_map_io)
140
        INITIRQ(genarch_init_irq)
141
MACHINE_END
142
#endif
143
 
144
#ifdef CONFIG_ARCH_NEXUSPCI
145
 
146
extern void __init nexuspci_map_io(void);
147
 
148
MACHINE_START(NEXUSPCI, "FTV/PCI")
149
        MAINTAINER("Philip Blundell")
150
        BOOT_MEM(0x40000000, 0x10000000, 0xe0000000)
151
        MAPIO(nexuspci_map_io)
152
        INITIRQ(genarch_init_irq)
153
MACHINE_END
154
#endif
155
#ifdef CONFIG_ARCH_TBOX
156
 
157
extern void __init tbox_map_io(void);
158
 
159
MACHINE_START(TBOX, "unknown-TBOX")
160
        MAINTAINER("Philip Blundell")
161
        BOOT_MEM(0x80000000, 0x00400000, 0xe0000000)
162
        MAPIO(tbox_map_io)
163
        INITIRQ(genarch_init_irq)
164
MACHINE_END
165
#endif
166
#ifdef CONFIG_ARCH_CLPS7110
167
MACHINE_START(CLPS7110, "CL-PS7110")
168
        MAINTAINER("Werner Almesberger")
169
        INITIRQ(genarch_init_irq)
170
MACHINE_END
171
#endif
172
#ifdef CONFIG_ARCH_ETOILE
173
MACHINE_START(ETOILE, "Etoile")
174
        MAINTAINER("Alex de Vries")
175
        INITIRQ(genarch_init_irq)
176
MACHINE_END
177
#endif
178
#ifdef CONFIG_ARCH_LACIE_NAS
179
MACHINE_START(LACIE_NAS, "LaCie_NAS")
180
        MAINTAINER("Benjamin Herrenschmidt")
181
        INITIRQ(genarch_init_irq)
182
MACHINE_END
183
#endif
184
#ifdef CONFIG_ARCH_CLPS7500
185
 
186
extern void __init clps7500_map_io(void);
187
 
188
MACHINE_START(CLPS7500, "CL-PS7500")
189
        MAINTAINER("Philip Blundell")
190
        BOOT_MEM(0x10000000, 0x03000000, 0xe0000000)
191
        MAPIO(clps7500_map_io)
192
        INITIRQ(genarch_init_irq)
193
MACHINE_END
194
#endif

powered by: WebSVN 2.1.0

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